Función RtlIpv6StringToAddressExW (ip2string.h)

La función RtlIpv6StringToAddressEx convierte una representación de cadena de una dirección IPv6, un identificador de ámbito y un número de puerto en una dirección IPv6 binaria, un identificador de ámbito y un puerto.

Sintaxis

NTSYSAPI NTSTATUS RtlIpv6StringToAddressExW(
  [in]  PCWSTR   AddressString,
  [out] in6_addr *Address,
  [out] PULONG   ScopeId,
  [out] PUSHORT  Port
);

Parámetros

[in] AddressString

Puntero a un búfer que contiene la representación de cadena terminada en NULL de la dirección IPv6, el identificador de ámbito y el número de puerto.

[out] Address

Puntero donde se va a almacenar la representación binaria de la dirección IPv6.

[out] ScopeId

Puntero a donde se almacena el identificador de ámbito de la dirección IPv6. Si el parámetro AddressString no contiene la representación de cadena de un identificador de ámbito, se devuelve cero en este parámetro.

[out] Port

Puntero donde se almacena el número de puerto. El número de puerto está en formato de orden de bytes de red. Si el parámetro AddressString no contiene la representación de cadena de un número de puerto, se devuelve cero en este parámetro.

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 la cadena a la que apunta el parámetro AddressString no contenía una representación de cadena adecuada de una dirección IPv6.

Este código de error se define en el archivo de encabezado Ntstatus.h.

Otros
Use FormatMessage para obtener la cadena de mensaje del error devuelto.

Comentarios

La función RtlIpv6StringToAddressEx se usa para convertir una representación de cadena de la dirección IPv6, el identificador de ámbito y el número de puerto en una dirección IPv6 binaria, un identificador de ámbito y un número de puerto. La dirección IPv6 se devuelve en orden de red (bytes ordenados de izquierda a derecha). El número de puerto y el identificador de ámbito se devuelven en orden de red.

RtlIpv6StringToAddressEx es una función útil 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 cadena a dirección IP.

La cadena a la que apunta el parámetro AddressString debe representarse en el formulario para una cadena de dirección IPv6 seguida de un carácter opcional de porcentaje y una cadena de identificador de ámbito. La cadena de identificador de ámbito y dirección IPv6 debe ir entre corchetes. El corchete derecho después de la cadena de identificador de ámbito y dirección IPv6 puede seguir un signo de dos puntos opcional y una representación de cadena de un número de puerto. La representación de cadena básica de una dirección IPv6 consta de 8 números hexadecimales separados por dos puntos. Una cadena de números cero consecutivos se puede reemplazar por dos puntos. Solo puede haber un signo de dos puntos en la representación de cadena de la dirección IPv6. Los últimos 32 bits se pueden representar en la notación dotted-octet de estilo IPv4 si la dirección es una dirección compatible con IPv4, una dirección IPv4 asignada a IPv6 o una dirección ISATAP. Para obtener más información, consulte la sección 5 de RFC 5942 publicada por IETF.

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

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

La estructura IN6_ADDR se define en el archivo de encabezado In6addr.h.

No se incluye una biblioteca de importación que contiene la función RtlIpv6StringToAddressEx en microsoft Kit de desarrollo de software de Windows (SDK) publicada para Windows Vista. La función RtlIpv6StringToAddressEx 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

IN6_ADDR

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

inet_addr

inet_ntoa