Compartir a través de


Macro FsRtlSetupAdvancedHeaderEx2 (ntifs.h)

Los sistemas de archivos usan la macro FsRtlSetupAdvancedHeaderEx2 para inicializar una estructura de FSRTL_ADVANCED_FCB_HEADER para su uso con contextos de secuencia y archivo.

Sintaxis

void FsRtlSetupAdvancedHeaderEx2(
   _advhdr,
   _fmutx,
   _fctxptr,
   _aepushlock
);

Parámetros

_advhdr

Puntero a la estructura FSRTL_ADVANCED_FCB_HEADER que se va a inicializar.

_fmutx

Puntero a una exclusión mutua rápida inicializada que se usará para sincronizar el acceso a determinados miembros de FSRTL_ADVANCED_FCB_HEADER . La exclusión mutua rápida debe asignarse desde un grupo no paginado. Este parámetro es opcional y puede ser NULL. Los autores de llamadas deben establecer este parámetro en NULL si piensan usar un objeto de exclusión mutua rápida ya existente. Si FastMutex es NULL, el autor de la llamada debe establecer explícitamente el miembro FastMutex de la estructura FSRTL_ADVANCED_FCB_HEADER , incluida en el objeto de contexto de secuencia, para que apunte a la exclusión mutua rápida existente. (Esto se puede hacer antes o después de llamar a FsRtlSetupAdvancedHeaderEx2).

_fctxptr

Puntero a un campo de puntero usado por la biblioteca en tiempo de ejecución del sistema de archivos (FSRTL) para realizar un seguimiento de los contextos de archivo. Este parámetro es opcional y puede ser NULL. Si FileContextSupportPointer no es NULL, FileContextSupportPointer debe ser un puntero a una variable PVOID dentro de una estructura por archivo para el sistema de archivos que creó la estructura. Para indicar que el controlador del sistema de archivos no admite contextos de archivo, los autores de llamadas deben establecer FileContextSupportPointer en NULL.

_aepushlock

Puntero a una estructura opaca utilizada para inicializar el campo AePushLock del encabezado avanzado. El autor de la llamada de esta función es responsable de asignar e inicializar primero la memoria de este campo llamando a FsRtlAllocateAePushLock y, posteriormente, liberando la memoria llamando a FsRtlFreeAePushLock. Consulte FSRTL_ADVANCED_FCB_HEADER para obtener más información sobre los bloqueos de inserción de expansión automática.

Valor devuelto

None

Observaciones

Los sistemas de archivos usan la macro FsRtlSetupAdvancedHeaderEx2 para inicializar una estructura de FSRTL_ADVANCED_FCB_HEADER para su uso con contextos de secuencia y archivo.

Cuando la estructura avanzada del encabezado FCB ya no es necesaria, el sistema de archivos debe llamar a FsRtlTeardownPerStreamContexts para liberar todas las estructuras de contexto de archivos y secuencias asociadas.

Para obtener más información, vea Seguimiento de Per-Stream contexto en un controlador de filtro del sistema de archivos heredado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 20H2
Encabezado ntifs.h

Consulte también

FSRTL_ADVANCED_FCB_HEADER

FSRTL_PER_STREAM_CONTEXT

FsRtlAllocateAePushLock

FsRtlFreeAePushLock

FsRtlInitPerStreamContext

FsRtlInsertPerStreamContext

FsRtlLookupPerStreamContext

FsRtlRemovePerStreamContext

FsRtlSupportsPerStreamContexts

FsRtlTeardownPerStreamContexts