FsRtlAreNamesEqual function (ntifs.h)

The FsRtlAreNamesEqual routine determines whether two Unicode strings are equal.

Syntax

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

Parameters

[in] ConstantNameA

A pointer to first string. Cannot contain wildcard characters.

[in] ConstantNameB

A pointer to second string. Cannot contain wildcard characters.

[in] IgnoreCase

Set to TRUE for case-insensitive matching, FALSE otherwise.

[in, optional] UpcaseTable

Optional pointer to uppercase character table to use for case-insensitive matching. If this value is not supplied, the default system uppercase character table is used.

Return value

FsRtlAreNamesEqual returns TRUE if the two Unicode strings match, FALSE otherwise.

Remarks

The table pointed to by UpcaseTable is an array of uppercase Unicode characters, indexed by the Unicode character to be converted to uppercase. The array must contain entries for all characters that are legal in file names.

Case-insensitive matching is performed by converting both strings to uppercase before they are compared. Thus the value of UpcaseTable, if supplied, is used only if IgnoreCase is TRUE.

If a pool allocation failure occurs, FsRtlAreNamesEqual raises a STATUS_NO_MEMORY exception.

For information about other string-handling routines, see Run-Time Library (RTL) Routines.

Requirements

Requirement Value
Target Platform Universal
Header ntifs.h (include Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI compliance rules HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

See also

RtlEqualUnicodeString

UNICODE_STRING