Partager via


FltGetContextsEx, fonction (fltkernel.h)

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

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 actuelle. Pour plus d’informations, consultez les remarques.

[in] DesiredContexts

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 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 Contexts. Défini sur taille de(FLT_RELATED_CONTEXTS_EX).

[out] Contexts

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

FltGetContextsEx retourne STATUS_SUCCESS une fois l’exécution réussie. Sinon, il retourne un code d’état 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 minifilter.

Un pilote minifilter 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 vérifier qu’un contexte n’est pas égal à zéro avant de l’utiliser.

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 :

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. Ainsi, 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 8
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_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