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 を参照してください。

要件

要件
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= APC_LEVEL

こちらもご覧ください

FsRtlDeleteKeyFromTunnelCache

FsRtlDeleteTunnelCache

FsRtlInitializeTunnelCache

UNICODE_STRING