次の方法で共有


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 値を返します。

リターン コード 形容
STATUS_FLT_DELETING_OBJECT
ミニフィルター ドライバーがアンロードされています。 これはエラー コードです。

備考

FltQueueGenericWorkItem 、特定の I/O 操作に関連付けられていない作業項目をシステム作業キューに挿入します。 指定された WorkerRoutine コールバック ルーチンは、IRQL PASSIVE_LEVELで、システム スレッドのコンテキストで呼び出されます。

作業項目を割り当てるには、FltAllocateGenericWorkItem 呼び出します。

不要になったときに作業項目を解放するには、FltFreeGenericWorkItem 呼び出します。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー fltkernel.h (Fltkernel.h を含む)
ライブラリ FltMgr.lib
DLL Fltmgr.sys
IRQL <= DISPATCH_LEVEL

関連項目

FltAllocateGenericWorkItem する

FltFreeGenericWorkItem する