Partager via


Fonction RtlIpv6StringToAddressExW (ip2string.h)

La fonction RtlIpv6StringToAddressEx convertit une représentation sous forme de chaîne d’une adresse IPv6, d’un ID d’étendue et d’un numéro de port en adresse IPv6 binaire, ID d’étendue et port.

Syntaxe

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

Paramètres

[in] AddressString

Pointeur vers une mémoire tampon contenant la représentation sous forme de chaîne terminée par null de l’adresse IPv6, de l’ID d’étendue et du numéro de port.

[out] Address

Pointeur dans lequel la représentation binaire de l’adresse IPv6 doit être stockée.

[out] ScopeId

Pointeur vers l’emplacement où l’ID d’étendue de l’adresse IPv6 est stocké. Si le paramètre AddressString ne contient pas la représentation sous forme de chaîne d’un ID d’étendue, zéro est retourné dans ce paramètre.

[out] Port

Pointeur dans lequel le numéro de port est stocké. Le numéro de port est au format d’ordre d’octet réseau. Si le paramètre AddressString ne contient pas la représentation sous forme de chaîne d’un numéro de port, zéro est retourné dans ce paramètre.

Valeur retournée

Si la fonction réussit, la valeur de retour est STATUS_SUCCESS.

Si la fonction échoue, la valeur de retour est l’un des codes d’erreur suivants.

Code de retour Description
STATUS_INVALID_PARAMETER
Un paramètre non valide a été transmis à la fonction. Cette erreur est retournée si la chaîne pointée vers par le paramètre AddressString ne contenait pas une représentation sous forme de chaîne appropriée d’une adresse IPv6.

Ce code d’erreur est défini dans le fichier d’en-tête Ntstatus.h.

Autres
Utilisez FormatMessage pour obtenir la chaîne de message de l’erreur retournée.

Remarques

La fonction RtlIpv6StringToAddressEx permet de convertir une représentation sous forme de chaîne de l’adresse IPv6, de l’ID d’étendue et du numéro de port en adresse IPv6 binaire, ID d’étendue et numéro de port. L’adresse IPv6 est retournée dans l’ordre réseau (octets classés de gauche à droite). Le numéro de port et l’ID d’étendue sont retournés dans l’ordre réseau.

RtlIpv6StringToAddressEx est une fonction pratique qui ne nécessite pas que la DLL Windows Sockets soit chargée pour accéder à une fonction fournie dans Windows Sockets pour effectuer la conversion de chaîne en adresse IP.

La chaîne pointée par le paramètre AddressString doit être représentée sous la forme d’une chaîne d’adresse IPv6 suivie d’un caractère de pourcentage facultatif et d’une chaîne d’ID d’étendue. L’adresse IPv6 et la chaîne d’ID d’étendue doivent être placées entre crochets. Le crochet droit après l’adresse IPv6 et la chaîne d’ID d’étendue peut être suivi d’un signe deux-points facultatif et d’une représentation sous forme de chaîne d’un numéro de port. La représentation sous forme de chaîne de base d’une adresse IPv6 se compose de 8 nombres hexadécimaux séparés par des points-virgules. Une chaîne de nombres zéro consécutifs peut être remplacée par un deux-points. Il ne peut y avoir qu’un seul signe deux-points dans la représentation sous forme de chaîne de l’adresse IPv6. Les 32 derniers bits peuvent être représentés en notation d’octets pointillés de style IPv4 si l’adresse est une adresse compatible IPv4, une adresse IPv6 mappée IPv4 ou une adresse ISATAP. Pour plus d’informations, consultez la section 5 de la RFC 5942 publiée par l’IETF.

Lorsque unicode ou _UNICODE est défini, RtlIpv6StringToAddressEx est défini sur RtlIpv6StringToAddressExW, la version Unicode de cette fonction. Le paramètre AddressString est défini sur le type de données PCWSTR.

Lorsque unicode et _UNICODE ne sont pas définis, RtlIpv6StringToAddressEx est défini sur RtlIpv6StringToAddressExA, la version ANSI de cette fonction. Le paramètre AddressString est défini sur le type de données PCSTR.

La structure IN6_ADDR est définie dans le fichier d’en-tête In6addr.h.

Une bibliothèque d’importation contenant la fonction RtlIpv6StringToAddressEx n’est pas incluse dans le Microsoft Kit de développement logiciel Windows (Kit SDK Windows) (SDK) publié pour Windows Vista. La fonction RtlIpv6StringToAddressEx est incluse dans la bibliothèque d’importation Ntdll.lib incluse dans le Kit de pilotes Windows (WDK). Une application peut également utiliser les fonctions GetModuleHandle et GetProcAddress pour récupérer le pointeur de fonction à partir du Ntdll.dll et appeler cette fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête ip2string.h (include Mstcpip.h)
Bibliothèque ntdll.lib
DLL ntdll.dll

Voir aussi

GetModuleHandle

GetProcAddress

IN6_ADDR

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

inet_addr

inet_ntoa