Condividi tramite


struttura FLT_RELATED_OBJECTS (fltkernel.h)

La struttura FLT_RELATED_OBJECTS contiene puntatori opachi per gli oggetti associati a un'operazione.

Sintassi

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;

Membri

Size

Dimensioni, in byte, della struttura FLT_RELATED_OBJECTS.

TransactionContext

Membro opaco che contiene il valore ID miniversione della transazione se il membro transaction non è NULL. Se Transaction è NULL, il valore di TransactionContext non è definito.

Filter

Puntatore di filtro opaco per il driver minifiltro la cui routine di callback viene chiamata per l'operazione. Questo puntatore identifica in modo univoco il driver minifiltro e rimane costante finché il driver minifiltro viene caricato.

Volume

Puntatore al volume opaco per il volume associato all'operazione. Questo puntatore identifica in modo univoco il volume e rimane costante per tutta la durata dello stack di dispositivi del volume.

Instance

Puntatore a istanze opache per l'istanza del driver minifilter associata all'operazione. Questo puntatore identifica in modo univoco l'istanza e rimane costante finché l'istanza è collegata a un volume.

FileObject

Puntatore all'oggetto file, se presente, per l'operazione.

Transaction

In Windows Vista e versioni successive, questo membro è un puntatore di transazione opaco alla transazione associata all'operazione. L'operazione farà parte di una transazione se il valore di questo membro non è NULL. Se il valore di questo membro è NULL, l'operazione non farà parte di una transazione. Nei sistemi operativi Windows prima di Windows Vista, il valore di questo membro sarà sempre NULL.

Osservazioni

La struttura FLT_RELATED_OBJECTS viene allocata dal gestore filtri e contiene puntatori opachi per gli oggetti associati a un'operazione di I/O o a un'operazione di installazione o di disinstallazione di un'istanza.

Il contenuto della struttura FLT_RELATED_OBJECTS viene impostato dal gestore filtri. I driver minifilter non possono modificare direttamente il contenuto di questa struttura. Tuttavia, se un driver minifilter modifica l'istanza di destinazione o l'oggetto file di destinazione per un'operazione di I/O nella struttura di FLT_IO_PARAMETER_BLOCK per l'operazione, la gestione filtri modifica il valore del corrispondente Istanza o membro FileObject della struttura FLT_RELATED_OBJECTS che viene passata a driver minifiltri inferiori. Per altre informazioni, vedere modifica dei parametri per un'operazione di I/O.

Un driver minifilter riceve un puntatore a una struttura FLT_RELATED_OBJECTS come FltObjects parametro di input ai tipi di routine di callback seguenti:

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

Per recuperare i puntatori ai contesti di un driver minifiltro per gli oggetti in una struttura FLT_RELATED_OBJECTS, chiamare FltGetContexts.

notatypedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
 

Fabbisogno

Requisito Valore
intestazione fltkernel.h (include Fltkernel.h)

Vedere anche

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