FsRtlIsNameInExpression 函式 (ntifs.h)
FsRtlIsNameInExpression 例程會判斷 Unicode 字串是否符合指定的模式。
語法
BOOLEAN FsRtlIsNameInExpression(
[in] PUNICODE_STRING Expression,
[in] PUNICODE_STRING Name,
[in] BOOLEAN IgnoreCase,
[in, optional] PWCH UpcaseTable
);
參數
[in] Expression
模式字串的指標。 可以包含通配符。 如果 IgnoreCase 為 TRUE,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) |