IO_RANGE structure

The IO_RANGE structure specifies a resource requirements list that describes I/O port usage for a device instance. For more information about resource requirements lists, see Hardware Resources.

Syntax

typedef struct IO_Range_s {
  DWORDLONG IOR_Align;
  DWORD     IOR_nPorts;
  DWORDLONG IOR_Min;
  DWORDLONG IOR_Max;
  DWORD     IOR_RangeFlags;
  DWORDLONG IOR_Alias;
} IO_RANGE, *PIO_RANGE;

Members

IOR_Align

Mask used to specify the port address boundary on which the first allocated I/O port address must be aligned.

IOR_nPorts

The number of I/O port addresses required by the device.

IOR_Min

The lowest-numbered of a range of contiguous I/O port addresses that can be allocated to the device.

IOR_Max

The highest-numbered of a range of contiguous I/O port addresses that can be allocated to the device.

IOR_RangeFlags

One bit flag from IO_DESa> structure. For more information, see the following Remarks section.

IOR_Alias

One of the bit flags described in the following table.

Flag Definition
IO_ALIAS_10_BIT_DECODE The device decodes 10 bits of the port address.
IO_ALIAS_12_BIT_DECODE The device decodes 12 bits of the port address.
IO_ALIAS_16_BIT_DECODE The device decodes 16 bits of the port address.
IO_ALIAS_POSITIVE_DECODE The device uses "positive decode" instead of "subtractive decode."
 

For more information, see the following Remarks section.

Remarks

The flags specified for IOR_Alias have the same interpretation as the address decoding flags specified for IOD_DesFlags. (However, the two sets of flags are not equivalent in assigned values and cannot be used interchangeably.) A resource requirements list can be specified using either set of flags, but using decode flags in IOD_DesFlags is recommended. If address decoding flags are specified using bothIOD_DesFlags and IOR_Alias, contents of the latter overrides the former.

Requirements

   
Header cfgmgr32.h (include Cfgmgr32.h)

See also

IO_DESa>