SysFn18/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
No edit summary
Line 10: Line 10:
* ecx = номер слота процесса/потока
* ecx = номер слота процесса/потока
Возвращаемое значение:
Возвращаемое значение:
* функция не возвращает значения  
* функция не возвращает значения
 
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_UNFOCUS_WINDOW (1)


=== Подфункция 2 - завершить процесс/поток по слоту. ===
=== Подфункция 2 - завершить процесс/поток по слоту. ===
Line 23: Line 27:
* Нельзя завершить поток операционной системы OS/IDLE (номер слота 1), можно завершить любой обычный поток/процесс.
* Нельзя завершить поток операционной системы OS/IDLE (номер слота 1), можно завершить любой обычный поток/процесс.
* Смотри также подфункцию 18 - завершение процесса/потока с заданным идентификатором.
* Смотри также подфункцию 18 - завершение процесса/потока с заданным идентификатором.
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_TERMINATE_THREAD (2)


=== Подфункция 3 - сделать активным окно заданного потока. ===
=== Подфункция 3 - сделать активным окно заданного потока. ===
Line 35: Line 43:
* При указании корректного, но несуществующего слота активизируется какое-то окно.
* При указании корректного, но несуществующего слота активизируется какое-то окно.
* Узнать, какое окно является активным, можно вызовом подфункции 7.
* Узнать, какое окно является активным, можно вызовом подфункции 7.
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_FOCUS_WINDOW (3)


=== Подфункция 4 - получить счётчик пустых тактов в секунду. ===
=== Подфункция 4 - получить счётчик пустых тактов в секунду. ===
Line 45: Line 57:
Возвращаемое значение:
Возвращаемое значение:
* eax = значение счётчика пустых тактов в секунду
* eax = значение счётчика пустых тактов в секунду
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_GET_IDLE_COUNT (4)


=== Подфункция 5 - получить тактовую частоту. ===
=== Подфункция 5 - получить тактовую частоту. ===
Line 53: Line 69:
Возвращаемое значение:
Возвращаемое значение:
* eax = тактовая частота (по модулю 2^32 тактов = 4ГГц)
* eax = тактовая частота (по модулю 2^32 тактов = 4ГГц)
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_GET_CPU_REQUENCY (5)


=== Подфункция 6 - сохранить рамдиск в файл на жёстком диске. ===
=== Подфункция 6 - сохранить рамдиск в файл на жёстком диске. ===
Line 65: Line 85:
Замечания:
Замечания:
* Все папки в указанном пути должны существовать, иначе вернётся значение 5, "файл не найден".
* Все папки в указанном пути должны существовать, иначе вернётся значение 5, "файл не найден".
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_RD_TO_HDD (6)


=== Подфункция 7 - получить номер активного окна. ===
=== Подфункция 7 - получить номер активного окна. ===
Line 77: Line 101:
::сообщения обо всём вводе с клавиатуры.
::сообщения обо всём вводе с клавиатуры.
:* Сделать окно активным можно вызовом подфункции 3.
:* Сделать окно активным можно вызовом подфункции 3.
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_GET_ACTIVE_WINDOW (7)


=== Подфункция 8 - отключить/разрешить звук спикера. ===
=== Подфункция 8 - отключить/разрешить звук спикера. ===
Line 83: Line 111:
При включённом - направляются на встроенный спикер.
При включённом - направляются на встроенный спикер.


=== Подподфункция 1 - получить состояние. ===
==== Подподфункция 1 - получить состояние. ====
Параметры:
Параметры:
:* eax = 18 - номер функции
:* eax = 18 - номер функции
Line 91: Line 119:
:* eax = 0 - звук спикера разрешён; 1 - запрещён
:* eax = 0 - звук спикера разрешён; 1 - запрещён


=== Подподфункция 2 - переключить состояние. ===
==== Подподфункция 2 - переключить состояние. ====
Переключает состояния разрешения/запрещения.
Переключает состояния разрешения/запрещения.
Параметры:
Параметры:
Line 99: Line 127:
Возвращаемое значение:
Возвращаемое значение:
:* функция не возвращает значения
:* функция не возвращает значения
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_SPEAKER (8)
::ecx - SSSF_GET_STATE (1), SSSF_TOGGLE (2)


=== Подфункция 9 - завершение работы системы с параметром.  ===
=== Подфункция 9 - завершение работы системы с параметром.  ===
Line 115: Line 148:
:* Не следует полагаться на возвращаемое значение при неверном
:* Не следует полагаться на возвращаемое значение при неверном
::вызове, оно может измениться в последующих версиях ядра.
::вызове, оно может измениться в последующих версиях ядра.
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_SHUTDOWN (9)


=== Подфункция 10 - свернуть окно приложения. ===
=== Подфункция 10 - свернуть окно приложения. ===
Line 134: Line 171:
::функцией 0, для окон без скина её можно определить функцией 8),
::функцией 0, для окон без скина её можно определить функцией 8),
::восстановление - приложением @panel.
::восстановление - приложением @panel.
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_MINIMIZE_WINDOW (10)


=== Подфункция 11 - получить информацию о дисковой подсистеме. ===
=== Подфункция 11 - получить информацию о дисковой подсистеме. ===
Line 194: Line 235:
:* Короткая таблица может быть использована для получения информации
:* Короткая таблица может быть использована для получения информации
::об имеющихся устройствах.
::об имеющихся устройствах.
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_INFO_DISC_SYS (11)


=== Подфункция 13 - получить версию ядра. ===
=== Подфункция 13 - получить версию ядра. ===
Line 214: Line 259:
  db 0
  db 0
  dd 1675
  dd 1675
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_KERNEL_VERSION (13)


=== Подфункция 14 - ожидать начала обратного хода луча развёртки монитора. ===
=== Подфункция 14 - ожидать начала обратного хода луча развёртки монитора. ===
Line 225: Line 274:
::высокопроизводительных графических приложений; используется для
::высокопроизводительных графических приложений; используется для
::плавного вывода графики.
::плавного вывода графики.
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_WAIT_RETRACE (14)


=== Подфункция 15 - поместить курсор мыши в центр экрана. ===
=== Подфункция 15 - поместить курсор мыши в центр экрана. ===
Line 233: Line 286:
Возвращаемое значение:
Возвращаемое значение:
:* eax = 0 как признак успеха
:* eax = 0 как признак успеха
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_CURSOR_CENTER (15)


=== Подфункция 16 - Получить размер свободной оперативной памяти. ===
=== Подфункция 16 - Получить размер свободной оперативной памяти. ===
Line 240: Line 297:
Возвращаемое значение:
Возвращаемое значение:
:* eax = размер свободной памяти в килобайтах
:* eax = размер свободной памяти в килобайтах
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_GET_FREE_RAM (16)


=== Подфункция 17 - получить размер имеющейся оперативной памяти. ===
=== Подфункция 17 - получить размер имеющейся оперативной памяти. ===
Line 248: Line 309:
Возвращаемое значение:
Возвращаемое значение:
:* eax = общий размер имеющейся памяти в килобайтах
:* eax = общий размер имеющейся памяти в килобайтах
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_GET_TOTAL_RAM (17)


=== Подфункция 18 - завершить процесс/поток по идентификатору. ===
=== Подфункция 18 - завершить процесс/поток по идентификатору. ===
Line 263: Line 328:
:* Смотри также подфункцию 2 - завершение
:* Смотри также подфункцию 2 - завершение
::процесса/потока по заданному слоту.
::процесса/потока по заданному слоту.
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_TERMINATE_THREAD_ID (18)


=== Подфункция 19 - получить/установить настройки мыши. ===
=== Подфункция 19 - получить/установить настройки мыши. ===
Line 328: Line 397:
Возвращаемое значение:
Возвращаемое значение:
:* функция не возвращает значения
:* функция не возвращает значения
==== Подподфункция 6 - получить задержку двойного щелчка. ====
Параметры:
:* eax = 18 - номер функции
:* ebx = 19 - номер подфункции
:* ecx = 6 - номер подподфункции
Возвращаемое значение:
:* eax = текущая задержка двойного щелчка (100 = секунда)
==== Подподфункция 7 - установить задержку двойного щелчка. ====
Параметры:
:* eax = 18 - номер функции
:* ebx = 19 - номер подфункции
:* ecx = 7 - номер подподфункции
:* dl  = новое значение задержки двойного щелчка (100 = секунда)
Возвращаемое значение:
:* функция не возвращает значения
Замечания:
Замечания:
:* Рекомендуемая скорость мыши (в подподфункции 1) от 1 до 9.
:* Рекомендуемая скорость мыши (в подподфункции 1) от 1 до 9.
Line 343: Line 432:
::и проверить, что устанавливаемое положение не выходит за пределы
::и проверить, что устанавливаемое положение не выходит за пределы
::экрана.
::экрана.
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_MOUSE_SETTINGS (19)
::ecx - SSSF_GET_SPEED (0), SSSF_SET_SPEED (1), SSSF_GET_SPEEDUP (2),
:::SSSF_SET_SPEEDUP (3), SSSF_SET_POS (4), SSSF_SET_BUTTON (5),
:::SSSF_GET_DOUBLE_CLICK_DELAY (6), SSSF_SET_DOUBLE_CLICK_DELAY (7)


=== Подфункция 20 - получить информацию об оперативной памяти. ===
=== Подфункция 20 - получить информацию об оперативной памяти. ===
Line 366: Line 462:
::* +32: dword: размер наибольшего выделенного блока в куче ядра
::* +32: dword: размер наибольшего выделенного блока в куче ядра
:::::::: (зарезервировано)
:::::::: (зарезервировано)
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_GET_RAM_INFO (20)


=== Подфункция 21 - получить номер слота процесса/потока по идентификатору. ===
=== Подфункция 21 - получить номер слота процесса/потока по идентификатору. ===
Line 376: Line 476:
:* eax = 0 - ошибка (неверный идентификатор)
:* eax = 0 - ошибка (неверный идентификатор)
:* иначе eax = номер слота
:* иначе eax = номер слота
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_GET_THREAD_SLOT (21)


=== Подфункция 22 - операции с окном другого процесса/потока. ===
=== Подфункция 22 - операции с окном другого процесса/потока. ===
Параметры:
Параметры:
:* eax = 18 - номер функции
:* eax = 18 - номер функции
Line 394: Line 499:
:* Восстановление окна с одновременной активизацией осуществляется
:* Восстановление окна с одновременной активизацией осуществляется
::подфункции 3 (принимающей номер слота).
::подфункции 3 (принимающей номер слота).
'''Константы для регистров:'''
::eax - SF_SYSTEM (18)
::ebx - SSF_FOREIGN_WINDOW (22)
::ecx - SSSF_MINIMIZE (0), SSSF_MINIMIZE_ID (1), SSSF_RESTORE (2),
:::SSSF_RESTORE_ID (3)


=== Подфункция 23 - миним