ID Number: Q75009
3.00
WINDOWS
Summary:
Call_Priority_VM_Event is one of the most valuable virtual device
(VxD) calls available. When an application is at a point where the
state of the system keeps the VxD from completing, a call to
Call_Priority_VM_Event causes the process to yield until the system is
in such a state that the VxD can continue.
Under most circumstances, using this function will cause events to be
processed in a specific manner. Note, however, that any number of
events can occur between the call to Call_Priority_VM_Event and the
call to the event handler specified as a parameter in the
Call_Priority_VM_Event call.
If a VxD intermittently has problems, they may be caused by the code
assuming that the handler is called before certain other actions
occur. Also note that a VxD may be re-entered before the handler is
called, causing another call to Call_Priority_VM_Event before the
first handler is called.
If two or more handlers are set up at once, they will usually be
called in last-in, first-out (LIFO) order; however, this is not
guaranteed. If Call_Priority_VM_Event is used, VxD code must be
written to be completely re-entrant and it must allow the handlers to
be called in any order.