FsRtlIsNameInExpression 函式 (ntifs.h)

FsRtlIsNameInExpression 例程會判斷 Unicode 字串是否符合指定的模式。

語法

BOOLEAN FsRtlIsNameInExpression(
  [in]           PUNICODE_STRING Expression,
  [in]           PUNICODE_STRING Name,
  [in]           BOOLEAN         IgnoreCase,
  [in, optional] PWCH            UpcaseTable
);

參數

[in] Expression

模式字串的指標。 可以包含通配符。 如果 IgnoreCaseTRUE,Expression 必須是大寫。

[in] Name

要與模式比較之字串的指標。 不能包含通配符。

[in] IgnoreCase

若不區分大小寫比對,則設定為 TRUE ,否則為 FALSE

[in, optional] UpcaseTable

用於不區分大小寫比對之大寫字元數據表的選擇性指標。 如果未提供此值,則會使用預設的系統大寫字元表。

傳回值

如果字串符合模式,FsRtlIsNameInExpression 會傳回 TRUE,否則為 FALSE

備註

下列通配符可用於模式字串中。

萬用字元 意義
* (星號) 比對零個或多個字元。
? (問號) 符合單一字元。
DOS_DOT 比對名稱字串以外的句號或零個字元。
DOS_QM 比對任何單一字元,或在遇到句號或名稱字串結尾時,將表達式前進到連續DOS_QMs集的結尾。
DOS_STAR 比對零或多個字元,直到遇到並比對最終 。 名稱中的 。

在低資源狀況中, FsRtlIsNameInExpression 可以使用STATUS_NO_MEMORY的程式代碼引發結構化例外狀況,而呼叫端應該準備好處理。 如需詳細資訊,請參閱 結構化例外狀況處理

注意

如果其中一個字串參數的長度為零, FsRtlIsNameInExpression 會傳回 FALSE。 這表示 「*」 與 Null 字串不符。

如果這兩個參數都是 Null 字串, FsRtlIsNameInExpression 會傳回 TRUE

規格需求

需求
最低支援的用戶端 此例程為 Windows 2000
目標平台 Universal
標頭 ntifs.h (包括 FltKernel.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 合規性規則 HwStorPortProhibitedDDIs (storport) PowerIrpDDis (wdm)

另請參閱

FsRtlIsDbcsInExpression

UNICODE_STRING