DownlevelVerifyScripts 函式

比較兩個列舉的腳本清單。

注意

此函式僅供在 Windows Vista 前作業系統上執行的應用程式使用。 其使用需要下載套件。 只在 Windows Vista 和更新版本上執行的應用程式應該呼叫 VerifyScript。

 

語法

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

參數

dwFlags [in]

指定文稿驗證選項的旗標。

意義
VS_ALLOW_LATIN
允許測試清單中的 「Latn」 (拉丁腳本),即使它不在地區設定清單中也一樣。

 

lpLocaleScripts [in]

地區設定清單的指標,指定地區設定的腳本列舉清單。 此清單通常會藉由呼叫 DownlevelGetLocaleScripts 來填入。

cchLocaleScripts [in]

大小,以字元為單位,以 lpLocaleScripts 表示的字串。 如果字串以 Null 終止,應用程式會將此參數設定為 -1。 如果此參數設定為 0,則函式會失敗。

lpTestScripts [in]

測試清單的指標,這是第二個列舉的腳本清單。 此清單通常會藉由呼叫 DownlevelGetStringScripts 來填入。

cchTestScripts [in]

大小,以字元為單位,以 lpTestScripts 表示的字串。 如果字串以 Null 終止,應用程式會將此參數設定為 -1。 如果此參數設定為 0,則函式會失敗。

傳回值

如果測試清單不是空的,而且清單中的所有專案也會包含在地區設定清單中,則會傳回 TRUE。 否則,函式會傳 回 FALSE

FALSE傳回值可以指出測試清單包含不在地區設定清單中的專案,或表示錯誤。 為了區分這兩種情況,應用程式可以呼叫 GetLastError 如果 DownlevelVerifyScripts 已成功判斷測試清單中的專案不在地區設定清單中, GetLastError 會傳回ERROR_SUCCESS。 否則, GetLastError 可以傳回下列其中一個錯誤碼:

  • ERROR_INVALID_FLAGS。 為旗標的值無效。
  • ERROR_INVALID_PARAMETER。 任何參數值都無效。

備註

此函式會比較字串,例如 「Latn;Cyrl;“,由一系列 4 個字元的腳本名稱組成,每個腳本名稱後面接著分號。 它也有一個特殊案例,說明拉丁腳本經常用於它不是原生的語言和地區設定。

此函式在策略中很有用,可降低與國際化功能變數名稱 (IDN) 相關的安全性問題。

以下是此函式傳回的範例,以及各種案例中 GetLastError 的後續呼叫 最後兩個範例分別說明測試清單缺少終止分號(格式不正確的字串)和測試清單是空的案例。

“Locale” 字串 “Test” 字串 dwFlags 傳回值 GetLastError 傳回
哈尼族;Hira;假名; 哈尼族; N/A TRUE N/A
哈尼族;Hira;假名; 哈尼族;Latn; 0 ERROR_SUCCESS
哈尼族;Hira;假名; 哈尼族;Latn; VS_ALLOW_LATIN TRUE N/A
哈尼族;Hira;假名; Cyrl; N/A ERROR_SUCCESS
哈尼族;Hira;假名; Cyrl; N/A ERROR_INVALID_PARAMETER
哈尼族;Hira;假名; N/A ERROR_SUCCESS

 

必要的頭檔與 DLL 是可從 archive.org 取得的「Microsoft 國際化功能變數名稱 (IDN) 風險降低 API」 下載的一部分。

需求

需求
最低支援的用戶端
Windows XP [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限傳統型應用程式]
可轉散發套件
Windows XP 上的 Microsoft 國際化功能變數名稱 (IDN) 風險降低 API SP2、Windows Server 2003 SP1 或Windows Vista
頁首
Idndl.h
DLL
Idndl.dll

另請參閱

國家語言支援

國家語言支援函式

處理國際化網域名稱 (IDN)

DownlevelGetLocaleScripts

DownlevelGetStringScripts

VerifyScripts