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_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.
typedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Confira também
FltDoCompletionProcessingWhenSafe
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK