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 パラメーターとして渡された不透明なフィルター ポインター。
文脈
FltQueueGenericWorkItem の Context パラメーターとして渡されたコンテキスト情報ポインター。 このパラメーターは省略可能です。
[in] QueueType
FltWorkItem が指す作業項目 挿入先のキューを指定します。 QueueType は、次のいずれかになります。
価値 | 意味 |
---|---|
CriticalWorkQueue の | リアルタイム優先度属性を持つシステム スレッドが作業項目を処理するキューに作業項目を挿入します。 |
DelayedWorkQueue | 優先度が可変の属性を持つシステム スレッドが作業項目を処理するキューに作業項目を挿入します。 |
HyperCriticalWorkQueue QueueType 値は、システムで使用するために予約されています。
[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 |
関連項目
FltAllocateGenericWorkItem を する
FltFreeGenericWorkItem を する