FLT_RELATED_OBJECTS structure (fltkernel.h)

La structure FLT_RELATED_OBJECTS contient des pointeurs opaques pour les objets associés à une opération.

Syntaxe

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;

Membres

Size

Taille, en octets, de la structure FLT_RELATED_OBJECTS.

TransactionContext

Membre opaque qui contient la valeur de l’ID de miniversion de transaction si le membre Transaction n’est pas NULL. Si Transaction a la valeur NULL, la valeur de TransactionContext n’est pas définie.

Filter

Pointeur de filtre opaque pour le pilote minifilter dont la routine de rappel est appelée pour l’opération. Ce pointeur identifie de façon unique le pilote minifilter et reste constant tant que le pilote minifilter est chargé.

Volume

Pointeur de volume opaque pour le volume associé à l’opération. Ce pointeur identifie de manière unique le volume et reste constant pendant toute la durée de vie de la pile de périphériques de volume.

Instance

Pointeur de instance opaque pour le pilote minifilter instance associé à l’opération. Ce pointeur identifie de manière unique le instance et reste constant tant que le instance est attaché à un volume.

FileObject

Pointeur vers l’objet file, le cas échéant, pour l’opération.

Transaction

Sur Windows Vista et versions ultérieures, ce membre est un pointeur de transaction opaque vers la transaction associée à l’opération. L’opération fait partie d’une transaction si la valeur de ce membre n’est pas NULL. Si la valeur de ce membre est NULL, l’opération ne fait pas partie d’une transaction. Sur les systèmes d’exploitation Windows avant Windows Vista, la valeur de ce membre est toujours NULL.

Remarques

La structure FLT_RELATED_OBJECTS est allouée par le gestionnaire de filtres et contient des pointeurs opaques pour les objets associés à une opération d’E/S ou à une opération de configuration ou de suppression de instance.

Le contenu de la structure FLT_RELATED_OBJECTS est défini par le gestionnaire de filtres. Les pilotes Minifilter ne peuvent pas modifier directement le contenu de cette structure. Toutefois, si un pilote minifilter modifie l’objet instance cible ou fichier cible pour une opération d’E/S dans la structure FLT_IO_PARAMETER_BLOCK de l’opération, le gestionnaire de filtres modifie la valeur du membre Instance ou FileObject correspondant de la structure FLT_RELATED_OBJECTS qui est passée aux pilotes minifilter inférieurs. Pour plus d’informations, consultez Modification des paramètres d’une opération d’E/S.

Un pilote minifilter reçoit un pointeur vers une structure de FLT_RELATED_OBJECTS comme paramètre d’entrée FltObjects pour les types de routine de rappel suivants :

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

Pour récupérer des pointeurs vers les contextes d’un pilote minifilter pour les objets d’une structure FLT_RELATED_OBJECTS, appelez FltGetContexts.

Remarquetypedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
 

Configuration requise

Condition requise Valeur
En-tête fltkernel.h (inclure Fltkernel.h)

Voir aussi

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