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.
Get_VMM_Reenter_Count
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include vmm.inc
 
VMMcall Get_VMM_Reenter_Count
 
jecxz   not_reentered           ; ecx is zero if VMM not re-entered
mov     [Count], ecx            ; otherwise, number of times re-entered
 
The Get_VMM_Reenter_Count service returns the number of times the VMM has
been re-entered as a result of a hardware interrupt, page fault, or other
processor exception. Virtual devices typically use this service to determine
whether they can call nonre-entrant VMM services.
 
This service has no parameters.
 
Return Value
 
The ECX register is zero if the VMM has not been re-entered. Otherwise, the
ECX register specifies the number of times the VMM has been re-entered.
 
Comments
 
If this service returns a nonzero value, a virtual device may call only VMM
services that are asynchronous. If a virtual must call other VMM services,
the virtual device can schedule an event using a service such as
Schedule_Global_Event. The system calls the event's callback procedure when
all VMM services are available.
 
The Call_Global_Event and Call_VM_Event services call this service to
determine whether the event callback procedure should be called
immediately.
 
Uses
 
Flags
 
See Also
 
Call_Global_Event, Call_VM_Event, Schedule_Global_Event, Schedule_VM_Event