// miniport.h
typedef enum _IRQ_DEVICE_POLICY {
IrqPolicyMachineDefault,
IrqPolicyAllCloseProcessors,
IrqPolicyOneCloseProcessor,
IrqPolicyAllProcessorsInMachine,
IrqPolicySpecifiedProcessors,
IrqPolicySpreadMessagesAcrossAllProcessors,
IrqPolicyAllProcessorsInMachineWhenSteered
} IRQ_DEVICE_POLICY, *PIRQ_DEVICE_POLICY;
View the official Windows Driver Kit DDI reference// wdm.h
typedef enum _IRQ_DEVICE_POLICY {
IrqPolicyMachineDefault = 0,
IrqPolicyAllCloseProcessors = 1,
IrqPolicyOneCloseProcessor = 2,
IrqPolicyAllProcessorsInMachine = 3,
IrqPolicySpecifiedProcessors = 4,
IrqPolicySpreadMessagesAcrossAllProcessors = 5,
IrqPolicyAllProcessorsInMachineWhenSteered = 6
} IRQ_DEVICE_POLICY, *PIRQ_DEVICE_POLICY;
View the official Windows Driver Kit DDI referenceNo description available.
The IRQ_DEVICE_POLICY enumeration type indicates the policy the operating system can use to assign the interrupts from a device to different processors.
IrqPolicyMachineDefaultThe device does not require any particular assignment of interrupts to processors.
IrqPolicyAllCloseProcessorsThe operating system should assign interrupts from the device to processors that are close to the device. On non-NUMA computers, the effect of this value is identical to that of IrqPolicyAllProcessorsInMachine.
IrqPolicyOneCloseProcessorThe operating system should assign a single interrupt for the device to one processor that is close to the device. On non-NUMA computers, the operating system can assign the interrupt to any processor.
IrqPolicyAllProcessorsInMachineThe operating system should assign interrupts from the device to all processors.
IrqPolicySpecifiedProcessorsThe operating system should assign interrupts from the device to a specific set of processors.
IrqPolicySpreadMessagesAcrossAllProcessorsThe operating system should assign different message-signaled interrupts to different processors, if possible.
IrqPolicyAllProcessorsInMachineWhenSteeredThe Interrupt.AffinityPolicy member of the IO_RESOURCE_DESCRIPTOR structure is an IRQ_DEVICE_POLICY enumeration value.
The IRQ_DEVICE_POLICY enumeration type indicates the policy the operating system can use to assign the interrupts from a device to different processors.
IrqPolicyMachineDefault:0The device does not require any particular assignment of interrupts to processors.
IrqPolicyAllCloseProcessors:1The operating system should assign interrupts from the device to processors that are close to the device. On non-NUMA computers, the effect of this value is identical to that of IrqPolicyAllProcessorsInMachine.
IrqPolicyOneCloseProcessor:2The operating system should assign a single interrupt for the device to one processor that is close to the device. On non-NUMA computers, the operating system can assign the interrupt to any processor.
IrqPolicyAllProcessorsInMachine:3The operating system should assign interrupts from the device to all processors.
IrqPolicySpecifiedProcessors:4The operating system should assign interrupts from the device to a specific set of processors.
IrqPolicySpreadMessagesAcrossAllProcessors:5The operating system should assign different message-signaled interrupts to different processors, if possible.
IrqPolicyAllProcessorsInMachineWhenSteered:6Reserved for system use. Do not use in your driver.
The Interrupt.AffinityPolicy member of the IO_RESOURCE_DESCRIPTOR structure is an IRQ_DEVICE_POLICY enumeration value.