include vpicd.inc VPICD_IRQ_Descriptor STRUC VID_IRQ_Number dw ? VID_Options dw 0 VID_Hw_Int_Proc dd ? VID_Virt_Int_Proc dd 0 VID_EOI_Proc dd 0 VID_Mask_Change_Proc dd 0 VID_IRET_Proc dd 0 VID_IRET_Time_Out dd 500 VPICD_IRQ_Descriptor ENDS |
The VPICD_IRQ_Descriptor structure contains information about a virtualized IRQ.
VID_IRQ_Number
Specifies the number of the IRQ to virtualize.
VID_Options
Specifies the options for virtualizing the IRQ. It can be a combination of the following values:
Value | Meaning |
VPICD_Opt_Can_Share | Virtual IRQ can be shared. |
VPICD_Opt_Read_Hw_IRR | Reads the hardware interrupt register. |
Points to the callback procedure that handles hardware interrupts for this IRQ.
Points to the callback procedure that handles virtual interrupts for this IRQ.
Points to the callback procedure that handles end-of-interrupt commands for this IRQ.
Points to the callback procedure that handles changes to the IRQ mask for this IRQ.
Points to the callback procedure that handles iret instructions for this IRQ.
VID_IRET_Time_Out
Specifies the maximum amount of time in milliseconds that the virtual PIC device allows before the time out occurs.
Time outs are very important to prevent 386 enhanced-mode Windows from hanging while simulating a hardware interrupt.