Virtual Devices (3.1) (vdag31qh.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
VPICD_Get_IRQ_Complete_Status
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include vpicd.inc
 
mov     eax, IRQNum             ; IRQ number
VxDcall VPICD_Get_IRQ_Complete_Status
 
jc      already_virtualized     ; carry set if IRQ is already virtualized
 
mov     [Status], ecx           ; status
 
The VPICD_Get_IRQ_Complete_Status service returns the complete status for
the specified IRQ. This service is similar to VPICD_Get_Complete_Status
except that it takes an IRQ number as a parameter instead of an IRQ handle.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
IRQNum     Specifies the number of the IRQ for which to retrieve status.
 
Return Value
 
The carry flag is set if the IRQ has been virtualized. Otherwise, the carry
flag is clear.
 
The ECX register contains a combination of the following status flag
values:
 
Value                    Meaning
────────────────────────────────────────────────────────────────────────────
VPICD_Stat_IRET_Pending  A virtual iret is pending.
 
VPICD_Stat_In_Service    The IRQ is virtually in service.
 
VPICD_Stat_Phys_Mask     The IRQ is physically masked.
 
VPICD_Stat_Phys_In_Serv  The IRQ is physically in service.
 
VPICD_Stat_Virt_Mask     The virtual machine has masked the IRQ.
 
VPICD_Stat_Virt_Req      The virtual interrupt request for the virtual
                         machine has been set (by a virtual device, not
                         necessarily the caller).
 
VPICD_Stat_Phys_Req      The physical interrupt request has been set.
 
VPICD_Stat_Virt_Dev_Req  The virtual interrupt request has been set by the
                         calling virtual device.
 
Comments
 
Virtual devices typically use this service to inspect an IRQ before
attempting to virtualize it, or to inspect the state of another virtual
device's interrupt. Since the service indicates whether an IRQ has been
virtualized, virtual devices use this service to avoid conflicts when more
than one device may want to use an IRQ.
 
Uses
 
ECX, Flags
 
See Also
 
VPICD_Get_Complete_Status