Partager via


FltGetContexts, fonction (fltkernel.h)

La routine FltGetContexts récupère les contextes d’un pilote minifilter pour les objets liés à l’opération actuelle.

Syntaxe

VOID FLTAPI FltGetContexts(
  PCFLT_RELATED_OBJECTS FltObjects,
  FLT_CONTEXT_TYPE      DesiredContexts,
  PFLT_RELATED_CONTEXTS Contexts
);

Paramètres

FltObjects

[in] Pointeur vers une structure FLT_RELATED_OBJECTS contenant des pointeurs opaques pour les objets liés à l’opération actuelle. Pour plus d’informations sur ce paramètre, consultez la section Remarques.

DesiredContexts

[in] Identifie les types de contextes à récupérer. Ce paramètre peut être une OR au niveau du bit des valeurs suivantes.

Constant Valeur
FLT_VOLUME_CONTEXT 0x0001
FLT_INSTANCE_CONTEXT 0x0002
FLT_FILE_CONTEXT 0x0004
FLT_STREAM_CONTEXT 0x0008
FLT_STREAMHANDLE_CONTEXT 0x0010
FLT_TRANSACTION_CONTEXT 0x0020
FLT_SECTION_CONTEXT (à partir de Windows 8) 020040
FLT_ALL_CONTEXTS OR au niveau du bit de toutes les valeurs de contexte

Contexts

[out] Pointeur vers une structure FLT_RELATED_CONTEXTS allouée par l’appelant qui reçoit les contextes demandés. Ce paramètre est obligatoire et ne peut pas être défini sur NULL. fltMgr définit un membre de structure sur zéro pour :

  • Contextes que l’appelant n’a pas demandé.
  • Contextes demandés par l’appelant, mais FltMgr n’a pas pu trouver.

Valeur de retour

Aucun.

Remarques

Pour plus d’informations sur les contextes, consultez À propos des contextes minifilter.

Un pilote minifilter appelle FltGetContexts pour récupérer des pointeurs vers les contextes du pilote minifilter pour les objets d’une structure FLT_RELATED_OBJECTS.

Les types de routines de rappel de pilote minifilter suivants reçoivent un pointeur vers une structure de FLT_RELATED_OBJECTS en tant que paramètre d’entrée FltObjects :

FltGetContexts incrémente le nombre de références sur chacun des contextes retournés dans la structure FLT_RELATED_CONTEXTS vers laquelle pointe le paramètre Contexts. Ainsi, pour chaque appel réussi à FltGetContexts, l’appelant doit soit :

  • Appelez FltReleaseContexts pour la structure entière vers laquelle pointe le paramètre Contexts.
  • Appelez FltReleaseContext pour chacun des contextes retournés dans la structure et définissez chaque champ de contexte retourné dans la structure sur zéro.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête fltkernel.h (include Fltkernel.h)
bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Voir aussi

FLT_RELATED_CONTEXTS

FLT_RELATED_OBJECTS

FltGetContextsEx

FltRegisterFilter

FltReleaseContext

FltReleaseContexts

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK