Fixed header dependencies to be fully compatible with the Windows
[wine/multimedia.git] / include / oledlg.h
blob175d892f67ce581ccf4606bcfbd8a097971f0519
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 <ole2.h>
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
33 typedef struct IOleUILinkContainerA IOleUILinkContainerA, *POLEUILINKCONTAINERA, *LPOLEUILINKCONTAINERA;
34 typedef struct IOleUILinkContainerW IOleUILinkContainerW, *POLEUILINKCONTAINERW, *LPOLEUILINKCONTAINERW;
36 typedef struct IOleUILinkInfoA IOleUILinkInfoA, *POLEUILINKINFOA, *LPOLEUILINKINFOA;
37 typedef struct IOleUILinkInfoW IOleUILinkInfoW, *POLEUILINKINFOW, *LPOLEUILINKINFOW;
39 typedef struct IOleUIObjInfoA IOleUIObjInfoA, *POLEUIOBJINFOA, *LPOLEUIOBJINFOA;
40 typedef struct IOleUIObjInfoW IOleUIObjInfoW, *POLEUIOBJINFOW, *LPOLEUIOBJINFOW;
42 #define IDC_OLEUIHELP 99
44 /* Change Source Dialog flags */
45 #define CSF_SHOWHELP 0x00000001L
46 #define CSF_VALIDSOURCE 0x00000002L
47 #define CSF_ONLYGETSOURCE 0x00000004L
48 #define CSF_EXPLORER 0x00000008L
50 #define PSF_SHOWHELP 0x00000001L
51 #define PSF_SELECTPASTE 0x00000002L
52 #define PSF_SELECTPASTELINK 0x00000004L
53 #define PSF_CHECKDISPLAYASICON 0x00000008L
54 #define PSF_DISABLEDISPLAYASICON 0x00000010L
55 #define PSF_HIDECHANGEICON 0x00000020L
56 #define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
57 #define PSF_NOREFRESHDATAOBJECT 0x00000080L
59 #define IOF_SHOWHELP 0x00000001L
60 #define IOF_SELECTCREATENEW 0x00000002L
61 #define IOF_SELECTCREATEFROMFILE 0x00000004L
62 #define IOF_CHECKLINK 0x00000008L
63 #define IOF_CHECKDISPLAYASICON 0x00000010L
64 #define IOF_CREATENEWOBJECT 0x00000020L
65 #define IOF_CREATEFILEOBJECT 0x00000040L
66 #define IOF_CREATELINKOBJECT 0x00000080L
67 #define IOF_DISABLELINK 0x00000100L
68 #define IOF_VERIFYSERVERSEXIST 0x00000200L
69 #define IOF_DISABLEDISPLAYASICON 0x00000400L
70 #define IOF_HIDECHANGEICON 0x00000800L
71 #define IOF_SHOWINSERTCONTROL 0x00001000L
72 #define IOF_SELECTCREATECONTROL 0x00002000L
74 #define CF_SHOWHELPBUTTON 0x00000001L
75 #define CF_SETCONVERTDEFAULT 0x00000002L
76 #define CF_SETACTIVATEDEFAULT 0x00000004L
77 #define CF_SELECTCONVERTTO 0x00000008L
78 #define CF_SELECTACTIVATEAS 0x00000010L
79 #define CF_DISABLEDISPLAYASICON 0x00000020L
80 #define CF_DISABLEACTIVATEAS 0x00000040L
81 #define CF_HIDECHANGEICON 0x00000080L
82 #define CF_CONVERTONLY 0x00000100L
84 #define CIF_SHOWHELP 0x00000001L
85 #define CIF_SELECTCURRENT 0x00000002L
86 #define CIF_SELECTDEFAULT 0x00000004L
87 #define CIF_SELECTFROMFILE 0x00000008L
88 #define CIF_USEICONEXE 0x00000010L
90 #define BZ_DISABLECANCELBUTTON 0x00000001L
91 #define BZ_DISABLESWITCHTOBUTTON 0x00000002L
92 #define BZ_DISABLERETRYBUTTON 0x00000004L
93 #define BZ_NOTRESPONDINGDIALOG 0x00000008L
95 #define OLEUI_ERR_STANDARDMAX 116
97 #define OLEUI_BZERR_HTASKINVALID (OLEUI_ERR_STANDARDMAX+0)
98 #define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
99 #define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
100 #define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
102 #define OLEUI_FALSE 0
103 #define OLEUI_SUCCESS 1 /* Same as OLEUI_OK */
104 #define OLEUI_OK 1 /* OK button pressed */
105 #define OLEUI_CANCEL 2 /* Cancel button pressed */
107 #define OPF_OBJECTISLINK 0x00000001L
108 #define OPF_NOFILLDEFAULT 0x00000002L
109 #define OPF_SHOWHELP 0x00000004L
110 #define OPF_DISABLECONVERT 0x00000008L
112 typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
114 /*****************************************************************************
115 * INSERT OBJECT DIALOG
117 typedef struct tagOLEUIINSERTOBJECTA
119 DWORD cbStruct;
120 DWORD dwFlags;
121 HWND hWndOwner;
122 LPCSTR lpszCaption;
123 LPFNOLEUIHOOK lpfnHook;
124 LPARAM lCustData;
125 HINSTANCE hInstance;
126 LPCSTR lpszTemplate;
127 HRSRC hResource;
128 CLSID clsid;
129 LPSTR lpszFile;
130 UINT cchFile;
131 UINT cClsidExclude;
132 LPCLSID lpClsidExclude;
133 IID iid;
134 DWORD oleRender;
135 LPFORMATETC lpFormatEtc;
136 LPOLECLIENTSITE lpIOleClientSite;
137 LPSTORAGE lpIStorage;
138 LPVOID *ppvObj;
139 SCODE sc;
140 HGLOBAL hMetaPict;
141 } OLEUIINSERTOBJECTA, *POLEUIINSERTOBJECTA, *LPOLEUIINSERTOBJECTA;
143 typedef struct tagOLEUIINSERTOBJECTW
145 DWORD cbStruct;
146 DWORD dwFlags;
147 HWND hWndOwner;
148 LPCWSTR lpszCaption;
149 LPFNOLEUIHOOK lpfnHook;
150 LPARAM lCustData;
151 HINSTANCE hInstance;
152 LPCWSTR lpszTemplate;
153 HRSRC hResource;
154 CLSID clsid;
155 LPWSTR lpszFile;
156 UINT cchFile;
157 UINT cClsidExclude;
158 LPCLSID lpClsidExclude;
159 IID iid;
160 DWORD oleRender;
161 LPFORMATETC lpFormatEtc;
162 LPOLECLIENTSITE lpIOleClientSite;
163 LPSTORAGE lpIStorage;
164 LPVOID *ppvObj;
165 SCODE sc;
166 HGLOBAL hMetaPict;
167 } OLEUIINSERTOBJECTW, *POLEUIINSERTOBJECTW, *LPOLEUIINSERTOBJECTW;
169 DECL_WINELIB_TYPE_AW(OLEUIINSERTOBJECT)
170 DECL_WINELIB_TYPE_AW(POLEUIINSERTOBJECT)
171 DECL_WINELIB_TYPE_AW(LPOLEUIINSERTOBJECT)
174 /*****************************************************************************
175 * CONVERT DIALOG
177 typedef struct tagOLEUICONVERTA
179 DWORD cbStruct;
180 DWORD dwFlags;
181 HWND hWndOwner;
182 LPCSTR lpszCaption;
183 LPFNOLEUIHOOK lpfnHook;
184 LPARAM lCustData;
185 HINSTANCE hInstance;
186 LPCSTR lpszTemplate;
187 HRSRC hResource;
188 CLSID clsid;
189 CLSID clsidConvertDefault;
190 CLSID clsidActivateDefault;
191 CLSID clsidNew;
192 DWORD dvAspect;
193 WORD wFormat;
194 BOOL fIsLinkedObject;
195 HGLOBAL hMetaPict;
196 LPSTR lpszUserType;
197 BOOL fObjectsIconChanged;
198 LPSTR lpszDefLabel;
199 UINT cClsidExclude;
200 LPCLSID lpClsidExclude;
201 } OLEUICONVERTA, *POLEUICONVERTA, *LPOLEUICONVERTA;
203 typedef struct tagOLEUICONVERTW
205 DWORD cbStruct;
206 DWORD dwFlags;
207 HWND hWndOwner;
208 LPCWSTR lpszCaption;
209 LPFNOLEUIHOOK lpfnHook;
210 LPARAM lCustData;
211 HINSTANCE hInstance;
212 LPCWSTR lpszTemplate;
213 HRSRC hResource;
214 CLSID clsid;
215 CLSID clsidConvertDefault;
216 CLSID clsidActivateDefault;
217 CLSID clsidNew;
218 DWORD dvAspect;
219 WORD wFormat;
220 BOOL fIsLinkedObject;
221 HGLOBAL hMetaPict;
222 LPWSTR lpszUserType;
223 BOOL fObjectsIconChanged;
224 LPWSTR lpszDefLabel;
225 UINT cClsidExclude;
226 LPCLSID lpClsidExclude;
227 } OLEUICONVERTW, *POLEUICONVERTW, *LPOLEUICONVERTW;
229 DECL_WINELIB_TYPE_AW(OLEUICONVERT)
230 DECL_WINELIB_TYPE_AW(POLEUICONVERT)
231 DECL_WINELIB_TYPE_AW(LPOLEUICONVERT)
233 /*****************************************************************************
234 * CHANGE ICON DIALOG
236 typedef struct tagOLEUICHANGEICONA
238 DWORD cbStruct;
239 DWORD dwFlags;
240 HWND hWndOwner;
241 LPCSTR lpszCaption;
242 LPFNOLEUIHOOK lpfnHook;
243 LPARAM lCustData;
244 HINSTANCE hInstance;
245 LPCSTR lpszTemplate;
246 HRSRC hResource;
247 HGLOBAL hMetaPict;
248 CLSID clsid;
249 CHAR szIconExe[MAX_PATH];
250 INT cchIconExe;
251 } OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;
253 typedef struct tagOLEUICHANGEICONW
255 DWORD cbStruct;
256 DWORD dwFlags;
257 HWND hWndOwner;
258 LPCWSTR lpszCaption;
259 LPFNOLEUIHOOK lpfnHook;
260 LPARAM lCustData;
261 HINSTANCE hInstance;
262 LPCWSTR lpszTemplate;
263 HRSRC hResource;
264 HGLOBAL hMetaPict;
265 CLSID clsid;
266 WCHAR szIconExe[MAX_PATH];
267 INT cchIconExe;
268 } OLEUICHANGEICONW, *POLEUICHANGEICONW, *LPOLEUICHANGEICONW;
270 DECL_WINELIB_TYPE_AW(OLEUICHANGEICON)
271 DECL_WINELIB_TYPE_AW(POLEUICHANGEICON)
272 DECL_WINELIB_TYPE_AW(LPOLEUICHANGEICON)
275 /*****************************************************************************
276 * PASTE SPECIAL DIALOG
279 typedef enum tagOLEUIPASTEFLAG
281 OLEUIPASTE_ENABLEICON = 2048,
282 OLEUIPASTE_PASTEONLY = 0,
283 OLEUIPASTE_PASTE = 512,
284 OLEUIPASTE_LINKANYTYPE = 1024,
285 OLEUIPASTE_LINKTYPE1 = 1,
286 OLEUIPASTE_LINKTYPE2 = 2,
287 OLEUIPASTE_LINKTYPE3 = 4,
288 OLEUIPASTE_LINKTYPE4 = 8,
289 OLEUIPASTE_LINKTYPE5 = 16,
290 OLEUIPASTE_LINKTYPE6 = 32,
291 OLEUIPASTE_LINKTYPE7 = 64,
292 OLEUIPASTE_LINKTYPE8 = 128
293 } OLEUIPASTEFLAG;
295 typedef struct tagOLEUIPASTEENTRYA
297 FORMATETC fmtetc;
298 LPCSTR lpstrFormatName;
299 LPCSTR lpstrResultText;
300 DWORD dwFlags;
301 DWORD dwScratchSpace;
302 } OLEUIPASTEENTRYA, *POLEUIPASTEENTRYA, *LPOLEUIPASTEENTRYA;
304 typedef struct tagOLEUIPASTEENTRYW
306 FORMATETC fmtetc;
307 LPCWSTR lpstrFormatName;
308 LPCWSTR lpstrResultText;
309 DWORD dwFlags;
310 DWORD dwScratchSpace;
311 } OLEUIPASTEENTRYW, *POLEUIPASTEENTRYW, *LPOLEUIPASTEENTRYW;
313 DECL_WINELIB_TYPE_AW(OLEUIPASTEENTRY)
314 DECL_WINELIB_TYPE_AW(POLEUIPASTEENTRY)
315 DECL_WINELIB_TYPE_AW(LPOLEUIPASTEENTRY)
317 typedef struct tagOLEUIPASTESPECIALA
319 DWORD cbStruct;
320 DWORD dwFlags;
321 HWND hWndOwner;
322 LPCSTR lpszCaption;
323 LPFNOLEUIHOOK lpfnHook;
324 LPARAM lCustData;
325 HINSTANCE hInstance;
326 LPCSTR lpszTemplate;
327 HRSRC hResource;
328 LPDATAOBJECT lpSrcDataObj;
329 LPOLEUIPASTEENTRYA arrPasteEntries;
330 INT cPasteEntries;
331 UINT* arrLinkTypes;
332 INT cLinkTypes;
333 UINT cClsidExclude;
334 LPCLSID lpClsidExclude;
335 INT nSelectedIndex;
336 BOOL fLink;
337 HGLOBAL hMetaPict;
338 SIZEL sizel;
339 } OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;
341 typedef struct tagOLEUIPASTESPECIALW
343 DWORD cbStruct;
344 DWORD dwFlags;
345 HWND hWndOwner;
346 LPCWSTR lpszCaption;
347 LPFNOLEUIHOOK lpfnHook;
348 LPARAM lCustData;
349 HINSTANCE hInstance;
350 LPCWSTR lpszTemplate;
351 HRSRC hResource;
352 LPDATAOBJECT lpSrcDataObj;
353 LPOLEUIPASTEENTRYW arrPasteEntries;
354 INT cPasteEntries;
355 UINT* arrLinkTypes;
356 INT cLinkTypes;
357 UINT cClsidExclude;
358 LPCLSID lpClsidExclude;
359 INT nSelectedIndex;
360 BOOL fLink;
361 HGLOBAL hMetaPict;
362 SIZEL sizel;
363 } OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
365 DECL_WINELIB_TYPE_AW(OLEUIPASTESPECIAL)
366 DECL_WINELIB_TYPE_AW(POLEUIPASTESPECIAL)
367 DECL_WINELIB_TYPE_AW(LPOLEUIPASTESPECIAL)
369 #define PSF_SHOWHELP 0x00000001L
370 #define PSF_SELECTPASTE 0x00000002L
371 #define PSF_SELECTPASTELINK 0x00000004L
373 #define PSF_CHECKDISPLAYASICON 0x00000008L
374 #define PSF_DISABLEDISPLAYASICON 0x00000010L
375 #define PSF_HIDECHANGEICON 0x00000020L
376 #define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
377 #define PSF_NOREFRESHDATAOBJECT 0x00000080L
379 #define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
380 #define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
381 #define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
382 #define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
383 #define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
385 #define ELF_SHOWHELP 0x00000001L
386 #define ELF_DISABLEUPDATENOW 0x00000002L
387 #define ELF_DISABLEOPENSOURCE 0x00000004L
388 #define ELF_DISABLECHANGESOURCE 0x00000008L
389 #define ELF_DISABLECANCELLINK 0x00000010L
391 typedef struct tagOLEUIEDITLINKSW
393 DWORD cbStruct;
394 DWORD dwFlags;
395 HWND hWndOwner;
396 LPCWSTR lpszCaption;
397 LPFNOLEUIHOOK lpfnHook;
398 LPARAM lCustData;
399 HINSTANCE hInstance;
400 LPCWSTR lpszTemplate;
401 HRSRC hResource;
402 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
403 } OLEUIEDITLINKSW, *POLEUIEDITLINKSW, *LPOLEUIEDITLINKSW;
405 typedef struct tagOLEUIEDITLINKSA
407 DWORD cbStruct;
408 DWORD dwFlags;
409 HWND hWndOwner;
410 LPCSTR lpszCaption;
411 LPFNOLEUIHOOK lpfnHook;
412 LPARAM lCustData;
413 HINSTANCE hInstance;
414 LPCSTR lpszTemplate;
415 HRSRC hResource;
416 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
417 } OLEUIEDITLINKSA, *POLEUIEDITLINKSA, *LPOLEUIEDITLINKSA;
419 DECL_WINELIB_TYPE_AW(OLEUIEDITLINKS)
420 DECL_WINELIB_TYPE_AW(POLEUIEDITLINKS)
421 DECL_WINELIB_TYPE_AW(LPOLEUIEDITLINKS)
424 /***********************************************************************************
425 * BUSY DIALOG
427 typedef struct tagOLEUIBUSYA
429 DWORD cbStruct;
430 DWORD dwFlags;
431 HWND hWndOwner;
432 LPCSTR lpszCaption;
433 LPFNOLEUIHOOK lpfnHook;
434 LPARAM lCustData;
435 HINSTANCE hInstance;
436 LPCSTR lpszTemplate;
437 HRSRC hResource;
438 HTASK hTask;
439 HWND* lphWndDialog;
440 } OLEUIBUSYA, *POLEUIBUSYA, *LPOLEUIBUSYA;
442 typedef struct tagOLEUIBUSYW
444 DWORD cbStruct;
445 DWORD dwFlags;
446 HWND hWndOwner;
447 LPCWSTR lpszCaption;
448 LPFNOLEUIHOOK lpfnHook;
449 LPARAM lCustData;
450 HINSTANCE hInstance;
451 LPCWSTR lpszTemplate;
452 HRSRC hResource;
453 HTASK hTask;
454 HWND* lphWndDialog;
455 } OLEUIBUSYW, *POLEUIBUSYW, *LPOLEUIBUSYW;
457 DECL_WINELIB_TYPE_AW(OLEUIBUSY)
458 DECL_WINELIB_TYPE_AW(POLEUIBUSY)
459 DECL_WINELIB_TYPE_AW(LPOLEUIBUSY)
462 struct tagOLEUIOBJECTPROPSW;
463 struct tagOLEUIOBJECTPROPSA;
465 typedef struct tagOLEUIGNRLPROPSA
467 DWORD cbStruct;
468 DWORD dwFlags;
469 DWORD dwReserved1[2];
470 LPFNOLEUIHOOK lpfnHook;
471 LPARAM lCustData;
472 DWORD dwReserved2[3];
473 struct tagOLEUIOBJECTPROPSA* lpOP;
475 } OLEUIGNRLPROPSA, *POLEUIGNRLPROPSA, *LPOLEUIGNRLPROPSA;
477 typedef struct tagOLEUIGNRLPROPSW
479 DWORD cbStruct;
480 DWORD dwFlags;
481 DWORD dwReserved1[2];
482 LPFNOLEUIHOOK lpfnHook;
483 LPARAM lCustData;
484 DWORD dwReserved2[3];
485 struct tagOLEUIOBJECTPROPSW* lpOP;
486 } OLEUIGNRLPROPSW, *POLEUIGNRLPROPSW, *LPOLEUIGNRLPROPSW;
488 DECL_WINELIB_TYPE_AW(OLEUIGNRLPROPS)
489 DECL_WINELIB_TYPE_AW(POLEUIGNRLPROPS)
490 DECL_WINELIB_TYPE_AW(LPOLEUIGNRLPROPS)
492 typedef struct tagOLEUIVIEWPROPSA
494 DWORD cbStruct;
495 DWORD dwFlags;
496 DWORD dwReserved1[2];
497 LPFNOLEUIHOOK lpfnHook;
498 LPARAM lCustData;
499 DWORD dwReserved2[3];
500 struct tagOLEUIOBJECTPROPSA* lpOP;
501 INT nScaleMin;
502 INT nScaleMax;
503 } OLEUIVIEWPROPSA, *POLEUIVIEWPROPSA, *LPOLEUIVIEWPROPSA;
505 typedef struct tagOLEUIVIEWPROPSW
507 DWORD cbStruct;
508 DWORD dwFlags;
509 DWORD dwReserved1[2];
510 LPFNOLEUIHOOK lpfnHook;
511 LPARAM lCustData;
512 DWORD dwReserved2[3];
513 struct tagOLEUIOBJECTPROPSW* lpOP;
514 INT nScaleMin;
515 INT nScaleMax;
516 } OLEUIVIEWPROPSW, *POLEUIVIEWPROPSW, *LPOLEUIVIEWPROPSW;
518 DECL_WINELIB_TYPE_AW(OLEUIVIEWPROPS)
519 DECL_WINELIB_TYPE_AW(POLEUIVIEWPROPS)
520 DECL_WINELIB_TYPE_AW(LPOLEUIVIEWPROPS)
523 #define VPF_SELECTRELATIVE 0x00000001L
524 #define VPF_DISABLERELATIVE 0x00000002L
525 #define VPF_DISABLESCALE 0x00000004L
527 typedef struct tagOLEUILINKPROPSA
529 DWORD cbStruct;
530 DWORD dwFlags;
531 DWORD dwReserved1[2];
532 LPFNOLEUIHOOK lpfnHook;
533 LPARAM lCustData;
534 DWORD dwReserved2[3];
535 struct tagOLEUIOBJECTPROPSA* lpOP;
536 } OLEUILINKPROPSA, *POLEUILINKPROPSA, *LPOLEUILINKPROPSA;
538 typedef struct tagOLEUILINKPROPSW
540 DWORD cbStruct;
541 DWORD dwFlags;
542 DWORD dwReserved1[2];
543 LPFNOLEUIHOOK lpfnHook;
544 LPARAM lCustData;
545 DWORD dwReserved2[3];
546 struct tagOLEUIOBJECTPROPSW* lpOP;
547 } OLEUILINKPROPSW, *POLEUILINKPROPSW, *LPOLEUILINKPROPSW;
549 DECL_WINELIB_TYPE_AW(OLEUILINKPROPS)
550 DECL_WINELIB_TYPE_AW(POLEUILINKPROPS)
551 DECL_WINELIB_TYPE_AW(LPOLEUILINKPROPS)
553 typedef struct tagOLEUIOBJECTPROPSA
555 DWORD cbStruct;
556 DWORD dwFlags;
557 LPPROPSHEETHEADERA lpPS;
558 DWORD dwObject;
559 LPOLEUIOBJINFOA lpObjInfo;
560 DWORD dwLink;
561 LPOLEUILINKINFOA lpLinkInfo;
562 LPOLEUIGNRLPROPSA lpGP;
563 LPOLEUIVIEWPROPSA lpVP;
564 LPOLEUILINKPROPSA lpLP;
565 } OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, *LPOLEUIOBJECTPROPSA;
567 typedef struct tagOLEUIOBJECTPROPSW
569 DWORD cbStruct;
570 DWORD dwFlags;
571 LPPROPSHEETHEADERW lpPS;
572 DWORD dwObject;
573 LPOLEUIOBJINFOW lpObjInfo;
574 DWORD dwLink;
575 LPOLEUILINKINFOW lpLinkInfo;
576 LPOLEUIGNRLPROPSW lpGP;
577 LPOLEUIVIEWPROPSW lpVP;
578 LPOLEUILINKPROPSW lpLP;
579 } OLEUIOBJECTPROPSW, *POLEUIOBJECTPROPSW, *LPOLEUIOBJECTPROPSW;
581 DECL_WINELIB_TYPE_AW(OLEUIOBJECTPROPS)
582 DECL_WINELIB_TYPE_AW(POLEUIOBJECTPROPS)
583 DECL_WINELIB_TYPE_AW(LPOLEUIOBJECTPROPS)
585 /************************************************************************************
586 * CHANGE SOURCE DIALOG
590 typedef struct tagOLEUICHANGESOURCEW
592 DWORD cbStruct;
593 DWORD dwFlags;
594 HWND hWndOwner;
595 LPCWSTR lpszCaption;
596 LPFNOLEUIHOOK lpfnHook;
597 LPARAM lCustData;
598 HINSTANCE hInstance;
599 LPCWSTR lpszTemplate;
600 HRSRC hResource;
601 OPENFILENAMEW*lpOFN;
602 DWORD dwReserved1[4];
603 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
604 DWORD dwLink;
605 LPWSTR lpszDisplayName;
606 ULONG nFileLength;
607 LPWSTR lpszFrom;
608 LPWSTR lpszTo;
609 } OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, *LPOLEUICHANGESOURCEW;
612 typedef struct tagOLEUICHANGESOURCEA
614 DWORD cbStruct;
615 DWORD dwFlags;
616 HWND hWndOwner;
617 LPCSTR lpszCaption;
618 LPFNOLEUIHOOK lpfnHook;
619 LPARAM lCustData;
620 HINSTANCE hInstance;
621 LPCSTR lpszTemplate;
622 HRSRC hResource;
623 OPENFILENAMEA* lpOFN;
624 DWORD dwReserved1[4];
625 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
626 DWORD dwLink;
627 LPSTR lpszDisplayName;
628 ULONG nFileLength;
629 LPSTR lpszFrom;
630 LPSTR lpszTo;
631 } OLEUICHANGESOURCEA, *POLEUICHANGESOURCEA, *LPOLEUICHANGESOURCEA;
634 DECL_WINELIB_TYPE_AW(OLEUICHANGESOURCE)
635 DECL_WINELIB_TYPE_AW(POLEUICHANGESOURCE)
636 DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
639 /*****************************************************************************
640 * IOleUILinkContainer interface
642 #define INTERFACE IOleUILinkContainerA
643 #define IOleUILinkContainerA_METHODS \
644 IUnknown_METHODS \
645 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
646 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
647 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
648 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName, \
649 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE; \
650 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName, \
651 LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType, \
652 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE; \
653 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE; \
654 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE; \
655 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
656 ICOM_DEFINE(IOleUILinkContainerA, IUnknown)
657 #undef INTERFACE
659 #define INTERFACE IOleUILinkContainerW
660 #define IOleUILinkContainerW_METHODS \
661 IUnknown_METHODS \
662 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
663 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
664 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
665 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName, \
666 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE; \
667 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName, \
668 LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType, \
669 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE; \
670 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE; \
671 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE; \
672 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
673 ICOM_DEFINE(IOleUILinkContainerW, IUnknown)
674 #undef INTERFACE
676 DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
677 DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
678 DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
680 #ifdef COBJMACROS
681 /*** IUnknown methods ***/
682 #define IOleUILinkContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
683 #define IOleUILinkContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
684 #define IOleUILinkContainer_Release(p) (p)->lpVtbl->Release(p)
685 /*** IOleUILinkContainer methods ***/
686 #define IOleUILinkContainer_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
687 #define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
688 #define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
689 #define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
690 #define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
691 #define IOleUILinkContainer_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
692 #define IOleUILinkContainer_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
693 #define IOleUILinkContainer_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
694 #endif
697 /*****************************************************************************
698 * IOleUILinkInfo interface
700 #define INTERFACE IOleUILinkInfoA
701 #define IOleUILinkInfoA_METHODS \
702 IOleUILinkContainerA_METHODS \
703 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
704 ICOM_DEFINE(IOleUILinkInfoA, IOleUILinkContainerA)
705 #undef INTERFACE
707 #define INTERFACE IOleUILinkInfoW
708 #define IOleUILinkInfoW_METHODS \
709 IOleUILinkContainerW_METHODS \
710 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
711 ICOM_DEFINE(IOleUILinkInfoW, IOleUILinkContainerW)
712 #undef INTERFACE
714 DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
715 DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
716 DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
718 #ifdef COBJMACROS
719 /*** IUnknown methods ***/
720 #define IOleUILinkInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
721 #define IOleUILinkInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
722 #define IOleUILinkInfo_Release(p) (p)->lpVtbl->Release(p)
723 /*** IOleUILinkContainer methods ***/
724 #define IOleUILinkInfo_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
725 #define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
726 #define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
727 #define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
728 #define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
729 #define IOleUILinkInfo_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
730 #define IOleUILinkInfo_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
731 #define IOleUILinkInfo_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
732 /*** IOleUILinkInfo methods ***/
733 #define IOleUILinkInfo_GetLastUpdate(p,a,b) (p)->lpVtbl->GetLastUpdate(p,a,b)
734 #endif
737 /*****************************************************************************
738 * IOleUIObjInfo interface
740 #define INTERFACE IOleUIObjInfoA
741 #define IOleUIObjInfoA_METHODS \
742 IUnknown_METHODS \
743 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPSTR *lplpszLabel, \
744 LPSTR *lplpszType, LPSTR *lplpszShortType, LPSTR *lplpszLocation) PURE; \
745 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat, \
746 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE; \
747 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE; \
748 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE; \
749 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect, \
750 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
751 ICOM_DEFINE(IOleUIObjInfoA, IUnknown)
752 #undef INTERFACE
754 #define INTERFACE IOleUIObjInfoW
755 #define IOleUIObjInfoW_METHODS \
756 IUnknown_METHODS \
757 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPWSTR *lplpszLabel, \
758 LPWSTR *lplpszType, LPWSTR *lplpszShortType, LPWSTR *lplpszLocation) PURE; \
759 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat, \
760 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE; \
761 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE; \
762 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE; \
763 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect, \
764 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
765 ICOM_DEFINE(IOleUIObjInfoW, IUnknown)
766 #undef INTERFACE
768 DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
769 DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
770 DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO)
772 #ifdef COBJMACROS
773 /*** IUnknown methods ***/
774 #define IOleUIObjInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
775 #define IOleUIObjInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
776 #define IOleUIObjInfo_Release(p) (p)->lpVtbl->Release(p)
777 /*** IOleUIObjInfo methods ***/
778 #define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetObjectInfo(p,a,b,c,d,e,f)
779 #define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetConvertInfo(p,a,b,c,d,e,f)
780 #define IOleUIObjInfo_ConvertObject(p,a,b) (p)->lpVtbl->ConvertObject(p,a,b)
781 #define IOleUIObjInfo_GetViewInfo(p,a,b,c,d) (p)->lpVtbl->GetViewInfo(p,a,b,c,d)
782 #define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e) (p)->lpVtbl->SetViewInfo(p,a,b,c,d,e)
783 #endif
785 UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
786 UINT WINAPI OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
787 #define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
788 UINT WINAPI OleUIConvertA(LPOLEUICONVERTA);
789 UINT WINAPI OleUIConvertW(LPOLEUICONVERTW);
790 #define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
791 UINT WINAPI OleUIChangeIconA(LPOLEUICHANGEICONA);
792 UINT WINAPI OleUIChangeIconW(LPOLEUICHANGEICONW);
793 #define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
794 UINT WINAPI OleUIBusyA(LPOLEUIBUSYA);
795 UINT WINAPI OleUIBusyW(LPOLEUIBUSYW);
796 #define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
797 UINT WINAPI OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
798 UINT WINAPI OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
799 #define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
800 UINT WINAPI OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
801 UINT WINAPI OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
802 #define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
803 UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks);
804 UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks);
805 #define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
806 BOOL WINAPI OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr, HWND hwndParent, LPSTR lpszTitle, INT cLinks);
807 BOOL WINAPI OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr, HWND hwndParent, LPWSTR lpszTitle, INT cLinks);
808 #define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
809 BOOL WINAPI OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
810 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
811 BOOL WINAPI OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
812 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
813 #define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
814 UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial);
815 UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
816 #define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
819 #ifdef __cplusplus
820 } /* Extern "C" */
821 #endif
824 #endif /* __WINE_OLEDLG_H */