IO_ALLOCATION_ACTION enumeration (wdm.h)

The IO_ALLOCATION_ACTION enumerated type is used to specify return values for AdapterControl and ControllerControl routines.

Syntax

typedef enum _IO_ALLOCATION_ACTION {
  KeepObject,
  DeallocateObject,
  DeallocateObjectKeepRegisters
} IO_ALLOCATION_ACTION, *PIO_ALLOCATION_ACTION;

Constants

 
KeepObject
Indicates that you want the driver to retain ownership of the adapter or controller object.
DeallocateObject
Indicates that you do not want the driver to retain ownership of the adapter or controller object.
DeallocateObjectKeepRegisters
For adapter objects only. Indicates that you do not want the driver to retain ownership of the adapter object, but you do want the driver to retain ownership of the allocated map registers.

Remarks

If an AdapterControl or ControllerControl routine completes an IRP, or if it can set up an operation (such as a disk seek) for a target device object that could be overlapped with an operation for another device object, it should return DeallocateObject.

If a driver uses packet-based bus-master DMA, its AdapterControl routine should return DeallocateObjectKeepRegisters.

Otherwise, the driver should return KeepObject.

Requirements

Requirement Value
Header wdm.h (include Wdm.h, Ntddk.h)