public static Win32IPAddressCollection FromAnycast(IntPtr ptr)
        {
            Win32IPAddressCollection win32IPAddressCollection = new Win32IPAddressCollection();
            IntPtr intPtr = ptr;

            while (intPtr != IntPtr.Zero)
            {
                Win32_IP_ADAPTER_ANYCAST_ADDRESS win32_IP_ADAPTER_ANYCAST_ADDRESS = (Win32_IP_ADAPTER_ANYCAST_ADDRESS)Marshal.PtrToStructure(intPtr, typeof(Win32_IP_ADAPTER_ANYCAST_ADDRESS));
                win32IPAddressCollection.Add(win32_IP_ADAPTER_ANYCAST_ADDRESS.Address.GetIPAddress());
                intPtr = win32_IP_ADAPTER_ANYCAST_ADDRESS.Next;
            }
            win32IPAddressCollection.is_readonly = true;
            return(win32IPAddressCollection);
        }
Exemple #2
0
        public static IPAddressInformationCollection Win32FromAnycast(IntPtr ptr)
        {
            IPAddressInformationImplCollection iPAddressInformationImplCollection = new IPAddressInformationImplCollection(isReadOnly: false);
            IntPtr intPtr = ptr;

            while (intPtr != IntPtr.Zero)
            {
                Win32_IP_ADAPTER_ANYCAST_ADDRESS win32_IP_ADAPTER_ANYCAST_ADDRESS = (Win32_IP_ADAPTER_ANYCAST_ADDRESS)Marshal.PtrToStructure(intPtr, typeof(Win32_IP_ADAPTER_ANYCAST_ADDRESS));
                iPAddressInformationImplCollection.Add(new IPAddressInformationImpl(win32_IP_ADAPTER_ANYCAST_ADDRESS.Address.GetIPAddress(), win32_IP_ADAPTER_ANYCAST_ADDRESS.LengthFlags.IsDnsEligible, win32_IP_ADAPTER_ANYCAST_ADDRESS.LengthFlags.IsTransient));
                intPtr = win32_IP_ADAPTER_ANYCAST_ADDRESS.Next;
            }
            iPAddressInformationImplCollection.is_readonly = true;
            return(iPAddressInformationImplCollection);
        }