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) |