INTERRUPTINFO
DMDLL_PCIGetInterruptResources 함수에서 사용하는 구조체 PCI 하드웨어가 사용하는 리소스(하드웨어 인터럽트)에 대한 정보를 얻는데 사용된다
Description
typedef struct
_INTERRUPTINFO
{
ULONG Level; // Interrupt Level (IRQL, ref WDK)
ULONG Vector; // Interrupt Vector
KAFFINITY Affinity; // CPU Affinity
KINTERRUPT_MODE Flags; // Interrupt Mode
typedef enum _KINTERRUPT_MODE
{
LevelSensitive,
Latched
} KINTERRUPT_MODE;
}INTERRUPTINFO, *PINTERRUPTINFO;
Field
Level
윈도우 커널에서 사용될 IRQL값
Vector
윈도우 커널에서 해당하는 인터럽트에 할당된 벡터값
Affinitity
하드웨어 인터럽트에 대한 CPU친화도
Bit 0 = CPU #1, Bit 1 = CPU #2, … Bit 15 = CPU #16
하드웨어 인터럽트를 수용하도록 예정되는 CPU를 명시한다.
Flags
윈도우 커널에서 인터럽트를 어떻게 다룰것인가에 대한 플래그
LevelSensitive = 해당하는 인터럽트는 클리어될때까지 계속해서 활성화된 상태를 유지한다
Latched = 해당하는 인터럽트는 빠른 대응을 하지 않으면 잃어버린다