SysFn23/ru: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
Punk Joker (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
---- | ---- | ||
Если очередь сообщений пуста, ждёт появления сообщения в очереди, | |||
Если очередь сообщений пуста, ждёт появления сообщения в очереди, но не более указанного времени. Затем считывает сообщение из очереди. | но не более указанного времени. Затем считывает сообщение из очереди. | ||
Параметры: | Параметры: | ||
* eax = 23 - номер функции | :* eax = 23 - номер функции | ||
* ebx = таймаут (в сотых долях секунды) | :* ebx = таймаут (в сотых долях секунды) | ||
Возвращаемое значение: | Возвращаемое значение: | ||
* eax = 0 - очередь сообщений пуста | :* eax = 0 - очередь сообщений пуста | ||
* иначе eax = событие ([[Ru/api/kernel#Список событий|смотри список событий]]) | :* иначе eax = событие ([[Ru/api/kernel#Список событий|смотри список событий]]) | ||
Замечания: | Замечания: | ||
* Учитываются только те события, которые входят в маску, устанавливаемую функцией 40. По умолчанию это события перерисовки, нажатия на клавиши и на кнопки. | :* Учитываются только те события, которые входят в маску, | ||
* Для проверки, есть ли сообщение в очереди, используйте функцию 11. Чтобы ждать сколь угодно долго, используйте функцию 10. | ::устанавливаемую функцией 40. По умолчанию это события | ||
* Передача ebx=0 приводит к моментальному возвращению eax=0. | ::перерисовки, нажатия на клавиши и на кнопки. | ||
* При текущей реализации произойдёт немедленный возврат из функции с eax=0, если сложение ebx с текущим значением счётчика времени вызовет 32-битное переполнение. | :* Для проверки, есть ли сообщение в очереди, используйте функцию 11. | ||
::Чтобы ждать сколь угодно долго, используйте функцию 10. | |||
:* Передача ebx=0 приводит к моментальному возвращению eax=0. | |||
:* При текущей реализации произойдёт немедленный возврат из функции | |||
::с eax=0, если сложение ebx с текущим значением счётчика времени | |||
::вызовет 32-битное переполнение. | |||
{{System_functions}} | {{System_functions}} | ||
[[Category: SysCalls]] | [[Category: SysCalls]] |
Revision as of 09:17, 16 December 2013
Функция 23 - ожидать события с таймаутом
Если очередь сообщений пуста, ждёт появления сообщения в очереди, но не более указанного времени. Затем считывает сообщение из очереди.
Параметры:
- eax = 23 - номер функции
- ebx = таймаут (в сотых долях секунды)
Возвращаемое значение:
- eax = 0 - очередь сообщений пуста
- иначе eax = событие (смотри список событий)
Замечания:
- Учитываются только те события, которые входят в маску,
- устанавливаемую функцией 40. По умолчанию это события
- перерисовки, нажатия на клавиши и на кнопки.
- Для проверки, есть ли сообщение в очереди, используйте функцию 11.
- Чтобы ждать сколь угодно долго, используйте функцию 10.
- Передача ebx=0 приводит к моментальному возвращению eax=0.
- При текущей реализации произойдёт немедленный возврат из функции
- с eax=0, если сложение ebx с текущим значением счётчика времени
- вызовет 32-битное переполнение.
|