Subversion Repositories Kolibri OS

Rev

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)