8 #define OLE_LPCSTR LPCSTR
9 #define OLE_CONST const
11 #define OLE_LPCSTR LPSTR
15 #define HGLOBAL HANDLE
17 #define OT_EMBEDDED 2L
19 #define OLEVERB_PRIMARY 0
24 typedef struct _OLETARGETDEVICE
{
25 USHORT otdDeviceNameOffset
;
26 USHORT otdDriverNameOffset
;
27 USHORT otdPortNameOffset
;
28 USHORT otdExtDevmodeOffset
;
29 USHORT otdExtDevmodeSize
;
30 USHORT otdEnvironmentOffset
;
31 USHORT otdEnvironmentSize
;
34 typedef OLETARGETDEVICE
*LPOLETARGETDEVICE
;
39 OLE_ERROR_PROTECT_ONLY
,
77 OLE_ERROR_ADVISE_NATIVE
,
78 OLE_ERROR_ADVISE_PICT
,
79 OLE_ERROR_ADVISE_RENAME
,
80 OLE_ERROR_POKE_NATIVE
,
81 OLE_ERROR_REQUEST_NATIVE
,
82 OLE_ERROR_REQUEST_PICT
,
83 OLE_ERROR_SERVER_BLOCKED
,
84 OLE_ERROR_REGISTRATION
,
85 OLE_ERROR_ALREADY_REGISTERED
,
88 OLE_ERROR_CANT_UPDATE_CLIENT
,
90 OLE_ERROR_SETDATA_FORMAT
,
91 OLE_ERROR_STATIC_FROM_OTHER_OS
,
93 OLE_WARN_DELETE_DATA
= 1000
115 OLE_SETUPDATEOPTIONS
,
122 OLE_CREATEFROMTEMPLATE
,
123 OLE_CREATELINKFROMFILE
,
127 } OLE_RELEASE_METHOD
;
133 typedef WORD OLECLIPFORMAT
;
144 typedef HANDLE HOBJECT
;
145 typedef LONG LHSERVER
;
146 typedef LONG LHCLIENTDOC
;
147 typedef LONG LHSERVERDOC
;
148 typedef struct _OLEOBJECT
*LPOLEOBJECT
;
149 typedef struct _OLESTREAM
*LPOLESTREAM
;
150 typedef struct _OLECLIENT
*LPOLECLIENT
;
151 typedef struct _OLEOBJECTVTBL
{
152 void *(CALLBACK
* QueryProtocol
)(LPOLEOBJECT
,OLE_LPCSTR
);
153 OLESTATUS (CALLBACK
* Release
)(LPOLEOBJECT
);
154 OLESTATUS (CALLBACK
* Show
)(LPOLEOBJECT
,BOOL
);
155 OLESTATUS (CALLBACK
* DoVerb
)(LPOLEOBJECT
,UINT
,BOOL
,BOOL
);
156 OLESTATUS (CALLBACK
* GetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE
*);
157 OLESTATUS (CALLBACK
* SetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE
);
158 OLESTATUS (CALLBACK
* SetTargetDevice
)(LPOLEOBJECT
,HGLOBAL
);
159 OLESTATUS (CALLBACK
* SetBounds
)(LPOLEOBJECT
,OLE_CONST RECT
*);
160 OLECLIPFORMAT (CALLBACK
* EnumFormats
)(LPOLEOBJECT
,OLECLIPFORMAT
);
161 OLESTATUS (CALLBACK
* SetColorScheme
)(LPOLEOBJECT
,OLE_CONST LOGPALETTE
*);
163 OLESTATUS (CALLBACK
* Delete
)(LPOLEOBJECT
);
164 OLESTATUS (CALLBACK
* SetHostNames
)(LPOLEOBJECT
,OLE_LPCSTR
,OLE_LPCSTR
);
165 OLESTATUS (CALLBACK
* SaveToStream
)(LPOLEOBJECT
,LPOLESTREAM
);
166 OLESTATUS (CALLBACK
* Clone
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
167 OLESTATUS (CALLBACK
* CopyFromLink
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
168 OLESTATUS (CALLBACK
* Equal
)(LPOLEOBJECT
,LPOLEOBJECT
);
169 OLESTATUS (CALLBACK
* CopyToClipboard
)(LPOLEOBJECT
);
170 OLESTATUS (CALLBACK
* Draw
)(LPOLEOBJECT
,HDC
,OLE_CONST RECT
*,OLE_CONST RECT
*,HDC
);
171 OLESTATUS (CALLBACK
* Activate
)(LPOLEOBJECT
,UINT
,BOOL
,BOOL
,HWND
,OLE_CONST RECT
*);
172 OLESTATUS (CALLBACK
* Execute
)(LPOLEOBJECT
,HGLOBAL
,UINT
);
173 OLESTATUS (CALLBACK
* Close
)(LPOLEOBJECT
);
174 OLESTATUS (CALLBACK
* Update
)(LPOLEOBJECT
);
175 OLESTATUS (CALLBACK
* Reconnect
)(LPOLEOBJECT
);
176 OLESTATUS (CALLBACK
* ObjectConvert
)(LPOLEOBJECT
,OLE_LPCSTR
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
177 OLESTATUS (CALLBACK
* GetLinkUpdateOptions
)(LPOLEOBJECT
,OLEOPT_UPDATE
*);
178 OLESTATUS (CALLBACK
* SetLinkUpdateOptions
)(LPOLEOBJECT
,OLEOPT_UPDATE
);
179 OLESTATUS (CALLBACK
* Rename
)(LPOLEOBJECT
,OLE_LPCSTR
);
180 OLESTATUS (CALLBACK
* QueryName
)(LPOLEOBJECT
,LPSTR
,UINT
*);
181 OLESTATUS (CALLBACK
* QueryType
)(LPOLEOBJECT
,LONG
*);
182 OLESTATUS (CALLBACK
* QueryBounds
)(LPOLEOBJECT
,RECT
*);
183 OLESTATUS (CALLBACK
* QuerySize
)(LPOLEOBJECT
,DWORD
*);
184 OLESTATUS (CALLBACK
* QueryOpen
)(LPOLEOBJECT
);
185 OLESTATUS (CALLBACK
* QueryOutOfDate
)(LPOLEOBJECT
);
186 OLESTATUS (CALLBACK
* QueryReleaseStatus
)(LPOLEOBJECT
);
187 OLESTATUS (CALLBACK
* QueryReleaseError
)(LPOLEOBJECT
);
188 OLE_RELEASE_METHOD (CALLBACK
* QueryReleaseMethod
)(LPOLEOBJECT
);
189 OLESTATUS (CALLBACK
* RequestData
)(LPOLEOBJECT
,OLECLIPFORMAT
);
190 OLESTATUS (CALLBACK
* ObjectLong
)(LPOLEOBJECT
,UINT
,LONG
*);
191 OLESTATUS (CALLBACK
* ChangeData
)(LPOLEOBJECT
,HANDLE
,LPOLECLIENT
,BOOL
);
194 typedef OLEOBJECTVTBL
*LPOLEOBJECTVTBL
;
196 typedef struct _OLEOBJECT
{ LPOLEOBJECTVTBL lpvtbl
; } OLEOBJECT
;
198 typedef struct _OLECLIENTVTBL
{ int (CALLBACK
* CallBack
)(LPOLECLIENT
,OLE_NOTIFICATION
,LPOLEOBJECT
); } OLECLIENTVTBL
;
199 typedef OLECLIENTVTBL
*LPOLECLIENTVTBL
;
200 typedef struct _OLECLIENT
{ LPOLECLIENTVTBL lpvtbl
; } OLECLIENT
;
201 typedef struct _OLESTREAMVTBL
{
202 DWORD (CALLBACK
* Get
)(LPOLESTREAM
,void*,DWORD
);
203 DWORD (CALLBACK
* Put
)(LPOLESTREAM
,OLE_CONST
void*,DWORD
);
205 typedef OLESTREAMVTBL
*LPOLESTREAMVTBL
;
206 typedef struct _OLESTREAM
{ LPOLESTREAMVTBL lpstbl
; } OLESTREAM
;
211 typedef struct _OLESERVER
*LPOLESERVER
;
212 typedef struct _OLESERVERDOC
*LPOLESERVERDOC
;
213 typedef struct _OLESERVERVTBL
{
214 OLESTATUS (CALLBACK
* Open
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,LPOLESERVERDOC
*);
215 OLESTATUS (CALLBACK
* Create
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
216 OLESTATUS (CALLBACK
* CreateFromTemplate
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
217 OLESTATUS (CALLBACK
* Edit
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
218 OLESTATUS (CALLBACK
* Exit
)(LPOLESERVER
);
219 OLESTATUS (CALLBACK
* Release
)(LPOLESERVER
);
220 OLESTATUS (CALLBACK
* Execute
)(LPOLESERVER
,HGLOBAL
);
222 typedef OLESERVERVTBL
*LPOLESERVERVTBL
;
223 typedef struct _OLESERVER
{ LPOLESERVERVTBL lpvtbl
; } OLESERVER
;
224 typedef struct _OLESERVERDOCVTBL
{
225 OLESTATUS (CALLBACK
* Save
)(LPOLESERVERDOC
);
226 OLESTATUS (CALLBACK
* Close
)(LPOLESERVERDOC
);
227 OLESTATUS (CALLBACK
* SetHostNames
)(LPOLESERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
);
228 OLESTATUS (CALLBACK
* SetDocDimensions
)(LPOLESERVERDOC
,OLE_CONST RECT
*);
229 OLESTATUS (CALLBACK
* GetObject
)(LPOLESERVERDOC
,OLE_LPCSTR
,LPOLEOBJECT
*,LPOLECLIENT
);
230 OLESTATUS (CALLBACK
* Release
)(LPOLESERVERDOC
);
231 OLESTATUS (CALLBACK
* SetColorScheme
)(LPOLESERVERDOC
,OLE_CONST LOGPALETTE
*);
232 OLESTATUS (CALLBACK
* Execute
)(LPOLESERVERDOC
,HGLOBAL
);
234 typedef OLESERVERDOCVTBL
*LPOLESERVERDOCVTBL
;
235 typedef struct _OLESERVERDOC
{ LPOLESERVERDOCVTBL lpvtbl
; } OLESERVERDOC
;
236 OLESTATUS WINAPI
OleDelete(LPOLEOBJECT
);
237 OLESTATUS WINAPI
OleRelease(LPOLEOBJECT
);
238 OLESTATUS WINAPI
OleSaveToStream(LPOLEOBJECT
,LPOLESTREAM
);
239 OLESTATUS WINAPI
OleEqual(LPOLEOBJECT
,LPOLEOBJECT
);
240 OLESTATUS WINAPI
OleCopyToClipboard(LPOLEOBJECT
);
241 OLESTATUS WINAPI
OleSetHostNames(LPOLEOBJECT
,LPCSTR
,LPCSTR
);
242 OLESTATUS WINAPI
OleSetTargetDevice(LPOLEOBJECT
,HGLOBAL
);
243 OLESTATUS WINAPI
OleSetBounds(LPOLEOBJECT
,LPCRECT
);
244 OLESTATUS WINAPI
OleSetColorScheme(LPOLEOBJECT
,const LOGPALETTE
*);
245 OLESTATUS WINAPI
OleQueryBounds(LPOLEOBJECT
,RECT
*);
246 OLESTATUS WINAPI
OleQuerySize(LPOLEOBJECT
,DWORD
*);
247 OLESTATUS WINAPI
OleDraw(LPOLEOBJECT
,HDC
,LPCRECT
,LPCRECT
,HDC
);
248 OLESTATUS WINAPI
OleQueryOpen(LPOLEOBJECT
);
249 OLESTATUS WINAPI
OleActivate(LPOLEOBJECT
,UINT
,BOOL
,BOOL
,HWND
,LPCRECT
);
250 OLESTATUS WINAPI
OleExecute(LPOLEOBJECT
,HGLOBAL
,UINT
);
251 OLESTATUS WINAPI
OleClose(LPOLEOBJECT
);
252 OLESTATUS WINAPI
OleUpdate(LPOLEOBJECT
);
253 OLESTATUS WINAPI
OleReconnect(LPOLEOBJECT
);
254 OLESTATUS WINAPI
OleGetLinkUpdateOptions(LPOLEOBJECT
,OLEOPT_UPDATE
*);
255 OLESTATUS WINAPI
OleSetLinkUpdateOptions(LPOLEOBJECT
,OLEOPT_UPDATE
);
256 WINAPI
void *OleQueryProtocol(LPOLEOBJECT
,LPCSTR
);
257 OLESTATUS WINAPI
OleQueryReleaseStatus(LPOLEOBJECT
);
258 OLESTATUS WINAPI
OleQueryReleaseError(LPOLEOBJECT
);
259 OLE_RELEASE_METHOD WINAPI
OleQueryReleaseMethod(LPOLEOBJECT
);
260 OLESTATUS WINAPI
OleQueryType(LPOLEOBJECT
,LONG
*);
261 DWORD WINAPI
OleQueryClientVersion(void);
262 DWORD WINAPI
OleQueryServerVersion(void);
263 OLECLIPFORMAT WINAPI
OleEnumFormats(LPOLEOBJECT
,OLECLIPFORMAT
);
264 OLESTATUS WINAPI
OleGetData(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE
*);
265 OLESTATUS WINAPI
OleSetData(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE
);
266 OLESTATUS WINAPI
OleQueryOutOfDate(LPOLEOBJECT
);
267 OLESTATUS WINAPI
OleRequestData(LPOLEOBJECT
,OLECLIPFORMAT
);
268 OLESTATUS WINAPI
OleQueryLinkFromClip(LPCSTR
,OLEOPT_RENDER
,OLECLIPFORMAT
);
269 OLESTATUS WINAPI
OleQueryCreateFromClip(LPCSTR
,OLEOPT_RENDER
,OLECLIPFORMAT
);
270 OLESTATUS WINAPI
OleCreateFromClip(LPCSTR
,LPOLECLIENT
,LHCLIENTDOC
,LPCSTR
,LPOLEOBJECT
*,OLEOPT_RENDER
,OLECLIPFORMAT
);
271 OLESTATUS WINAPI
OleCreateLinkFromClip(LPCSTR
,LPOLECLIENT
,LHCLIENTDOC
,LPCSTR
,LPOLEOBJECT
*,OLEOPT_RENDER
,OLECLIPFORMAT
);
272 OLESTATUS WINAPI
OleCreateFromFile(LPCSTR
,LPOLECLIENT
,LPCSTR
,LPCSTR
,LHCLIENTDOC
,LPCSTR
,LPOLEOBJECT
*,OLEOPT_RENDER
,OLECLIPFORMAT
);
273 OLESTATUS WINAPI
OleCreateLinkFromFile(LPCSTR
,LPOLECLIENT
,LPCSTR
,LPCSTR
,LPCSTR
,LHCLIENTDOC
,LPCSTR
,LPOLEOBJECT
*,OLEOPT_RENDER
,OLECLIPFORMAT
);
274 OLESTATUS WINAPI
OleLoadFromStream(LPOLESTREAM
,LPCSTR
,LPOLECLIENT
,LHCLIENTDOC
,LPCSTR
,LPOLEOBJECT
*);
275 OLESTATUS WINAPI
OleCreate(LPCSTR
,LPOLECLIENT
,LPCSTR
,LHCLIENTDOC
,LPCSTR
,LPOLEOBJECT
*,OLEOPT_RENDER
,OLECLIPFORMAT
);
276 OLESTATUS WINAPI
OleCreateInvisible(LPCSTR
,LPOLECLIENT
,LPCSTR
,LHCLIENTDOC
,LPCSTR
,LPOLEOBJECT
*,OLEOPT_RENDER
,OLECLIPFORMAT
,BOOL
);
277 OLESTATUS WINAPI
OleCreateFromTemplate(LPCSTR
,LPOLECLIENT
,LPCSTR
,LHCLIENTDOC
,LPCSTR
,LPOLEOBJECT
*,OLEOPT_RENDER
,OLECLIPFORMAT
);
278 OLESTATUS WINAPI
OleClone(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,LPCSTR
,LPOLEOBJECT
*);
279 OLESTATUS WINAPI
OleCopyFromLink(LPOLEOBJECT
,LPCSTR
,LPOLECLIENT
,LHCLIENTDOC
,LPCSTR
,LPOLEOBJECT
*);
280 OLESTATUS WINAPI
OleObjectConvert(LPOLEOBJECT
,LPCSTR
,LPOLECLIENT
,LHCLIENTDOC
,LPCSTR
,LPOLEOBJECT
*);
281 OLESTATUS WINAPI
OleRename(LPOLEOBJECT
,LPCSTR
);
282 OLESTATUS WINAPI
OleQueryName(LPOLEOBJECT
,LPSTR
,UINT
*);
283 OLESTATUS WINAPI
OleRevokeObject(LPOLECLIENT
);
284 BOOL WINAPI
OleIsDcMeta(HDC
);
285 OLESTATUS WINAPI
OleRegisterClientDoc(LPCSTR
,LPCSTR
,LONG
,LHCLIENTDOC
*);
286 OLESTATUS WINAPI
OleRevokeClientDoc(LHCLIENTDOC
);
287 OLESTATUS WINAPI
OleRenameClientDoc(LHCLIENTDOC
,LPCSTR
);
288 OLESTATUS WINAPI
OleRevertClientDoc(LHCLIENTDOC
);
289 OLESTATUS WINAPI
OleSavedClientDoc(LHCLIENTDOC
);
290 OLESTATUS WINAPI
OleEnumObjects(LHCLIENTDOC
,LPOLEOBJECT
*);
291 OLESTATUS WINAPI
OleRegisterServer(LPCSTR
,LPOLESERVER
,LHSERVER
*,HINSTANCE
,OLE_SERVER_USE
);
292 OLESTATUS WINAPI
OleRevokeServer(LHSERVER
);
293 OLESTATUS WINAPI
OleBlockServer(LHSERVER
);
294 OLESTATUS WINAPI
OleUnblockServer(LHSERVER
,BOOL
*);
295 OLESTATUS WINAPI
OleLockServer(LPOLEOBJECT
,LHSERVER
*);
296 OLESTATUS WINAPI
OleUnlockServer(LHSERVER
);
297 OLESTATUS WINAPI
OleRegisterServerDoc(LHSERVER
,LPCSTR
,LPOLESERVERDOC
,LHSERVERDOC
*);
298 OLESTATUS WINAPI
OleRevokeServerDoc(LHSERVERDOC
);
299 OLESTATUS WINAPI
OleRenameServerDoc(LHSERVERDOC
,LPCSTR
);
300 OLESTATUS WINAPI
OleRevertServerDoc(LHSERVERDOC
);
301 OLESTATUS WINAPI
OleSavedServerDoc(LHSERVERDOC
);