CompareStringWrapW 函式

[CompareStringWrapW 可用於 Windows XP。 後續版本將無法使用。 您應該在其位置使用 CompareStringW 。]

使用指定的地區設定,比較兩個 Unicode 字元字串。

注意

CompareStringWrapWCompareStringW 函式的包裝函式。 如需進一步的使用注意事項,請參閱 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

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastErrorGetLastError 可能會傳回下列其中一個錯誤碼。

  • 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
Shlwapi.dll (5.0 版或更新版本)

另請參閱

CompareString