Function 54
and its subfunctions (0-4, 55)
Subfunction 0 - Find out the
number of slots in the clipboard.
Options:
·
eax =
54 - function number
·
ebx =
0 - number of subfunction
Return value:
·
eax =
number of slots in the buffer
·
eax =
-1 - the main list area is missing
Constants for registers:
eax -
SF_CLIPBOARD (54)
ebx -
SSF_GET_SLOT_COUNT (0)
Subfunction 1 - Read data from the clipboard.
Options:
·
eax =
54 - function number
·
ebx =
1 - number of subfunction
·
ecx =
slot number
Return value:
·
eax =
if successful - a pointer to the memory area with data
·
eax =
1 - error
·
eax =
-1 - the main list area is missing
Remarks:
·
the buffer pointed to by eax
contains the following information:
o
+ 0: dword: total data
length
o
+4: dword: defines the type
of data:
§ 0 =
Text
§ 1 =
Text with block selection
§ 2 =
Image
§ 3 =
RAW
§ 4
and above reserved
o
+8: See the clipboard_container_rus.txt file for more
details.
·
The function should be used in conjunction with 68.11.
An application must first initialize the local heap by calling 68.11.
Constants for registers:
eax -
SF_CLIPBOARD (54)
ebx -
SSF_READ_CB (1)
Subfunction 2 - Write data to
the clipboard.
Options:
·
eax =
54 - function number
·
ebx =
2 - subfunction number
·
ecx =
number of bytes copied
·
edx =
pointer to buffer for copied data
Return value:
·
eax =
0 - successful
·
eax =
1 - error
·
eax =
-1 - the main list area is missing
Constants for registers:
eax -
SF_CLIPBOARD (54)
ebx -
SSF_WRITE_CB (2)
Subfunction 3 - Delete the last
slot with data in the clipboard
Options:
·
eax =
54 - function number
·
ebx =
3 - subfunction number
Return value:
·
eax =
0 - successful
·
eax =
1 - error
·
eax =
-1 - the main list area is missing
Constants for registers:
eax -
SF_CLIPBOARD (54)
ebx -
SSF_DEL_SLOT (3)
Subfunction 4 - Failure buffer
lock
Options:
·
eax =
54 - function number
·
ebx =
4 - subfunction number
Return value:
·
eax =
0 - successful
·
eax =
-1 - the main list area is missing or there is no lock.
Remarks:
·
It
is used in exceptional cases when a frozen application or a dead application
has blocked work with the clipboard.
Constants for registers:
eax -
SF_CLIPBOARD (54)
ebx -
SSF_UNLOCK_BUFFER (4)