Using Call_Priority_VM_Event

ID: Q75009


The information in this article applies to:
  • Microsoft Windows Device Development Kit (DDK) for Windows, version 3.0


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.

Additional query words: 3.00 VxD Call_Priority_VM_Event reentrant

Keywords :
Version : :3.0
Platform :
Issue type :


Last Reviewed: November 4, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.