Freigeben über


FltQueueGenericWorkItem-Funktion (fltkernel.h)

FltQueueGenericWorkItem stellt eine Arbeitsaufgabe bereit, die keinem bestimmten E/A-Vorgang einer Arbeitswarteschlange zugeordnet ist.

Syntax

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
);

Parameter

[in] FltWorkItem

Zeiger auf die Arbeitsaufgabe, die der Arbeitswarteschlange hinzugefügt werden soll. Die Arbeitsaufgabe muss durch Aufrufen FltAllocateGenericWorkItem-zugewiesen worden sein.

[in] FltObject

Undurchsichtiger Filter (PFLT_FILTER) oder Instanzzeiger (PFLT_INSTANCE) für den Aufrufer.

[in] WorkerRoutine

Zeiger auf eine vom Anrufer bereitgestellte Workerroutine. Diese Routine wird wie folgt deklariert:

typedef VOID
(*PFLT_GENERIC_WORKITEM_ROUTINE) (
 _In_ PFLT_GENERIC_WORKITEM FltWorkItem,
 _In_ PVOID FltObject,
 _In_opt_ PVOID Context
      );

FltWorkItem

Undurchsichtiger Zeiger auf eine generische Arbeitsaufgabenstruktur.

FltObject

Opaque filter pointer that was passed as the FltObject parameter of FltQueueGenericWorkItem.

Zusammenhang

Kontextinformationspunkt, der als Context Parameter von FltQueueGenericWorkItemübergeben wurde. Dieser Parameter ist optional.

[in] QueueType

Gibt die Warteschlange an, in die die Arbeitsaufgabe FltWorkItem Punkt eingefügt werden soll. QueueType- kann eine der folgenden sein:

Wert Bedeutung
CriticalWorkQueue- Fügen Sie die Arbeitsaufgabe in die Warteschlange ein, aus der ein Systemthread mit einem Attribut mit Echtzeitpriorität die Arbeitsaufgabe verarbeitet.
DelayedWorkQueue Fügen Sie die Arbeitsaufgabe in die Warteschlange ein, aus der ein Systemthread mit einem variablen Prioritätsattribut die Arbeitsaufgabe verarbeitet.
 

Der QueueType-wertHyperCriticalWorkQueue für die Systemverwendung reserviert ist.

[in, optional] Context

Zeiger auf aufruferdefinierte Kontextinformationen, die als Context Parameter der rückrufroutin ierten Parameter übergeben werden sollen. Dieser Parameter ist optional.

Rückgabewert

FltQueueGenericWorkItem gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:

Rückgabecode Beschreibung
STATUS_FLT_DELETING_OBJECT
Der Minifiltertreiber wird entladen. Dies ist ein Fehlercode.

Bemerkungen

FltQueueGenericWorkItem fügt eine Arbeitsaufgabe ein, die keinem bestimmten E/A-Vorgang in eine Systemarbeitswarteschlange zugeordnet ist. Die angegebene WorkerRoutine Rückrufroutine wird im Kontext eines Systemthreads bei IRQL-PASSIVE_LEVEL aufgerufen.

Rufen Sie FltAllocateGenericWorkItem-auf, um eine Arbeitsaufgabe zuzuweisen.

Rufen Sie FltFreeGenericWorkItem-auf, um die Arbeitsaufgabe frei zu geben, wenn sie nicht mehr benötigt wird.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
DLL- Fltmgr.sys
IRQL- <= DISPATCH_LEVEL

Siehe auch

FltAllocateGenericWorkItem

FltFreeGenericWorkItem