rpcrt4: Correctly align the buffer to read/write array data to.
[wine/multimedia.git] / dlls / twain_32 / TWAIN
blob29bc4f30fb0cfaa27dabe6eb4513a96383053864
1 Requirements to be a TWAIN-Compliant Source
2 Requirements
3 TWAIN-compliant Sources must support the following:
4 Operations
5 ----------
6 DG_CONTROL / DAT_CAPABILITY / MSG_GET
7 DG_CONTROL / DAT_CAPABILITY / MSG_GETCURRENT
8 DG_CONTROL / DAT_CAPABILITY / MSG_GETDEFAULT
9 DG_CONTROL / DAT_CAPABILITY / MSG_RESET
10 DG_CONTROL / DAT_CAPABILITY / MSG_SET
11 DG_CONTROL / DAT_EVENT / MSG_PROCESSEVENT
12 DG_CONTROL / DAT_IDENTITY / MSG_GET
13 DG_CONTROL / DAT_IDENTITY / MSG_OPENDS
14 DG_CONTROL / DAT_IDENTITY / MSG_CLOSEDS
15 DG_CONTROL / DAT_PENDINGXFERS / MSG_ENDXFER
16 DG_CONTROL / DAT_PENDINGXFERS / MSG_GET
17 DG_CONTROL / DAT_PENDINGXFERS / MSG_RESET
18 DG_CONTROL / DAT_SETUPMEMXFER / MSG_GET
19 DG_CONTROL / DAT_STATUS / MSG_GET
20 DG_CONTROL / DAT_USERINTERFACE / MSG_DISABLEDS
21 DG_CONTROL / DAT_USERINTERFACE / MSG_ENABLEDS
22 DG_CONTROL / DAT_XFERGROUP / MSG_GET
23 DG_IMAGE / DAT_IMAGEINFO / MSG_GET
24 DG_IMAGE / DAT_IMAGELAYOUT / MSG_GET
25 DG_IMAGE / DAT_IMAGELAYOUT / MSG_GETDEFAULT
26 DG_IMAGE / DAT_IMAGELAYOUT / MSG_RESET
27 DG_IMAGE / DAT_IMAGELAYOUT / MSG_SET
28 DG_IMAGE / DAT_IMAGEMEMXFER / MSG_GET
29 DG_IMAGE / DAT_IMAGENATIVEXFER / MSG_GET
31 Capabilities
32 ------------
33 Every Source must support all five DG_CONTROL / DAT_CAPABILITY operations on:
34 CAP_XFERCOUNT
35 Every Source must support DG_CONTROL / DAT_CAPABILITY MSG_GET on:
36 CAP_SUPPORTEDCAPS
37 CAP_UICONTROLLABLE
38 Sources that supply image information must support DG_CONTROL / DAT_CAPABILITY /
39 MSG_GET, MSG_GETCURRENT, MSG_GETDEFAULT on:
40 ICAP_COMPRESSION
41 ICAP_PLANARCHUNKY
42 ICAP_PHYSICALHEIGHT
43 ICAP_PHYSICALWIDTH
44 ICAP_PIXELFLAVOR
45 Sources that supply image information must support DG_CONTROL / DAT_CAPABILITY /
46 MSG_GET, MSG_GETCURRENT, MSG_GETDEFAULT, MSG_RESET and MSG_SET on:
47 ICAP_BITDEPTH
48 ICAP_BITORDER
49 ICAP_PIXELTYPE
50 ICAP_UNITS
51 ICAP_XFERMECH
52 ICAP_XRESOLUTION
53 ICAP_YRESOLUTION
54 All Sources must implement the advertised features supported by their devices. They must
55 make these features available to applications via the TWAIN protocol. For example, a Source
56 thats connected to a device that has an ADF must support DG_CONTROL /
57 DAT_CAPABILITY / MSG_GET, MSG_GETCURRENT, MSG_GETDEFAULT on:
58 CAP_FEEDERENABLED
59 CAP_FEEDERLOADED
60 and DG_CONTROL / DAT_CAPABILITY / MSG_GET, MSG_GETCURRENT,
61 MSG_GETDEFAULT, MSG_RESET and MSG_SET on:
62 CAP_AUTOFEED
63 If the ADF also supports ejecting and rewinding of pages then the Source should also support
64 DG_CONTROL / DAT_CAPABILITY / MSG_GET, MSG_GETCURRENT,
65 MSG_GETDEFAULT, MSG_RESET and MSG_SET on:
66 CAP_CLEARPAGE
67 CAP_REWINDPAGE
70 *******************************************************************************
72 From Application to Source Manager (Control Information)
74 Data Group              Data Argument Type      Message
75 DG_CONTROL              DAT_IDENTITY            MSG_CLOSEDS
76                                                 MSG_GETDEFAULT
77                                                 MSG_GETFIRST
78                                                 MSG_GETNEXT
79                                                 MSG_OPENDS
80                                                 MSG_USERSELECT
81 DG_CONTROL              DAT_PARENT              MSG_CLOSEDSM
82                                                 MSG_OPENDSM
83 DG_CONTROL              DAT_STATUS              MSG_GET
85 From Application to Source (Control Information)
86 Data Group              Data Argument Type      Message
87 DG_CONTROL              DAT_CAPABILITY          MSG_GET
88                                                 MSG_GETCURRENT
89                                                 MSG_GETDEFAULT
90                                                 MSG_QUERYSUPPORT
91                                                 MSG_RESET
92                                                 MSG_SET
93 DG_CONTROL              DAT_CUSTOMDSDATA        MSG_GET
94                                                 MSG_SET
95 DG_CONTROL              DAT_FILESYSTEM          MSG_AUTOMATICCAPTURE
96                                                 DIRECTORY
97                                                 MSG_CHANGEDIRECTORY
98                                                 MSG_COPY
99                                                 MSG_CREATEDIRECTORY
100                                                 MSG_DELETE
101                                                 MSG_FORMATMEDIA
102                                                 MSG_GETCLOSE
103                                                 MSG_GETFIRSTFILE
104                                                 MSG_GETINFO
105                                                 MSG_GETNEXTFILE
106                                                 MSG_RENAME
107 DG_CONTROL              DAT_EVENT               MSG_PROCESSEVENT
108 DG_CONTROL              DAT_PASSTHRU            MSG_PASSTHRU
109 DG_CONTROL              DAT_PENDINGXFERS        MSG_ENDXFER
110                                                 MSG_GET
111                                                 MSG_RESET
112                                                 MSG_STOPFEEDER
113 DG_CONTROL              DAT_SETUPFILEXFER       MSG_GET
114                                                 MSG_GETDEFAULT
115                                                 MSG_RESET
116                                                 MSG_SET
117 DG_CONTROL              DAT_SETUPFILEXFER2      MSG_GET
118                                                 MSG_GETDEFAULT
119                                                 MSG_RESET
120                                                 MSG_SET
121 DG_CONTROL              DAT_SETUPMEMXFER        MSG_GET
122 DG_CONTROL              DAT_STATUS              MSG_GET
123 DG_CONTROL              DAT_USERINTERFACE       MSG_DISABLEDS
124                                                 MSG_ENABLEDS
125                                                 MSG_ENABLEDSUIONLY
126 DG_CONTROL              DAT_XFERGROUP           MSG_GET
127                                                 MSG_SET
129 From Application to Source (Image Information)
130 Data Group              Data Argument Type      Message
131 DG_IMAGE                DAT_CIECOLOR            MSG_GET
132 DG_IMAGE                DAT_EXTIMAGEINFO        MSG_GET
133 DG_IMAGE                DAT_GRAYRESPONSE        MSG_RESET
134                                                 MSG_SET
135 DG_IMAGE                DAT_IMAGEFILEXFER       MSG_GET
136 DG_IMAGE                DAT_IMAGEINFO           MSG_GET
137 DG_IMAGE                DAT_IMAGELAYOUT         MSG_GET
138                                                 MSG_GETDEFAULT
139                                                 MSG_RESET
140                                                 MSG_SET
141 DG_IMAGE                DAT_IMAGEMEMXFER        MSG_GET
142 DG_IMAGE                DAT_IMAGENATIVEXFER     MSG_GET
143 DG_IMAGE                DAT_JPEGCOMPRESSION     MSG_GET
144                                                 MSG_GETDEFAULT
145                                                 MSG_RESET
146                                                 MSG_SET
147 DG_IMAGE                DAT_PALETTE8            MSG_GET
148                                                 MSG_GETDEFAULT
149                                                 MSG_RESET
150                                                 MSG_SET
151 DG_IMAGE                DAT_RGBRESPONSE         MSG_RESET
152                                                 MSG_SET
154 From Application to Source (Audio Information)
155 Data Group              Data Argument Type      Message
156 DG_AUDIO                DAT_AUDIOFILEXFER       MSG_GET
157 DG_AUDIO                DAT_AUDIOINFO           MSG_GET
158 DG_AUDIO                DAT_AUDIONATIVEXFER     MSG_GET
160 From Source Manager to Source (Control Information)
161 Data Group              Data Argument Type      Message
162 DG_CONTROL              DAT_IDENTITY            MSG_CLOSEDS
163                                                 MSG_GET
164                                                 MSG_OPENDS
166 From Source to Application (Control Information via the Source Manager)
167 (Used by Windows Sources only)
168 Data Group              Data Argument Type      Message
169 DG_CONTROL              DAT_NULL                MSG_CLOSEDSOK
170                                                 MSG_CLOSEDSREQ
171                                                 MSG_DEVICEEVENT
172                                                 MSG_XFERREADY