WORK_QUEUE_ITEM構造体 (wdm.h)
WORK_QUEUE_ITEM構造は、作業項目をシステム作業キューにポストするために使用されます。
警告
この構造は細心の注意を払って使用してください。 次の 「備考」セクションを 参照してください。
構文
typedef struct _WORK_QUEUE_ITEM {
LIST_ENTRY List;
PWORKER_THREAD_ROUTINE WorkerRoutine;
__volatile PVOID Parameter;
} WORK_QUEUE_ITEM, *PWORK_QUEUE_ITEM;
メンバー
List
二重にリンクされたリスト構造。 この構造は、作業項目をシステム作業キューに追加するために使用されます。
WorkerRoutine
作業項目がデキューされたときにこの作業項目を処理するコールバック ルーチンへのポインター。 このコールバック ルーチンは、次のように宣言されます。
VOID
(*PWORKER_THREAD_ROUTINE)(
IN PVOID Parameter
);
パラメーター
Parameter メンバーで指定されたコンテキスト情報ポインター。
Parameter
WorkerRoutine メンバーで指定されたコールバック ルーチンに渡されるコンテキスト情報へのポインター。
注釈
WORK_QUEUE_ITEM構造体を初期化するには、 ExInitializeWorkItem を呼び出します。
初期化された作業項目をシステム作業キューにポストするには、 ExQueueWorkItem を呼び出します。
ExInitializeWorkItem と ExQueueWorkItem は、指定した作業項目がデバイス オブジェクトまたはデバイス スタックに関連付けられていない場合にのみ使用できます。 他のすべての場合、ドライバーは IoAllocateWorkItem、 IoFreeWorkItem、 IoQueueWorkItem を使用する必要があります。これは、これらのルーチンによってのみ、指定された作業項目に関連付けられているデバイス オブジェクトが、作業項目が処理されるまで使用可能なままになります。
要件
要件 | 値 |
---|---|
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h、Fltkernel.h を含む) |