IoCreateController 関数 (ntddk.h)
IoCreateController ルーチンは、ドライバーによって決定されたサイズのコントローラー拡張を使用して、コントローラー オブジェクトのメモリを割り当て、初期化します。
構文
PCONTROLLER_OBJECT IoCreateController(
[in] ULONG Size
);
パラメーター
[in] Size
コントローラー拡張機能に割り当てるバイト数を指定します。
戻り値
IoCreateController は、要求されたデバイス拡張機能にメモリを割り当てられなかった場合は、コントローラー オブジェクトへのポインターまたは NULL ポインターを返します。
備考
コントローラー オブジェクトは、通常、1 つのドライバーが I/O 要求を実行するデバイスが接続されている物理デバイス コントローラーを表します。 コントローラー拡張機能は、非ページ プールから割り当てられ、任意のスレッド コンテキストで任意のドライバー ルーチンからアクセス可能であることが保証されます。
コントローラー オブジェクトは、I/O 要求が 1 つのモノリシック ドライバーに同時に送信できるデバイスを対象とする I/O 操作を同期するために使用されます。 ドライバーでは、コントローラー オブジェクトを使用して、デバイス チャネルを介して操作を同期することもできます。
IoCreateController NULL 返された場合、ドライバーはデバイスの起動に失敗します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ntddk.h (Ntddk.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 を する | HwStorPortProhibitedDDDIs(storport), IrqlIoPassive2(wdm), PowerIrpDDis(wdm) |
関連項目
IoAllocateController の
IoDeleteController の
IoFreeController の