Функция 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) имя файла. Если параметр KeyByShortName имеет значение FALSE, shortName является необязательным.

[in] LongName

Строка в Юникоде, содержащая длинное имя файла. Длинное имя файла — это имя файла или каталога, которое превышает стандартный формат имени файла 8.3. Если параметр KeyByShortName имеет значение TRUE, longName является необязательным.

[in] KeyByShortName

Задайте значение TRUE , если имя файла, удаляемого из каталога, является коротким именем файла, и false , если это длинное имя.

[in] DataLength

Длина в байтах сведений, которые будут храниться в записи кэша туннеля для этого файла. Значение этого параметра зависит от файловой системы, но оно должно быть одинаковым для всех записей в кэше туннеля.

[in] Data

Указатель на буфер, содержащий сведения о файловой системе, которые будут храниться в записи кэша туннеля для этого файла.

Возвращаемое значение

None

Remarks

При удалении имени файла из каталога (для переименовываемого или удаляемого файла) файловая система может кэшировать имя файла, вызвав FsRtlAddToTunnelCache. Кэш туннеля предназначен для распространения свойств файла, если создается новый файл с таким же длинным или коротким именем, что и только что удаленный или переименованный файл.

FsRtlAddToTunnelCache создает новую запись, содержащую указанное имя файла и ключ каталога, и добавляет запись в кэш туннеля для подключенного тома, где удаляется или удаляется файл. Эта запись также может содержать пакет данных фиксированного размера, содержащий сведения о файле, относящиеся к файловой системе.

Вызывающий объект требуется для синхронизации этого вызова с FsRtlDeleteTunnelCache. Другими словами, файловая система должна гарантировать, что она не вызывает FsRtlAddToTunnelCache и FsRtlDeleteTunnelCache одновременно из разных потоков.

Дополнительные сведения о туннелированиях имен файлов см. в статье базы знаний Майкрософт 172190.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также раздел

FsRtlDeleteKeyFromTunnelCache

FsRtlDeleteTunnelCache

FsRtlInitializeTunnelCache

UNICODE_STRING