Fonction FltQueueGenericWorkItem (fltkernel.h)
FltQueueGenericWorkItem publie un élément de travail qui n’est pas associé à une opération d’E/S spécifique dans une file d’attente de travail.
Syntaxe
NTSTATUS FLTAPI FltQueueGenericWorkItem(
[in] PFLT_GENERIC_WORKITEM FltWorkItem,
[in] PVOID FltObject,
[in] PFLT_GENERIC_WORKITEM_ROUTINE WorkerRoutine,
[in] WORK_QUEUE_TYPE QueueType,
[in, optional] PVOID Context
);
Paramètres
[in] FltWorkItem
Pointeur vers l’élément de travail à ajouter à la file d’attente de travail. L’élément de travail doit avoir été alloué en appelant FltAllocateGenericWorkItem.
[in] FltObject
Filtre opaque (PFLT_FILTER) ou pointeur instance (PFLT_INSTANCE) pour l’appelant.
[in] WorkerRoutine
Pointeur vers une routine worker fournie par l’appelant. Cette routine est déclarée comme suit :
typedef VOID
(*PFLT_GENERIC_WORKITEM_ROUTINE) (
_In_ PFLT_GENERIC_WORKITEM FltWorkItem,
_In_ PVOID FltObject,
_In_opt_ PVOID Context
);
FltWorkItem
Pointeur opaque vers une structure d’élément de travail générique.
FltObject
Pointeur de filtre opaque qui a été passé en tant que paramètre FltObject de FltQueueGenericWorkItem.
Context
Pointeur d’informations de contexte passé en tant que paramètre Context de FltQueueGenericWorkItem. Ce paramètre est facultatif.
[in] QueueType
Spécifie la file d’attente dans laquelle l’élément de travail vers lequel FltWorkItem pointe doit être inséré. QueueType peut être l’un des éléments suivants :
Valeur | Signification |
---|---|
CriticalWorkQueue | Insérez l’élément de travail dans la file d’attente à partir de laquelle un thread système avec un attribut de priorité en temps réel traite l’élément de travail. |
DelayedWorkQueue | Insérez l’élément de travail dans la file d’attente à partir de laquelle un thread système avec un attribut de priorité variable traite l’élément de travail. |
La valeur QueueTypeHyperCriticalWorkQueue est réservée à l’utilisation système.
[in, optional] Context
Pointeur vers les informations de contexte définies par l’appelant à passer en tant que paramètre Context de la routine de rappel spécifiée dans le paramètre WorkerRoutine . Ce paramètre est facultatif.
Valeur renvoyée
FltQueueGenericWorkItem retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, telle que l’une des suivantes :
Code de retour | Description |
---|---|
|
Le pilote minifilter est en cours de déchargement. Il s’agit d’un code d’erreur. |
Remarques
FltQueueGenericWorkItem insère un élément de travail qui n’est pas associé à une opération d’E/S spécifique dans une file d’attente de travail système. La routine de rappel WorkerRoutine spécifiée est appelée dans le contexte d’un thread système, au PASSIVE_LEVEL IRQL.
Pour allouer un élément de travail, appelez FltAllocateGenericWorkItem.
Pour libérer l’élément de travail lorsqu’il n’est plus nécessaire, appelez FltFreeGenericWorkItem.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | fltkernel.h (inclure Fltkernel.h) |
Bibliothèque | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |
Voir aussi
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