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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour