System.Net.NetworkInformation.Ping.CreateSendMessageBuffer C# (CSharp) Method

CreateSendMessageBuffer() private static method

private static CreateSendMessageBuffer ( IcmpHeader header, byte payload ) : byte[]
header IcmpHeader
payload byte
return byte[]
        private static unsafe byte[] CreateSendMessageBuffer(IcmpHeader header, byte[] payload)
        {
            int headerSize = sizeof(IcmpHeader);
            byte[] result = new byte[headerSize + payload.Length];
            Marshal.Copy(new IntPtr(&header), result, 0, headerSize);
            payload.CopyTo(result, headerSize);
            ushort checksum = ComputeBufferChecksum(result);
            // Jam the checksum into the buffer.
            result[2] = (byte)(checksum >> 8);
            result[3] = (byte)(checksum & (0xFF));

            return result;
        }