IoDeleteController 函数 (ntddk.h)

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

语法

void IoDeleteController(
  [in] PCONTROLLER_OBJECT ControllerObject
);

参数

[in] ControllerObject

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

返回值

没有

言论

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

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

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

要求

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

另请参阅

IoCreateController

IoDisconnectInterrupt