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 :
- PFLT_PRE_OPERATION_CALLBACK
- PFLT_POST_OPERATION_CALLBACK
- PFLT_INSTANCE_SETUP_CALLBACK
- PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
- PFLT_INSTANCE_TEARDOWN_CALLBACK
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
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK