Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die RtlIpv4StringToAddressEx-Funktion konvertiert eine Zeichenfolgendarstellung einer IPv4-Adresse und -Portnummer in eine binäre IPv4-Adresse und einen Port.
Syntax
NTSYSAPI NTSTATUS RtlIpv4StringToAddressExA(
[in] PCSTR AddressString,
[in] BOOLEAN Strict,
[out] in_addr *Address,
[out] PUSHORT Port
);
Die Parameter
[in] AddressString
Ein Zeiger auf einen Puffer mit der NULL-beendeten Zeichenfolgendarstellung der IPv4-Adresse gefolgt von einem optionalen Doppelpunkt und einer Zeichenfolgendarstellung einer Portnummer.
[in] Strict
Ein Wert, der angibt, ob die Zeichenfolge eine IPv4-Adresse sein muss, die in der strengen vierteiligen punktierten Dezimalnotation dargestellt wird. Wenn dieser Parameter WAHR ist, muss die Zeichenfolge mit vier Teilen gepunktet werden. Wenn dieser Parameter FALSCH ist, sind vier Formen für die Zeichenfolgendarstellung der Ipv4-Adresse mit dezimaler, oktaler oder hexadezimaler Schreibweise zulässig. Ausführliche Informationen finden Sie im Abschnitt "Hinweise".
[out] Address
Ein Zeiger, in dem die binäre Darstellung der IPv4-Adresse gespeichert werden soll. Die IPv4-Adresse wird in der Netzwerkbytereihenfolge gespeichert.
[out] Port
Ein Zeiger, auf dem die binäre Darstellung der Portnummer gespeichert werden soll. Die Portnummer wird in der Netzwerkbytereihenfolge zurückgegeben. Wenn in der Zeichenfolge, auf die der AddressString-Parameter verweist, kein Port angegeben wurde, wird der Port-Parameter auf Null festgelegt.
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 |
|---|---|
|
An die Funktion wurde ein ungültiger Parameter übergeben. Dieser Fehler wird zurückgegeben, wenn der Strict-Parameter auf TRUE festgelegt wurde, aber die Zeichenfolge, auf die der AddressString-Parameter verweist, keine vierteilige punktierte Dezimalzeichenfolgendarstellung einer IPv4-Adresse enthält. Dieser Fehler wird auch zurückgegeben, wenn die Zeichenfolge, auf die der AddressString-Parameter verweist, keine ordnungsgemäße Zeichenfolgendarstellung einer IPv4-Adresse enthält. Dieser Fehlercode ist in der Ntstatus.h-Headerdatei definiert. |
Bemerkungen
Die RtlIpv4StringToAddressEx-Funktion wird verwendet, um eine Zeichenfolgendarstellung der IPv4-Adresse und portnummer in eine binäre IPv4-Adresse und eine Portnummer zu konvertieren. Die IPv4-Adresse wird in der Netzwerkreihenfolge zurückgegeben (Von links nach rechts sortierte Bytes). Die Portnummer wird in der Netzwerkreihenfolge zurückgegeben.
RtlIpv4StringToAddressEx 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.
Wenn der Strict-Parameter auf TRUE festgelegt ist, muss die Zeichenfolge, auf die der AddressString-Parameter verweist, in der strengen Punkt-Dezimalnotation enthalten sein. Für dieses strenge Format müssen vier Teile angegeben werden. Jeder Teil wird als Dezimalbyte von Daten interpretiert und von links nach rechts bis zu den vier Bytes einer IPv4-Adresse zugewiesen.
Wenn der Strict-Parameter auf FALSE festgelegt ist, kann die Zeichenfolge, auf die der AddressString-Parameter verweist, in einem der verschiedenen möglichen Formate enthalten sein. Wenn der puffer, auf den der AddressString-Parameter verweist, eine dreiteilige Adresszeichenfolge enthält, wird der letzte Teil als eine 16-Bit-Menge interpretiert und in den rechten zwei Byte der Netzwerkadresse platziert. Dadurch wird das dreiteilige Adressformat für die Angabe von Klassen-B-Netzwerkadressen als "128.net.host" bequem.
Wenn der puffer, auf den der AddressString-Parameter verweist, eine zweiteilige Adresszeichenfolge enthält, wird der letzte Teil als 24-Bit-Menge interpretiert und in die rechten drei Byte der Netzwerkadresse platziert. Dadurch wird das zweiteilige Adressformat für die Angabe von Klassen A-Netzwerkadressen als "net.host" bequem. Wenn der puffer, auf den der AddressString-Parameter verweist, nur eine einteilige Adresszeichenfolge enthält, wird der Wert direkt in der Netzwerkadresse ohne Byteanordnung gespeichert.
Der Puffer, auf den der AddressString-Parameter verweist, kann die IPv4-Adresszeichenfolge gefolgt von einem optionalen Doppelpunkt und der Zeichenfolgendarstellung einer Portnummer enthalten. Wenn eine Portnummerzeichenfolge im Puffer enthalten ist, auf den der AddressString-Parameter verweist, wird die binäre Darstellung der Portnummer im Port-Parameter zurückgegeben. Wenn der puffer, auf den der AddressString-Parameter verweist, keine Portnummer enthält, wird im Port-Parameter eine Null zurückgegeben.
Wenn entweder UNICODE oder _UNICODE definiert ist, wird RtlIpv4StringToAddressEx für RtlIpv4StringToAddressExW, die Unicode-Version dieser Funktion, definiert. Der AddressString-Parameter wird für den PCWSTR-Datentyp definiert.
Wenn unicode und _UNICODE nicht definiert sind, ist RtlIpv4StringToAddressEx für RtlIpv4StringToAddressExA, die ANSI-Version dieser Funktion, definiert. Der AddressString-Parameter ist für den PCSTR-Datentyp definiert.
Die IN_ADDR Struktur wird in der Headerdatei "Inaddr.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
IN_ADDR
InetNtop
InetPton
LoadLibrary
RtlIpv4AddressToString
RtlIpv4AddressToStringEx
RtlIpv4StringToAddress
RtlIpv6AddressToString
RtlIpv6AddressToStringEx
RtlIpv6StringToAddress
RtlIpv6StringToAddressEx
inet_addr
inet_ntoa