SysFn30/ru: Difference between revisions
Jump to navigation
Jump to search
Punk Joker (talk | contribs) |
mNo edit summary |
||
Line 1: | Line 1: | ||
''' Функция 30 - работа с активной папкой | '''Функция 30''' - работа с активной папкой | ||
---- | ---- | ||
Line 11: | Line 11: | ||
Возвращаемое значение: | Возвращаемое значение: | ||
:* функция не возвращает значения | :* функция не возвращает значения | ||
'''Константы для регистров:''' | |||
::eax - SF_CURRENT_FOLDER (30) | |||
::ebx - SSF_SET_CF (1) | |||
=== Подфункция 2 - получить активную папку для потока. === | === Подфункция 2 - получить активную папку для потока. === | ||
Line 28: | Line 32: | ||
:* При создании процесса/потока текущая папка наследуется от | :* При создании процесса/потока текущая папка наследуется от | ||
::родителя. | ::родителя. | ||
'''Константы для регистров:''' | |||
::eax - SF_CURRENT_FOLDER (30) | |||
::ebx - SSF_GET_CF (2) | |||
=== Подфункция 3 - установить доп. системную директорию для ядра. === | === Подфункция 3 - установить доп. системную директорию для ядра. === | ||
Line 46: | Line 54: | ||
Замечания: | Замечания: | ||
:* Функция может быть вызвана только 1 раз за 1 сессию работы ОС. | :* Функция может быть вызвана только 1 раз за 1 сессию работы ОС. | ||
'''Константы для регистров:''' | |||
::eax - SF_CURRENT_FOLDER (30) | |||
::ebx - SSF_ADD_SYS_FOLDER (3) | |||
{{System_functions}} | {{System_functions}} | ||
[[Category: SysCalls]] | [[Category: SysCalls]] |
Revision as of 17:52, 17 January 2016
Функция 30 - работа с активной папкой
Подфункция 1 - установить текущую папку для потока.
Параметры:
- eax = 30 - номер функции
- ebx = 1 - номер подфункции
- ecx = указатель на ASCIIZ-строку с путём к новой текущей папке
Возвращаемое значение:
- функция не возвращает значения
Константы для регистров:
- eax - SF_CURRENT_FOLDER (30)
- ebx - SSF_SET_CF (1)
Подфункция 2 - получить активную папку для потока.
Параметры:
- eax = 30 - номер функции
- ebx = 2 - номер подфункции
- ecx = указатель на буфер
- edx = размер буфера
Возвращаемое значение:
- eax = длина имени текущей папки (включая завершающий 0)
Замечания:
- Если размера буфера недостаточно для копирования всего имени,
- копируются только первые (edx-1) байт и в конце ставится
- завершающий 0.
- По умолчанию, текущая папка для потока - "/rd/1".
- При создании процесса/потока текущая папка наследуется от
- родителя.
Константы для регистров:
- eax - SF_CURRENT_FOLDER (30)
- ebx - SSF_GET_CF (2)
Подфункция 3 - установить доп. системную директорию для ядра.
Параметры:
- eax = 30 - номер функции
- ebx = 3 - номер подфункции
- ecx = указатель на блок данных:
- sysdir_name:: rb 64
- sysdir_path:: rb 64
Пример:
dir_name1 db 'KolibriOS',0 rb 64-10 dir_path1 db 'HD0/1',0 rb 64-6
Возвращаемое значение:
- функция не возвращает значения
Замечания:
- Функция может быть вызвана только 1 раз за 1 сессию работы ОС.
Константы для регистров:
- eax - SF_CURRENT_FOLDER (30)
- ebx - SSF_ADD_SYS_FOLDER (3)
|