DWORD WaitForMultipleObject(DWORD dwCount , CONST HANDLE* phObject, BOOL fWaitAll, DWORD dwMillisecinds);
dwCount参数  用于指明想要让函数查看的 内核对象的数量。这个值必须在1与MAXIMUM_WAIT_OBJECTS(在Windows头文件中定义为64之间.
phObjects参数  是指向 内核对象句柄的 数组指针。可以以两种不同的方式来使用WaitForMultipleObjects函数。一种方式是让线程进入等待状态,直到指定 内核对象中的任何一个变为已通知状态。另一种方式是让线程进入等待状态,直到所有指定的 内核对象都变为已通知状态。
fWaitAll参数  告诉该函数,你想要让它使用何种方式。如果为该 参数传递TRUE,那么在所有对象变为已通知状态之前,该函数将不允许调用线程运行。
dwMil liseconds参数  该参数的作用与它在WaitForSingleObject中的作用完全相同。如果在等待的时候规定的时间到了,那么该函数无论如何都会返回。同样,通常为该 参数传递INFINITE,但是在编写代码时应该小心,以避免出现死锁情况。
 
WaitForMultipleObjects函数的返回值告诉调用线程,为什么它会被重新调度。可能的返回值是WAIT_FAILED和WAIT_TIMEOUT,这两个值的作用是很清楚的。如果为f WaitAll 参数传递TRUE,同时所有对象均变为已通知状态,那么返回值是WAIT_OBJECT_0。如果为fWaitAll传递FALSE,那么一旦任何一个对象变为已通知状态,该函数便返回。在这种情况下,你可能想要知道哪个对象变为已通知状态。返回值是WAIT_OBJECT_0与(WAIT_OBJECT_0 + dwCount-1)之间的一个值。换句话说,如果返回值不是WAIT_TIMEOUT,也不是WAIT_FAILED,那么应该从返回值中减去WAIT_OBJECT_0。产生的数字是作为第二个 参数传递给WaitForMultipleObjects的句柄 数组中的索引。该索引说明哪个对象变为已通知状态。