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); }
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); }