Virtual Devices (3.1) (vdag31qh.hlp) (Table of Contents; Topic list)
VPICD_Virtualize_IRQ
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include vpicd.inc
 
mov     edi, OFFSET32 vid       ; points to a VPICD_IRQ_Descriptor
VxDcall VPICD_Virtualize_IRQ
 
jc      error                   ; carry 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.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
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.
 
Return Value
 
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.
 
Comments
 
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.
 
Uses
 
EAX, Flags
 
See Also
 
VPICD_Force_Default_Behavior