Функция 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 |
Нет |
Замечания по платформе |
Не имеется |