DownlevelGetLocaleScripts-Funktion

Stellt eine Liste mit Skripts für das angegebene Gebietsschema bereit.

Hinweis

Diese Funktion wird nur von Anwendungen verwendet, die unter Windows Vista-Betriebssystemen ausgeführt werden. Die Verwendung erfordert das Downloadpaket. Anwendungen, die nur unter Windows Vista und höher ausgeführt werden können, sollten GetLocaleInfo aufrufen, wobei LCType auf LOCALE_SSCRIPTS festgelegt ist.

 

Syntax

int DownlevelGetLocaleScripts(
  _In_  LPCWSTR lpLocaleName,
  _Out_ LPWSTR  lpScripts,
  _In_  int     cchScripts
);

Parameter

lpLocaleName [in]

Zeiger auf den Namen eines auf NULL endenden Gebietsschemas.

lpScripts [out]

Zeiger auf einen Puffer, in dem diese Funktion eine auf NULL endende Zeichenfolge abruft, die eine Liste von Skripts darstellt. Dabei wird die in ISO 15924 angegebene 4-Zeichen-Notation verwendet. Jeder Skriptname besteht aus vier lateinischen Zeichen, und die Namen werden in alphabetischer Reihenfolge abgerufen. Auf jeden davon, einschließlich des letzten, folgt ein Semikolon.

Alternativ kann dieser Parameter NULL enthalten, wenn cchScripts auf 0 festgelegt ist. In diesem Fall gibt die Funktion die erforderliche Größe für den Skriptpuffer zurück.

cchScripts [in]

Größe in Zeichen für den Skriptpuffer, der durch lpScripts angegeben ist.

Alternativ kann die Anwendung diesen Parameter auf 0 festlegen. In diesem Fall ruft die Funktion NULL in lpScripts ab und gibt die erforderliche Größe für den Skriptpuffer zurück.

Rückgabewert

Gibt die Anzahl der im Skriptpuffer abgerufenen Zeichen zurück, einschließlich des abschließenden NULL-Zeichens. Wenn die Funktion erfolgreich und der Wert von cchScripts 0 ist, ist der Rückgabewert die erforderliche Größe in Zeichen für den Skriptpuffer, einschließlich eines abschließenden NULL-Zeichens.

Diese Funktion gibt 0 zurück, wenn sie nicht erfolgreich ist. Um erweiterte Fehlerinformationen zu erhalten, kann die Anwendung GetLastError aufrufen, sodass einer der folgenden Fehlercodes zurückgegeben werden kann:

  • ERROR_BADDB. Die Funktion konnte nicht auf die Daten zugreifen. Diese Situation sollte normalerweise nicht auftreten und zeigt in der Regel eine fehlerhafte Installation, ein Datenträgerproblem oder Ähnliches an.
  • ERROR_INSUFFICIENT_BUFFER. Die Größe eines bereitgestellten Puffers war nicht ausreichend, oder sie wurde fälschlicherweise auf NULL festgelegt.
  • ERROR_INVALID_PARAMETER. Einer der Parameter war ungültig.

Hinweise

Diese Funktion ist als Teil einer Strategie hilfreich, um Sicherheitsprobleme im Zusammenhang mit internationalisierten Domänennamen (IDNs) zu beheben.

Hier sind einige Beispiele für Eingaben und Ausgaben für diese Funktion, eine ausreichende Puffergröße vorausgesetzt:

Gebietsschema lpLocaleName lpScripts
Englisch (Vereinigte Staaten) de-DE Latn;
Hindi (Indien) hi-IN Deva;
Japanisch (Japan) ja-JP Hani;Hira;Kana;

 

Die Liste enthält nicht das lateinische Skript, es sei denn, es ist ein wesentlicher Bestandteil des Schreibsystems für ein Gebietsschema. Lateinische Zeichen werden jedoch häufig im Kontext von Gebietsschemas verwendet, für die sie nicht nativ sind, z. B. für den Namen eines ausländischen Geschäfts. Im obigen Beispiel für Hindi in Indien ist das einzige abgerufene Skript „Deva“ (für Devanagari), obwohl lateinische Zeichen auch in Hindi-Text angezeigt werden können. Die DownlevelVerifyScripts-Funktion weist ein spezielles Kennzeichen auf, um diesen Fall zu verarbeiten.

Die erforderliche Headerdatei und die DLL-Datei sind Teil des Downloads Microsoft Internationalized Domain Name (IDN) Mitigation APIs, der bei archive.org verfügbar ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [nur Desktop-Apps]
Verteilbar
„Microsoft Internationalized Domain Name (IDN) Mitigation APIs“ unter Windows XP (SP2 oder höher), Windows Server 2003 (SP1 oder höher) oder Windows Vista
Header
Idndl.h
DLL
Idndl.dll

Siehe auch

Unterstützung von Landessprachen

Funktionen der Unterstützung von Landessprachen

Behandeln von internationalisierten Domänennamen (IDNs)

DownlevelGetStringScripts

DownlevelVerifyScripts

GetLocaleInfo