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) 结合使用。

必须使用序号 45 直接从 Shlwapi.dll调用 CompareStringWrapW

要求

要求
最低受支持的客户端
Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
标头
DLL
Shlwapi.dll (5.0 或更高版本)

另请参阅

CompareString