Rev 6917 | Rev 7121 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6917 | Rev 6974 | ||
---|---|---|---|
Line 2575... | Line 2575... | ||
2575 | * 1 = Текст с блочным выделением |
2575 | * 1 = Текст с блочным выделением |
2576 | * 2 = Изображение |
2576 | * 2 = Изображение |
2577 | * 3 = RAW |
2577 | * 3 = RAW |
2578 | * 4 и выше зарезервировано |
2578 | * 4 и выше зарезервировано |
2579 | * +8: более детально смотрите файл clipboard_container_rus.txt |
2579 | * +8: более детально смотрите файл clipboard_container_rus.txt |
- | 2580 | * Функция должна использоваться совместно с 68.11. Приложение должно |
|
- | 2581 | предварительно проинициализировать локальную кучу вызовом 68.11. |
|
Line 2580... | Line 2582... | ||
2580 | 2582 | ||
2581 | ---------------------- Константы для регистров: ---------------------- |
2583 | ---------------------- Константы для регистров: ---------------------- |
2582 | eax - SF_CLIPBOARD (54) |
2584 | eax - SF_CLIPBOARD (54) |
2583 | ebx - SSF_READ_CB (1) |
2585 | ebx - SSF_READ_CB (1) |
Line 2987... | Line 2989... | ||
2987 | Возвращаемое значение: |
2989 | Возвращаемое значение: |
2988 | * eax = 0 - успешно |
2990 | * eax = 0 - успешно |
2989 | * eax = 1 - недостаточно памяти |
2991 | * eax = 1 - недостаточно памяти |
2990 | Замечания: |
2992 | Замечания: |
2991 | * Есть другой способ выделения/освобождения динамической памяти - |
2993 | * Есть другой способ выделения/освобождения динамической памяти - |
- | 2994 | подфункции 11, 12, 13 функции 68. |
|
2992 | подфункции 12, 13 и 20 функции 68, но после их использования будет |
2995 | * Функция не может использоваться совместно с 68.11, 68.12, 68.13. |
2993 | создана куча процесса и вызов функции 64 будет игнорироваться. |
2996 | Вызов функции будет игнорироваться, если приложение создаст |
- | 2997 | локальную кучу вызовом 68.11. |
|
Line 2994... | Line 2998... | ||
2994 | 2998 | ||
2995 | ---------------------- Константы для регистров: ---------------------- |
2999 | ---------------------- Константы для регистров: ---------------------- |
2996 | eax - SF_MEMORY_RESIZE (64) |
3000 | eax - SF_MEMORY_RESIZE (64) |
2997 | ====================================================================== |
3001 | ====================================================================== |
Line 3290... | Line 3294... | ||
3290 | 3294 | ||
3291 | ---------------------- Константы для регистров: ---------------------- |
3295 | ---------------------- Константы для регистров: ---------------------- |
3292 | eax - SF_SYS_MISC (68) |
3296 | eax - SF_SYS_MISC (68) |
3293 | ebx - SSF_WRITE_MSR (4) |
3297 | ebx - SSF_WRITE_MSR (4) |
3294 | ====================================================================== |
3298 | ====================================================================== |
3295 | = Функция 68, подфункция 11 - вручную инициализировать кучу процесса = |
3299 | ===== Функция 68, подфункция 11 - инициализировать кучу процесса. ==== |
3296 | ====================================================================== |
3300 | ====================================================================== |
3297 | Параметры: |
3301 | Параметры: |
3298 | * eax = 68 - номер функции |
3302 | * eax = 68 - номер функции |
3299 | * ebx = 11 - номер подфункции |
3303 | * ebx = 11 - номер подфункции |
Line 3445... | Line 3449... | ||
3445 | * ecx = новый размер в байтах |
3449 | * ecx = новый размер в байтах |
3446 | * edx = указатель на уже выделенный блок памяти |
3450 | * edx = указатель на уже выделенный блок памяти |
3447 | Возвращаемое значение: |
3451 | Возвращаемое значение: |
3448 | * eax = указатель на перераспределённый блок, 0 при ошибке |
3452 | * eax = указатель на перераспределённый блок, 0 при ошибке |
3449 | Замечания: |
3453 | Замечания: |
- | 3454 | * Предварительно следует инициализировать кучу процесса вызовом |
|
- | 3455 | подфункции 11. |
|
3450 | * Функция выделяет целое число страниц (4 Кб) так, что фактический |
3456 | * Функция выделяет целое число страниц (4 Кб) так, что фактический |
3451 | размер выделенного блока больше или равен запрошенному. |
3457 | размер выделенного блока больше или равен запрошенному. |
3452 | * Если edx=0, то вызов функции эквивалентен выделению памяти |
3458 | * Если edx=0, то вызов функции эквивалентен выделению памяти |
3453 | подфункцией 12. В противном случае блок памяти по адресу edx |
3459 | подфункцией 12. В противном случае блок памяти по адресу edx |
3454 | должен быть ранее выделен подфункцией 12 или |
3460 | должен быть ранее выделен подфункцией 12 или |
Line 3508... | Line 3514... | ||
3508 | * E_NOTFOUND = 5 |
3514 | * E_NOTFOUND = 5 |
3509 | * E_ACCESS = 10 |
3515 | * E_ACCESS = 10 |
3510 | * E_NOMEM = 30 |
3516 | * E_NOMEM = 30 |
3511 | * E_PARAM = 33 |
3517 | * E_PARAM = 33 |
3512 | Замечания: |
3518 | Замечания: |
- | 3519 | * Предварительно следует инициализировать кучу процесса вызовом |
|
- | 3520 | подфункции 11. |
|
3513 | * Если создаётся новая область, то флаги доступа устанавливают |
3521 | * Если создаётся новая область, то флаги доступа устанавливают |
3514 | максимальные права доступа для остальных процессов. Попытка |
3522 | максимальные права доступа для остальных процессов. Попытка |
3515 | открытия другим потоком с неразрешёнными правами провалится |
3523 | открытия другим потоком с неразрешёнными правами провалится |
3516 | с кодом ошибки E_ACCESS. |
3524 | с кодом ошибки E_ACCESS. |
3517 | * Процесс, создавший область, всегда имеет доступ на запись. |
3525 | * Процесс, создавший область, всегда имеет доступ на запись. |
Line 3617... | Line 3625... | ||
3617 | Возвращаемое значение: |
3625 | Возвращаемое значение: |
3618 | * eax = указатель на загруженный файл или 0 |
3626 | * eax = указатель на загруженный файл или 0 |
3619 | * edx = размер загруженного файла или 0 |
3627 | * edx = размер загруженного файла или 0 |
3620 | Примечания: |
3628 | Примечания: |
3621 | * функция загружает и, при необходимости, распаковывает файл (kunpack) |
3629 | * функция загружает и, при необходимости, распаковывает файл (kunpack) |
- | 3630 | * Предварительно следует инициализировать кучу процесса вызовом |
|
- | 3631 | подфункции 11. |
|
Line 3622... | Line 3632... | ||
3622 | 3632 | ||
3623 | ---------------------- Константы для регистров: ---------------------- |
3633 | ---------------------- Константы для регистров: ---------------------- |
3624 | eax - SF_SYS_MISC (68) |
3634 | eax - SF_SYS_MISC (68) |
3625 | ebx - SSF_LOAD_FILE (27) |
3635 | ebx - SSF_LOAD_FILE (27) |