Rev 6790 | Rev 6800 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6790 | Rev 6798 | ||
---|---|---|---|
Line 1693... | Line 1693... | ||
1693 | ---------------------- Константы для регистров: ---------------------- |
1693 | ---------------------- Константы для регистров: ---------------------- |
1694 | eax - SF_GET_SYS_DATE (29) |
1694 | eax - SF_GET_SYS_DATE (29) |
1695 | ====================================================================== |
1695 | ====================================================================== |
1696 | ================ Функция 30 - работа с текущей папкой. =============== |
1696 | ================ Функция 30 - работа с текущей папкой. =============== |
1697 | ====================================================================== |
1697 | ====================================================================== |
1698 | - | ||
1699 | -------- Подфункция 1 - установить текущую папку для потока. --------- |
1698 | -------- Подфункция 1 - установить текущую папку для потока. --------- |
1700 | Параметры: |
1699 | Параметры: |
1701 | * eax = 30 - номер функции |
1700 | * eax = 30 - номер функции |
1702 | * ebx = 1 - номер подфункции |
1701 | * ebx = 1 - номер подфункции |
1703 | * ecx = указатель на строку с путём к новой текущей папке, |
1702 | * ecx = указатель на строку с путём к новой текущей папке, |
1704 | правила формирования строки указаны в описании функции 70. |
1703 | правила формирования строки указаны в описании функции 70. |
1705 | Возвращаемое значение: |
1704 | Возвращаемое значение: |
1706 | * функция не возвращает значения |
1705 | * функция не возвращает значения |
1707 | - | ||
- | 1706 | ---------------------------------------------------------------------- |
|
1708 | --------- Подфункция 2 - получить текущую папку для потока. ---------- |
1707 | --------- Подфункция 2 - получить текущую папку для потока. ---------- |
1709 | Параметры: |
1708 | Параметры: |
1710 | * eax = 30 - номер функции |
1709 | * eax = 30 - номер функции |
1711 | * ebx = 2 - номер подфункции |
1710 | * ebx = 2 - номер подфункции |
1712 | * ecx = указатель на буфер |
1711 | * ecx = указатель на буфер |
1713 | * edx = размер буфера |
1712 | * edx = размер буфера |
1714 | Возвращаемое значение: |
1713 | Возвращаемое значение: |
1715 | * eax = длина имени текущей папки (включая завершающий 0) |
1714 | * eax = длина строки (включая завершающий 0) |
1716 | Замечания: |
1715 | Замечания: |
1717 | * Если размера буфера недостаточно для копирования всего имени, |
1716 | * Если размера буфера недостаточно для копирования всего пути, |
1718 | копируются только первые (edx-1) байт и в конце ставится |
1717 | копируются только часть строки и в конце ставится завершающий 0. |
1719 | завершающий 0. |
- | |
1720 | * По умолчанию, текущая папка для потока - "/rd/1". |
1718 | * По умолчанию, текущая папка для потока - "/rd/1". |
1721 | * При создании процесса/потока текущая папка наследуется от |
1719 | * При создании процесса/потока текущая папка наследуется от |
1722 | родителя. |
1720 | родителя. |
1723 | - | ||
- | 1721 | ---------------------------------------------------------------------- |
|
1724 | ---- Подфункция 3 - установить доп. системную директорию для ядра ---- |
1722 | ---- Подфункция 3 - установить доп. системную директорию для ядра ---- |
1725 | Параметры: |
1723 | Параметры: |
1726 | * eax = 30 - номер функции |
1724 | * eax = 30 - номер функции |
1727 | * ebx = 3 - номер подфункции |
1725 | * ebx = 3 - номер подфункции |
1728 | * ecx = указатель на блок данных: |
1726 | * ecx = указатель на блок данных: |
1729 | для кодировки cp866: |
- | |
1730 | key rb 64 |
1727 | key rb 64 |
1731 | path rb 64 |
1728 | path rb 64 |
1732 | для кодировки UTF-16LE: |
- | |
1733 | key rb 64 |
- | |
1734 | dw 2 |
- | |
1735 | path rw 31 |
- | |
1736 | Пример: |
1729 | Пример: |
1737 | align 64 |
1730 | align 64 |
1738 | key db 'kolibrios',0 ; ключ должен быть в нижнем регистре |
1731 | key db 'kolibrios',0 ; ключ должен быть в нижнем регистре |
1739 | align 64 |
1732 | align 64 |
1740 | path db 'HD0/1',0 |
1733 | path db 'HD0/1',0 |
Line 1741... | Line 1734... | ||
1741 | 1734 | ||
1742 | Возвращаемое значение: |
1735 | Возвращаемое значение: |
1743 | * функция не возвращает значения |
1736 | * функция не возвращает значения |
1744 | Замечания: |
1737 | Замечания: |
1745 | * Функция может быть вызвана только 1 раз за 1 сессию работы ОС. |
1738 | * Функция может быть вызвана только 1 раз за 1 сессию работы ОС. |
1746 | * Кодировка не влияет на символьный ключ. |
- | |
- | 1739 | * При вводе пути символьный ключ не зависит от кодировки. |
|
1747 | 1740 | ---------------------------------------------------------------------- |
|
1748 | ----- Подфункция 4 - получить текущую папку в кодировке UTF-16LE ----- |
1741 | --- Подфункция 4 - установить текущую папку с указанием кодировки. --- |
1749 | Параметры: |
1742 | Параметры: |
1750 | * eax = 30 - номер функции |
1743 | * eax = 30 - номер функции |
- | 1744 | * ebx = 4 - номер подфункции |
|
- | 1745 | * ecx = указатель на строку с путём к новой текущей папке |
|
- | 1746 | * edx = кодировка строки, подробности указаны в описании функции 80. |
|
- | 1747 | Возвращаемое значение: |
|
- | 1748 | * функция не возвращает значения |
|
- | 1749 | ---------------------------------------------------------------------- |
|
- | 1750 | ---- Подфункция 5 - получить текущую папку с указанием кодировки. ---- |
|
- | 1751 | Параметры: |
|
- | 1752 | * eax = 30 - номер функции |
|
1751 | * ebx = 4 - номер подфункции |
1753 | * ebx = 5 - номер подфункции |
1752 | * ecx = указатель на буфер |
1754 | * ecx = указатель на буфер |
- | 1755 | * edx = размер буфера |
|
1753 | * edx = размер буфера |
1756 | * esi = кодировка строки |
1754 | Возвращаемое значение: |
1757 | Возвращаемое значение: |
1755 | * eax = количество символов в строке (включая завершающий 0) |
1758 | * eax = длина строки в байтах (включая завершающий 0) |
1756 | Замечания: |
1759 | Замечания: |
1757 | * Если размера буфера недостаточно для копирования всего имени, |
1760 | * Если размера буфера недостаточно для копирования всего пути, |
1758 | копируются только первые (edx-2) байт и в конце ставится |
- | |
1759 | завершающий 0. |
1761 | копируются только часть строки и в конце ставится завершающий 0. |
1760 | * По умолчанию, текущая папка для потока - "/rd/1". |
1762 | * По умолчанию, текущая папка для потока - "/rd/1". |
1761 | * При создании процесса/потока текущая папка наследуется от |
1763 | * При создании процесса/потока текущая папка наследуется от |
Line 1762... | Line 1764... | ||
1762 | родителя. |
1764 | родителя. |
Line 3378... | Line 3380... | ||
3378 | 3380 | ||
3379 | ---------------------- Константы для регистров: ---------------------- |
3381 | ---------------------- Константы для регистров: ---------------------- |
3380 | eax - SF_SYS_MISC (68) |
3382 | eax - SF_SYS_MISC (68) |
3381 | ebx - SSF_CONTROL_DRIVER (17) |
3383 | ebx - SSF_CONTROL_DRIVER (17) |
3382 | ====================================================================== |
3384 | ====================================================================== |
3383 | ============= Функция 68, подфункция 19 - загрузить DLL. ============= |
3385 | == Функция 68, подфункция 18 - загрузить DLL с указанием кодировки. == |
3384 | ====================================================================== |
3386 | ====================================================================== |
3385 | Параметры: |
3387 | Параметры: |
3386 | * eax = 68 - номер функции |
3388 | * eax = 68 - номер функции |
3387 | * ebx = 19 - номер подфункции |
3389 | * ebx = 18 - номер подфункции |
3388 | * ecx = указатель на строку с путём к DLL, |
3390 | * ecx = указатель на строку с путём к DLL |
3389 | правила формирования строки указаны в описании функции 70. |
3391 | * edx = кодировка строки, подробности указаны в описании функции 80. |
3390 | Возвращаемое значение: |
3392 | Возвращаемое значение: |
3391 | * eax = 0 - неудача |
3393 | * eax = 0 - неудача |
3392 | * иначе eax = указатель на таблицу экспорта DLL |
3394 | * иначе eax = указатель на таблицу экспорта DLL |
3393 | Замечания: |
3395 | Замечания: |
3394 | * Таблица экспорта представляет собой массив структур по 2 dword'а, |
3396 | * Таблица экспорта представляет собой массив структур по 2 dword'а, |
3395 | заканчивающийся нулём. Первый dword в структуре является |
3397 | заканчивающийся нулём. Первый dword в структуре является |
Line -... | Line 3398... | ||
- | 3398 | указателем на имя функции, второй содержит адрес функции. |
|
- | 3399 | ||
- | 3400 | ====================================================================== |
|
- | 3401 | ============= Функция 68, подфункция 19 - загрузить DLL. ============= |
|
- | 3402 | ====================================================================== |
|
- | 3403 | Параметры: |
|
- | 3404 | * eax = 68 - номер функции |
|
- | 3405 | * ebx = 19 - номер подфункции |
|
- | 3406 | * ecx = указатель на строку с путём к DLL, |
|
- | 3407 | правила формирования строки указаны в описании функции 70. |
|
- | 3408 | Возвращаемое значение: |
|
- | 3409 | * eax = 0 - неудача |
|
3396 | указателем на имя функции, второй содержит адрес функции. |
3410 | * иначе eax = указатель на таблицу экспорта DLL |
3397 | 3411 | ||
3398 | ---------------------- Константы для регистров: ---------------------- |
3412 | ---------------------- Константы для регистров: ---------------------- |
3399 | eax - SF_SYS_MISC (68) |
3413 | eax - SF_SYS_MISC (68) |
3400 | ebx - SSF_LOAD_DLL (19) |
3414 | ebx - SSF_LOAD_DLL (19) |
Line 3555... | Line 3569... | ||
3555 | 3569 | ||
3556 | ---------------------- Константы для регистров: ---------------------- |
3570 | ---------------------- Константы для регистров: ---------------------- |
3557 | eax - SF_SYS_MISC (68) |
3571 | eax - SF_SYS_MISC (68) |
3558 | ebx - SSF_SET_EXCEPTION_STATE (25) |
3572 | ebx - SSF_SET_EXCEPTION_STATE (25) |
3559 | ====================================================================== |
3573 | ====================================================================== |
3560 | = Функция 68, подфункция 26 - освободить страницы памяти ============ |
3574 | ======= Функция 68, подфункция 26 - освободить страницы памяти ======= |
3561 | ====================================================================== |
3575 | ====================================================================== |
3562 | Параметры: |
3576 | Параметры: |
3563 | * eax = 68 - номер функции |
3577 | * eax = 68 - номер функции |
3564 | * ebx = 26 - номер подфункции |
3578 | * ebx = 26 - номер подфункции |
Line 3571... | Line 3585... | ||
3571 | 3585 | ||
3572 | ---------------------- Константы для регистров: ---------------------- |
3586 | ---------------------- Константы для регистров: ---------------------- |
3573 | eax - SF_SYS_MISC (68) |
3587 | eax - SF_SYS_MISC (68) |
3574 | ebx - SSF_MEM_FREE_EXT (26) |
3588 | ebx - SSF_MEM_FREE_EXT (26) |
3575 | ====================================================================== |
3589 | ====================================================================== |
3576 | = Функция 68, подфункция 27 - загрузить файл =================== |
3590 | ============= Функция 68, подфункция 27 - загрузить файл ============= |
3577 | ====================================================================== |
3591 | ====================================================================== |
3578 | Параметры: |
3592 | Параметры: |
3579 | * eax = 68 - номер функции |
3593 | * eax = 68 - номер функции |
3580 | * ebx = 27 - номер подфункции |
3594 | * ebx = 27 - номер подфункции |
Line 3588... | Line 3602... | ||
3588 | 3602 | ||
3589 | ---------------------- Константы для регистров: ---------------------- |
3603 | ---------------------- Константы для регистров: ---------------------- |
3590 | eax - SF_SYS_MISC (68) |
3604 | eax - SF_SYS_MISC (68) |
3591 | ebx - SSF_LOAD_FILE (27) |
3605 | ebx - SSF_LOAD_FILE (27) |
- | 3606 | ====================================================================== |
|
- | 3607 | == Функция 68, подфункция 28 - загрузить файл с указанием кодировки == |
|
- | 3608 | ====================================================================== |
|
- | 3609 | Параметры: |
|
- | 3610 | * eax = 68 - номер функции |
|
- | 3611 | * ebx = 28 - номер подфункции |
|
- | 3612 | * ecx = указатель на строку с путём к файлу |
|
- | 3613 | * edx = кодировка строки, подробности указаны в описании функции 80. |
|
- | 3614 | Возвращаемое значение: |
|
- | 3615 | * eax = указатель на загруженный файл или 0 |
|
- | 3616 | * edx = размер загруженного файла или 0 |
|
- | 3617 | Примечания: |
|
- | 3618 | * функция загружает и, при необходимости, распаковывает файл (kunpack) |
|
- | 3619 | ||
3592 | ====================================================================== |
3620 | ====================================================================== |
3593 | ======================== Функция 69 - отладка. ======================= |
3621 | ======================== Функция 69 - отладка. ======================= |
3594 | ====================================================================== |
3622 | ====================================================================== |
3595 | Процесс может загрузить другой процесс как отлаживаемый установкой |
3623 | Процесс может загрузить другой процесс как отлаживаемый установкой |
3596 | соответствующего бита при вызове подфункции 7 функции 70. |
3624 | соответствующего бита при вызове подфункции 7 функции 70. |
Line 3889... | Line 3917... | ||
3889 | * eax = 0 - успешно; иначе код ошибки файловой системы |
3917 | * eax = 0 - успешно; иначе код ошибки файловой системы |
3890 | * в зависимости от подфункции может возвращаться значение и |
3918 | * в зависимости от подфункции может возвращаться значение и |
3891 | в других регистрах |
3919 | в других регистрах |
3892 | Общий формат информационной структуры: |
3920 | Общий формат информационной структуры: |
3893 | * +0: dword: номер подфункции |
3921 | * +0: dword: номер подфункции |
3894 | * +4: dword: смещение в файле |
3922 | * +4: dword: смещение в файле или папке |
3895 | * +8: dword: старший dword смещения (должен быть 0) или поле флагов |
3923 | * +8: dword: старшая часть смещения или поле флагов |
3896 | * +12 = +0xC: dword: размер |
3924 | * +12 = +0xC: dword: размер данных |
3897 | * +16 = +0x10: dword: указатель на данные |
3925 | * +16 = +0x10: dword: указатель на данные |
3898 | * +20 = +0x14: ?: текстовая строка - путь к файлу, заканчивается нулём |
3926 | * +20 = +0x14: ?: текстовая строка - путь к файлу, заканчивается нулём |
3899 | или |
3927 | или |
3900 | * +20 = +0x14: byte: 0 |
3928 | * +20 = +0x14: byte: 0 |
3901 | * +21 = +0x15: dword: указатель на строку |
3929 | * +21 = +0x15: dword: указатель на строку |
3902 | Чувствительность к регистру букв зависит от файловой системы. |
3930 | Чувствительность к регистру букв зависит от файловой системы. |
3903 | Если путь начинается не с '/', то он считается относительным. |
3931 | Если путь начинается не с '/', то он считается относительным. |
3904 | Получить или установить текущую папку можно с помощью сисфункции 30. |
3932 | Получить или установить текущую папку можно с помощью сисфункции 30. |
3905 | '../' в начале пути означает подъём на одну папку относительно текущей. |
3933 | '../' в пути означает подъём на одну папку относительно текущей. |
3906 | Можно указать кодировку строки, поместив в её начале байт со значениями: |
3934 | Можно указать кодировку строки, поместив в её начале байт со значениями: |
3907 | * 1 = cp866 |
3935 | * 1 = cp866 |
3908 | * 2 = UTF-16LE |
3936 | * 2 = UTF-16LE |
3909 | * 3 = UTF-8 |
3937 | * 3 = UTF-8 |
3910 | иначе будет использоваться кодировка cp866. В абсолютном пути можно |
3938 | иначе будет использоваться кодировка cp866. В абсолютном пути можно |
3911 | поместить этот байт после '/' или добавить дополнительный '/' перед ним. |
3939 | поместить этот байт после '/' или добавить дополнительный '/' перед ним. |
- | 3940 | Также, можно использовать сисфункцию 80. |
|
3912 | Формат абсолютного пути: |
3941 | Формат абсолютного пути: |
3913 | /base/number/dir1/dir2/.../dirn/file, |
3942 | /base/number/dir1/dir2/.../dirn/file, |
3914 | где base/number идентифицирует устройство, на котором ищется файл: |
3943 | где base/number идентифицирует устройство, на котором ищется файл: |
3915 | * RD/1 = рамдиск |
3944 | * RD/1 = рамдиск |
3916 | * FD/1 = первый флоппи-дисковод, |
3945 | * FD/1 = первый флоппи-дисковод, |
Line 3990... | Line 4019... | ||
3990 | * ebx = указатель на информационную структуру |
4019 | * ebx = указатель на информационную структуру |
3991 | Формат информационной структуры: |
4020 | Формат информационной структуры: |
3992 | * +0: dword: 1 = номер подфункции |
4021 | * +0: dword: 1 = номер подфункции |
3993 | * +4: dword: индекс начального блока (считая с 0) |
4022 | * +4: dword: индекс начального блока (считая с 0) |
3994 | * +8: dword: в какой кодировке возвращать имена: |
4023 | * +8: dword: в какой кодировке возвращать имена: |
3995 | 0 = cp866 -> байт на символ |
4024 | 0 = по умолчанию |
- | 4025 | 1 = cp866 |
|
3996 | 1 = UTF-16LE -> 2 байта на символ |
4026 | 2 = UTF-16LE |
- | 4027 | 3 = UTF-8 |
|
3997 | * +12 = +0xC: dword: сколько блоков читать |
4028 | * +12 = +0xC: dword: сколько блоков читать |
3998 | * +16 = +0x10: dword: указатель на буфер, куда будут записаны |
4029 | * +16 = +0x10: dword: указатель на буфер, куда будут записаны данные. |
3999 | данные, размер буфера должен быть не меньше 32+n(40+256*enc+8) байт |
- | |
4000 | * +20 = +0x14: путь, правила формирования имён указаны в общем описании |
4030 | * +20 = +0x14: путь, правила формирования имён указаны в общем описании |
4001 | Возвращаемое значение: |
4031 | Возвращаемое значение: |
4002 | * eax = 0 - успешно, иначе код ошибки файловой системы |
4032 | * eax = 0 - успешно, иначе код ошибки файловой системы |
4003 | * ebx = число файлов, информация о которых была записана в буфер, |
4033 | * ebx = число файлов, информация о которых была записана в буфер, |
4004 | или -1=0xffffffff, если папка не найдена |
4034 | или -1=0xffffffff, если папка не найдена |
Line 4027... | Line 4057... | ||
4027 | архивации имеют опцию, по которой архивируются только файлы |
4057 | архивации имеют опцию, по которой архивируются только файлы |
4028 | с установленным этим битом, после чего этот бит сбрасывается - |
4058 | с установленным этим битом, после чего этот бит сбрасывается - |
4029 | это может быть полезно для автоматического создания |
4059 | это может быть полезно для автоматического создания |
4030 | backup-архивов, ибо при записи бит обычно устанавливается |
4060 | backup-архивов, ибо при записи бит обычно устанавливается |
4031 | (не в Kolibri, правда) |
4061 | (не в Kolibri, правда) |
4032 | * +4: dword: кодировка имени: |
4062 | * +4: dword: кодировка имени, соответствует полю +8 информационной структуры |
4033 | * 0 = cp866 -> байт на символ |
- | |
4034 | * 1 = UTF-16LE -> 2 байта на символ |
- | |
4035 | * +8: 4*byte: время создания файла |
4063 | * +8: 4*byte: время создания файла |
4036 | * +12 = +0xC: 4*byte: дата создания файла |
4064 | * +12 = +0xC: 4*byte: дата создания файла |
4037 | * +16 = +0x10: 4*byte: время последнего доступа (чтение или запись) |
4065 | * +16 = +0x10: 4*byte: время последнего доступа (чтение или запись) |
4038 | * +20 = +0x14: 4*byte: дата последнего доступа |
4066 | * +20 = +0x14: 4*byte: дата последнего доступа |
4039 | * +24 = +0x18: 4*byte: время последней модификации |
4067 | * +24 = +0x18: 4*byte: время последней модификации |
4040 | * +28 = +0x1C: 4*byte: дата последней модификации |
4068 | * +28 = +0x1C: 4*byte: дата последней модификации |
4041 | * +32 = +0x20: qword: размер файла в байтах (до 16777216 Тб) |
4069 | * +32 = +0x20: qword: размер файла в байтах (до 16777216 Тб) |
4042 | * +40 = +0x28: (256*enc+8)*byte: имя |
4070 | * +40 = +0x28: имя, размер в cp866 составляет 264 байта, иначе - 520 байт. |
4043 | Формат времени: |
4071 | Формат времени: |
4044 | * +0: byte: секунды |
4072 | * +0: byte: секунды |
4045 | * +1: byte: минуты |
4073 | * +1: byte: минуты |
4046 | * +2: byte: часы |
4074 | * +2: byte: часы |
4047 | * +3: byte: зарезервировано (0) |
4075 | * +3: byte: зарезервировано (0) |
Line 4050... | Line 4078... | ||
4050 | * +0: byte: день |
4078 | * +0: byte: день |
4051 | * +1: byte: месяц |
4079 | * +1: byte: месяц |
4052 | * +2: word: год |
4080 | * +2: word: год |
4053 | * например, 25.11.1979 записывается как (в hex) 19 0B BB 07 |
4081 | * например, 25.11.1979 записывается как (в hex) 19 0B BB 07 |
4054 | Замечания: |
4082 | Замечания: |
4055 | * Если в БДВК присутствует имя в cp866, то длина БДВК составляет |
4083 | * Если БДВК содержит имя в cp866, то длина БДВК составляет |
4056 | 304 байта, если в UTF-16LE - 560 байт. Значение длины выравнено |
4084 | 304 байта, иначе - 560 байт. |
4057 | на целое кратное 16 байт для ускорения обработки в кэш-памяти CPU. |
- | |
4058 | * Строка имени заканчивается нулём, дальнейшие данные содержат мусор. |
4085 | * Строка имени заканчивается нулём, дальнейшие данные содержат мусор. |
4059 | * Если файлы в папке кончились раньше, чем было прочитано |
4086 | * Если файлы в папке кончились раньше, чем было прочитано |
4060 | запрошенное количество, то функция прочитает, сколько сможет, |
4087 | запрошенное количество, то функция прочитает, сколько сможет, |
4061 | после чего вернёт eax=6 (EOF). |
4088 | после чего вернёт eax=6 (EOF). |
4062 | * Любая папка на диске, кроме корневой, содержит два специальных |
4089 | * Любая папка на диске, кроме корневой, содержит два специальных |
Line 4833... | Line 4860... | ||
4833 | вызовом подфункции 2 функции 18. |
4860 | вызовом подфункции 2 функции 18. |
Line 4834... | Line 4861... | ||
4834 | 4861 | ||
4835 | ---------------------- Константы для регистров: ---------------------- |
4862 | ---------------------- Константы для регистров: ---------------------- |
4836 | eax - SF_TERMINATE_PROCESS (-1) |
4863 | eax - SF_TERMINATE_PROCESS (-1) |
- | 4864 | ====================================================================== |
|
- | 4865 | === Функция 80 - работа с файловой системой с указанием кодировки. === |
|
- | 4866 | ====================================================================== |
|
- | 4867 | Параметры: |
|
- | 4868 | * eax = 80 |
|
- | 4869 | * ebx = указатель на информационную структуру |
|
- | 4870 | Возвращаемое значение: |
|
- | 4871 | * eax = 0 - успешно; иначе код ошибки файловой системы |
|
- | 4872 | * в зависимости от подфункции может возвращаться значение и |
|
- | 4873 | в других регистрах |
|
- | 4874 | Общий формат информационной структуры: |
|
- | 4875 | * +0: dword: номер подфункции |
|
- | 4876 | * +4: dword: смещение в файле или папке |
|
- | 4877 | * +8: dword: старшая часть смещения или поле флагов |
|
- | 4878 | * +12 = +0xC: dword: размер данных |
|
- | 4879 | * +16 = +0x10: dword: указатель на данные |
|
- | 4880 | * +20 = +0x14: dword: кодировка строки: |
|
- | 4881 | 1 = cp866 |
|
- | 4882 | 2 = UTF-16LE |
|
- | 4883 | 3 = UTF-8 |
|
- | 4884 | 0 = по умолчанию (поддерживает байт кодировки в начале строки) |
|
- | 4885 | * +24 = +0x18: dword: указатель на строку пути (заканчивается нулём) |
|
- | 4886 | ||
- | 4887 | В остальном полностью соответствует функции 70. |
|
- | 4888 | ||
4837 | ====================================================================== |
4889 | ====================================================================== |
4838 | =========================== Список событий =========================== |
4890 | =========================== Список событий =========================== |
4839 | ====================================================================== |
4891 | ====================================================================== |
4840 | Очередное событие можно получить вызовом одной из функций 10 |
4892 | Очередное событие можно получить вызовом одной из функций 10 |
4841 | (ожидать события), 11 (проверить без ожидания), 23 |
4893 | (ожидать события), 11 (проверить без ожидания), 23 |