SysFn23/ru

From KolibriOS wiki
Revision as of 18:56, 16 January 2016 by IgorA (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Функция 23 - ожидать события с таймаутом


Если очередь сообщений пуста, ждёт появления сообщения в очереди, но не более указанного времени. Затем считывает сообщение из очереди.

Параметры:

  • eax = 23 - номер функции
  • ebx = таймаут (в сотых долях секунды)

Возвращаемое значение:

Замечания:

  • Учитываются только те события, которые входят в маску,
устанавливаемую функцией 40. По умолчанию это события
перерисовки, нажатия на клавиши и на кнопки.
  • Для проверки, есть ли сообщение в очереди, используйте функцию 11.
Чтобы ждать сколь угодно долго, используйте функцию 10.
  • Передача ebx=0 приводит к моментальному возвращению eax=0.
  • При текущей реализации произойдёт немедленный возврат из функции
с eax=0, если сложение ebx с текущим значением счётчика времени
вызовет 32-битное переполнение.

Константы для регистров:

eax - SF_WAIT_EVENT_TIMEOUT (23)