SysFn30/ru: Difference between revisions
Jump to navigation
Jump to search
Punk Joker (talk | contribs) |
Punk Joker (talk | contribs) |
||
Line 15: | Line 15: | ||
Параметры: | Параметры: | ||
* eax = 30 - номер функции | :* eax = 30 - номер функции | ||
* ebx = 2 - номер подфункции | :* ebx = 2 - номер подфункции | ||
* ecx = указатель на буфер | :* ecx = указатель на буфер | ||
* edx = размер буфера | :* edx = размер буфера | ||
Возвращаемое значение: | |||
:* eax = длина имени текущей папки (включая завершающий 0) | |||
Замечания: | |||
:* Если размера буфера недостаточно для копирования всего имени, | |||
::копируются только первые (edx-1) байт и в конце ставится | |||
::завершающий 0. | |||
:* По умолчанию, текущая папка для потока - "/rd/1". | |||
:* При создании процесса/потока текущая папка наследуется от | |||
::родителя. | |||
=== Подфункция 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 сессию работы ОС. | ||
{{System_functions}} | {{System_functions}} | ||
[[Category: SysCalls]] | [[Category: SysCalls]] |
Revision as of 09:28, 16 December 2013
Функция 30 - работа с активной папкой
Подфункция 1 - установить текущую папку для потока.
Параметры:
- eax = 30 - номер функции
- ebx = 1 - номер подфункции
- ecx = указатель на ASCIIZ-строку с путём к новой текущей папке
Возвращаемое значение:
- функция не возвращает значения
Подфункция 2 - получить активную папку для потока.
Параметры:
- eax = 30 - номер функции
- ebx = 2 - номер подфункции
- ecx = указатель на буфер
- edx = размер буфера
Возвращаемое значение:
- eax = длина имени текущей папки (включая завершающий 0)
Замечания:
- Если размера буфера недостаточно для копирования всего имени,
- копируются только первые (edx-1) байт и в конце ставится
- завершающий 0.
- По умолчанию, текущая папка для потока - "/rd/1".
- При создании процесса/потока текущая папка наследуется от
- родителя.
Подфункция 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 сессию работы ОС.
|