- stubs for SHLWAPI.295 (create a URL shortcut ?) and SHLWAPI.394
[wine/multimedia.git] / include / oledlg.h
blob97a089cb86f7c99c4ad6561ca8a8ac753ee933a3
1 /*
2 * Declarations for OLEDLG
4 * Copyright (C) the Wine project
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef __WINE_OLEDLG_H
22 #define __WINE_OLEDLG_H
24 #include "commdlg.h"
25 #include "prsht.h"
26 #include "windef.h"
27 #include "oleidl.h"
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
34 typedef struct IOleUILinkContainerA IOleUILinkContainerA, *POLEUILINKCONTAINERA, *LPOLEUILINKCONTAINERA;
35 typedef struct IOleUILinkContainerW IOleUILinkContainerW, *POLEUILINKCONTAINERW, *LPOLEUILINKCONTAINERW;
37 typedef struct IOleUILinkInfoA IOleUILinkInfoA, *POLEUILINKINFOA, *LPOLEUILINKINFOA;
38 typedef struct IOleUILinkInfoW IOleUILinkInfoW, *POLEUILINKINFOW, *LPOLEUILINKINFOW;
40 typedef struct IOleUIObjInfoA IOleUIObjInfoA, *POLEUIOBJINFOA, *LPOLEUIOBJINFOA;
41 typedef struct IOleUIObjInfoW IOleUIObjInfoW, *POLEUIOBJINFOW, *LPOLEUIOBJINFOW;
43 #define IDC_OLEUIHELP 99
45 /* Change Source Dialog flags */
46 #define CSF_SHOWHELP 0x00000001L
47 #define CSF_VALIDSOURCE 0x00000002L
48 #define CSF_ONLYGETSOURCE 0x00000004L
49 #define CSF_EXPLORER 0x00000008L
51 #define PSF_SHOWHELP 0x00000001L
52 #define PSF_SELECTPASTE 0x00000002L
53 #define PSF_SELECTPASTELINK 0x00000004L
54 #define PSF_CHECKDISPLAYASICON 0x00000008L
55 #define PSF_DISABLEDISPLAYASICON 0x00000010L
56 #define PSF_HIDECHANGEICON 0x00000020L
57 #define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
58 #define PSF_NOREFRESHDATAOBJECT 0x00000080L
60 #define IOF_SHOWHELP 0x00000001L
61 #define IOF_SELECTCREATENEW 0x00000002L
62 #define IOF_SELECTCREATEFROMFILE 0x00000004L
63 #define IOF_CHECKLINK 0x00000008L
64 #define IOF_CHECKDISPLAYASICON 0x00000010L
65 #define IOF_CREATENEWOBJECT 0x00000020L
66 #define IOF_CREATEFILEOBJECT 0x00000040L
67 #define IOF_CREATELINKOBJECT 0x00000080L
68 #define IOF_DISABLELINK 0x00000100L
69 #define IOF_VERIFYSERVERSEXIST 0x00000200L
70 #define IOF_DISABLEDISPLAYASICON 0x00000400L
71 #define IOF_HIDECHANGEICON 0x00000800L
72 #define IOF_SHOWINSERTCONTROL 0x00001000L
73 #define IOF_SELECTCREATECONTROL 0x00002000L
75 #define CF_SHOWHELPBUTTON 0x00000001L
76 #define CF_SETCONVERTDEFAULT 0x00000002L
77 #define CF_SETACTIVATEDEFAULT 0x00000004L
78 #define CF_SELECTCONVERTTO 0x00000008L
79 #define CF_SELECTACTIVATEAS 0x00000010L
80 #define CF_DISABLEDISPLAYASICON 0x00000020L
81 #define CF_DISABLEACTIVATEAS 0x00000040L
82 #define CF_HIDECHANGEICON 0x00000080L
83 #define CF_CONVERTONLY 0x00000100L
85 #define CIF_SHOWHELP 0x00000001L
86 #define CIF_SELECTCURRENT 0x00000002L
87 #define CIF_SELECTDEFAULT 0x00000004L
88 #define CIF_SELECTFROMFILE 0x00000008L
89 #define CIF_USEICONEXE 0x00000010L
91 #define BZ_DISABLECANCELBUTTON 0x00000001L
92 #define BZ_DISABLESWITCHTOBUTTON 0x00000002L
93 #define BZ_DISABLERETRYBUTTON 0x00000004L
94 #define BZ_NOTRESPONDINGDIALOG 0x00000008L
96 #define OLEUI_ERR_STANDARDMAX 116
98 #define OLEUI_BZERR_HTASKINVALID (OLEUI_ERR_STANDARDMAX+0)
99 #define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
100 #define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
101 #define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
103 #define OLEUI_FALSE 0
104 #define OLEUI_SUCCESS 1 /* Same as OLEUI_OK */
105 #define OLEUI_OK 1 /* OK button pressed */
106 #define OLEUI_CANCEL 2 /* Cancel button pressed */
108 #define OPF_OBJECTISLINK 0x00000001L
109 #define OPF_NOFILLDEFAULT 0x00000002L
110 #define OPF_SHOWHELP 0x00000004L
111 #define OPF_DISABLECONVERT 0x00000008L
113 typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
115 /*****************************************************************************
116 * INSERT OBJECT DIALOG
118 typedef struct tagOLEUIINSERTOBJECTA
120 DWORD cbStruct;
121 DWORD dwFlags;
122 HWND hWndOwner;
123 LPCSTR lpszCaption;
124 LPFNOLEUIHOOK lpfnHook;
125 LPARAM lCustData;
126 HINSTANCE hInstance;
127 LPCSTR lpszTemplate;
128 HRSRC hResource;
129 CLSID clsid;
130 LPSTR lpszFile;
131 UINT cchFile;
132 UINT cClsidExclude;
133 LPCLSID lpClsidExclude;
134 IID iid;
135 DWORD oleRender;
136 LPFORMATETC lpFormatEtc;
137 LPOLECLIENTSITE lpIOleClientSite;
138 LPSTORAGE lpIStorage;
139 LPVOID *ppvObj;
140 SCODE sc;
141 HGLOBAL hMetaPict;
142 } OLEUIINSERTOBJECTA, *POLEUIINSERTOBJECTA, *LPOLEUIINSERTOBJECTA;
144 typedef struct tagOLEUIINSERTOBJECTW
146 DWORD cbStruct;
147 DWORD dwFlags;
148 HWND hWndOwner;
149 LPCWSTR lpszCaption;
150 LPFNOLEUIHOOK lpfnHook;
151 LPARAM lCustData;
152 HINSTANCE hInstance;
153 LPCWSTR lpszTemplate;
154 HRSRC hResource;
155 CLSID clsid;
156 LPWSTR lpszFile;
157 UINT cchFile;
158 UINT cClsidExclude;
159 LPCLSID lpClsidExclude;
160 IID iid;
161 DWORD oleRender;
162 LPFORMATETC lpFormatEtc;
163 LPOLECLIENTSITE lpIOleClientSite;
164 LPSTORAGE lpIStorage;
165 LPVOID *ppvObj;
166 SCODE sc;
167 HGLOBAL hMetaPict;
168 } OLEUIINSERTOBJECTW, *POLEUIINSERTOBJECTW, *LPOLEUIINSERTOBJECTW;
170 DECL_WINELIB_TYPE_AW(OLEUIINSERTOBJECT)
171 DECL_WINELIB_TYPE_AW(POLEUIINSERTOBJECT)
172 DECL_WINELIB_TYPE_AW(LPOLEUIINSERTOBJECT)
175 /*****************************************************************************
176 * CONVERT DIALOG
178 typedef struct tagOLEUICONVERTA
180 DWORD cbStruct;
181 DWORD dwFlags;
182 HWND hWndOwner;
183 LPCSTR lpszCaption;
184 LPFNOLEUIHOOK lpfnHook;
185 LPARAM lCustData;
186 HINSTANCE hInstance;
187 LPCSTR lpszTemplate;
188 HRSRC hResource;
189 CLSID clsid;
190 CLSID clsidConvertDefault;
191 CLSID clsidActivateDefault;
192 CLSID clsidNew;
193 DWORD dvAspect;
194 WORD wFormat;
195 BOOL fIsLinkedObject;
196 HGLOBAL hMetaPict;
197 LPSTR lpszUserType;
198 BOOL fObjectsIconChanged;
199 LPSTR lpszDefLabel;
200 UINT cClsidExclude;
201 LPCLSID lpClsidExclude;
202 } OLEUICONVERTA, *POLEUICONVERTA, *LPOLEUICONVERTA;
204 typedef struct tagOLEUICONVERTW
206 DWORD cbStruct;
207 DWORD dwFlags;
208 HWND hWndOwner;
209 LPCWSTR lpszCaption;
210 LPFNOLEUIHOOK lpfnHook;
211 LPARAM lCustData;
212 HINSTANCE hInstance;
213 LPCWSTR lpszTemplate;
214 HRSRC hResource;
215 CLSID clsid;
216 CLSID clsidConvertDefault;
217 CLSID clsidActivateDefault;
218 CLSID clsidNew;
219 DWORD dvAspect;
220 WORD wFormat;
221 BOOL fIsLinkedObject;
222 HGLOBAL hMetaPict;
223 LPWSTR lpszUserType;
224 BOOL fObjectsIconChanged;
225 LPWSTR lpszDefLabel;
226 UINT cClsidExclude;
227 LPCLSID lpClsidExclude;
228 } OLEUICONVERTW, *POLEUICONVERTW, *LPOLEUICONVERTW;
230 DECL_WINELIB_TYPE_AW(OLEUICONVERT)
231 DECL_WINELIB_TYPE_AW(POLEUICONVERT)
232 DECL_WINELIB_TYPE_AW(LPOLEUICONVERT)
234 /*****************************************************************************
235 * CHANGE ICON DIALOG
237 typedef struct tagOLEUICHANGEICONA
239 DWORD cbStruct;
240 DWORD dwFlags;
241 HWND hWndOwner;
242 LPCSTR lpszCaption;
243 LPFNOLEUIHOOK lpfnHook;
244 LPARAM lCustData;
245 HINSTANCE hInstance;
246 LPCSTR lpszTemplate;
247 HRSRC hResource;
248 HGLOBAL hMetaPict;
249 CLSID clsid;
250 CHAR szIconExe[MAX_PATH];
251 INT cchIconExe;
252 } OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;
254 typedef struct tagOLEUICHANGEICONW
256 DWORD cbStruct;
257 DWORD dwFlags;
258 HWND hWndOwner;
259 LPCWSTR lpszCaption;
260 LPFNOLEUIHOOK lpfnHook;
261 LPARAM lCustData;
262 HINSTANCE hInstance;
263 LPCWSTR lpszTemplate;
264 HRSRC hResource;
265 HGLOBAL hMetaPict;
266 CLSID clsid;
267 WCHAR szIconExe[MAX_PATH];
268 INT cchIconExe;
269 } OLEUICHANGEICONW, *POLEUICHANGEICONW, *LPOLEUICHANGEICONW;
271 DECL_WINELIB_TYPE_AW(OLEUICHANGEICON)
272 DECL_WINELIB_TYPE_AW(POLEUICHANGEICON)
273 DECL_WINELIB_TYPE_AW(LPOLEUICHANGEICON)
276 /*****************************************************************************
277 * PASTE SPECIAL DIALOG
280 typedef enum tagOLEUIPASTEFLAG
282 OLEUIPASTE_ENABLEICON = 2048,
283 OLEUIPASTE_PASTEONLY = 0,
284 OLEUIPASTE_PASTE = 512,
285 OLEUIPASTE_LINKANYTYPE = 1024,
286 OLEUIPASTE_LINKTYPE1 = 1,
287 OLEUIPASTE_LINKTYPE2 = 2,
288 OLEUIPASTE_LINKTYPE3 = 4,
289 OLEUIPASTE_LINKTYPE4 = 8,
290 OLEUIPASTE_LINKTYPE5 = 16,
291 OLEUIPASTE_LINKTYPE6 = 32,
292 OLEUIPASTE_LINKTYPE7 = 64,
293 OLEUIPASTE_LINKTYPE8 = 128
294 } OLEUIPASTEFLAG;
296 typedef struct tagOLEUIPASTEENTRYA
298 FORMATETC fmtetc;
299 LPCSTR lpstrFormatName;
300 LPCSTR lpstrResultText;
301 DWORD dwFlags;
302 DWORD dwScratchSpace;
303 } OLEUIPASTEENTRYA, *POLEUIPASTEENTRYA, *LPOLEUIPASTEENTRYA;
305 typedef struct tagOLEUIPASTEENTRYW
307 FORMATETC fmtetc;
308 LPCWSTR lpstrFormatName;
309 LPCWSTR lpstrResultText;
310 DWORD dwFlags;
311 DWORD dwScratchSpace;
312 } OLEUIPASTEENTRYW, *POLEUIPASTEENTRYW, *LPOLEUIPASTEENTRYW;
314 DECL_WINELIB_TYPE_AW(OLEUIPASTEENTRY)
315 DECL_WINELIB_TYPE_AW(POLEUIPASTEENTRY)
316 DECL_WINELIB_TYPE_AW(LPOLEUIPASTEENTRY)
318 typedef struct tagOLEUIPASTESPECIALA
320 DWORD cbStruct;
321 DWORD dwFlags;
322 HWND hWndOwner;
323 LPCSTR lpszCaption;
324 LPFNOLEUIHOOK lpfnHook;
325 LPARAM lCustData;
326 HINSTANCE hInstance;
327 LPCSTR lpszTemplate;
328 HRSRC hResource;
329 LPDATAOBJECT lpSrcDataObj;
330 LPOLEUIPASTEENTRYA arrPasteEntries;
331 INT cPasteEntries;
332 UINT* arrLinkTypes;
333 INT cLinkTypes;
334 UINT cClsidExclude;
335 LPCLSID lpClsidExclude;
336 INT nSelectedIndex;
337 BOOL fLink;
338 HGLOBAL hMetaPict;
339 SIZEL sizel;
340 } OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;
342 typedef struct tagOLEUIPASTESPECIALW
344 DWORD cbStruct;
345 DWORD dwFlags;
346 HWND hWndOwner;
347 LPCWSTR lpszCaption;
348 LPFNOLEUIHOOK lpfnHook;
349 LPARAM lCustData;
350 HINSTANCE hInstance;
351 LPCWSTR lpszTemplate;
352 HRSRC hResource;
353 LPDATAOBJECT lpSrcDataObj;
354 LPOLEUIPASTEENTRYW arrPasteEntries;
355 INT cPasteEntries;
356 UINT* arrLinkTypes;
357 INT cLinkTypes;
358 UINT cClsidExclude;
359 LPCLSID lpClsidExclude;
360 INT nSelectedIndex;
361 BOOL fLink;
362 HGLOBAL hMetaPict;
363 SIZEL sizel;
364 } OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
366 DECL_WINELIB_TYPE_AW(OLEUIPASTESPECIAL)
367 DECL_WINELIB_TYPE_AW(POLEUIPASTESPECIAL)
368 DECL_WINELIB_TYPE_AW(LPOLEUIPASTESPECIAL)
370 #define PSF_SHOWHELP 0x00000001L
371 #define PSF_SELECTPASTE 0x00000002L
372 #define PSF_SELECTPASTELINK 0x00000004L
374 #define PSF_CHECKDISPLAYASICON 0x00000008L
375 #define PSF_DISABLEDISPLAYASICON 0x00000010L
376 #define PSF_HIDECHANGEICON 0x00000020L
377 #define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
378 #define PSF_NOREFRESHDATAOBJECT 0x00000080L
380 #define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
381 #define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
382 #define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
383 #define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
384 #define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
386 #define ELF_SHOWHELP 0x00000001L
387 #define ELF_DISABLEUPDATENOW 0x00000002L
388 #define ELF_DISABLEOPENSOURCE 0x00000004L
389 #define ELF_DISABLECHANGESOURCE 0x00000008L
390 #define ELF_DISABLECANCELLINK 0x00000010L
392 typedef struct tagOLEUIEDITLINKSW
394 DWORD cbStruct;
395 DWORD dwFlags;
396 HWND hWndOwner;
397 LPCWSTR lpszCaption;
398 LPFNOLEUIHOOK lpfnHook;
399 LPARAM lCustData;
400 HINSTANCE hInstance;
401 LPCWSTR lpszTemplate;
402 HRSRC hResource;
403 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
404 } OLEUIEDITLINKSW, *POLEUIEDITLINKSW, *LPOLEUIEDITLINKSW;
406 typedef struct tagOLEUIEDITLINKSA
408 DWORD cbStruct;
409 DWORD dwFlags;
410 HWND hWndOwner;
411 LPCSTR lpszCaption;
412 LPFNOLEUIHOOK lpfnHook;
413 LPARAM lCustData;
414 HINSTANCE hInstance;
415 LPCSTR lpszTemplate;
416 HRSRC hResource;
417 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
418 } OLEUIEDITLINKSA, *POLEUIEDITLINKSA, *LPOLEUIEDITLINKSA;
420 DECL_WINELIB_TYPE_AW(OLEUIEDITLINKS)
421 DECL_WINELIB_TYPE_AW(POLEUIEDITLINKS)
422 DECL_WINELIB_TYPE_AW(LPOLEUIEDITLINKS)
425 /***********************************************************************************
426 * BUSY DIALOG
428 typedef struct tagOLEUIBUSYA
430 DWORD cbStruct;
431 DWORD dwFlags;
432 HWND hWndOwner;
433 LPCSTR lpszCaption;
434 LPFNOLEUIHOOK lpfnHook;
435 LPARAM lCustData;
436 HINSTANCE hInstance;
437 LPCSTR lpszTemplate;
438 HRSRC hResource;
439 HTASK hTask;
440 HWND* lphWndDialog;
441 } OLEUIBUSYA, *POLEUIBUSYA, *LPOLEUIBUSYA;
443 typedef struct tagOLEUIBUSYW
445 DWORD cbStruct;
446 DWORD dwFlags;
447 HWND hWndOwner;
448 LPCWSTR lpszCaption;
449 LPFNOLEUIHOOK lpfnHook;
450 LPARAM lCustData;
451 HINSTANCE hInstance;
452 LPCWSTR lpszTemplate;
453 HRSRC hResource;
454 HTASK hTask;
455 HWND* lphWndDialog;
456 } OLEUIBUSYW, *POLEUIBUSYW, *LPOLEUIBUSYW;
458 DECL_WINELIB_TYPE_AW(OLEUIBUSY)
459 DECL_WINELIB_TYPE_AW(POLEUIBUSY)
460 DECL_WINELIB_TYPE_AW(LPOLEUIBUSY)
463 struct tagOLEUIOBJECTPROPSW;
464 struct tagOLEUIOBJECTPROPSA;
466 typedef struct tagOLEUIGNRLPROPSA
468 DWORD cbStruct;
469 DWORD dwFlags;
470 DWORD dwReserved1[2];
471 LPFNOLEUIHOOK lpfnHook;
472 LPARAM lCustData;
473 DWORD dwReserved2[3];
474 struct tagOLEUIOBJECTPROPSA* lpOP;
476 } OLEUIGNRLPROPSA, *POLEUIGNRLPROPSA, *LPOLEUIGNRLPROPSA;
478 typedef struct tagOLEUIGNRLPROPSW
480 DWORD cbStruct;
481 DWORD dwFlags;
482 DWORD dwReserved1[2];
483 LPFNOLEUIHOOK lpfnHook;
484 LPARAM lCustData;
485 DWORD dwReserved2[3];
486 struct tagOLEUIOBJECTPROPSW* lpOP;
487 } OLEUIGNRLPROPSW, *POLEUIGNRLPROPSW, *LPOLEUIGNRLPROPSW;
489 DECL_WINELIB_TYPE_AW(OLEUIGNRLPROPS)
490 DECL_WINELIB_TYPE_AW(POLEUIGNRLPROPS)
491 DECL_WINELIB_TYPE_AW(LPOLEUIGNRLPROPS)
493 typedef struct tagOLEUIVIEWPROPSA
495 DWORD cbStruct;
496 DWORD dwFlags;
497 DWORD dwReserved1[2];
498 LPFNOLEUIHOOK lpfnHook;
499 LPARAM lCustData;
500 DWORD dwReserved2[3];
501 struct tagOLEUIOBJECTPROPSA* lpOP;
502 INT nScaleMin;
503 INT nScaleMax;
504 } OLEUIVIEWPROPSA, *POLEUIVIEWPROPSA, *LPOLEUIVIEWPROPSA;
506 typedef struct tagOLEUIVIEWPROPSW
508 DWORD cbStruct;
509 DWORD dwFlags;
510 DWORD dwReserved1[2];
511 LPFNOLEUIHOOK lpfnHook;
512 LPARAM lCustData;
513 DWORD dwReserved2[3];
514 struct tagOLEUIOBJECTPROPSW* lpOP;
515 INT nScaleMin;
516 INT nScaleMax;
517 } OLEUIVIEWPROPSW, *POLEUIVIEWPROPSW, *LPOLEUIVIEWPROPSW;
519 DECL_WINELIB_TYPE_AW(OLEUIVIEWPROPS)
520 DECL_WINELIB_TYPE_AW(POLEUIVIEWPROPS)
521 DECL_WINELIB_TYPE_AW(LPOLEUIVIEWPROPS)
524 #define VPF_SELECTRELATIVE 0x00000001L
525 #define VPF_DISABLERELATIVE 0x00000002L
526 #define VPF_DISABLESCALE 0x00000004L
528 typedef struct tagOLEUILINKPROPSA
530 DWORD cbStruct;
531 DWORD dwFlags;
532 DWORD dwReserved1[2];
533 LPFNOLEUIHOOK lpfnHook;
534 LPARAM lCustData;
535 DWORD dwReserved2[3];
536 struct tagOLEUIOBJECTPROPSA* lpOP;
537 } OLEUILINKPROPSA, *POLEUILINKPROPSA, *LPOLEUILINKPROPSA;
539 typedef struct tagOLEUILINKPROPSW
541 DWORD cbStruct;
542 DWORD dwFlags;
543 DWORD dwReserved1[2];
544 LPFNOLEUIHOOK lpfnHook;
545 LPARAM lCustData;
546 DWORD dwReserved2[3];
547 struct tagOLEUIOBJECTPROPSW* lpOP;
548 } OLEUILINKPROPSW, *POLEUILINKPROPSW, *LPOLEUILINKPROPSW;
550 DECL_WINELIB_TYPE_AW(OLEUILINKPROPS)
551 DECL_WINELIB_TYPE_AW(POLEUILINKPROPS)
552 DECL_WINELIB_TYPE_AW(LPOLEUILINKPROPS)
554 typedef struct tagOLEUIOBJECTPROPSA
556 DWORD cbStruct;
557 DWORD dwFlags;
558 LPPROPSHEETHEADERA lpPS;
559 DWORD dwObject;
560 LPOLEUIOBJINFOA lpObjInfo;
561 DWORD dwLink;
562 LPOLEUILINKINFOA lpLinkInfo;
563 LPOLEUIGNRLPROPSA lpGP;
564 LPOLEUIVIEWPROPSA lpVP;
565 LPOLEUILINKPROPSA lpLP;
566 } OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, *LPOLEUIOBJECTPROPSA;
568 typedef struct tagOLEUIOBJECTPROPSW
570 DWORD cbStruct;
571 DWORD dwFlags;
572 LPPROPSHEETHEADERW lpPS;
573 DWORD dwObject;
574 LPOLEUIOBJINFOW lpObjInfo;
575 DWORD dwLink;
576 LPOLEUILINKINFOW lpLinkInfo;
577 LPOLEUIGNRLPROPSW lpGP;
578 LPOLEUIVIEWPROPSW lpVP;
579 LPOLEUILINKPROPSW lpLP;
580 } OLEUIOBJECTPROPSW, *POLEUIOBJECTPROPSW, *LPOLEUIOBJECTPROPSW;
582 DECL_WINELIB_TYPE_AW(OLEUIOBJECTPROPS)
583 DECL_WINELIB_TYPE_AW(POLEUIOBJECTPROPS)
584 DECL_WINELIB_TYPE_AW(LPOLEUIOBJECTPROPS)
586 /************************************************************************************
587 * CHANGE SOURCE DIALOG
591 typedef struct tagOLEUICHANGESOURCEW
593 DWORD cbStruct;
594 DWORD dwFlags;
595 HWND hWndOwner;
596 LPCWSTR lpszCaption;
597 LPFNOLEUIHOOK lpfnHook;
598 LPARAM lCustData;
599 HINSTANCE hInstance;
600 LPCWSTR lpszTemplate;
601 HRSRC hResource;
602 OPENFILENAMEW*lpOFN;
603 DWORD dwReserved1[4];
604 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
605 DWORD dwLink;
606 LPWSTR lpszDisplayName;
607 ULONG nFileLength;
608 LPWSTR lpszFrom;
609 LPWSTR lpszTo;
610 } OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, *LPOLEUICHANGESOURCEW;
613 typedef struct tagOLEUICHANGESOURCEA
615 DWORD cbStruct;
616 DWORD dwFlags;
617 HWND hWndOwner;
618 LPCSTR lpszCaption;
619 LPFNOLEUIHOOK lpfnHook;
620 LPARAM lCustData;
621 HINSTANCE hInstance;
622 LPCSTR lpszTemplate;
623 HRSRC hResource;
624 OPENFILENAMEA* lpOFN;
625 DWORD dwReserved1[4];
626 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
627 DWORD dwLink;
628 LPSTR lpszDisplayName;
629 ULONG nFileLength;
630 LPSTR lpszFrom;
631 LPSTR lpszTo;
632 } OLEUICHANGESOURCEA, *POLEUICHANGESOURCEA, *LPOLEUICHANGESOURCEA;
635 DECL_WINELIB_TYPE_AW(OLEUICHANGESOURCE)
636 DECL_WINELIB_TYPE_AW(POLEUICHANGESOURCE)
637 DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
640 /*****************************************************************************
641 * IOleUILinkContainer interface
643 #define ICOM_INTERFACE IOleUILinkContainerA
644 #define IOleUILinkContainerA_METHODS \
645 ICOM_METHOD1(DWORD,GetNextLink, DWORD,dwLink) \
646 ICOM_METHOD2(HRESULT,SetLinkUpdateOptions, DWORD,dwLink, DWORD,dwUpdateOpt) \
647 ICOM_METHOD2(HRESULT,GetLinkUpdateOptions, DWORD,dwLink, DWORD*,lpdwUpdateOpt) \
648 ICOM_METHOD5(HRESULT,SetLinkSource, DWORD,dwLink, LPSTR,lpszDisplayName, \
649 ULONG,lenFileName, ULONG*,pchEaten, BOOL,fValidateSource) \
650 ICOM_METHOD7(HRESULT,GetLinkSource, DWORD,dwLink, \
651 LPSTR*,lplpszDisplayName, ULONG*,lplenFileName, \
652 LPSTR*,lplpszFullLinkType, LPSTR*,lplpszShortLinkType, \
653 BOOL*,lpfSourceAvailable, BOOL*,lpfIsSelected) \
654 ICOM_METHOD1(HRESULT,OpenLinkSource, DWORD,dwLink) \
655 ICOM_METHOD3(HRESULT,UpdateLink, DWORD,dwLink, \
656 BOOL,fErrorMessage, BOOL,fReserved) \
657 ICOM_METHOD1(HRESULT,CancelLink, DWORD,dwLink)
658 #define IOleUILinkContainerA_IMETHODS \
659 IUnknown_IMETHODS \
660 IOleUILinkContainerA_METHODS
661 ICOM_DEFINE(IOleUILinkContainerA, IUnknown)
662 #undef ICOM_INTERFACE
664 #define ICOM_INTERFACE IOleUILinkContainerW
665 #define IOleUILinkContainerW_METHODS \
666 ICOM_METHOD1(DWORD,GetNextLink, DWORD,dwLink) \
667 ICOM_METHOD2(HRESULT,SetLinkUpdateOptions, DWORD,dwLink, DWORD,dwUpdateOpt) \
668 ICOM_METHOD2(HRESULT,GetLinkUpdateOptions, DWORD,dwLink, DWORD*,lpdwUpdateOpt) \
669 ICOM_METHOD5(HRESULT,SetLinkSource, DWORD,dwLink, LPWSTR,lpszDisplayName, \
670 ULONG,lenFileName, ULONG*,pchEaten, BOOL,fValidateSource) \
671 ICOM_METHOD7(HRESULT,GetLinkSource, DWORD,dwLink, \
672 LPWSTR*,lplpszDisplayName, ULONG*,lplenFileName, \
673 LPWSTR*,lplpszFullLinkType, LPWSTR*,lplpszShortLinkType, \
674 BOOL*,lpfSourceAvailable, BOOL*,lpfIsSelected) \
675 ICOM_METHOD1(HRESULT,OpenLinkSource, DWORD,dwLink) \
676 ICOM_METHOD3(HRESULT,UpdateLink, DWORD,dwLink, \
677 BOOL,fErrorMessage, BOOL,fReserved) \
678 ICOM_METHOD1(HRESULT,CancelLink, DWORD,dwLink)
679 #define IOleUILinkContainerW_IMETHODS \
680 IUnknown_IMETHODS \
681 IOleUILinkContainerW_METHODS
682 ICOM_DEFINE(IOleUILinkContainerW, IUnknown)
683 #undef ICOM_INTERFACE
685 DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
686 DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
687 DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
689 #if ICOM_INTERFACE
690 /*** IUnknown methods ***/
691 #define IOleUILinkContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
692 #define IOleUILinkContainer_AddRef(p) ICOM_CALL (AddRef,p)
693 #define IOleUILinkContainer_Release(p) ICOM_CALL (Release,p)
694 /*** IOleUILinkContainer methods ***/
695 #define IOleUILinkContainer_GetNextLink(p,a) ICOM_CALL1(GetNextLink,p,a)
696 #define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b) ICOM_CALL2(SetLinkUpdateOptions,p,a,b)
697 #define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b) ICOM_CALL2(GetLinkUpdateOptions,p,a,b)
698 #define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e) ICOM_CALL5(SetLinkSource,p,a,b,c,d,e)
699 #define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) ICOM_CALL7(GetLinkSource,p,a,b,c,d,e,f,g)
700 #define IOleUILinkContainer_OpenLinkSource(p,a) ICOM_CALL1(OpenLinkSource,p,a)
701 #define IOleUILinkContainer_UpdateLink(p,a,b,c) ICOM_CALL3(UpdateLink,p,a,b,c)
702 #define IOleUILinkContainer_CancelLink(p,a) ICOM_CALL1(CancelLink,p,a)
703 #endif
706 /*****************************************************************************
707 * IOleUILinkInfo interface
709 #define ICOM_INTERFACE IOleUILinkInfoA
710 #define IOleUILinkInfoA_METHODS \
711 ICOM_METHOD2(HRESULT,GetLastUpdate, DWORD,dwLink, FILETIME*,lpLastUpdate)
712 #define IOleUILinkInfoA_IMETHODS \
713 IOleUILinkContainerA_IMETHODS \
714 IOleUILinkInfoA_METHODS
715 ICOM_DEFINE(IOleUILinkInfoA, IOleUILinkContainerA)
716 #undef ICOM_INTERFACE
718 #define ICOM_INTERFACE IOleUILinkInfoW
719 #define IOleUILinkInfoW_METHODS \
720 ICOM_METHOD2(HRESULT,GetLastUpdate, DWORD,dwLink, FILETIME*,lpLastUpdate)
721 #define IOleUILinkInfoW_IMETHODS \
722 IOleUILinkContainerW_IMETHODS \
723 IOleUILinkInfoW_METHODS
724 ICOM_DEFINE(IOleUILinkInfoW, IOleUILinkContainerW)
725 #undef ICOM_INTERFACE
727 DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
728 DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
729 DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
731 /*** IUnknown methods ***/
732 #define IOleUILinkInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
733 #define IOleUILinkInfo_AddRef(p) ICOM_CALL (AddRef,p)
734 #define IOleUILinkInfo_Release(p) ICOM_CALL (Release,p)
735 /*** IOleUILinkContainer methods ***/
736 #define IOleUILinkInfo_GetNextLink(p,a) ICOM_CALL1(GetNextLink,p,a)
737 #define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b) ICOM_CALL2(SetLinkUpdateOptions,p,a,b)
738 #define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b) ICOM_CALL2(GetLinkUpdateOptions,p,a,b)
739 #define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e) ICOM_CALL5(SetLinkSource,p,a,b,c,d,e)
740 #define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) ICOM_CALL7(GetLinkSource,p,a,b,c,d,e,f,g)
741 #define IOleUILinkInfo_OpenLinkSource(p,a) ICOM_CALL1(OpenLinkSource,p,a)
742 #define IOleUILinkInfo_UpdateLink(p,a,b,c) ICOM_CALL3(UpdateLink,p,a,b,c)
743 #define IOleUILinkInfo_CancelLink(p,a) ICOM_CALL1(CancelLink,p,a)
744 /*** IOleUILinkInfo methods ***/
745 #define IOleUILinkInfo_GetLastUpdate(p,a,b) ICOM_CALL2(GetLastUpdate,p,a,b)
748 /*****************************************************************************
749 * IOleUIObjInfo interface
751 #define ICOM_INTERFACE IOleUIObjInfoA
752 #define IOleUIObjInfoA_METHODS \
753 ICOM_METHOD6(HRESULT,GetObjectInfo, DWORD,dwObject, DWORD*,lpdwObjSize, LPSTR*,lplpszLabel, \
754 LPSTR*,lplpszType, LPSTR*,lplpszShortType, LPSTR*,lplpszLocation) \
755 ICOM_METHOD6(HRESULT,GetConvertInfo, DWORD,dwObject, CLSID*,lpClassID, WORD*,lpwFormat, \
756 CLSID*,lpConvertDefaultClassID, LPCLSID*,lplpClsidExclude, UINT*,lpcClsidExclude) \
757 ICOM_METHOD2(HRESULT,ConvertObject, DWORD,dwObject, REFCLSID,clsidNew) \
758 ICOM_METHOD4(HRESULT,GetViewInfo, DWORD,dwObject, \
759 HGLOBAL*,phMetaPict, DWORD*,pdvAspect, INT*,pnCurrentScale) \
760 ICOM_METHOD5(HRESULT,SetViewInfo, DWORD,dwObject, \
761 HGLOBAL,hMetaPict, DWORD,dvAspect, \
762 INT,nCurrentScale, BOOL,bRelativeToOrig)
763 #define IOleUIObjInfoA_IMETHODS \
764 IUnknown_IMETHODS \
765 IOleUIObjInfoA_METHODS
766 ICOM_DEFINE(IOleUIObjInfoA, IUnknown)
767 #undef ICOM_INTERFACE
769 #define ICOM_INTERFACE IOleUIObjInfoW
770 #define IOleUIObjInfoW_METHODS \
771 ICOM_METHOD6(HRESULT,GetObjectInfo, DWORD,dwObject, DWORD*,lpdwObjSize, LPWSTR*,lplpszLabel, \
772 LPWSTR*,lplpszType, LPWSTR*,lplpszShortType, LPWSTR*,lplpszLocation) \
773 ICOM_METHOD6(HRESULT,GetConvertInfo, DWORD,dwObject, CLSID*,lpClassID, WORD*,lpwFormat, \
774 CLSID*,lpConvertDefaultClassID, LPCLSID*,lplpClsidExclude, UINT*,lpcClsidExclude) \
775 ICOM_METHOD2(HRESULT,ConvertObject, DWORD,dwObject, REFCLSID,clsidNew) \
776 ICOM_METHOD4(HRESULT,GetViewInfo, DWORD,dwObject, \
777 HGLOBAL*,phMetaPict, DWORD*,pdvAspect, INT*,pnCurrentScale) \
778 ICOM_METHOD5(HRESULT,SetViewInfo, DWORD,dwObject, \
779 HGLOBAL,hMetaPict, DWORD,dvAspect, \
780 INT,nCurrentScale, BOOL,bRelativeToOrig)
781 #define IOleUIObjInfoW_IMETHODS \
782 IUnknown_IMETHODS \
783 IOleUIObjInfoW_METHODS
784 ICOM_DEFINE(IOleUIObjInfoW, IUnknown)
785 #undef ICOM_INTERFACE
787 DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
788 DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
789 DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO)
791 /*** IUnknown methods ***/
792 #define IOleUIObjInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
793 #define IOleUIObjInfo_AddRef(p) ICOM_CALL (AddRef,p)
794 #define IOleUIObjInfo_Release(p) ICOM_CALL (Release,p)
795 /*** IOleUIObjInfo methods ***/
796 #define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f) ICOM_CALL6(GetObjectInfo,p,a,b,c,d,e,f)
797 #define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f) ICOM_CALL6(GetConvertInfo,p,a,b,c,d,e,f)
798 #define IOleUIObjInfo_ConvertObject(p,a,b) ICOM_CALL2(ConvertObject,p,a,b)
799 #define IOleUIObjInfo_GetViewInfo(p,a,b,c,d) ICOM_CALL4(GetViewInfo,p,a,b,c,d)
800 #define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e) ICOM_CALL5(SetViewInfo,p,a,b,c,d,e)
802 UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
803 UINT WINAPI OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
804 #define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
805 UINT WINAPI OleUIConvertA(LPOLEUICONVERTA);
806 UINT WINAPI OleUIConvertW(LPOLEUICONVERTW);
807 #define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
808 UINT WINAPI OleUIChangeIconA(LPOLEUICHANGEICONA);
809 UINT WINAPI OleUIChangeIconW(LPOLEUICHANGEICONW);
810 #define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
811 UINT WINAPI OleUIBusyA(LPOLEUIBUSYA);
812 UINT WINAPI OleUIBusyW(LPOLEUIBUSYW);
813 #define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
814 UINT WINAPI OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
815 UINT WINAPI OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
816 #define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
817 UINT WINAPI OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
818 UINT WINAPI OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
819 #define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
820 UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks);
821 UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks);
822 #define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
823 BOOL WINAPI OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr, HWND hwndParent, LPSTR lpszTitle, INT cLinks);
824 BOOL WINAPI OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr, HWND hwndParent, LPWSTR lpszTitle, INT cLinks);
825 #define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
826 BOOL WINAPI OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
827 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
828 BOOL WINAPI OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
829 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
830 #define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
831 UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial);
832 UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
833 #define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
836 #ifdef __cplusplus
837 } /* Extern "C" */
838 #endif
841 #endif /* __WINE_OLEDLG_H */