FltQueueGenericWorkItem-Funktion (fltkernel.h)
FltQueueGenericWorkItem stellt ein Arbeitselement, das keinem bestimmten E/A-Vorgang zugeordnet ist, an eine Arbeitswarteschlange.
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 das Arbeitselement, das der Arbeitswarteschlange hinzugefügt werden soll. Das Arbeitselement muss durch Aufrufen von FltAllocateGenericWorkItem zugeordnet worden sein.
[in] FltObject
Undurchsichtiger Filter (PFLT_FILTER) oder instance -Zeiger (PFLT_INSTANCE) für den Aufrufer.
[in] WorkerRoutine
Zeiger auf eine vom Aufrufer 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 Arbeitselementstruktur.
FltObject
Undurchsichtiger Filterzeiger, der als FltObject-Parameter von FltQueueGenericWorkItem übergeben wurde.
Kontext
Kontextinformationszeiger, der als Context-Parameter von FltQueueGenericWorkItem übergeben wurde. Dieser Parameter ist optional.
[in] QueueType
Gibt die Warteschlange an, in die das Arbeitselement eingefügt werden soll, auf das FltWorkItem verweist. QueueType kann eine der folgenden Optionen sein:
Wert | Bedeutung |
---|---|
CriticalWorkQueue | Fügen Sie das Arbeitselement in die Warteschlange ein, aus der ein Systemthread mit einem Echtzeitprioritätsattribut das Arbeitselement verarbeitet. |
DelayedWorkQueue | Fügen Sie das Arbeitselement in die Warteschlange ein, aus der ein Systemthread mit einem Attribut mit variabler Priorität das Arbeitselement verarbeitet. |
Der QueueType-WertHyperCriticalWorkQueue ist für die Systemverwendung reserviert.
[in, optional] Context
Zeiger auf vom Aufrufer definierte Kontextinformationen, die als Context-Parameter der im WorkerRoutine-Parameter angegebenen Rückrufroutine ü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 |
---|---|
|
Der Minifiltertreiber wird entladen. Dies ist ein Fehlercode. |
Hinweise
FltQueueGenericWorkItem fügt ein Arbeitselement, das keinem bestimmten E/A-Vorgang zugeordnet ist, in eine Systemarbeitswarteschlange ein. Die angegebene WorkerRoutine-Rückrufroutine wird im Kontext eines Systemthreads unter IRQL PASSIVE_LEVEL aufgerufen.
Um ein Arbeitselement zuzuordnen, rufen Sie FltAllocateGenericWorkItem auf.
Um das Arbeitselement frei zu geben, wenn es nicht mehr benötigt wird, rufen Sie FltFreeGenericWorkItem auf.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | fltkernel.h (fltkernel.h einschließen) |
Bibliothek | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |