Compartir a través de


Función RtlIpv6StringToAddressA (ip2string.h)

La función RtlIpv6StringToAddress convierte una representación de cadena de una dirección IPv6 en una dirección IPv6 binaria.

Sintaxis

NTSYSAPI NTSTATUS RtlIpv6StringToAddressA(
  [in]  PCSTR    S,
  [out] PCSTR    *Terminator,
  [out] in6_addr *Addr
);

Parámetros

[in] S

Puntero a un búfer que contiene la NULLrepresentación de cadena terminada en la dirección IPv6.

[out] Terminator

Parámetro que recibe un puntero al carácter que finalizó la cadena convertida. El autor de la llamada puede usar esto para extraer más información de la cadena.

[out] Addr

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

Valor devuelto

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

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 S 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 para el error devuelto.

Observaciones

La función RtlIpv6StringToAddress se usa para convertir una representación de cadena de la dirección IPv6 a una dirección IPv6 devuelta en orden de red (bytes ordenados de izquierda a derecha).

rtlIpv6StringToAddress es una función útil que no requiere que el archivo DLL de Windows Sockets se cargue para acceder 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 S debe representarse en forma para una cadena de dirección IPv6. La representación de cadena básica de una dirección IPv6 consta de 8 números hexadecimales separados por dos puntos. Se puede reemplazar una cadena de cero números consecutivos 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 notación de punto y octeto 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.

Si se ejecuta correctamente, el terminador parámetro apunta al carácter que finalizó la cadena que se convirtió. Esto permite que una aplicación pase una cadena que contiene y dirección IP más información adicional al función RtlIpv6StringToAddress y, a continuación, analiza la información restante.

Nota Algunas direcciones IPv6 con formato incorrecto (::::, por ejemplo) comienzan con una dirección IPv6 válida. La función RtlIpv6StringToAddress devolverá éxito, al analizar la parte válida de la dirección IPv6 como dos puntos (::). Después, el terminador apunta al tercer dos puntos. Para validar que toda la cadena pasada es una dirección IPv6 válida, debe asegurarse de que el terminador apunta al carácter correcto. Si el parámetro S contiene solo una dirección IPv6, el terminador debe apuntar al carácter NULL al final de la cadena.
 
Cuando se define UNICODE o _UNICODE, se define RtlIpv6StringToAddress para RtlIpv6StringToAddressW, la versión Unicode de esta función. Los parámetros S y Terminator se definen en el tipo de datos PCWSTR.

Cuando no se definen UNICODE y _UNICODE, rtlIpv6StringToAddress se define en RtlIpv6StringToAddressA, la versión ANSI de esta función. Los parámetros S y Terminator se definen 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 de rtlIpv6StringToAddress en el Kit de desarrollo de software (SDK) de Microsoft Windows publicado para Windows Vista. La función de rtlIpv6StringToAddress se incluye en la ntdll.lib biblioteca de importación 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.

Nota

El encabezado ip2string.h define RtlIpv6StringToAddress como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
servidor mínimo admitido Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
de la plataforma de destino de Windows
encabezado de ip2string.h (incluya Mstcpip.h, Ip2string.h)
biblioteca de ntdll.lib
DLL de ntdll.dll

Consulte también

GetModuleHandle

GetProcAddress

IN6_ADDR

inetNtop

inetPton

loadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

rtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa