次の方法で共有


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)

関連項目

ControllerControl

IoCreateController

IoDeleteController

IoFreeController