Fonction RtlIpv6StringToAddressExA (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 RtlIpv6StringToAddressExA(
[in] PCSTR 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 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 des octets 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 |
---|---|
|
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 contient pas de 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. |
|
Utilisez FormatMessage pour obtenir la chaîne de message pour 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 les sockets Windows 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’une chaîne d’ID de pourcentage et d’étendue facultative. 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 double-point. 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 en pointillés de style IPv4 si l’adresse est une adresse compatible IPv4, une adresse IPv6 mappée 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 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 (inclure Mstcpip.h) |
DLL | Ntdll.dll |
Voir aussi
GetModuleHandle
GetProcAddress
IN6_ADDR
InetNtop
InetPton
LoadLibrary
RtlIpv4AddressToString
RtlIpv4AddressToStringEx
RtlIpv4StringToAddress
RtlIpv4StringToAddressEx
RtlIpv6AddressToString
RtlIpv6AddressToStringEx
RtlIpv6StringToAddress
inet_addr
inet_ntoa