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 文字列。 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 を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= APC_LEVEL |