Partilhar 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 transação não estiver NULL. Se de Transação 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 ao longo do tempo de vida da pilha de dispositivos de volume.

Instance

Ponteiro de instância opaca para a instância do driver de minifiltro associada à operação. Esse ponteiro identifica exclusivamente a instância e permanece constante desde que a instância seja 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.

Observações

A estrutura de 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 operação de instalação ou de teardown de instância.

O conteúdo da estrutura de 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 da instância de correspondente ou fileObject membro da estrutura FLT_RELATED_OBJECTS que é passada para drivers de minifiltro inferiores. Para obter mais informações, consulte Modificando os parâmetros de uma operação de E/S.

Um driver de minifiltro recebe um ponteiro para uma estrutura de 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 de FLT_RELATED_OBJECTS, chame FltGetContexts.

typedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
 

Requisitos

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

Consulte 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