System.Net.Sockets.SocketPal.GetIPPacketInformation C# (CSharp) Метод

GetIPPacketInformation() приватный статический Метод

private static GetIPPacketInformation ( System.Net.Interop messageHeader, bool isIPv4, bool isIPv6 ) : IPPacketInformation
messageHeader System.Net.Interop
isIPv4 bool
isIPv6 bool
Результат IPPacketInformation
        private static unsafe IPPacketInformation GetIPPacketInformation(Interop.Sys.MessageHeader* messageHeader, bool isIPv4, bool isIPv6)
        {
            if (!isIPv4 && !isIPv6)
            {
                return default(IPPacketInformation);
            }

            Interop.Sys.IPPacketInformation nativePacketInfo;
            if (!Interop.Sys.TryGetIPPacketInformation(messageHeader, isIPv4, &nativePacketInfo))
            {
                return default(IPPacketInformation);
            }

            return new IPPacketInformation(nativePacketInfo.Address.GetIPAddress(), nativePacketInfo.InterfaceIndex);
        }

Usage Example

Пример #1
0
 private unsafe void InitIPPacketInformation()
 {
     if (_controlBuffer.Length == s_controlDataSize)
     {
         // IPv4
         _ipPacketInformation = SocketPal.GetIPPacketInformation((Interop.Winsock.ControlData *)_message->controlBuffer.Pointer);
     }
     else if (_controlBuffer.Length == s_controlDataIPv6Size)
     {
         // IPv6
         _ipPacketInformation = SocketPal.GetIPPacketInformation((Interop.Winsock.ControlDataIPv6 *)_message->controlBuffer.Pointer);
     }
     else
     {
         // Other
         _ipPacketInformation = new IPPacketInformation();
     }
 }
All Usage Examples Of System.Net.Sockets.SocketPal::GetIPPacketInformation