_VWIN32_WaitMultipleObjects
This function returns either when one or all of the specified objects are in the signaled state, or when the specified time-out interval elapses. It links multiple wait nodes to the current thread and specified synchronization objects, and blocks on the synchronization objects if necessary. Uses EAX, ECX, EDX, and Flags.
- For information about the return value, see the Win32 ring 3 function WaitForMultipleObjects in the Microsoft Win32 Software Development Kit (SDK).
- ECX
- Number of objects in the wait array.
- ESI
- Pointer to array of VxD handles which can be waited on. A VxD handle is a ring 0 event handle created by the function OpenVxDHandle.
- EDX
- The time-out interval, in milliseconds. The function returns if the interval elapses, even if the wait conditions specified in the AX register are not satisfied. If zero, the function tests the states of the specified objects and returns immediately. If -1, the function's time-out interval never elapses.
- AH
- Wait Flags. If -1, the function returns when all objects in the wait array are signaled. If 0, the function returns when any one of the objects is signaled. In the latter case, the return value indicates the object whose state caused the function to return.
- AL
- If non-zero value, the function returns when APCs are queued. The calling thread will deliver the APC by using SleepEx, WaitForMultipleObjectsEx, or WaitForSingleObjectEx at ring 3.
This service can only be called when the current VM is the system VM.