[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) 结合使用。
必须使用序号 45 直接从 Shlwapi.dll调用 CompareStringWrapW。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
标头 |
|
DLL |
|
另请参阅