Compartilhar via


estrutura FLT_RELATED_OBJECTS (fltkernel.h)

A estrutura FLT_RELATED_OBJECTS contém ponteiros opacos para os objetos associados a uma operação.

Sintaxe

typedef struct _FLT_RELATED_OBJECTS {
  USHORT        Size;
  USHORT        TransactionContext;
  PFLT_FILTER   Filter;
  PFLT_VOLUME   Volume;
  PFLT_INSTANCE Instance;
  PFILE_OBJECT  FileObject;
  PKTRANSACTION Transaction;
} FLT_RELATED_OBJECTS, *PFLT_RELATED_OBJECTS;

Membros

Size

Tamanho, em bytes, da estrutura FLT_RELATED_OBJECTS.

TransactionContext

Membro opaco que contém o valor da ID de miniversão da transação se o membro Transaction não for NULL. Se Transaction for NULL, o valor de TransactionContext será indefinido.

Filter

Ponteiro de filtro opaco para o driver de minifiltro cuja rotina de retorno de chamada está sendo chamada para a operação. Esse ponteiro identifica exclusivamente o driver de minifiltro e permanece constante desde que o driver de minifiltro seja carregado.

Volume

Ponteiro de volume opaco para o volume associado à operação. Esse ponteiro identifica exclusivamente o volume e permanece constante durante o tempo de vida da pilha de dispositivos de volume.

Instance

Ponteiro de instância opaca para a instância de driver de minifiltro associada à operação. Esse ponteiro identifica exclusivamente a instância e permanece constante, desde que a instância esteja anexada a um volume.

FileObject

Ponteiro para o objeto de arquivo, se houver, para a operação.

Transaction

No Windows Vista e posterior, esse membro é um ponteiro de transação opaco para a transação associada à operação. A operação fará parte de uma transação se o valor desse membro não for NULL. Se o valor desse membro for NULL, a operação não fará parte de uma transação. Em sistemas operacionais Windows antes do Windows Vista, o valor desse membro sempre será NULL.

Comentários

A estrutura FLT_RELATED_OBJECTS é alocada pelo gerenciador de filtros e contém ponteiros opacos para os objetos associados a uma operação de E/S ou uma instalação de instância ou operação de desinstalação.

O conteúdo da estrutura FLT_RELATED_OBJECTS é definido pelo gerenciador de filtros. Os drivers de minifiltro não podem modificar diretamente o conteúdo dessa estrutura. No entanto, se um driver de minifiltro modificar a instância de destino ou o objeto de arquivo de destino para uma operação de E/S na estrutura de FLT_IO_PARAMETER_BLOCK da operação, o gerenciador de filtros modificará o valor do membro Instance ou FileObject correspondente da estrutura FLT_RELATED_OBJECTS que é passada para drivers de minifiltro inferiores. Para obter mais informações, consulte Modificando os parâmetros para uma operação de E/S.

Um driver de minifiltro recebe um ponteiro para uma estrutura FLT_RELATED_OBJECTS como o parâmetro de entrada FltObjects para os seguintes tipos de rotina de retorno de chamada:

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

Para recuperar ponteiros para os contextos de um driver de minifiltro para os objetos em uma estrutura FLT_RELATED_OBJECTS, chame FltGetContexts.

Observaçãotypedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
 

Requisitos

Requisito Valor
Cabeçalho fltkernel.h (inclua Fltkernel.h)

Confira também

FLT_IO_PARAMETER_BLOCK

FLT_RELATED_CONTEXTS

FltDoCompletionProcessingWhenSafe

FltGetContexts

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK