ioDeleteController 函数 (ntddk.h)

IoDeleteController 例程从系统中删除给定的控制器对象,例如,当创建该对象的驱动程序正在卸载时。

语法

void IoDeleteController(
  [in] PCONTROLLER_OBJECT ControllerObject
);

参数

[in] ControllerObject

指向要释放的控制器对象的指针。

返回值

备注

IoDeleteController 解除分配控制器对象的内存,包括控制器扩展。

当创建控制器对象的驱动程序正在卸载或驱动程序在设备启动期间遇到严重错误(例如无法正确初始化物理设备)时,必须调用此例程。

在调用 IoDeleteController 之前,驱动程序必须释放驱动程序在其控制器扩展中为其提供存储的某些资源。 例如,如果驱动程序将指向其中断对象的指针 () 存储在控制器扩展中,则必须在 IoDeleteController 之前调用 IoDisconnectInterrupt

要求

要求
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 ntddk.h (包括 Ntddk.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) IrqlIoPassive4 (wdm) PowerIrpDDis (wdm)

另请参阅

IoCreateController

IoDisconnectInterrupt