次の方法で共有


KeInitializeDpc 関数 (wdm.h)

KeInitializeDpc ルーチンは DPC オブジェクトを初期化し、そのオブジェクトの CustomDpc ルーチンを登録します。

構文

void KeInitializeDpc(
  [out]          __drv_aliasesMem PRKDPC Dpc,
  [in]           PKDEFERRED_ROUTINE      DeferredRoutine,
  [in, optional] __drv_aliasesMem PVOID  DeferredContext
);

パラメーター

[out] Dpc

初期化する DPC オブジェクトを表す KDPC 構造体へのポインター。 呼び出し元は、常駐メモリから構造体のストレージを割り当てる必要があります。

[in] DeferredRoutine

DPC に関連付ける CustomDpc ルーチンへのポインター。

[in, optional] DeferredContext

DeferredContext パラメーターとして CustomDpc に渡す値を指定します。

戻り値

なし

解説

呼び出し元は、 KeInsertQueueDpc を使用して初期化された DPC をキューに登録できます。 呼び出し元は、初期化された DPC オブジェクトに関連付けられているタイマー オブジェクトを設定し、 KeSetTimer を使用して DPC をキューに入れることもできます。

DPC オブジェクトの記憶域は、ドライバーによって作成されたデバイス オブジェクトのデバイス拡張機能、ドライバーによって作成されたコントローラー オブジェクトのコントローラー拡張機能、または呼び出し元によって割り当てられた非ページ プール内に存在する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL 任意のレベル

こちらもご覧ください

CustomDpc

KeInsertQueueDpc

KeRemoveQueueDpc

KeSetTimer