FltQueueGenericWorkItem 函式 (fltkernel.h)
FltQueueGenericWorkItem 會將未與特定 I/O 作業相關聯的工作專案張貼至工作佇列。
語法
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
);
參數
[in] FltWorkItem
要加入至工作佇列之工作專案的指標。 工作項目必須透過呼叫 FltAllocateGenericWorkItem 來配置。
[in] FltObject
不透明篩選 (PFLT_FILTER) 或呼叫端的實例 (PFLT_INSTANCE) 指標。
[in] WorkerRoutine
呼叫端提供背景工作例程的指標。 此例程宣告如下:
typedef VOID
(*PFLT_GENERIC_WORKITEM_ROUTINE) (
_In_ PFLT_GENERIC_WORKITEM FltWorkItem,
_In_ PVOID FltObject,
_In_opt_ PVOID Context
);
FltWorkItem
泛型工作項目結構的不透明指標。
FltObject
傳遞為 FltQueueGenericWorkItem之 FltObject 參數的不透明篩選指標。
Context
傳遞為 FltQueueGenericWorkItemContext 參數的內容資訊指標。 這是選擇性參數。
[in] QueueType
指定要插入 FltWorkItem 所指向工作專案的佇列。 QueueType 可以是下列其中一項:
值 | 意義 |
---|---|
CriticalWorkQueue | 將工作專案插入佇列,其中具有即時優先順序屬性的系統線程會處理工作專案。 |
DelayedWorkQueue | 將工作專案插入佇列,其中具有變數優先順序屬性的系統線程會處理工作專案。 |
QueueType 值 HyperCriticalWorkQueue 會保留給系統使用。
[in, optional] Context
要當做 WorkerRoutine 參數中所指定回呼例程之 Context 參數傳遞之呼叫端定義內容資訊的指標。 這是選擇性參數。
傳回值
FltQueueGenericWorkItem 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:
傳回碼 | Description |
---|---|
|
正在卸除迷你篩選驅動程式。 這是錯誤碼。 |
備註
FltQueueGenericWorkItem 會將未與特定 I/O 作業相關聯的工作專案插入系統工作佇列。 在 IRQL PASSIVE_LEVEL,會在系統線程的內容中呼叫指定的 WorkerRoutine 回呼例程。
若要配置工作專案,請呼叫 FltAllocateGenericWorkItem。
若要在不再需要時釋出工作專案,請呼叫 FltFreeGenericWorkItem。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | fltkernel.h (包含 Fltkernel.h) |
程式庫 | FltMgr.lib |
Dll | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |