estrutura FSRTL_PER_STREAM_CONTEXT (ntifs.h)
A estrutura FSRTL_PER_STREAM_CONTEXT contém informações de contexto que um driver de filtro do sistema de arquivos mantém sobre um fluxo de arquivos.
Sintaxe
typedef struct _FSRTL_PER_STREAM_CONTEXT {
LIST_ENTRY Links;
PVOID OwnerId;
PVOID InstanceId;
PFREE_FUNCTION FreeCallback;
} FSRTL_PER_STREAM_CONTEXT, *PFSRTL_PER_STREAM_CONTEXT;
Membros
Links
Link para essa estrutura na lista de todas as estruturas de contexto por fluxo associadas ao mesmo fluxo de arquivos. FsRtlInsertPerStreamContext insere esse membro na lista de todas as estruturas de contexto por fluxo para um fluxo de arquivos. Para obter um ponteiro para o cabeçalho da lista de um objeto de arquivo, use a macro FsRtlGetPerStreamContextPointer e converta o resultado em um ponteiro PFSRTL_ADVANCED_FCB_HEADER . O ponteiro de lista é o membro FilterContexts na estrutura de cabeçalho fcb (bloco de controle de arquivo) avançado para o fluxo de arquivos.
OwnerId
Ponteiro para uma variável alocada pelo driver de filtro que identifica exclusivamente o proprietário da estrutura de contexto por fluxo. O formato dessa variável é específico do driver de filtro. Os gravadores de filtro devem escolher um valor significativo e conveniente, como o endereço de um objeto de driver ou objeto de dispositivo. Os drivers de filtro devem definir esse membro como um valor não NULL .
InstanceId
Ponteiro para uma variável alocada pelo driver de filtro que pode ser usada para distinguir entre as estruturas de contexto por fluxo criadas pelo mesmo driver de filtro. O formato dessa variável é específico do driver de filtro. Os gravadores de filtro devem escolher um valor significativo e conveniente, como o endereço do objeto de contexto de fluxo para o fluxo de arquivos. (Para obter esse endereço de um objeto de arquivo, use a macro FsRtlGetPerStreamContextPointer .)
Esse membro é opcional e pode ser NULL.
FreeCallback
Ponteiro para uma rotina de retorno de chamada que libera a estrutura de contexto por fluxo. Essa rotina e seus parâmetros são definidos da seguinte maneira:
VOID
(*PFREE_FUNCTION) (
IN PVOID Buffer
);
Buffer
Ponteiro para a estrutura FSRTL_PER_STREAM_CONTEXT a ser livre.
Comentários
Os drivers de filtro do sistema de arquivos podem usar uma estrutura de FSRTL_PER_STREAM_CONTEXT para manter informações de contexto para um fluxo de arquivos. Essa estrutura pode ser usada como está ou inserida em uma estrutura de contexto por fluxo definida pelo driver.
Quando um sistema de arquivos rasga o objeto de contexto de fluxo de um fluxo de arquivos, ele deve chamar FsRtlTeardownPerStreamContexts, que por sua vez chama as rotinas FreeCallback de todas as estruturas de contexto por fluxo associadas ao fluxo de arquivos.
A macro FsRtlSupportsPerStreamContexts determina se um sistema de arquivos dá suporte a contextos por fluxo para um determinado fluxo de arquivos.
BOOLEAN FsRtlSupportsPerStreamContexts(
[in] PFILE_OBJECT FileObject
);
Parâmetros
FileObject [in]
PFILE_OBJECT
Um ponteiro para um objeto de arquivo para o fluxo de arquivos.
Retornar valor
BOOLIANO
A macro FsRtlSupportsPerStreamContexts retornará TRUE se o sistema de arquivos der suporte a contextos por fluxo para o fluxo de arquivos, caso contrário, FALSE .
Os drivers de filtro do sistema de arquivos chamam FsRtlSupportsPerStreamContexts para determinar se o sistema de arquivos subjacente dá suporte a contextos por fluxo para o fluxo de arquivos representado por um determinado objeto de arquivo. Observe que um sistema de arquivos pode dar suporte a contextos por fluxo para alguns tipos de arquivos, mas não para outros. Por exemplo, NTFS e FAT atualmente não dão suporte a contextos por fluxo para arquivos de paginação.
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 | Essa estrutura é o Windows XP |
Cabeçalho | ntifs.h (inclua Ntifs.h) |
Confira também
FsRtlGetPerStreamContextPointer
FsRtlTeardownPerStreamContexts
Acompanhamento Per-Stream contexto em um driver de filtro do sistema de arquivos herdado