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 |