Using Call_Priority_VM_Event

Last reviewed: April 12, 1995
Article ID: Q75009
The information in this article applies to:
  • Microsoft Windows Device Development Kit for Windows version 3.0

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 reference words: 3.00 VxD Call_Priority_VM_Event reentrant
KBCategory: kbprg
KBSubcategory: D3MiscVmm


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 12, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.