Función FsRtlAddToTunnelCache (ntifs.h)

La rutina FsRtlAddToTunnelCache almacena en caché un nombre de archivo que se quita de un directorio cuando se cambia o elimina un archivo.

Sintaxis

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
);

Parámetros

[in] Cache

Puntero a una caché de túnel inicializada por FsRtlInitializeTunnelCache.

[in] DirectoryKey

Valor de clave del directorio que contiene el archivo que se va a eliminar o cambiar el nombre. La clave de directorio es un identificador único de 64 bits sin signo que el sistema de archivos genera y asigna al directorio.

[in] ShortName

Cadena Unicode que contiene el nombre corto (8.3) del archivo. Si KeyByShortName es FALSE, ShortName es opcional.

[in] LongName

Cadena Unicode que contiene el nombre largo del archivo. Un nombre de archivo largo es un nombre para un archivo o directorio que supera el formato de nombre de archivo estándar 8.3. Si KeyByShortName es TRUE, LongName es opcional.

[in] KeyByShortName

Se establece en TRUE si el nombre de archivo que se va a eliminar del directorio es el nombre corto del archivo, FALSE si es el nombre largo.

[in] DataLength

Longitud en bytes de la información que se va a almacenar en la entrada de caché del túnel para este archivo. El valor de este parámetro es específico del sistema de archivos, pero debe ser el mismo para todas las entradas de la memoria caché del túnel.

[in] Data

Puntero a un búfer que contiene información específica del sistema de archivos que se almacenará en la entrada de caché del túnel para este archivo.

Valor devuelto

None

Observaciones

Cuando se quita un nombre de archivo de un directorio (para un archivo cuyo nombre se cambia o se elimina), el sistema de archivos puede almacenar en caché el nombre de archivo llamando a FsRtlAddToTunnelCache. El propósito de la memoria caché de túnel es propagar las propiedades del archivo si se crea un nuevo archivo que tiene el mismo nombre largo o corto que el archivo que acaba de eliminar o cambiar de nombre.

FsRtlAddToTunnelCache crea una nueva entrada que contiene el nombre de archivo y la clave de directorio especificados, y agrega la entrada a la memoria caché del túnel para el volumen montado donde se quita o elimina el archivo. Esta entrada también puede contener un paquete de datos de tamaño fijo de información específica del sistema de archivos para el archivo.

El llamador es necesario para sincronizar esta llamada con FsRtlDeleteTunnelCache. Es decir, un sistema de archivos debe asegurarse de que no llama a FsRtlAddToTunnelCache y FsRtlDeleteTunnelCache al mismo tiempo desde subprocesos diferentes.

Para obtener más información sobre la tunelización de nombres de archivo, consulte el artículo 172190 de Microsoft Knowledge Base.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

FsRtlDeleteKeyFromTunnelCache

FsRtlDeleteTunnelCache

FsRtlInitializeTunnelCache

UNICODE_STRING