FLT_RELATED_OBJECTS struttura (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;

Members

Size

Dimensioni, in byte, della struttura FLT_RELATED_OBJECTS.

TransactionContext

Membro opaco contenente il valore ID miniversion delle transazioni se il membro transazionale non è NULL. Se Transaction è NULL, il valore di TransactionContext non è definito.

Filter

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

Volume

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

Instance

Puntatore istanza opaca per l'istanza del driver minifilter associata all'operazione. Questo puntatore identifica in modo univoco l'istanza e rimane costante finché l'istanza è associata 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.

Commenti

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

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 membro Istanza o FileObject corrispondente della struttura FLT_RELATED_OBJECTS passata ai driver minifilter 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 parametro di input FltObjects 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 puntatori ai contesti di un driver minifilter per gli oggetti in una struttura FLT_RELATED_OBJECTS, chiamare FltGetContexts.

Notatypedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
 

Requisiti

Requisito Valore
Intestazione fltkernel.h (includere Fltkernel.h)

Vedi 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