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) |