Export (0) Print
Expand All
Expand Minimize

IoDeleteController routine

The IoDeleteController routine removes a given controller object from the system, for example, when the driver that created it is being unloaded.

Syntax


VOID IoDeleteController(
  _In_  PCONTROLLER_OBJECT ControllerObject
);

Parameters

ControllerObject [in]

Pointer to the controller object to be released.

Return value

None

Remarks

IoDeleteController deallocates the memory for the controller object, including the controller extension.

This routine must be called when a driver that created a controller object is being unloaded or when the driver encounters a fatal error during device start-up, such as being unable to properly initialize a physical device.

A driver must release certain resources for which the driver supplied storage in its controller extension before it calls IoDeleteController. For example, if the driver stores the pointer to its interrupt object(s) in the controller extension, it must call IoDisconnectInterrupt before IoDeleteController.

Requirements

Version

Available starting with Windows 2000.

Header

Ntddk.h (include Ntddk.h)

Library

Ntoskrnl.lib

IRQL

PASSIVE_LEVEL

DDI compliance rules

IrqlIoPassive4, PowerIrpDDis, HwStorPortProhibitedDDIs

See also

IoCreateController
IoDisconnectInterrupt

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft