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 ルーチンは、コントローラーがデバイスに割り当てられたままかどうかを示す値を返します。割り当て解除Object または KeepObject します。 KeepObject 返す場合、ドライバーは、その後、IoFreeController を呼び出してコントローラー オブジェクトを解放する必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ntddk.h (Ntddk.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |
DDI コンプライアンス規則 を する | HwStorPortProhibitedDDDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), SpNoWait(storport), StorPortStartIo(storport) |
関連項目
IoCreateController の
IoDeleteController の
IoFreeController の