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
VID_Hw_Int_Ref dd ?
VPICD_IRQ_Descriptor ENDS
Contains information about a virtualized IRQ.
VPICD_OPT_READ_HW_IRR | Reads the hardware interrupt register. |
VPICD_OPT_CAN_SHARE | Virtual IRQ can be shared. |
VPICD_OPT_REF_DATA | Set this bit if you want to pass reference data in the VID_Hw_Int_Ref member to your hardware interrupt handler. |
VPICD_OPT_VIRT_INT_REJECT | Within your virtual interrupt procedure, set this bit and return with the carry flag set if you no longer want the interrupt virtualized. |
VPICD_OPT_SHARE_PMODE_ONLY | This bit is only used in debug Windows and you must also set the bit VPICD_OPT_CAN_SHARE. If set, the system displays a debug warning message if VPICD_Set_Int_Request is called. . |
Time outs are very important to prevent Windows from hanging while simulating a hardware interrupt.