Difference between revisions of "SysFn54/ru"
Jump to navigation
Jump to search
Punk Joker (talk | contribs) |
Punk Joker (talk | contribs) |
||
Line 48: | Line 48: | ||
* Используется в исключительных случаях, когда зависшее или убитое приложение заблокировало работу с буфером обмена. | * Используется в исключительных случаях, когда зависшее или убитое приложение заблокировало работу с буфером обмена. | ||
+ | Содержимое контейнера буфера обмена | ||
+ | |||
+ | 1. Первый dword содержит общую длину данных в контейнере | ||
+ | |||
+ | 2. Второй dword указывает тип данныx: | ||
+ | :0 = Текст | ||
+ | :1 = Изображение | ||
+ | :2 = RAW | ||
+ | :4 и выше зарезервировано | ||
+ | |||
+ | 2.1 Текст | ||
+ | ::Данные в третьем dword содержат тип: | ||
+ | ::0 = UTF | ||
+ | ::1 = 0866:: | ||
+ | ::2 = 1251 | ||
+ | ::3 и выше зарезервировано | ||
+ | |||
+ | 2.2 Изображение | ||
+ | ::Третий dword - размер по X | ||
+ | ::Четвертый dword - размер по Y | ||
+ | ::Пятый dword - глубина цвета в битах (8, 16, 24, 32, 48, 64) | ||
+ | ::Шестой dword - Указатель на палитру (смещение от начала файла). | ||
+ | :::::::Если палитры нет то значение 0 | ||
+ | ::Седьмой dword - Размер области палитры, максимальное значение 256*4=1024байт. | ||
+ | :::::::Если палитры нет то значение 0 | ||
+ | ::Восьмой dword - Указатель на данные пикселей для R, G, B. | ||
+ | ::Девятый dword - Размер области данных для пикселей. | ||
+ | :: | ||
+ | 2.3 RAW | ||
+ | ::Может содержать любые данные, т.к. содержимое на усмотрение программиста | ||
{{System_functions}} | {{System_functions}} | ||
[[Category: SysCalls]] | [[Category: SysCalls]] |
Revision as of 00:14, 6 January 2014
Функция 54 - работа с буфером обмена
Подфункция 0 - узнать количество слотов в буфере обмена.
Параметры:
- eax = 54 - номер функции
- ebx = 0 - номер подфункции
Возвращаемое значение:
- eax = количество слотов в буфере
- eax = -1 - отсутствует область главного списка
Подфункция 1 - считать данные из буфера обмена.
Параметры:
- eax = 54 - номер функции
- ebx = 1 - номер подфункции
- eсx = номер слота
Возвращаемое значение:
- eax = если успешно - указатель на область памяти с данными
- eax = 1 - ошибка
- eax = -1 - отсутствует область главного списка
Подфункция 2 - записать данные в буфер обмена.
Параметры:
- eax = 54 - номер функции
- ebx = 2 - номер подфункции
- eсx = количество копируемых байт
- edx = указатель на буфер под копируемые данные
Возвращаемое значение:
- eax = 0 - успешно
- eax = 1 - ошибка
- eax = -1 - отсутствует область главного списка
Подфункция 3 - удалить последний слот с данными в буфере обмена
Параметры:
- eax = 54 - номер функции
- ebx = 3 - номер подфункции
Возвращаемое значение:
- eax = 0 - успешно
- eax = 1 - ошибка
- eax = -1 - отсутствует область главного списка
Подфункция 4 - аварийный сброс блокировки буфера
Параметры:
- eax = 54 - номер функции
- ebx = 4 - номер подфункции
Возвращаемое значение:
- eax = 0 - успешно
- eax = -1 - отсутствует область главного списка или нет блокировки
Замечания:
- Используется в исключительных случаях, когда зависшее или убитое приложение заблокировало работу с буфером обмена.
Содержимое контейнера буфера обмена
1. Первый dword содержит общую длину данных в контейнере
2. Второй dword указывает тип данныx:
- 0 = Текст
- 1 = Изображение
- 2 = RAW
- 4 и выше зарезервировано
2.1 Текст
- Данные в третьем dword содержат тип:
- 0 = UTF
- 1 = 0866::
- 2 = 1251
- 3 и выше зарезервировано
2.2 Изображение
- Третий dword - размер по X
- Четвертый dword - размер по Y
- Пятый dword - глубина цвета в битах (8, 16, 24, 32, 48, 64)
- Шестой dword - Указатель на палитру (смещение от начала файла).
- Если палитры нет то значение 0
- Седьмой dword - Размер области палитры, максимальное значение 256*4=1024байт.
- Если палитры нет то значение 0
- Восьмой dword - Указатель на данные пикселей для R, G, B.
- Девятый dword - Размер области данных для пикселей.
2.3 RAW
- Может содержать любые данные, т.к. содержимое на усмотрение программиста
|