Función RtlIpv4AddressToStringExW (ip2string.h)

La función RtlIpv4AddressToStringEx convierte una dirección IPv4 y un número de puerto en una cadena en formato estándar de Internet.

Sintaxis

NTSYSAPI NTSTATUS RtlIpv4AddressToStringExW(
  [in]      const in_addr *Address,
  [in]      USHORT        Port,
  [out]     PWSTR         AddressString,
  [in, out] PULONG        AddressStringLength
);

Parámetros

[in] Address

Dirección IPv4 en orden de bytes de red.

[in] Port

Número de puerto en formato de orden de bytes de red. Este parámetro es opcional.

[out] AddressString

Puntero al búfer para recibir la representación de cadena terminada en NULL de la dirección y el puerto IPv4. Este búfer debe ser lo suficientemente grande como para contener al menos INET_ADDRSTRLEN caracteres. El valor de INET_ADDRSTRLEN se define en el archivo de encabezado Ws2ipdef.h .

[in, out] AddressStringLength

En la entrada, el número de caracteres que caben en el búfer al que apunta el parámetro AddressString , incluido el terminador NULL. En la salida, este parámetro contiene el número de caracteres escritos realmente en el búfer al que apunta el parámetro AddressString .

Valor devuelto

Si la función se ejecuta correctamente, se STATUS_SUCCESS el valor devuelto.

Si se produce un error en la función, el valor devuelto es uno de los siguientes códigos de error.

Código devuelto Descripción
STATUS_INVALID_PARAMETER
Se pasó un parámetro no válido a la función. Este error se devuelve si se pasa un puntero NULL en el parámetro AddressString o AddressStringLength . Este error también se devuelve si la longitud del búfer a la que apunta el parámetro AddressString no es lo suficientemente grande como para recibir la representación de cadena de la dirección y el puerto IPv4.
Otros
Use FormatMessage para obtener la cadena de mensaje para el error devuelto.

Comentarios

La función RtlIpv4AddressToStringEx se usa para convertir una dirección IPv4 y un número de puerto en la representación de cadena de la dirección IPv4 en formato decimal de puntos de Internet seguido de un carácter de dos puntos y una representación de cadena del puerto.

RtlIpv4AddressToStringEx es una función conveniente que no requiere que el archivo DLL de Windows Sockets se cargue para tener acceso a una función proporcionada en Windows Sockets para realizar la conversión de dirección IP a cadena.

Si la longitud del búfer a la que apunta el parámetro AddressString no es lo suficientemente grande como para recibir la representación de cadena de la dirección y el puerto IPv4, RtlIpv4AddressToStringEx devuelve ERROR_INVALID_PARAMETER y establece el parámetro AddressStringLength en la longitud del búfer necesaria.

Cuando se define UNICODE o _UNICODE, RtlIpv4AddressToStringEx se define en RtlIpv4AddressToStringExW, la versión Unicode de esta función. El parámetro AddressString se define en el tipo de datos PWSTR.

Cuando no se definen UNICODE y _UNICODE, RtlIpv4AddressToStringEx se define en RtlIpv4AddressToStringExA, la versión ANSI de esta función. El parámetro AddressString se define en el tipo de datos PSTR.

La estructura IN_ADDR se define en el archivo de encabezado Inaddr.h .

Una biblioteca de importación que contiene la función RtlIpv4AddressToStringEx no se incluye en microsoft Kit de desarrollo de software de Windows (SDK) publicado para Windows Vista. La función RtlIpv4AddressToStringEx se incluye en la biblioteca de importación Ntdll.lib incluida en el Kit de controladores de Windows (WDK). Una aplicación también podría usar las funciones GetModuleHandle y GetProcAddress para recuperar el puntero de función de la Ntdll.dll y llamar a esta función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado ip2string.h (incluya Mstcpip.h)
Library ntdll.lib
Archivo DLL ntdll.dll

Consulte también

GetModuleHandle

GetProcAddress

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa