Macro FsRtlSetupAdvancedHeaderEx2 (ntifs.h)

A macro FsRtlSetupAdvancedHeaderEx2 é usada por sistemas de arquivos para inicializar uma estrutura FSRTL_ADVANCED_FCB_HEADER para uso com contextos de fluxo e arquivo.

Sintaxe

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

Parâmetros

_advhdr

Ponteiro para a estrutura FSRTL_ADVANCED_FCB_HEADER a ser inicializada.

_fmutx

Ponteiro para um mutex rápido inicializado que será usado para sincronizar o acesso a determinados membros FSRTL_ADVANCED_FCB_HEADER . O mutex rápido deve ser alocado do pool nãopagado. Esse parâmetro é opcional e pode ser NULL. Os chamadores devem definir esse parâmetro como NULL se pretenderem usar um objeto mutex rápido já existente. Se FastMutex for NULL, o chamador deverá definir explicitamente o membro FastMutex da estrutura FSRTL_ADVANCED_FCB_HEADER , contido no objeto de contexto de fluxo, para apontar para o mutex rápido existente. (Isso pode ser feito antes ou depois de chamar FsRtlSetupAdvancedHeaderEx2.)

_fctxptr

Um ponteiro para um campo de ponteiro usado pela FSRTL (biblioteca de runtime do sistema de arquivos) para acompanhar contextos de arquivo. Esse parâmetro é opcional e pode ser NULL. Se FileContextSupportPointer não for NULL, FileContextSupportPointer deverá ser um ponteiro para uma variável PVOID dentro de uma estrutura por arquivo para o sistema de arquivos que criou a estrutura. Para indicar que o driver do sistema de arquivos não dá suporte a contextos de arquivo, os chamadores devem definir FileContextSupportPointer como NULL.

_aepushlock

Ponteiro para uma estrutura opaca usada para inicializar o campo AePushLock do cabeçalho avançado. O chamador dessa função é responsável por primeiro alocar e inicializar a memória para esse campo chamando FsRtlAllocateAePushLock e, posteriormente, liberando a memória chamando FsRtlFreeAePushLock. Consulte FSRTL_ADVANCED_FCB_HEADER para obter mais informações sobre bloqueios de push de expansão automática.

Retornar valor

Nenhum

Comentários

Os sistemas de arquivos usam a macro FsRtlSetupAdvancedHeaderEx2 para inicializar uma estrutura FSRTL_ADVANCED_FCB_HEADER para uso com contextos de fluxo e arquivo.

Quando a estrutura de cabeçalho fcb avançada não é mais necessária, o sistema de arquivos deve chamar FsRtlTeardownPerStreamContexts para liberar todas as estruturas de contexto de arquivo e fluxo associadas.

Para obter mais informações, consulte Acompanhamento Per-Stream contexto em um driver de filtro do sistema de arquivos herdado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 20H2
Cabeçalho ntifs.h

Confira também

FSRTL_ADVANCED_FCB_HEADER

FSRTL_PER_STREAM_CONTEXT

FsRtlAllocateAePushLock

FsRtlFreeAePushLock

FsRtlInitPerStreamContext

FsRtlInsertPerStreamContext

FsRtlLookupPerStreamContext

FsRtlRemovePerStreamContext

FsRtlSupportsPerStreamContexts

FsRtlTeardownPerStreamContexts