IoDeleteController 関数 (ntddk.h)

IoDeleteController ルーチンは、特定のコントローラー オブジェクトをシステムから削除します。たとえば、そのオブジェクトを作成したドライバーがアンロードされている場合などです。

構文

void IoDeleteController(
  [in] PCONTROLLER_OBJECT ControllerObject
);

パラメーター

[in] ControllerObject

解放するコントローラー オブジェクトへのポインター。

戻り値

なし

解説

IoDeleteController は、 コントローラー拡張機能を含むコントローラー オブジェクトのメモリの割り当てを解除します。

このルーチンは、コントローラー オブジェクトを作成したドライバーがアンロードされている場合、またはドライバーがデバイスの起動時に致命的なエラー (物理デバイスを適切に初期化できないなど) が発生した場合に呼び出す必要があります。

ドライバーは、 IoDeleteController を呼び出す前に、ドライバーがコントローラー拡張機能で記憶域を提供した特定のリソースを解放する必要があります。 たとえば、ドライバーがコントローラー拡張機能に割り込みオブジェクトへのポインターを格納する場合、IoDeleteController の前に IoDisconnectInterrupt を呼び出す必要があります。

要件

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

こちらもご覧ください

IoCreateController

IoDisconnectInterrupt