Поделиться через


Функция 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) имя файла. Если KeyByShortNameFALSE, ShortName необязателен.

[in] LongName

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

[in] KeyByShortName

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

[in] DataLength

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

[in] Data

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

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

Никакой

Замечания

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

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

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

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

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также

FsRtlDeleteKeyFromTunnelCache

FsRtlDeleteTunnelCache

FsRtlInitializeTunnelCache

UNICODE_STRING