Ru/api/kernel: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
<
(Добавлено упоминание подфункции 31 функции 68. Добавлено нормальное название страницы.)
 
(87 intermediate revisions by 9 users not shown)
Line 1: Line 1:
''' СИСТЕМНЫЕ ФУНКЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ Kolibri 0.7.1.0 '''
{{DISPLAYTITLE:API ядра}}
 
''' СИСТЕМНЫЕ ФУНКЦИИ KolibriOS'''


Номер функции помещается в регистр eax.
Номер функции помещается в регистр eax.
Line 5: Line 7:
Все регистры, кроме явно указанных в возвращаемом значении, включая регистр флагов eflags, сохраняются.
Все регистры, кроме явно указанных в возвращаемом значении, включая регистр флагов eflags, сохраняются.


== Перечень функций ==


== Функция 0 - определить и нарисовать окно. ==
[[SysFn00/ru | Функция 0]] - определить и нарисовать окно.
 
Определяет окно приложения. Рисует рамку окна, заголовок и рабочую
область. Для окон со скином определяет стандартные кнопки закрытия и
минимизации.
 
Описание функции перенесено в отдельную статью: [[SysFn00/ru | Функция 0]]
 
== Функция 1 - поставить точку в окне. ==
 
Описание функции перенесено в отдельную статью: [[SysFn01/ru | Функция 1]]
 
== Функция 2 - получить код нажатой клавиши. ==
 
Извлекает из буфера код нажатой клавиши.
 
Описание функции перенесено в отдельную статью: [[SysFn02/ru | Функция 2]]
 
== Функция 3 - получить системное время. ==
 
Описание функции перенесено в отдельную статью: [[SysFn03/ru | Функция 3]]
 
== Функция 4 - вывести строку текста в окно. ==
 
Описание функции перенесено в отдельную статью: [[SysFn04/ru | Функция 4]]
 
== Функция 5 - пауза. ==
 
Задерживает выполнение программы на заданное время.
 
Описание функции перенесено в отдельную статью: [[SysFn05/ru | Функция 5]]
 
== Функция 6 - прочитать файл с рамдиска. ==
 
Описание функции перенесено в отдельную статью: [[SysFn06/ru | Функция 6]]
 
== Функция 7 - вывести изображение в окно. ==
 
Описание функции перенесено в отдельную статью: [[SysFn07/ru | Функция 7]]
 
== Функция 8 - определить/удалить кнопку. ==
 
Описание функции перенесено в отдельную статью: [[SysFn08/ru | Функция 8]]
 
== Функция 9 - информация о потоке выполнения. ==
 
Описание функции перенесено в отдельную статью: [[SysFn09/ru | Функция 9]]
 
== Функция 10 - ожидать события. ==
 
Если очередь сообщений пуста, то ждет появления сообщения в очереди. В таком состоянии поток не получает процессорного времени. Затем считывает сообщение из очереди.
 
Описание функции перенесено в отдельную статью: [[SysFn10/ru | Функция 10]]
 
== Функция 11 - проверить, есть ли событие, без ожидания. ==
 
Если в очереди сообщений есть какое-то событие, то считывает и
возвращает его. Если очередь пуста, возвращает нуль.
 
Описание функции перенесено в отдельную статью:  [[SysFn11/ru|Функция 11]]
 
== Функция 12 - начать/закончить перерисовку окна. ==
 
Подфункция 1 - начать перерисовку окна.
Подфункция 2 - закончить перерисовку окна.
 
Перенесены в отдельную статью: [[SysFn12/ru|Функция 12]]
 
== Функция 13 - нарисовать прямоугольник в окне. ==
 
Функция перенесена в статью [[SysFn13/ru|Функция 13]]
 
== Функция 14 - получить размеры экрана. ==
 
Описание функции перенесено в отдельную статью: [[SysFn14/ru|Функция 14]]
 
== Функция 15. ==
 
Описание функции перенесено в отдельную статью: [[SysFn15/ru | Функция 15]]
 
== Функция 16 - сохранить рамдиск на дискету. ==
 
 
Описание функции перенесено в отдельную статью: [[SysFn16/ru|Функция 16]]
 
== Функция 17 - получить код нажатой кнопки. ==
 
Описание функции перенесено в отдельную статью: [[SysFn17/ru|Функция 17]]
 
== Функция 18 == 
 
Описание функции перенесено в отдельную статью: [[SysFn18/ru|Функция 18]]
 
== Функция 20 - интерфейс MIDI. ==
 
Описание функции перенесено в отдельную статью: [[SysFn20/ru|Функция 20]]
 
== Функция 21 - установка системных параметров ==
 
Описание функции перенесено в отдельную статью: [[SysFn21/ru|Функция 21]]
 
== Функция 22 - установить системную дату/время. ==
 
Описание функции перенесено в отдельную статью: [[SysFn22/ru|Функция 22]]
 
== Функция 23 - ожидать события с таймаутом. ==
 
Описание функции перенесено в отдельную статью: [[SysFn23/ru|Функция 23]]
 
== Функция 24 - работа с проигрывателем компакт-дисков ==
 
Описание функции перенесено в отдельную статью: [[SysFn24/ru|Функция 24]]
 
== Функция 25 - установить громкость SBPro. ==
 
''Удалена''
 
== Функция 26 - аппаратный сервис ==
 
Описание функции перенесено в отдельную статью: [[SysFn26/ru|Функция 26]]
 
== Функция 27  ==
 
сведения об этой функции отсутствуют
 
== Функция 28 - установить громкость SB16. ==
 
Удалена
 
== Функция 29 - получить системную дату. ==
 
Описание функции перенесено в отдельную статью: [[SysFn29/ru|Функция 29]]
 
== Функция 30 - работа с текущей папкой. ==
 
Описание функции перенесено в отдельную статью: [[SysFn30/ru|Функция 30]]
 
== Функция 31  ==
 
сведения об этой функции отсутствуют
 
== Функция 32  ==
 
сведения об этой функции отсутствуют
 
== Функция 33  ==
 
сведения об этой функции отсутствуют
 
== Функция 34  ==
 
сведения об этой функции отсутствуют
 
== Функция 35 - прочитать цвет точки на экране. ==
 
Описание функции перенесено в отдельную статью: [[SysFn35|Функция 35]]
 
== Функция 36 - прочитать область экрана. ==
 
Описание функции перенесено в отдельную статью: [[SysFn36|Функция 36]]
 
== Функция 37 - работа с мышью. ==
 
 
===- Подфункция 0 - экранные координаты мыши ===
Параметры:
  * eax = 37 - номер функции
  * ebx = 0 - номер подфункции
Возвращаемое значение:
  * eax = x*65536 + y, (x,y)=координаты курсора мыши (считая от 0)
 
=== Подфункция 1 - координаты мыши относительно окна ===
Параметры:
  * eax = 37 - номер функции
  * ebx = 1 - номер подфункции
Возвращаемое значение:
  * eax = x*65536 + y, (x,y)=координаты курсора мыши относительно
    окна приложения (считая от 0)
Замечания:
  * Значение вычисляется по формуле (x-xwnd)*65536 + (y-ywnd).
    Если y>=ywnd, то младшее слово неотрицательно и содержит
    относительную y-координату, а старшее - относительную x-координату
    (правильного знака). В противном случае младшее слово отрицательно
    и всё равно содержит относительную y-координату,
    а к старшему слову следует прибавить 1.
 
=== Подфункция 2 - нажатые кнопки мыши ===
Параметры:
  * eax = 37 - номер функции
  * ebx = 2 - номер подфункции
Возвращаемое значение:
  * eax содержит информацию о нажатых кнопках мыши:
  * бит 0 установлен = левая кнопка нажата
  * бит 1 установлен = правая кнопка нажата
  * бит 2 установлен = средняя кнопка нажата
  * бит 3 установлен = 4-я кнопка нажата
  * бит 4 установлен = 5-я кнопка нажата
  * прочие биты сброшены
 
=== Подфункция 4 - загрузить курсор ===
Параметры:
  * eax = 37 - номер функции
  * ebx = 4 - номер подфункции
  * dx = источник данных:
  * dx = LOAD_FROM_FILE = 0 - данные в файле
    * ecx = указатель на полный путь к файлу курсора
    * файл курсора должен быть в формате .cur, стандартном для
      MS Windows, причём размером 32*32 пикселя
  * dx = LOAD_FROM_MEM = 1 - данные файла уже загружены в память
    * ecx = указатель на данные файла курсора
    * формат данных такой же, как и в предыдущем случае
  * dx = LOAD_INDIRECT = 2 - данные в памяти
    * ecx = указатель на образ курсора в формате ARGB 32*32 пикселя
    * edx = 0xXXYY0002, где
      * XX = x-координата "горячей точки" курсора
      * YY = y-координата
      * 0 <= XX, YY <= 31
Возвращаемое значение:
  * eax = 0 - неудача
  * иначе eax = хэндл курсора
 
=== Подфункция 5 - установить курсор ===
Устанавливает новый курсор для окна текущего потока.
Параметры:
  * eax = 37 - номер функции
  * ebx = 5 - номер подфункции
  * ecx = хэндл курсора
Возвращаемое значение: