FsRtlAddToTunnelCache 函式 (ntifs.h)
當檔案重新命名或刪除時, FsRtlAddToTunnelCache 例程會快取從目錄移除的檔名。
語法
void FsRtlAddToTunnelCache(
[in] TUNNEL *Cache,
[in] ULONGLONG DirectoryKey,
[in] UNICODE_STRING *ShortName,
[in] UNICODE_STRING *LongName,
[in] BOOLEAN KeyByShortName,
[in] ULONG DataLength,
[in] VOID *Data
);
參數
[in] Cache
由 FsRtlInitializeTunnelCache 初始化的通道快取指標。
[in] DirectoryKey
包含正在刪除或重新命名之檔案的目錄索引鍵值。 目錄金鑰是唯一未簽署的 64 位識別碼,由檔案系統產生並指派給目錄。
[in] ShortName
Unicode 字串,包含檔案的簡短 (8.3) 名稱。 如果 KeyByShortName 為 FALSE, 則 ShortName 是選擇性的。
[in] LongName
包含檔案完整名稱的 Unicode 字串。 長檔名是超過標準 8.3 檔名格式的檔案或目錄名稱。 如果 KeyByShortName 為 TRUE,LongName 是選擇性的。
[in] KeyByShortName
如果要從目錄中刪除的檔名是檔案的簡短名稱,則設定為 TRUE ;如果檔名是完整名稱,則設定為 FALSE 。
[in] DataLength
要儲存在此檔案之通道快取專案中之資訊的位元組長度。 此參數的值是文件系統特定的,但通道快取中的所有專案都必須相同。
[in] Data
緩衝區的指標,其中包含要儲存在此檔案之通道快取專案中的文件系統特定資訊。
傳回值
無
備註
從) 重新命名或刪除檔案的目錄 (移除檔名時,文件系統可以呼叫 FsRtlAddToTunnelCache 來快取檔名。 通道快取的目的是在建立的新檔案時傳播檔案屬性,該檔案的名稱與剛刪除或重新命名的檔案相同或短名稱。
FsRtlAddToTunnelCache 會建立新的專案,其中包含指定的檔名和目錄密鑰,並將專案新增至已掛接磁碟區移除或刪除的專案。 此專案也可以包含檔案檔案系統特定資訊的固定大小數據封包。
呼叫端必須針對 FsRtlDeleteTunnelCache 同步處理此呼叫。 換句話說,文件系統必須確定它不會從不同的線程同時呼叫 FsRtlAddToTunnelCache 和 FsRtlDeleteTunnelCache 。
如需檔名通道的詳細資訊,請參閱 Microsoft 知識庫文章 172190。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應