Функция WaitMessage передает управление к другим потокам тогда, когда поток не имеет никаких других сообщений в своей очереди сообщений. Функция WaitMessage приостанавливает работу потока и не возвращает управление до тех пор, пока не будет помещено новое сообщение в очередь сообщений потока.
Синтаксис
BOOL WaitMessage(VOID); |
Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - не нуль.
Если функция завершается ошибкой, величина возвращаемого значения нулевая. Чтобы получить дополнительные данные об ошибке, вызовите функцию GetLastError.
Замечания
|
Обратите внимание на то, что функция WaitMessage не возвращает значение, если не читается ввод в очереди сообщения после того, как поток вызвал функцию, чтобы проверить очередь. Это происходит потому, что функции типа PeekMessage, GetMessage, GetQueueStatus, WaitMessage, MsgWaitForMultipleObjects и MsgWaitForMultipleObjectsEx проверяют очередь, а затем изменяют информацию о состоянии очереди так, чтобы ввод больше не считали новым. Последующий вызов WaitMessage не будет возвращать значение до тех пор, пока не прибудет новый ввод данных заданного типа . Существующий нечитаемый ввод (полученный перед проверкой очереди потока в самый последний момент времени) игнорируется. |
Обзор Сообщения и очереди сообщений, GetMessage, PeekMessage
|
Размещение и совместимость WaitMessage |
|
|
Windows. NET Server |
Да |
|
Windows XP |
Да |
|
Windows 2000 |
Да |
|
Windows NT |
Да версии 3.1 и выше |
|
Windows Me |
Да |
|
Windows 98 |
Да |
|
Windows 95 |
Да |
|
Используемая библиотека |
User32.lib |
|
Заголовочный файл |
|
|
- объявлено в |
Winuser.h |
|
- включено в |
Windows.h |
|
Unicode |
Нет |
|
Замечания по платформе |
Не имеется |