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 |
頁首 |
|
DLL |
|
另請參閱