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 |
|
DLL |
|
Siehe auch