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
傳遞為 FltQueueGenericWorkItemFltObject 參數的不透明篩選指標。
上下文
傳遞為 FltQueueGenericWorkItem之 Context 參數的內容資訊指標。 這個參數是選擇性的。
[in] QueueType
指定要插入 FltWorkItem 所指向之工作專案的佇列。 QueueType 可以是下列其中一項:
價值 | 意義 |
---|---|
CriticalWorkQueue | 將工作專案插入佇列中,系統線程使用即時優先順序屬性處理工作專案。 |
DelayedWorkQueue | 將工作專案插入佇列中,其中具有變數優先順序屬性的系統線程會處理工作專案。 |
QueueType 值 HyperCriticalWorkQueue 保留供系統使用。
[in, optional] Context
呼叫端定義之內容資訊的指標,要傳遞為 WorkerRoutine 參數中所指定回呼例程的 Context 參數。 這個參數是選擇性的。
傳回值
FltQueueGenericWorkItem 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:
傳回碼 | 描述 |
---|---|
|
正在卸除迷你篩選驅動程式。 這是錯誤碼。 |
言論
FltQueueGenericWorkItem 將未與特定 I/O 作業相關聯的工作專案插入系統工作佇列中。 指定的 WorkerRoutine 回呼例程會在 IRQL PASSIVE_LEVEL的系統線程內容中呼叫。
若要設定工作專案,請呼叫 FltAllocateGenericWorkItem。
若要在不再需要工作項目時釋放工作專案,請呼叫 FltFreeGenericWorkItem。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | fltkernel.h (包括 Fltkernel.h) |
連結庫 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |