IoAllocateController 関数 (ntddk.h)

IoAllocateController ルーチンは、指定されたコントローラー オブジェクトで表されるデバイス コントローラーが、指定されたデバイス オブジェクトで表されるターゲット デバイスの I/O 操作を実行できるようになるとすぐに、ドライバーが提供する ControllerControl ルーチンの呼び出しを設定します。

構文

void IoAllocateController(
  [in]           PCONTROLLER_OBJECT ControllerObject,
  [in]           PDEVICE_OBJECT     DeviceObject,
  [in]           PDRIVER_CONTROL    ExecutionRoutine,
  [in, optional] PVOID              Context
);

パラメーター

[in] ControllerObject

ドライバーによって作成されたコントローラー オブジェクトへのポインター。通常は、接続されているデバイス上の I/O 操作に割り当てられる物理コントローラーを表します。

[in] DeviceObject

現在の IRP のターゲット デバイスを表すデバイス オブジェクトへのポインター。

[in] ExecutionRoutine

ドライバー提供の ControllerControl ルーチンへのポインター。

[in, optional] Context

ドライバーが呼び出されたときにドライバーの ControllerControl ルーチンに渡される、ドライバーによって決定されたコンテキストへのポインター。

戻り値

なし

解説

このルーチンは、指定されたデバイスのハードウェア コントローラーへの排他的アクセスを予約します。

ControllerControl ルーチンは、コントローラーがデバイス (DeallocateObject または KeepObject) に割り当てられたままかどうかを示す値を返しますKeepObject を返す場合、ドライバーは、その後 IoFreeController を呼び出してコントローラー オブジェクトを解放する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header ntddk.h (Ntddk.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL DISPATCH_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport)IrqlDispatch(storport)、IrqlDispatch(storport)、 IrqlDispatch(wdm)SpNoWait(storport)StorPortStartIo(storport)

こちらもご覧ください

ControllerControl

IoCreateController

IoDeleteController

IoFreeController