Freigeben über


RtlIpv6StringToAddressExA-Funktion (ip2string.h)

Die RtlIpv6StringToAddressEx-Funktion konvertiert eine Zeichenfolgendarstellung einer IPv6-Adresse, Bereichs-ID und Portnummer in eine binäre IPv6-Adresse, Bereichs-ID und Port.

Syntax

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

Die Parameter

[in] AddressString

Ein Zeiger auf einen Puffer, der die NULL-beendete Zeichenfolgendarstellung der IPv6-Adresse, Bereichs-ID und Portnummer enthält.

[out] Address

Ein Zeiger, in dem die binäre Darstellung der IPv6-Adresse gespeichert werden soll.

[out] ScopeId

Ein Zeiger, auf den die Bereichs-ID der IPv6-Adresse gespeichert ist. Wenn der AddressString-Parameter nicht die Zeichenfolgendarstellung einer Bereichs-ID enthält, wird null in diesem Parameter zurückgegeben.

[out] Port

Ein Zeiger, auf dem die Portnummer gespeichert ist. Die Portnummer befindet sich im Netzwerkbytereihenfolgeformat. Wenn der AddressString-Parameter nicht die Zeichenfolgendarstellung einer Portnummer enthält, wird null in diesem Parameter zurückgegeben.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert STATUS_SUCCESS.

Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.

Rückgabecode Description
STATUS_INVALID_PARAMETER
An die Funktion wurde ein ungültiger Parameter übergeben. Dieser Fehler wird zurückgegeben, wenn die Zeichenfolge, auf die der AddressString-Parameter verweist, keine ordnungsgemäße Zeichenfolgendarstellung einer IPv6-Adresse enthält.

Dieser Fehlercode ist in der Ntstatus.h-Headerdatei definiert.

Andere
Verwenden Sie FormatMessage , um die Nachrichtenzeichenfolge für den zurückgegebenen Fehler abzurufen.

Bemerkungen

Die RtlIpv6StringToAddressEx-Funktion wird verwendet, um eine Zeichenfolgendarstellung der IPv6-Adresse, Bereichs-ID und Portnummer in eine binäre IPv6-Adresse, Bereichs-ID und Portnummer zu konvertieren. Die IPv6-Adresse wird in Der Netzwerkreihenfolge zurückgegeben (Von links nach rechts sortierte Bytes). Die Portnummer und bereichs-ID werden in der Netzwerkreihenfolge zurückgegeben.

RtlIpv6StringToAddressEx ist eine Komfortfunktion, die nicht erfordert, dass die Windows Sockets-DLL geladen wird, um auf eine in Windows Sockets bereitgestellte Funktion zuzugreifen, um eine Zeichenfolge für die IP-Adresskonvertierung auszuführen.

Die Zeichenfolge, auf die der AddressString-Parameter verweist, muss im Formular für eine IPv6-Adresszeichenfolge dargestellt werden, gefolgt von einem optionalen Prozentzeichen und einer Bereichs-ID-Zeichenfolge. Die IPv6-Adresse und die Bereichs-ID-Zeichenfolge müssen in eckige Klammern eingeschlossen werden. Auf die rechte eckige Klammer nach der IPv6-Adresse und der Bereichs-ID-Zeichenfolge kann ein optionaler Doppelpunkt und eine Zeichenfolgendarstellung einer Portnummer folgen. Die grundlegende Zeichenfolgendarstellung einer IPv6-Adresse besteht aus 8 hexadezimalen Zahlen, die durch Doppelpunkte getrennt sind. Eine Zeichenfolge aufeinanderfolgender Nullnummern kann durch einen Doppelpunkt ersetzt werden. In der Zeichenfolgendarstellung der IPv6-Adresse kann nur ein Doppelpunkt vorhanden sein. Die letzten 32 Bits können in der IPv4-Schreibweise punktierte Oktettnotation dargestellt werden, wenn es sich bei der Adresse um eine IPv4-kompatible Adresse, eine IPv4-zugeordnete IPv6-Adresse oder eine ISATAP-Adresse handelt. Weitere Informationen finden Sie in Abschnitt 5 von RFC 5942 , der von der IETF veröffentlicht wurde.

Wenn entweder UNICODE oder _UNICODE definiert ist, wird RtlIpv6StringToAddressEx für RtlIpv6StringToAddressExW, die Unicode-Version dieser Funktion, definiert. Der AddressString-Parameter wird für den PCWSTR-Datentyp definiert.

Wenn unicode und _UNICODE nicht definiert sind, wird RtlIpv6StringToAddressEx für RtlIpv6StringToAddressExA, die ANSI-Version dieser Funktion, definiert. Der AddressString-Parameter ist für den PCSTR-Datentyp definiert.

Die IN6_ADDR-Struktur wird in der Headerdatei "In6addr.h" definiert.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows Vista [Desktop-Apps | UWP-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Fenster
Header ip2string.h (include Mstcpip.h)
Library ntdll.lib
DLL Ntdll.dll

Siehe auch

GetModuleHandle
GetProcAddress
IN6_ADDR
InetNtop
InetPton
LoadLibrary
RtlIpv4AddressToString
RtlIpv4AddressToStringEx
RtlIpv4StringToAddress
RtlIpv4StringToAddressEx
RtlIpv6AddressToString
RtlIpv6AddressToStringEx
RtlIpv6StringToAddress
inet_addr
inet_ntoa