Función FsRtlFindInTunnelCache (ntifs.h)
La rutina FsRtlFindInTunnelCache busca una entrada coincidente en la caché del túnel que coincida con el nombre especificado.
Sintaxis
BOOLEAN FsRtlFindInTunnelCache(
[in] TUNNEL *Cache,
ULONGLONG DirectoryKey,
[in] UNICODE_STRING *Name,
[out] UNICODE_STRING *ShortName,
[out] UNICODE_STRING *LongName,
[in, out] ULONG *DataLength,
[out] VOID *Data
);
Parámetros
[in] Cache
Puntero a una caché de túnel inicializada por FsRtlInitializeTunnelCache.
DirectoryKey
Valor de clave del directorio que contiene el archivo que se va a crear o cambiar el nombre.
[in] Name
Puntero a una cadena Unicode que contiene el nuevo nombre del archivo cuyo nombre se va a cambiar o crear.
[out] ShortName
Puntero a una cadena Unicode asignada por el autor de la llamada para recibir el nombre corto del archivo tunelizado. Esta cadena debe ser lo suficientemente larga como para contener un nombre de archivo completo 8.3. (A diferencia de LongName, ShortName no se crece dinámicamente).
[out] LongName
Puntero a una cadena Unicode asignada por el autor de la llamada para recibir el nombre largo del archivo tunelizado. Si esta cadena no es lo suficientemente grande como para contener el nombre tunelizado, FsRtlFindInTunnelCache lo reemplaza por una cadena asignada por el sistema más grande. Si se asigna dicha cadena, el autor de la llamada es responsable de detectar este caso y liberar la nueva cadena asignada por el sistema, así como la cadena asignada por el autor de la llamada original.
[in, out] DataLength
En la entrada, se trata de un puntero a una variable que especifica la longitud del búfer al que apunta Data. En la salida, la misma variable recibe la longitud en bytes de los datos escritos en el búfer.
[out] Data
Puntero a un búfer asignado por el autor de la llamada para recibir los datos encontrados en la caché del túnel.
Valor devuelto
FsRtlFindInTunnelCache devuelve TRUE si se encuentra una entrada coincidente en la caché del túnel; de lo contrario, FALSE.
Observaciones
Los sistemas de archivos pueden llamar a FsRtlFindInTunnelCache cuando se agrega un nombre de archivo a un directorio para un archivo que se va a crear o cambiar de nombre. FsRtlFindInTunnelCache busca en la caché del túnel una entrada que coincida con DirKey y Name. Si se encuentra uno, FsRtlFindInTunnelCache captura la información almacenada en caché.
La coincidencia se realiza de la siguiente manera:
El valor de DirKey se compara con la clave de directorio de la entrada. (Este es el valor de directoryKey
que se pasó a FsRtlAddToTunnelCache ).Si KeyByShortName se estableció en TRUE en la llamada a FsRtlAddToTunnelCache, la cadena a la que apunta Nombre se compara con el nombre corto del archivo tunelizado. De lo contrario, se compara con el nombre largo.
El valor de la variable de longitud del búfer a la que apunta dataLength debe ser mayor o igual que la longitud en bytes de los datos almacenados en la entrada de caché del túnel.
El autor de la llamada es necesario para sincronizar esta llamada con FsRtlDeleteTunnelCache. Es decir, un sistema de archivos debe asegurarse de que no llama a FsRtlFindInTunnelCache y FsRtlDeleteTunnelCache al mismo tiempo desde subprocesos diferentes.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de |
Universal |
encabezado de |
ntifs.h (incluya Ntifs.h) |
biblioteca de |
NtosKrnl.lib |
DLL de |
NtosKrnl.exe |
irQL | <= APC_LEVEL |