RtlFindUnicodePrefix 函式 (ntifs.h)
RtlFindUnicodePrefix 例程會搜尋前置詞數據表中指定 Unicode 檔名的最佳相符專案。
語法
NTSYSAPI PUNICODE_PREFIX_TABLE_ENTRY RtlFindUnicodePrefix(
[in] PUNICODE_PREFIX_TABLE PrefixTable,
[in] PCUNICODE_STRING FullName,
[in] ULONG CaseInsensitiveIndex
);
參數
[in] PrefixTable
前置詞數據表的指標。 數據表必須已藉由呼叫 RtlInitializeUnicodePrefix 來初始化。
[in] FullName
Unicode 字串的指標,其中包含檔案的完整路徑名稱。
[in] CaseInsensitiveIndex
在檔名和前置詞字串中的位置,比較會變成不區分大小寫。 字串比較會區分大小寫,以區分每個字串中的第一個 CaseInsensitiveIndex 字元,不區分大小寫的字串其餘部分。
值 | 意義 |
---|---|
0 | 字串比較不區分大小寫。 |
1..FullName.Length-1 | 字串比較對位置 0 到 CaseInsensitiveIndex-1 的字元區分大小寫,不區分大小寫的字元從 CaseInsensitiveIndex 位置到字元串結尾。 |
FullName.Length | 字串比較會區分大小寫。 |
傳回值
RtlFindUnicodePrefix 會傳回指定字串在 FullName 找到之最長適當前置詞的指標。 如果找不到相符的前置詞, RtlFindUnicodePrefix 會傳回 NULL。
備註
數據表中的每個前置詞專案都是相對於文件系統磁碟區根目錄的路徑名稱。 若要正確形成,前置詞開頭必須是單一反斜杠 () 。
當找到相符的前置詞時, RtlFindUnicodePrefix 會重新平衡前置詞數據表的播放樹狀結構。
文件系統必須先呼叫 RtlInitializeUnicodePrefix ,才能使用任何其他 Rtl 來初始化前置詞數據表 。UnicodePrefix 例程。 初始化的前置詞數據表結構應該視為不透明。
Rtl.的呼叫端。UnicodePrefix 例程負責同步處理前置詞數據表的存取權。 快速 Mutex 是用於此用途的最有效率同步處理機制。
如需其他字串處理例程的資訊,請參閱 Run-Time Library (RTL) 例程。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP |
最低支援的伺服器 | Windows Server 2003 |
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |