Partager via


FltQueueGenericWorkItem, fonction (fltkernel.h)

FltQueueGenericWorkItem publie un élément de travail qui n’est pas associé à une opération d’E/S spécifique à 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

Pointeur de filtre opaque (PFLT_FILTER) ou d’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 passé en tant que paramètre FltObject de FltQueueGenericWorkItem.

Contexte

Pointeur d’informations de contexte transmis 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 FltWorkItem points à insérer. QueueType peut être l’une des options suivantes :

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 du 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 de retour

FltQueueGenericWorkItem retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, comme l’une des valeurs suivantes :

Retourner le code Description
STATUS_FLT_DELETING_OBJECT
Le pilote minifilter est déchargé. 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, à l’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.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête fltkernel.h (include Fltkernel.h)
bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL <= DISPATCH_LEVEL

Voir aussi

FltAllocateGenericWorkItem

FltFreeGenericWorkItem