WaitForMultipleObjects функция

Функция WaitForMultipleObjects приостанавливает поток, в котором вызвана до тех пока один или все переданные ей объекты (зависит от переданных параметров) не перейдут в сигнальное состояние - или же закончится время ожидания этого перехода.

параметры =

DWORD WINAPI WaitForMultipleObjects(
  __in  DWORD nCount, /*число элементов в массиве объектов(перехода в сигнальное состояние которых надо ждать),
переданном на месте следующего параметра lpHandles
максимальное число таких объектов определяется константой MAXIMUM_WAIT_OBJECTS.
Данный параметр не может быть=0*/
  __in  const HANDLE *lpHandles,/* массив объектов*/
  __in  BOOL bWaitAll, /* если установлено TRUE , то функция будет ждать включения в сигнальное состояние
всех объектов, если же FALSE  -то любого  одного, который включится первым*/
  __in  DWORD dwMilliseconds/* максимальное время ожидания*/
);

пример =

HANDLE Array_Of_Event_Handles[2]; // массив элементов - из двух событий прочтения  - по одномы событию на файл
	Array_Of_Event_Handles[0]=hEvent1; // событие прочтения первого файла
	Array_Of_Event_Handles[1]=hEvent2; // событие прочтения второго файла
	
    WaitForMultipleObjects( 2,Array_Of_Event_Handles , TRUE, INFINITE); // ждём  пока оба события окажутся в сигнальном состоянии