FsRtlAreNamesEqual 函数 (ntifs.h)

FsRtlAreNamesEqual 例程确定两个 Unicode 字符串是否相等。

语法

BOOLEAN FsRtlAreNamesEqual(
  [in]           PCUNICODE_STRING ConstantNameA,
  [in]           PCUNICODE_STRING ConstantNameB,
  [in]           BOOLEAN          IgnoreCase,
  [in, optional] PCWCH            UpcaseTable
);

参数

[in] ConstantNameA

指向第一个字符串的指针。 不能包含通配符。

[in] ConstantNameB

指向第二个字符串的指针。 不能包含通配符。

[in] IgnoreCase

对于不区分大小写的匹配,设置为 TRUE ;否则设置为 FALSE

[in, optional] UpcaseTable

用于不区分大小写的匹配的大写字符表的可选指针。 如果未提供此值,则使用默认的系统大写字符表。

返回值

如果两个 Unicode 字符串匹配,则 FsRtlAreNamesEqual 返回 TRUE,否则返回 FALSE

注解

UpcaseTable 指向的表是大写 Unicode 字符的数组,由要转换为大写的 Unicode 字符编制索引。 数组必须包含文件名中合法的所有字符的条目。

不区分大小写的匹配是通过在比较两个字符串之前将两个字符串转换为大写来执行的。 因此,仅当 IgnoreCaseTRUE 时,才使用 UpcaseTable 的值(如果提供)。

如果池分配失败, FsRtlAreNamesEqual 将引发STATUS_NO_MEMORY异常。

有关其他字符串处理例程的信息,请参阅 运行时库 (RTL) 例程

要求

要求
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) PowerIrpDDis (wdm)

另请参阅

RtlEqualUnicodeString

UNICODE_STRING