次の方法で共有


IoCreateController 関数 (ntddk.h)

IoCreateController ルーチンは、 にメモリを割り当て、ドライバーによって決定されたサイズのコントローラー拡張を使用してコントローラー オブジェクトを初期化します。

構文

PCONTROLLER_OBJECT IoCreateController(
  [in] ULONG Size
);

パラメーター

[in] Size

コントローラー拡張機能に割り当てるバイト数を指定します。

戻り値

IoCreateController は、要求されたデバイス拡張機能にメモリを割り当てられなかった場合に、コントローラー オブジェクトへのポインターまたは NULL ポインターを返します。

注釈

コントローラー オブジェクトは、通常、1 つのドライバーが I/O 要求を実行するデバイスが接続されている物理デバイス コントローラーを表します。 コントローラー拡張機能は非ページ プールから割り当てられ、任意のドライバー ルーチンと任意のスレッド コンテキストでアクセス可能であることが保証されます。

コントローラー オブジェクトは、I/O 要求が 1 つのモノリシック ドライバーに同時に送信できるデバイスをターゲットに I/O 操作を同期するために使用されます。 ドライバーでは、コントローラー オブジェクトを使用して、デバイス チャネルを介して操作を同期することもできます。

IoCreateControllerNULL を返した場合、ドライバーはデバイスの起動に失敗します。

要件

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

こちらもご覧ください

CONTROLLER_OBJECT

IoAllocateController

IoDeleteController

IoFreeController