Fonction FltGetContextsEx (fltkernel.h)

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

Syntaxe

NTSTATUS FLTAPI FltGetContextsEx(
  [in]  PCFLT_RELATED_OBJECTS    FltObjects,
  [in]  FLT_CONTEXT_TYPE         DesiredContexts,
  [in]  SIZE_T                   ContextsSize,
  [out] PFLT_RELATED_CONTEXTS_EX Contexts
);

Paramètres

[in] FltObjects

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, consultez la section Notes.

[in] DesiredContexts

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 020040
FLT_ALL_CONTEXTS OR au niveau du bit de toutes les valeurs de contexte

[in] ContextsSize

Taille, en octets, de la structure FLT_RELATED_CONTEXTS_EX pointée par Les contextes. Définissez sur sizeof(FLT_RELATED_CONTEXTS_EX).

[out] Contexts

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

FltGetContextsEx retourne STATUS_SUCCESS en cas d’achèvement réussi. Sinon, il retourne un code status tel que l’un des éléments suivants.

Code Signification
STATUS_INVALID_PARAMETER Une valeur de contexte non valide a été entrée.

Remarques

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

Un pilote de minifiltre appelle FltGetContextsEx pour récupérer des pointeurs vers ses contextes pour les objets d’une structure FLT_RELATED_OBJECTS . Sur STATUS_SUCCESS, le minifiltre doit case activée qu’un contexte n’est pas zéro avant de l’utiliser.

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 :

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

  • Appelez FltReleaseContextsEx 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
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_EX

FLT_RELATED_OBJECTS

FltRegisterFilter

FltReleaseContext

FltReleaseContextsEx

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK