Freigeben über


DownlevelVerifyScripts-Funktion

Vergleicht zwei Aufzählungslisten mit Skripts.

Hinweis

Diese Funktion wird nur von Anwendungen verwendet, die unter älteren Betriebssystemen als Windows Vista ausgeführt werden. Ihre Verwendung erfordert das Downloadpaket. Anwendungen, die nur unter Windows Vista und höher ausgeführt werden, sollten VerifyScripts aufrufen.

 

Syntax

BOOL DownlevelVerifyScripts(
  _In_ DWORD   dwFlags,
  _In_ LPCWSTR lpLocaleScripts,
  _In_ int     cchLocaleScripts,
  _In_ LPCWSTR lpTestScripts,
  _In_ int     cchTestScripts
);

Parameter

dwFlags [in]

Flags, die Skriptüberprüfungsoptionen angeben.

Wert Bedeutung
VS_ALLOW_LATIN
Lassen Sie „Latn“ (lateinische Schrift) in der Testliste zu, auch wenn diese Zeichenfolge nicht in der Gebietsschemaliste enthalten ist.

 

lpLocaleScripts [in]

Zeiger auf die Gebietsschemaliste, die Aufzählungsliste von Skripts für ein bestimmtes Gebietsschema. Diese Liste wird in der Regel durch Aufrufe von DownlevelGetLocaleScripts aufgefüllt.

cchLocaleScripts [in]

Größe der durch lpLocaleScripts angegebenen Zeichenfolge in Zeichen. Die Anwendung legt diesen Parameter auf -1 fest, wenn die Zeichenfolge nullterminiert ist. Wenn dieser Parameter auf 0 festgelegt wird, schlägt die Funktion fehl.

lpTestScripts [in]

Zeiger auf die Testliste, eine zweite Aufzählungsliste von Skripts. Diese Liste wird in der Regel durch Aufrufe von DownlevelGetLocaleScripts aufgefüllt.

cchTestScripts [in]

Größe der von lpTestScripts angegebenen Zeichenfolge in Zeichen. Die Anwendung legt diesen Parameter auf -1 fest, wenn die Zeichenfolge nullterminiert ist. Wenn dieser Parameter auf 0 festgelegt wird, schlägt die Funktion fehl.

Rückgabewert

Gibt TRUE zurück, wenn die Testliste nicht leer ist und alle Elemente der Liste auch in der Gebietsschemaliste enthalten sind. Andernfalls gibt die Funktion FALSE zurück.

Ein Rückgabewert von FALSE kann darauf hinweisen, dass die Testliste ein Element enthält, das nicht in der Gebietsschemaliste enthalten ist, oder einen Fehler anzeigen. Um zwischen diesen beiden Fällen zu unterscheiden, kann die Anwendung GetLastError aufrufen. Wenn DownlevelVerifyScripts erfolgreich festgestellt hat, dass ein Element der Testliste nicht in der Gebietsschemaliste enthalten ist, gibt GetLastError ERROR_SUCCESS zurück. Andernfalls kann GetLastError einen der folgenden Fehlercodes zurückgeben:

  • ERROR_INVALID_FLAGS. Die für Flags angegebenen Werte waren ungültig.
  • ERROR_INVALID_PARAMETER. Ein Parameterwert war ungültig.

Hinweise

Diese Funktion vergleicht Zeichenfolgen, z. B. "Latn;Cyrl;", die aus einer Reihe von Skriptnamen aus vier Zeichen bestehen, wobei jedem Skriptnamen ein Semikolon folgt. Außerdem gibt es einen Sonderfall, um der Tatsache Rechnung zu tragen, dass die lateinische Schrift häufig in Sprachen und Gegenden verwendet wird, in denen sie nicht heimisch ist.

Diese Funktion ist nützlich als Teil einer Strategie zur Entschärfung von Sicherheitsproblemen im Zusammenhang mit internationalisierten Domänennamen (IDNs).

Im Folgenden finden Sie Beispiele für die Rückgabe dieser Funktion und einen nachfolgenden Aufruf von GetLastError in verschiedenen Szenarien. Die letzten beiden Beispiele veranschaulichen einen Fall, in dem in der Testliste ein abschließendes Semikolon fehlt (fehlerhafte Zeichenfolge), bzw. einen Fall, in dem die Testliste leer ist.

Zeichenfolge „Locale“ Zeichenfolge „Test“ dwFlags Rückgabewert GetLastError-Rückgabe
Hani;Hira;Kana; Hani; N/V TRUE N/V
Hani;Hira;Kana; Hani;Latn; 0 FALSE ERROR_SUCCESS
Hani;Hira;Kana; Hani;Latn; VS_ALLOW_LATIN TRUE N/V
Hani;Hira;Kana; Cyrl; N/V FALSE ERROR_SUCCESS
Hani;Hira;Kana; Cyrl; N/V FALSE ERROR_INVALID_PARAMETER
Hani;Hira;Kana; N/V FALSE ERROR_SUCCESS

 

Die erforderliche Headerdatei und die DLL-Datei sind Teil des Downloads Microsoft Internationalized Domain Name (IDN) Mitigation APIs, der auf 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 on Windows XP mit SP2, Windows Server 2003 mit SP1 oder Windows Vista
Header
Idndl.h
DLL
Idndl.dll

Siehe auch

Unterstützung der Landessprache

Funktionen zur Unterstützung der Landessprache

Behandeln von internationalisierten Domänennamen (IDNs)

DownlevelGetLocaleScripts

DownlevelGetStringScripts

VerifyScripts