共用方式為


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

包含檔案簡短 (8.3) 名稱的 Unicode 字串。 如果 KeyByShortNameFALSE,則 ShortName 為選擇性。

[in] LongName

包含檔案長名稱的 Unicode 字串。 長檔名是超過標準 8.3 檔名格式的檔案或目錄名稱。 如果 KeyByShortNameTRUE,則 LongName 為選擇性。

[in] KeyByShortName

如果要從目錄中刪除的檔名是檔案的簡短名稱,TRUE,如果檔名是長名稱,FALSE

[in] DataLength

要儲存在此檔案之通道快取專案中的資訊位元組長度。 此參數的值是文件系統特定的,但通道快取中的所有專案都必須相同。

[in] Data

緩衝區的指標,其中包含要儲存在此檔案之通道快取專案中的文件系統特定資訊。

傳回值

沒有

言論

從目錄移除檔名時,文件系統可以呼叫 FsRtlAddToTunnelCache來快取檔名。 通道快取的目的是在建立新檔案時傳播檔案屬性,該檔案的名稱與剛刪除或重新命名的檔案具有相同的長或短名稱。

FsRtlAddToTunnelCache 會建立新的專案,其中包含指定的檔名和目錄索引鍵,並將專案新增至掛接磁碟區的通道快取中,檔案正在移除或刪除。 這個專案也可以包含檔案檔案系統特定資訊的固定大小數據封包。

呼叫端必須針對 FsRtlDeleteTunnelCache同步處理此呼叫。 換句話說,文件系統必須確保它不會從不同的線程同時呼叫 FsRtlAddToTunnelCacheFsRtlDeleteTunnelCache

如需檔案名通道的詳細資訊,請參閱 Microsoft 知識庫文章 172190

要求

要求 價值
目標平臺 普遍
標頭 ntifs.h (include Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

FsRtlDeleteKeyFromTunnelCache

FsRtlDeleteTunnelCache

FsRtlInitializeTunnelCache

UNICODE_STRING