IdnToUnicode-Funktion (winnls.h)
Konvertiert die Punycode-Form eines internationalisierten Domänennamens (IDN) oder einer anderen internationalisierten Bezeichnung in die normale Unicode UTF-16-Codierungssyntax.
Syntax
int IdnToUnicode(
[in] DWORD dwFlags,
[in] LPCWSTR lpASCIICharStr,
[in] int cchASCIIChar,
[out, optional] LPWSTR lpUnicodeCharStr,
[in] int cchUnicodeChar
);
Parameter
[in] dwFlags
Flags, die Konvertierungsoptionen angeben. Ausführliche Definitionen finden Sie im dwFlags-Parameter von IdnToAscii.
[in] lpASCIICharStr
Zeiger auf eine Zeichenfolge, die die Punycodecodierung eines IDN oder einer anderen internationalisierten Bezeichnung darstellt. Diese Zeichenfolge darf nur aus ASCII-Zeichen bestehen und kann Punycode-codiertes Unicode enthalten. Die Funktion decodiert Punycode-Werte in ihre UTF-16-Werte.
[in] cchASCIIChar
Anzahl der Zeichen in der eingabezeichenfolge angegeben durch lpASCIICharStr.
[out, optional] lpUnicodeCharStr
Zeiger auf einen Puffer, der eine normale Unicode UTF-16-Codierung empfängt, die dem Punycode-Wert der Eingabezeichenfolge entspricht. Alternativ kann die Funktion NULL für diesen Parameter abrufen, wenn cchUnicodeChar auf 0 festgelegt ist. In diesem Fall gibt die Funktion die für diesen Puffer erforderliche Größe zurück.
[in] cchUnicodeChar
Größe des Puffers, der durch lpUnicodeCharStr angegeben wird, in Zeichen. Die Anwendung kann die Größe auf 0 festlegen, um NULL in lpUnicodeCharStr abzurufen, und die Funktion gibt die erforderliche Puffergröße zurück.
Rückgabewert
Gibt bei erfolgreicher Ausführung die Anzahl der in lpUnicodeCharStr abgerufenen Zeichen zurück. Die abgerufene Zeichenfolge ist nur dann NULL-endend, wenn die Eingabezeichenfolge null-terminated ist.
Wenn die Funktion erfolgreich ist und der Wert von cchUnicodeChar 0 ist, gibt die Funktion die erforderliche Größe in Zeichen zurück, einschließlich eines abschließenden NULL-Zeichens, wenn sie Teil des Eingabepuffers war.
Die Funktion gibt 0 zurück, wenn sie nicht erfolgreich ist. Um erweiterte Fehlerinformationen zu erhalten, kann die Anwendung GetLastError aufrufen, wodurch einer der folgenden Fehlercodes zurückgegeben werden kann:
- ERROR_INSUFFICIENT_BUFFER. Eine angegebene Puffergröße war nicht groß genug, oder sie wurde fälschlicherweise auf NULL festgelegt.
- ERROR_INVALID_FLAGS. Die für Flags angegebenen Werte waren ungültig.
- ERROR_INVALID_NAME. Für die Funktion wurde ein ungültiger Name angegeben. Beachten Sie, dass dieser Fehlercode alle Syntaxfehler abfängt.
- ERROR_INVALID_PARAMETER. Jeder der Parameterwerte war ungültig.
- ERROR_NO_UNICODE_TRANSLATION. In einer Zeichenfolge wurde ein ungültiger Unicode-Code gefunden.
Hinweise
Weitere Informationen finden Sie unter Hinweise zu IdnToAscii.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | winnls.h (windows.h einschließen) |
Bibliothek | Normaliz.lib |
DLL | Normaliz.dll |
Verteilbare Komponente | Microsoft Internationalized Domain Name (IDN)-Entschärfungs-APIs für Windows XP mit SP2 und höher oderWindows Server 2003 mit SP1 |
Weitere Informationen
Umgang mit internationalisierten Domänennamen (IDNs)