Fonction FltGetContexts (fltkernel.h)

La routine FltGetContexts récupère les contextes d’un pilote de minifiltre pour les objets liés à l’opération en cours.

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 en cours. 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 un 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 de FLT_RELATED_CONTEXTS allouée à 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és.
  • Contextes que l’appelant a demandés, mais que FltMgr n’a pas pu trouver.

Valeur retournée

Aucun.

Notes

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

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

Les types de routine de rappel de pilote minifiltre suivants reçoivent un pointeur vers une structure 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 :

  • Appelez FltReleaseContexts pour toute la structure 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.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête fltkernel.h (inclure 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