SysFn23/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
Line 13: Line 13:
Замечания:
Замечания:
:* Учитываются только те события, которые входят в маску,
:* Учитываются только те события, которые входят в маску,
::устанавливаемую функцией 40. По умолчанию это события
::устанавливаемую [[SysFn40/ru|функцией 40]]. По умолчанию это события
::перерисовки, нажатия на клавиши и на кнопки.
::перерисовки, нажатия на клавиши и на кнопки.
:* Для проверки, есть ли сообщение в очереди, используйте функцию 11.
:* Для проверки, есть ли сообщение в очереди, используйте [[SysFn11/ru|функцию 11]].
::Чтобы ждать сколь угодно долго, используйте функцию 10.
::Чтобы ждать сколь угодно долго, используйте [[SysFn10/ru|функцию 10]].
:* Передача ebx=0 приводит к моментальному возвращению eax=0.
:* Передача ebx=0 приводит к моментальному возвращению eax=0.
:* При текущей реализации произойдёт немедленный возврат из функции
:* При текущей реализации произойдёт немедленный возврат из функции
::с eax=0, если сложение ebx с текущим значением счётчика времени
::с eax=0, если сложение ebx с текущим значением счётчика времени
::вызовет 32-битное переполнение.
::вызовет 32-битное переполнение.
'''Константы для регистров:'''
::eax - SF_WAIT_EVENT_TIMEOUT (23)


{{System_functions}}
{{System_functions}}
[[Category: SysCalls]]
[[Category: SysCalls]]

Latest revision as of 18:56, 16 January 2016

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


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

Параметры:

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

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

Замечания:

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

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

eax - SF_WAIT_EVENT_TIMEOUT (23)