WSAStringToAddress
C# Signature:
/* converts a network address in its standard text presentation form into its numeric binary form in a sockaddr structure. */
[ DllImport ( "Ws2_32.dll",
CharSet = CharSet.Unicode,
EntryPoint = "WSAStringToAddressW" ) ]
public static extern uint WSAStringToAddress (
string AddressString,
ADDRESS_FAMILIES AddressFamily,
IntPtr lpProtocolInfo,
ref sockaddr_in6 pAddr,
ref int lpAddressLength);
VB Signature:
Declare Function WSAStringToAddress Lib "ws2_32.dll" (TODO) As TODO
Sample Code:
WSADATA data = new WSADATA();
SockAddr sockAddr = new SockAddr();
IntPtr pSockAddr = IntPtr.Zero;
if (WSAStartup(0x201, ref data) == ERROR_SUCCESS)
{
int sockAddrSize = Marshal.SizeOf(sockAddr);
int result = WSAStringToAddress(
"1.2.3.4",
System.Net.Sockets.AddressFamily.InterNetwork,
IntPtr.Zero,
ref sockAddr,
ref sockAddrSize);
WSACleanup();
}
if (result != ERROR_SUCCESS)
{
throw new Win32Exception(result);
}
pSockAddr = Marshal.AllocHGlobal(Marshal.SizeOf(sockAddr));
Marshal.StructureToPtr(sockAddr, pSockAddr, true);
Última actualización