2577,8 → 2577,6 |
* 3 = RAW |
* 4 и выше зарезервировано |
* +8: более детально смотрите файл clipboard_container_rus.txt |
* Функция должна использоваться совместно с 68.11. Приложение должно |
предварительно проинициализировать локальную кучу вызовом 68.11. |
|
---------------------- Константы для регистров: ---------------------- |
eax - SF_CLIPBOARD (54) |
2991,10 → 2989,8 |
* eax = 1 - недостаточно памяти |
Замечания: |
* Есть другой способ выделения/освобождения динамической памяти - |
подфункции 11, 12, 13 функции 68. |
* Функция не может использоваться совместно с 68.11, 68.12, 68.13. |
Вызов функции будет игнорироваться, если приложение создаст |
локальную кучу вызовом 68.11. |
подфункции 12, 13 и 20 функции 68, но после их использования будет |
создана куча процесса и вызов функции 64 будет игнорироваться. |
|
---------------------- Константы для регистров: ---------------------- |
eax - SF_MEMORY_RESIZE (64) |
3296,7 → 3292,7 |
eax - SF_SYS_MISC (68) |
ebx - SSF_WRITE_MSR (4) |
====================================================================== |
===== Функция 68, подфункция 11 - инициализировать кучу процесса. ==== |
= Функция 68, подфункция 11 - вручную инициализировать кучу процесса = |
====================================================================== |
Параметры: |
* eax = 68 - номер функции |
3306,10 → 3302,9 |
* иначе размер созданной кучи |
Замечания: |
* Вызов функции инициализирует кучу, из которой впоследствии можно |
выделять и освобождать блоки памяти подфункциями 12 и 13. |
выделять и освобождать блоки памяти подфункциями 12, 13 и 20. |
* Если куча уже создана, функция вернёт размер существующей кучи. |
Размер кучи равен размеру всей свободной памяти приложения. |
* При повторном вызове функции тем же процессом функция вернёт |
размер существующей кучи. |
* После создания кучи вызовы функции 64 игнорируются. |
|
---------------------- Константы для регистров: ---------------------- |
3325,8 → 3320,6 |
Возвращаемое значение: |
* eax = указатель на выделенный блок |
Замечания: |
* Предварительно следует инициализировать кучу процесса вызовом |
подфункции 11. |
* Функция выделяет целое число страниц (4 Кб) так, что фактический |
размер выделенного блока больше или равен запрошенному. |
|
3454,8 → 3447,6 |
Возвращаемое значение: |
* eax = указатель на перераспределённый блок, 0 при ошибке |
Замечания: |
* Предварительно следует инициализировать кучу процесса вызовом |
подфункции 11. |
* Функция выделяет целое число страниц (4 Кб) так, что фактический |
размер выделенного блока больше или равен запрошенному. |
* Если edx=0, то вызов функции эквивалентен выделению памяти |
3519,8 → 3510,6 |
* E_NOMEM = 30 |
* E_PARAM = 33 |
Замечания: |
* Предварительно следует инициализировать кучу процесса вызовом |
подфункции 11. |
* Если создаётся новая область, то флаги доступа устанавливают |
максимальные права доступа для остальных процессов. Попытка |
открытия другим потоком с неразрешёнными правами провалится |