Share via


WSAAddressToString

This function converts all components of a sockaddr structure into a human-readable string representation of the address.

This function is intended to be used for display purposes. If the caller wants the translation to be done by a particular provider, it should supply the corresponding WSAPROTOCOL_INFO structure in the lpProtocolInfo parameter.

INT WSAAddressToString(
  LPSOCKADDR lpsaAddress,
  DWORD dwAddressLength,
  LPWSAPROTOCOL_INFO lpProtocolInfo,
  OUT LPTSTR lpszAddressString,
  IN OUT LPDWORD lpdwAddressStringLength
);

Parameters

  • lpsaAddress
    [in] Pointer to the sockaddr structure to translate into a string.
  • dwAddressLength
    [in] Length of the address in sockaddr, which may vary in size with different protocols.
  • lpProtocolInfo
    [in] (Optional) The WSAPROTOCOL_INFO structure for a particular provider. If this is NULL, the call is routed to the provider of the first protocol supporting the address family indicated in lpsaAddress.
  • lpszAddressString
    [in] Buffer that receives the human-readable address string.
  • lpdwAddressStringLength
    [in, out] On input, the length of the AddressString buffer. On output, returns the length of the string actually copied into the buffer. If the supplied buffer is not large enough, the function fails with a specific error of WSAEFAULT and this parameter is updated with the required size in bytes.

Return Values

If no error occurs, this function returns a value of zero. If an error occurs, the value SOCKET_ERROR is returned, and a specific error number can be retrieved by calling the WSAGetLastError function. The following table shows a list of possible error codes.

Error code Description
WSAEFAULT The specified lpcsAddress, lpProtocolInfo, and lpszAddressString are not all in the address space of the process, or the lpszAddressString buffer is too small. Pass in a larger buffer.
WSAEINVAL The specified address is not a valid socket address, or there was no transport provider supporting its indicated address family.
WSANOTINITIALIZED The Ws2.dll has not been initialized. The application must first call WSAStartup before calling any Winsock functions.
WSA NOT ENOUGH MEMORY There was insufficient memory to perform the operation.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Winsock2.h.
Link Library: Ws2.lib.

See Also

sockaddr | WSAGetLastError | WSAStartup

 Last updated on Saturday, April 10, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.