Замок DWORD (DWORD dwTimeOut = бесконечность, BOOL bWaitForAll = TRUE, DWORD dwWakeMask = 0);
Возвращаемое значение
Если Блокировка не удается, он retur&nsnbsp; – 1. В случае успеха, он возвращает одно из следующих значений:
Если bWaitForAll имеет значение TRUE, все объекты получили сигнал (доступные). Если bWaitForAll имеет значение FALSE, возвращаемого value – WAIT_OBJECT_0 является индексом в массиве объектов объекта, является сигнальным (доступно).
Событие, указанное в dwWakeMask доступен в очереди входного потока.
Если bWaitForAll имеет значение TRUE, все объекты получили сигнал, и по крайней мере один из объектов является объектом брошенного мьютекса. Если bWaitForAll имеет значение FALSE, возвращаемого valuenbsp; – WAIT_ABA&NDONED_0 является индексом в массиве объектов объекта брошенного мьютекса, удовлетворившего операцию ожидания.
Timeout интервал, указанный в dwTimeOut истек без ожидания грядущие.
Параметры
dwTimeOut
Указывает период времени ожидания объекта синхронизации доступны (сигнал). Если БЕСКОНЕЧНОЕ, Блокировка будет ждать до тех пор, пока объект получает сигнал перед возвращением.
bWaitForAll
Определяет ли ждали все объекты должны оповещения в то же время перед возвратом. Когда любой из объектов ждали сигнале если возвращает FALSE, Блокировка.
dwWakeMask
Определяет другие условия, которые могут прервать ожидание. Полный список имеющихся вариантов для этого параметра, MsgWaitForMultipleObjects в справочнике программиста Win32.
Примечания
Эта функция вызывается для получения доступа к одному или нескольким из ресурсов, контролируемых объектов синхронизации в конструктор CMultiLock . Если bWaitForAll имеет значение TRUE, блокировки возвращает успешно как только одновременно оповещения всех объектов синхронизации. Если bWaitForAll имеет значение FALSE, Блокировка будет возвращать как только оповещенным, один или несколько объектов синхронизации.
Если Блокировка не может немедленно вернуться, он будет ждать не более, чем количество миллисекунд, указанного в параметре dwTimeOut перед возвратом. Если dwTimeOut является БЕСКОНЕЧНОЙ, Блокировка не вернет пока не получила доступ к объекту или выполнено условие, указанное в dwWakeMask . В противном случае если Блокировка смог приобрести объект синхронизации, он возвращает успешно; Если нет, то будет возвращена ошибка.