include vpicd.inc mov edi, OFFSET32 vid ; points to a VPICD_IRQ_Descriptor VxDcall VPICD_Virtualize_IRQ jc error ; carry flag set if IRQ can't be virtualized mov [IRQHand], eax ; IRQ handle |
The VPICD_Virtualize_IRQ service assigns a virtual interrupt request to the calling virtual device.
This is not an asynchronous service.
vid
Points to a VPICD_IRQ_Descriptor structure containing information about the virtual IRQ. The VID_IRQ_Number and VID_Hw_Int_Proc fields in the VPICD_IRQ_Descriptor structure must be set before calling this service.
If the carry flag is clear, the EAX register contains the handle for the virtual IRQ. This handle is used for all subsequent communication with the virtual PIC device.
The carry flag is set to indicate an error such as the IRQ has already been virtualized, or the IRQ number is not valid.
The IRQ can be shared by up to 32 virtual devices if every virtual device specifies the VPICD_Opt_Can_Share value in the VID_Options field of the VPICD_IRQ_Descriptor structure.
EAX, Flags