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 :
- 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 . 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
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK