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 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 |
|---|---|
|
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. |
|
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 |