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

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

返回值

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

言论

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

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

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

有关其他字符串处理例程的信息,请参阅 Run-Time Library (RTL) 例程

要求

要求 价值
目标平台 普遍
标头 ntifs.h (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDIS(storport)PowerIrpDDis(wdm)

另请参阅

RtlEqualUnicodeString

UNICODE_STRING