IRQ_DES_64 structure (cfgmgr32.h)

The IRQ_DES structure is used for specifying either a resource list or a resource requirements list that describes IRQ line usage for a device instance. For more information about resource lists and resource requirements lists, see Hardware Resources.

Syntax

typedef struct IRQ_Des_64_s {
  DWORD   IRQD_Count;
  DWORD   IRQD_Type;
#if ...
  USHORT  IRQD_Flags;
  USHORT  IRQD_Group;
#else
  DWORD   IRQD_Flags;
#endif
  ULONG   IRQD_Alloc_Num;
  ULONG64 IRQD_Affinity;
} IRQ_DES_64, *PIRQ_DES_64;

Members

IRQD_Count

For a resource list:

Zero.

For a resource requirements list:

The number of elements in the IRQ_RESOURCE structure.

IRQD_Type

Must be set to the constant value IRQType_Range.

IRQD_Flags

One bit flag from each of the flag sets described in the following table.

Flag Definition
Sharing Flags
fIRQD_Exclusive The IRQ line cannot be shared.
fIRQD_Share The IRQ line can be shared.
mIRQD_Share Bitmask for the bits within IRQD_Flags that specify the sharing value.
Triggering Flags
fIRQD_Level The IRQ line is level-triggered.
fIRQD_Edge The IRQ line is edge-triggered.
mIRQD_Edge_Level Bitmask for the bits within IRQD_Flags that specify the triggering value.

IRQD_Group

IRQD_Alloc_Num

For a resource list:

The number of the IRQ line that is allocated to the device.

For a resource requirements list:

Not used.

IRQD_Affinity

For a resource list:

A bitmask representing the processor affinity of the IRQ line that is allocated to the device. Bit zero represents the first processor, bit two the second, and so on. Set this value to -1 to represent all processors.

For a resource requirements list:

Not used.

Requirements

Requirement Value
Header cfgmgr32.h (include Cfgmgr32.h)

See also

IRQ_RANGE

IRQ_RESOURCE