Freigeben über


IdnToNameprepUnicode-Funktion (winnls.h)

Konvertiert einen internationalisierten Domänennamen (IDN) oder eine andere internationalisierte Bezeichnung in das von der Netzwerkarbeitsgruppe RFC 3491 angegebene NamePrep-Formular, führt jedoch keine zusätzliche Konvertierung in Punycode durch. Weitere Informationen und Links zu zugehörigen Entwürfen von Standards finden Sie unter Handling Internationalized Domain Names (IDNs).

Syntax

int IdnToNameprepUnicode(
  [in]            DWORD   dwFlags,
  [in]            LPCWSTR lpUnicodeCharStr,
  [in]            int     cchUnicodeChar,
  [out, optional] LPWSTR  lpNameprepCharStr,
  [in]            int     cchNameprepChar
);

Parameter

[in] dwFlags

Flags, die Konvertierungsoptionen angeben. Ausführliche Definitionen finden Sie im dwFlags-Parameter von IdnToAscii.

[in] lpUnicodeCharStr

Zeiger auf eine Unicode-Zeichenfolge, die einen IDN oder eine andere internationalisierte Bezeichnung darstellt.

[in] cchUnicodeChar

Anzahl der Unicode-Zeichen in der Eingabe-Unicode-Zeichenfolge, die durch lpUnicodeCharStr angegeben wird.

[out, optional] lpNameprepCharStr

Zeiger auf einen Puffer, der eine Version der Unicode-Eingabezeichenfolge empfängt, die durch die NamePrep-Verarbeitung konvertiert wurde. Alternativ kann die Funktion NULL für diesen Parameter abrufen, wenn cchNameprepChar auf 0 festgelegt ist. In diesem Fall gibt die Funktion die für diesen Puffer erforderliche Größe zurück.

[in] cchNameprepChar

Größe des durch lpNameprepCharStr angegebenen Puffers in Zeichen. Die Anwendung kann die Größe auf 0 festlegen, um NULL in lpNameprepCharStr abzurufen, und die Funktion gibt die erforderliche Puffergröße zurück.

Rückgabewert

Gibt die Anzahl der in lpNameprepCharStr abgerufenen Zeichen zurück, wenn dies erfolgreich war. Die abgerufene Zeichenfolge ist nur dann NULL-endend, wenn die Eingabe-Unicode-Zeichenfolge null-terminated ist.

Wenn die Funktion erfolgreich ist und der Wert von cchNameprepChar 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.

Beispiele

NLS: Beispiel für die Konvertierung von internationalisierten Domänennamen (IDN) veranschaulicht die Verwendung dieser Funktion.

Anforderungen

   
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)

IdnToAscii

IdnToUnicode

Unterstützung für landessprachliche Sprachen

Unterstützungsfunktionen für nationalsprachliche Sprachen