NTSTATUS NtWaitForMultipleObjects( IN ULONG Count, IN HANDLE Handles, IN WAIT_TYPE WaitType, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL ); Routine Description: This function waits until the specified objects attain a state of Signaled. The wait can be specified to wait until all of the objects attain a state of Signaled or until one of the objects attains a state of Signaled. An optional timeout can also be specified. If a timeout is not specified, then the wait will not be satisfied until the objects attain a state of Signaled. If a timeout is specified, and the objects have not attained a state of Signaled when the timeout expires, then the wait is automatically satisfied. If an explicit timeout value of zero is specified, then no wait will occur if the wait cannot be satisfied immediately. The wait can also be specified as alertable. Arguments: Count - Supplies a count of the number of objects that are to be waited on. Handles - Supplies an array of handles to wait objects. WaitType - Supplies the type of wait to perform (WaitAll, WaitAny). Alertable - Supplies a boolean value that specifies whether the wait is alertable. Timeout - Supplies a pointer to an optional absolute of relative time over which the wait is to occur. Return Value: The wait completion status. A value of STATUS_TIMEOUT is returned if a timeout occurred. The index of the object (zero based) in the object pointer array is returned if an object satisfied the wait. A value of STATUS_ALERTED is returned if the wait was aborted to deliver an alert to the current thread. A value of STATUS_USER_APC is returned if the wait was aborted to deliver a user APC to the current thread.