[CompareStringWrapW 可用於 Windows XP。 後續版本將無法使用。 您應該在其位置使用 CompareStringW 。]
使用指定的地區設定,比較兩個 Unicode 字元字串。
注意
CompareStringWrapW 是 CompareStringW 函式的包裝函式。 如需進一步的使用注意事項,請參閱 CompareString 頁面。
語法
int CompareStringWrapW(
_In_ LCID Locale,
_In_ DWORD dwCmpFlags,
_In_ LPCWSTR lpString1,
_In_ int cchCount1,
_In_ LPCWSTR lpString2,
_In_ int cchCount2
);
參數
-
地區設定 [in]
-
類型: LCID
用於比較的地區設定識別碼。 此參數可以是下列其中一個預先定義的地區設定識別碼,或是 MAKELCID 宏所建立的地區設定識別碼。
-
LOCALE_SYSTEM_DEFAULT
-
系統的預設地區設定。
-
LOCALE_USER_DEFAULT
-
目前使用者的預設地區設定。
dwCmpFlags [in]
類型: DWORD
指出函式如何比較兩個字串的旗標。 根據預設,不會設定這些旗標。 設定為零,以取得預設行為或下列值的任何組合。
NORM_IGNORECASE
忽略大小寫。
NORM_IGNOREKANATYPE
請勿區分平假名和片假名字元。 對應的平假名和片假名字元會比較為相等。
NORM_IGNORENONSPACE
忽略非步調字元。
NORM_IGNORESYMBOLS
忽略符號。
NORM_IGNOREWIDTH
請勿區分單一位元組字元與與雙位元組字元相同的字元。
SORT_STRINGSORT
將標點符號視為符號。
lpString1 [in]
類型: LPCWSTR
要比較之第一個 Unicode 字串的指標。
cchCount1 [in]
類型: int
lpString1參數所指向之字串中的字元數。 計數不包含終止的 Null 字元。 如果此參數是負值,則會假設字串為 Null 終止,且會自動計算長度。
lpString2 [in]
類型: LPCWSTR
要比較之第二個 Unicode 字串的指標。
cchCount2 [in]
類型: int
lpString2參數所指向之字串中的字元數。 計數不包含終止的 Null 字元。 如果此參數是負值,則會假設字串為 Null 終止,且會自動計算長度。
傳回值
類型: int
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。 GetLastError 可能會傳回下列其中一個錯誤碼。
- ERROR_INVALID_FLAGS
- ERROR_INVALID_PARAMETER
如果函式成功,傳回值就是下列其中一個值。
| 需求 | 值 |
|---|---|
| CSTR_LESS_THAN | lpString1參數所指向的字串比lpString2參數所指向的字串小於語彙值。 |
| CSTR_EQUAL | lpString1所指向的字串等於lpString2所指向的字串語彙值。 |
| CSTR_GREATER_THAN | lpString1所指向的字串在語彙值中大於lpString2所指向的字串 |
備註
安全性警告: 使用此函式不正確可能會危害應用程式的安全性。 未正確比較的字串可能會產生不正確輸入。 測試字串,以確保它們在使用之前有效,並提供錯誤處理常式。 如需詳細資訊,請參閱 安全性考慮:國際功能
慣用的方法是搭配使用 CompareStringW 與 Microsoft Layer for Unicode (MSLU) 。
CompareStringWrapW 必須使用序數 45,直接從Shlwapi.dll呼叫。
規格需求
| 需求 | 值 |
|---|---|
| 最低支援的用戶端 |
Windows 2000 Professional、Windows XP [僅限桌面應用程式] |
| 最低支援的伺服器 |
Windows Server 2003 [僅限桌面應用程式] |
| 標頭 |
|
| DLL |
|
另請參閱