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_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
FltDoCompletionProcessingWhenSafe
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK