次の方法で共有


DownlevelVerifyScripts 関数

スクリプトの 2 つの列挙リストを比較します。

Note

この関数は、Windows Vista 以前のオペレーティング システムで実行されるアプリケーションでのみ使用されます。 その使用にはダウンロード パッケージが必要です。 Windows Vista 以降でのみ実行されるアプリケーションでは、VerifyScripts を呼び出す必要があります。

 

構文

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

パラメーター

dwFlags [in]

スクリプト検証オプションを指定するフラグ。

Value 意味
VS_ALLOW_LATIN
ロケール一覧にない場合でも、テスト一覧で "Latn" (ラテン スクリプト) を許可します。

 

lpLocaleScripts [in]

指定されたロケールのスクリプトの列挙された一覧である、ロケール一覧へのポインター。 この一覧は通常、DownlevelGetLocaleScripts を呼び出すことで作成されます。

cchLocaleScripts [in]

lpLocaleScripts で示される文字列のサイズ (文字単位)。 文字列が null 終端である場合、アプリケーションはこのパラメーターを -1 に設定します。 このパラメーターが 0 に設定されている場合は、関数が失敗します。

lpTestScripts [in]

スクリプトの 2 番目の列挙された一覧である、テスト一覧へのポインター。 この一覧は通常、DownlevelGetStringScripts を呼び出すことで作成されます。

cchTestScripts [in]

lpTestScripts で示される文字列のサイズ (文字単位)。 文字列が null 終端である場合、アプリケーションはこのパラメーターを -1 に設定します。 このパラメーターが 0 に設定されている場合は、関数が失敗します。

戻り値

テスト一覧が空でなく、一覧のすべての項目もロケール一覧に含まれている場合は TRUE を返します。 それ以外の場合は、FALSE を返します。

FALSE の戻り値は、テスト一覧の中にロケール一覧にない項目が含まれていることを示す場合と、エラーを示す場合があります。 これら 2 つのケースを区別するために、アプリケーションは GetLastError を呼び出すことができます。 DownlevelVerifyScripts が、ロケール一覧にない項目がテスト一覧に含まれていると正常に判断された場合、GetLastError は ERROR_SUCCESS を返します。 それ以外の場合、GetLastError は 次のいずれかのエラー コードを返す可能性があります。

  • ERROR_INVALID_FLAGS. フラグに指定された値が無効でした。
  • ERROR_INVALID_PARAMETER. パラメーターのいずれかが無効でした。

解説

この関数は、4 文字のスクリプト名をそれぞれセミコロンでつないだスクリプト名と "Latn;Cyrl;" などの文字列を比較します。 また、ラテン語スクリプトが母国語ではない言語やロケールでよく使用されるという事実を考慮した、特別なケースもあります。

この機能は、国際化ドメイン名 (IDN) に関連するセキュリティ問題を軽減する戦略の一環として役立ちます。

この関数の戻り値と、さまざまなシナリオでの GetLastError に続く呼び出しの例を次に示します。 最後の 2 つの例は、それぞれ、テスト一覧に末尾のセミコロン (形式が正しくない文字列) がない場合と、テスト一覧が空のケースを示しています。

"ロケール" 文字列 "テスト" 文字列 dwFlags 戻り値 GetLastError 戻り値
Hani;Hira;Kana; Hani; 該当なし TRUE 該当なし
Hani;Hira;Kana; Hani;Latn; 0 FALSE ERROR_SUCCESS
Hani;Hira;Kana; Hani;Latn; VS_ALLOW_LATIN TRUE 該当なし
Hani;Hira;Kana; Cyrl; 該当なし FALSE ERROR_SUCCESS
Hani;Hira;Kana; Cyrl; 該当なし FALSE ERROR_INVALID_PARAMETER
Hani;Hira;Kana; 該当なし FALSE ERROR_SUCCESS

 

必要なヘッダー ファイルと DLL は、archive.org からダウンロードできる "Microsoft 国際化ドメイン名 (IDN) 軽減 API" の一部です。

要件

要件 Value
サポートされている最小のクライアント
Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー
Windows Server 2003 (デスクトップ アプリのみ)
再頒布可能パッケージ
Microsoft Internationalized Domain Name (IDN) Mitigation APIs onWindows XP with SP2,Windows Server 2003 with SP1, orWindows Vista
ヘッダー
Idndl.h
[DLL]
Idndl.dll

関連項目

各国語サポート

各国語サポート関数

国際化ドメイン名 (IDN) の処理

DownlevelGetLocaleScripts

DownlevelGetStringScripts

VerifyScripts