Freigeben über


RtlIpv4StringToAddressW-Funktion (ip2string.h)

Die RtlIpv4StringToAddress-Funktion konvertiert eine Zeichenfolgendarstellung einer IPv4-Adresse in eine binäre IPv4-Adresse.

Syntax

NTSYSAPI NTSTATUS RtlIpv4StringToAddressW(
  [in]  PCWSTR  S,
  [in]  BOOLEAN Strict,
  [out] LPCWSTR *Terminator,
  [out] in_addr *Addr
);

Die Parameter

[in] S

Ein Zeiger auf einen Puffer, der die NULL-beendete Zeichenfolgendarstellung der IPv4-Adresse enthält.

[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 FALSE ist, sind vier mögliche Formen zulässig, wobei die Dezimal-, Okt- oder Hexadezimalnotation verwendet wird. Ausführliche Informationen finden Sie im Abschnitt "Hinweise".

[out] Terminator

Ein Parameter, der einen Zeiger auf das Zeichen empfängt, das die konvertierte Zeichenfolge beendet hat. Dies kann vom Aufrufer verwendet werden, um weitere Informationen aus der Zeichenfolge zu extrahieren.

[out] Addr

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

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 der Strict-Parameter auf TRUE festgelegt wurde, die Zeichenfolge, auf die der Parameter S verweist, jedoch keine vierteilige gepunktete Dezimalzeichenfolgendarstellung einer IPv4-Adresse enthält. Dieser Fehler wird auch zurückgegeben, wenn die Zeichenfolge, auf die der S-Parameter verweist, keine ordnungsgemäße Zeichenfolgendarstellung einer IPv4-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 RtlIpv4StringToAddress-Funktion wird verwendet, um eine Zeichenfolgendarstellung der IPv4-Adresse in eine in der Netzwerkreihenfolge zurückgegebene IPv4-Adresse (von links nach rechts sortierte Bytes) zu konvertieren.

RtlIpv4StringToAddress 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 Parameter S verweist, in einer strengen Punkt-Dezimalnotation angegeben 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 Parameter S verweist, in einem der verschiedenen möglichen Formate enthalten sein. Wenn der puffer, auf den der S-Parameter verweist, eine dreiteilige Adresszeichenfolge enthält, wird der letzte Teil als eine 16-Bit-Menge interpretiert und in den richtigen 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 S-Parameter verweist, eine zweiteilige Adresszeichenfolge enthält, wird der letzte Teil als 24-Bit-Menge interpretiert und in den 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 S-Parameter verweist, nur eine einteilige Adresszeichenfolge enthält, wird der Wert direkt in der Netzwerkadresse ohne Byteanordnung gespeichert.

Bei Erfolg verweist der Terminator-Parameter auf das Zeichen, das die konvertierte Zeichenfolge beendet hat. Dadurch kann eine Anwendung eine Zeichenfolge übergeben, die eine IP-Adresse sowie zusätzliche Informationen an die RtlIpv4StringToAddress-Funktion enthält, und dann die verbleibenden Informationen analysieren.

Wenn unicode oder _UNICODE definiert ist, wird RtlIpv4StringToAddress für RtlIpv4StringToAddressW definiert, die Unicode-Version dieser Funktion. Der Parameter S wird für den PCWSTR-Datentyp definiert, und der Terminator-Parameter wird für den LPCWSTR-Datentyp definiert.

Wenn unicode und _UNICODE nicht definiert sind, ist RtlIpv4StringToAddress für RtlIpv4StringToAddressA, die ANSI-Version dieser Funktion, definiert. Die Parameter S und Terminator sind für den PCSTR-Datentyp definiert.

Die IN_ADDR Struktur wird in der Headerdatei "Inaddr.h " definiert.

Hinweis

Der header ip2string.h definiert RtlIpv4StringToAddress als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

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, Ip2string.h)
Library ntdll.lib
DLL ntdll.dll

Siehe auch

GetModuleHandle

GetProcAddress

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa