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
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 OLEUI_ERR_STANDARDMIN 100
108 #define OLEUI_ERR_OLEMEMALLOC 100
109 #define OLEUI_ERR_STRUCTURENULL 101
110 #define OLEUI_ERR_STRUCTUREINVALID 102
111 #define OLEUI_ERR_CBSTRUCTINCORRECT 103
112 #define OLEUI_ERR_HWNDOWNERINVALID 104
113 #define OLEUI_ERR_LPSZCAPTIONINVALID 105
114 #define OLEUI_ERR_LPFNHOOKINVALID 106
115 #define OLEUI_ERR_HINSTANCEINVALID 107
116 #define OLEUI_ERR_LPSZTEMPLATEINVALID 108
117 #define OLEUI_ERR_HRESOURCEINVALID 109
118 #define OLEUI_ERR_FINDTEMPLATEFAILURE 110
119 #define OLEUI_ERR_LOADTEMPLATEFAILURE 111
120 #define OLEUI_ERR_DIALOGFAILURE 112
121 #define OLEUI_ERR_LOCALMEMALLOC 113
122 #define OLEUI_ERR_GLOBALMEMALLOC 114
123 #define OLEUI_ERR_LOADSTRING 115
124 #define OLEUI_ERR_STANDARDMAX 116
126 #define OPF_OBJECTISLINK 0x00000001L
127 #define OPF_NOFILLDEFAULT 0x00000002L
128 #define OPF_SHOWHELP 0x00000004L
129 #define OPF_DISABLECONVERT 0x00000008L
131 typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
133 /*****************************************************************************
134 * INSERT OBJECT DIALOG
136 typedef struct tagOLEUIINSERTOBJECTA
142 LPFNOLEUIHOOK lpfnHook;
151 LPCLSID lpClsidExclude;
154 LPFORMATETC lpFormatEtc;
155 LPOLECLIENTSITE lpIOleClientSite;
156 LPSTORAGE lpIStorage;
160 } OLEUIINSERTOBJECTA, *POLEUIINSERTOBJECTA, *LPOLEUIINSERTOBJECTA;
162 typedef struct tagOLEUIINSERTOBJECTW
168 LPFNOLEUIHOOK lpfnHook;
171 LPCWSTR lpszTemplate;
177 LPCLSID lpClsidExclude;
180 LPFORMATETC lpFormatEtc;
181 LPOLECLIENTSITE lpIOleClientSite;
182 LPSTORAGE lpIStorage;
186 } OLEUIINSERTOBJECTW, *POLEUIINSERTOBJECTW, *LPOLEUIINSERTOBJECTW;
188 DECL_WINELIB_TYPE_AW(OLEUIINSERTOBJECT)
189 DECL_WINELIB_TYPE_AW(POLEUIINSERTOBJECT)
190 DECL_WINELIB_TYPE_AW(LPOLEUIINSERTOBJECT)
193 /*****************************************************************************
196 typedef struct tagOLEUICONVERTA
202 LPFNOLEUIHOOK lpfnHook;
208 CLSID clsidConvertDefault;
209 CLSID clsidActivateDefault;
213 BOOL fIsLinkedObject;
216 BOOL fObjectsIconChanged;
219 LPCLSID lpClsidExclude;
220 } OLEUICONVERTA, *POLEUICONVERTA, *LPOLEUICONVERTA;
222 typedef struct tagOLEUICONVERTW
228 LPFNOLEUIHOOK lpfnHook;
231 LPCWSTR lpszTemplate;
234 CLSID clsidConvertDefault;
235 CLSID clsidActivateDefault;
239 BOOL fIsLinkedObject;
242 BOOL fObjectsIconChanged;
245 LPCLSID lpClsidExclude;
246 } OLEUICONVERTW, *POLEUICONVERTW, *LPOLEUICONVERTW;
248 DECL_WINELIB_TYPE_AW(OLEUICONVERT)
249 DECL_WINELIB_TYPE_AW(POLEUICONVERT)
250 DECL_WINELIB_TYPE_AW(LPOLEUICONVERT)
252 /*****************************************************************************
255 typedef struct tagOLEUICHANGEICONA
261 LPFNOLEUIHOOK lpfnHook;
268 CHAR szIconExe[MAX_PATH];
270 } OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;
272 typedef struct tagOLEUICHANGEICONW
278 LPFNOLEUIHOOK lpfnHook;
281 LPCWSTR lpszTemplate;
285 WCHAR szIconExe[MAX_PATH];
287 } OLEUICHANGEICONW, *POLEUICHANGEICONW, *LPOLEUICHANGEICONW;
289 DECL_WINELIB_TYPE_AW(OLEUICHANGEICON)
290 DECL_WINELIB_TYPE_AW(POLEUICHANGEICON)
291 DECL_WINELIB_TYPE_AW(LPOLEUICHANGEICON)
294 /*****************************************************************************
295 * PASTE SPECIAL DIALOG
298 typedef enum tagOLEUIPASTEFLAG
300 OLEUIPASTE_ENABLEICON = 2048,
301 OLEUIPASTE_PASTEONLY = 0,
302 OLEUIPASTE_PASTE = 512,
303 OLEUIPASTE_LINKANYTYPE = 1024,
304 OLEUIPASTE_LINKTYPE1 = 1,
305 OLEUIPASTE_LINKTYPE2 = 2,
306 OLEUIPASTE_LINKTYPE3 = 4,
307 OLEUIPASTE_LINKTYPE4 = 8,
308 OLEUIPASTE_LINKTYPE5 = 16,
309 OLEUIPASTE_LINKTYPE6 = 32,
310 OLEUIPASTE_LINKTYPE7 = 64,
311 OLEUIPASTE_LINKTYPE8 = 128
314 typedef struct tagOLEUIPASTEENTRYA
317 LPCSTR lpstrFormatName;
318 LPCSTR lpstrResultText;
320 DWORD dwScratchSpace;
321 } OLEUIPASTEENTRYA, *POLEUIPASTEENTRYA, *LPOLEUIPASTEENTRYA;
323 typedef struct tagOLEUIPASTEENTRYW
326 LPCWSTR lpstrFormatName;
327 LPCWSTR lpstrResultText;
329 DWORD dwScratchSpace;
330 } OLEUIPASTEENTRYW, *POLEUIPASTEENTRYW, *LPOLEUIPASTEENTRYW;
332 DECL_WINELIB_TYPE_AW(OLEUIPASTEENTRY)
333 DECL_WINELIB_TYPE_AW(POLEUIPASTEENTRY)
334 DECL_WINELIB_TYPE_AW(LPOLEUIPASTEENTRY)
336 typedef struct tagOLEUIPASTESPECIALA
342 LPFNOLEUIHOOK lpfnHook;
347 LPDATAOBJECT lpSrcDataObj;
348 LPOLEUIPASTEENTRYA arrPasteEntries;
353 LPCLSID lpClsidExclude;
358 } OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;
360 typedef struct tagOLEUIPASTESPECIALW
366 LPFNOLEUIHOOK lpfnHook;
369 LPCWSTR lpszTemplate;
371 LPDATAOBJECT lpSrcDataObj;
372 LPOLEUIPASTEENTRYW arrPasteEntries;
377 LPCLSID lpClsidExclude;
382 } OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
384 DECL_WINELIB_TYPE_AW(OLEUIPASTESPECIAL)
385 DECL_WINELIB_TYPE_AW(POLEUIPASTESPECIAL)
386 DECL_WINELIB_TYPE_AW(LPOLEUIPASTESPECIAL)
388 #define PSF_SHOWHELP 0x00000001L
389 #define PSF_SELECTPASTE 0x00000002L
390 #define PSF_SELECTPASTELINK 0x00000004L
392 #define PSF_CHECKDISPLAYASICON 0x00000008L
393 #define PSF_DISABLEDISPLAYASICON 0x00000010L
394 #define PSF_HIDECHANGEICON 0x00000020L
395 #define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
396 #define PSF_NOREFRESHDATAOBJECT 0x00000080L
398 #define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
399 #define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
400 #define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
401 #define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
402 #define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
404 #define ELF_SHOWHELP 0x00000001L
405 #define ELF_DISABLEUPDATENOW 0x00000002L
406 #define ELF_DISABLEOPENSOURCE 0x00000004L
407 #define ELF_DISABLECHANGESOURCE 0x00000008L
408 #define ELF_DISABLECANCELLINK 0x00000010L
410 typedef struct tagOLEUIEDITLINKSW
416 LPFNOLEUIHOOK lpfnHook;
419 LPCWSTR lpszTemplate;
421 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
422 } OLEUIEDITLINKSW, *POLEUIEDITLINKSW, *LPOLEUIEDITLINKSW;
424 typedef struct tagOLEUIEDITLINKSA
430 LPFNOLEUIHOOK lpfnHook;
435 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
436 } OLEUIEDITLINKSA, *POLEUIEDITLINKSA, *LPOLEUIEDITLINKSA;
438 DECL_WINELIB_TYPE_AW(OLEUIEDITLINKS)
439 DECL_WINELIB_TYPE_AW(POLEUIEDITLINKS)
440 DECL_WINELIB_TYPE_AW(LPOLEUIEDITLINKS)
443 /***********************************************************************************
446 typedef struct tagOLEUIBUSYA
452 LPFNOLEUIHOOK lpfnHook;
459 } OLEUIBUSYA, *POLEUIBUSYA, *LPOLEUIBUSYA;
461 typedef struct tagOLEUIBUSYW
467 LPFNOLEUIHOOK lpfnHook;
470 LPCWSTR lpszTemplate;
474 } OLEUIBUSYW, *POLEUIBUSYW, *LPOLEUIBUSYW;
476 DECL_WINELIB_TYPE_AW(OLEUIBUSY)
477 DECL_WINELIB_TYPE_AW(POLEUIBUSY)
478 DECL_WINELIB_TYPE_AW(LPOLEUIBUSY)
481 struct tagOLEUIOBJECTPROPSW;
482 struct tagOLEUIOBJECTPROPSA;
484 typedef struct tagOLEUIGNRLPROPSA
488 DWORD dwReserved1[2];
489 LPFNOLEUIHOOK lpfnHook;
491 DWORD dwReserved2[3];
492 struct tagOLEUIOBJECTPROPSA* lpOP;
494 } OLEUIGNRLPROPSA, *POLEUIGNRLPROPSA, *LPOLEUIGNRLPROPSA;
496 typedef struct tagOLEUIGNRLPROPSW
500 DWORD dwReserved1[2];
501 LPFNOLEUIHOOK lpfnHook;
503 DWORD dwReserved2[3];
504 struct tagOLEUIOBJECTPROPSW* lpOP;
505 } OLEUIGNRLPROPSW, *POLEUIGNRLPROPSW, *LPOLEUIGNRLPROPSW;
507 DECL_WINELIB_TYPE_AW(OLEUIGNRLPROPS)
508 DECL_WINELIB_TYPE_AW(POLEUIGNRLPROPS)
509 DECL_WINELIB_TYPE_AW(LPOLEUIGNRLPROPS)
511 typedef struct tagOLEUIVIEWPROPSA
515 DWORD dwReserved1[2];
516 LPFNOLEUIHOOK lpfnHook;
518 DWORD dwReserved2[3];
519 struct tagOLEUIOBJECTPROPSA* lpOP;
522 } OLEUIVIEWPROPSA, *POLEUIVIEWPROPSA, *LPOLEUIVIEWPROPSA;
524 typedef struct tagOLEUIVIEWPROPSW
528 DWORD dwReserved1[2];
529 LPFNOLEUIHOOK lpfnHook;
531 DWORD dwReserved2[3];
532 struct tagOLEUIOBJECTPROPSW* lpOP;
535 } OLEUIVIEWPROPSW, *POLEUIVIEWPROPSW, *LPOLEUIVIEWPROPSW;
537 DECL_WINELIB_TYPE_AW(OLEUIVIEWPROPS)
538 DECL_WINELIB_TYPE_AW(POLEUIVIEWPROPS)
539 DECL_WINELIB_TYPE_AW(LPOLEUIVIEWPROPS)
542 #define VPF_SELECTRELATIVE 0x00000001L
543 #define VPF_DISABLERELATIVE 0x00000002L
544 #define VPF_DISABLESCALE 0x00000004L
546 typedef struct tagOLEUILINKPROPSA
550 DWORD dwReserved1[2];
551 LPFNOLEUIHOOK lpfnHook;
553 DWORD dwReserved2[3];
554 struct tagOLEUIOBJECTPROPSA* lpOP;
555 } OLEUILINKPROPSA, *POLEUILINKPROPSA, *LPOLEUILINKPROPSA;
557 typedef struct tagOLEUILINKPROPSW
561 DWORD dwReserved1[2];
562 LPFNOLEUIHOOK lpfnHook;
564 DWORD dwReserved2[3];
565 struct tagOLEUIOBJECTPROPSW* lpOP;
566 } OLEUILINKPROPSW, *POLEUILINKPROPSW, *LPOLEUILINKPROPSW;
568 DECL_WINELIB_TYPE_AW(OLEUILINKPROPS)
569 DECL_WINELIB_TYPE_AW(POLEUILINKPROPS)
570 DECL_WINELIB_TYPE_AW(LPOLEUILINKPROPS)
572 typedef struct tagOLEUIOBJECTPROPSA
576 LPPROPSHEETHEADERA lpPS;
578 LPOLEUIOBJINFOA lpObjInfo;
580 LPOLEUILINKINFOA lpLinkInfo;
581 LPOLEUIGNRLPROPSA lpGP;
582 LPOLEUIVIEWPROPSA lpVP;
583 LPOLEUILINKPROPSA lpLP;
584 } OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, *LPOLEUIOBJECTPROPSA;
586 typedef struct tagOLEUIOBJECTPROPSW
590 LPPROPSHEETHEADERW lpPS;
592 LPOLEUIOBJINFOW lpObjInfo;
594 LPOLEUILINKINFOW lpLinkInfo;
595 LPOLEUIGNRLPROPSW lpGP;
596 LPOLEUIVIEWPROPSW lpVP;
597 LPOLEUILINKPROPSW lpLP;
598 } OLEUIOBJECTPROPSW, *POLEUIOBJECTPROPSW, *LPOLEUIOBJECTPROPSW;
600 DECL_WINELIB_TYPE_AW(OLEUIOBJECTPROPS)
601 DECL_WINELIB_TYPE_AW(POLEUIOBJECTPROPS)
602 DECL_WINELIB_TYPE_AW(LPOLEUIOBJECTPROPS)
604 /************************************************************************************
605 * CHANGE SOURCE DIALOG
609 typedef struct tagOLEUICHANGESOURCEW
615 LPFNOLEUIHOOK lpfnHook;
618 LPCWSTR lpszTemplate;
621 DWORD dwReserved1[4];
622 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
624 LPWSTR lpszDisplayName;
628 } OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, *LPOLEUICHANGESOURCEW;
631 typedef struct tagOLEUICHANGESOURCEA
637 LPFNOLEUIHOOK lpfnHook;
642 OPENFILENAMEA* lpOFN;
643 DWORD dwReserved1[4];
644 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
646 LPSTR lpszDisplayName;
650 } OLEUICHANGESOURCEA, *POLEUICHANGESOURCEA, *LPOLEUICHANGESOURCEA;
653 DECL_WINELIB_TYPE_AW(OLEUICHANGESOURCE)
654 DECL_WINELIB_TYPE_AW(POLEUICHANGESOURCE)
655 DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
658 /*****************************************************************************
659 * IOleUILinkContainer interface
661 #define INTERFACE IOleUILinkContainerA
662 DECLARE_INTERFACE_(IOleUILinkContainerA,IUnknown)
664 /*** IUnknown methods ***/
665 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
666 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
667 STDMETHOD_(ULONG,Release)(THIS) PURE;
668 /*** IOleUILinkContainerA methods ***/
669 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
670 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
671 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
672 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName,
673 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
674 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName,
675 LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType,
676 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
677 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
678 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
679 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
683 #define INTERFACE IOleUILinkContainerW
684 DECLARE_INTERFACE_(IOleUILinkContainerW,IUnknown)
686 /*** IUnknown methods ***/
687 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
688 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
689 STDMETHOD_(ULONG,Release)(THIS) PURE;
690 /*** IOleUILinkContainerW methods ***/
691 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
692 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
693 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
694 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName,
695 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
696 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName,
697 LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType,
698 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
699 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
700 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
701 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
705 DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
706 DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
707 DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
709 #if !defined(__cplusplus) || defined(CINTERFACE)
710 /*** IUnknown methods ***/
711 #define IOleUILinkContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
712 #define IOleUILinkContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
713 #define IOleUILinkContainer_Release(p) (p)->lpVtbl->Release(p)
714 /*** IOleUILinkContainer methods ***/
715 #define IOleUILinkContainer_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
716 #define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
717 #define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
718 #define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
719 #define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
720 #define IOleUILinkContainer_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
721 #define IOleUILinkContainer_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
722 #define IOleUILinkContainer_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
726 /*****************************************************************************
727 * IOleUILinkInfo interface
729 #define INTERFACE IOleUILinkInfoA
730 DECLARE_INTERFACE_(IOleUILinkInfoA,IOleUILinkContainerA)
732 /*** IUnknown methods ***/
733 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
734 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
735 STDMETHOD_(ULONG,Release)(THIS) PURE;
736 /*** IOleUILinkContainerA methods ***/
737 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
738 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
739 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
740 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName,
741 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
742 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName,
743 LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType,
744 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
745 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
746 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
747 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
748 /*** IOleUILinkInfoA methods ***/
749 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
753 #define INTERFACE IOleUILinkInfoW
754 DECLARE_INTERFACE_(IOleUILinkInfoW,IOleUILinkContainerW)
756 /*** IUnknown methods ***/
757 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
758 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
759 STDMETHOD_(ULONG,Release)(THIS) PURE;
760 /*** IOleUILinkContainerW methods ***/
761 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
762 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
763 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
764 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName,
765 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
766 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName,
767 LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType,
768 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
769 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
770 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
771 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
772 /*** IOleUILinkInfoW methods ***/
773 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
777 DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
778 DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
779 DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
781 #if !defined(__cplusplus) || defined(CINTERFACE)
782 /*** IUnknown methods ***/
783 #define IOleUILinkInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
784 #define IOleUILinkInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
785 #define IOleUILinkInfo_Release(p) (p)->lpVtbl->Release(p)
786 /*** IOleUILinkContainer methods ***/
787 #define IOleUILinkInfo_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
788 #define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
789 #define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
790 #define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
791 #define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
792 #define IOleUILinkInfo_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
793 #define IOleUILinkInfo_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
794 #define IOleUILinkInfo_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
795 /*** IOleUILinkInfo methods ***/
796 #define IOleUILinkInfo_GetLastUpdate(p,a,b) (p)->lpVtbl->GetLastUpdate(p,a,b)
800 /*****************************************************************************
801 * IOleUIObjInfo interface
803 #define INTERFACE IOleUIObjInfoA
804 DECLARE_INTERFACE_(IOleUIObjInfoA,IUnknown)
806 /*** IUnknown methods ***/
807 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
808 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
809 STDMETHOD_(ULONG,Release)(THIS) PURE;
810 /*** IOleUIObjInfoA methods ***/
811 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPSTR *lplpszLabel,
812 LPSTR *lplpszType, LPSTR *lplpszShortType, LPSTR *lplpszLocation) PURE;
813 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat,
814 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE;
815 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE;
816 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
817 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect,
818 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
822 #define INTERFACE IOleUIObjInfoW
823 DECLARE_INTERFACE_(IOleUIObjInfoW,IUnknown)
825 /*** IUnknown methods ***/
826 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
827 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
828 STDMETHOD_(ULONG,Release)(THIS) PURE;
829 /*** IOleUIObjInfoW methods ***/
830 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPWSTR *lplpszLabel,
831 LPWSTR *lplpszType, LPWSTR *lplpszShortType, LPWSTR *lplpszLocation) PURE;
832 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat,
833 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE;
834 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE;
835 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
836 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect,
837 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
841 DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
842 DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
843 DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO)
845 #if !defined(__cplusplus) || defined(CINTERFACE)
846 /*** IUnknown methods ***/
847 #define IOleUIObjInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
848 #define IOleUIObjInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
849 #define IOleUIObjInfo_Release(p) (p)->lpVtbl->Release(p)
850 /*** IOleUIObjInfo methods ***/
851 #define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetObjectInfo(p,a,b,c,d,e,f)
852 #define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetConvertInfo(p,a,b,c,d,e,f)
853 #define IOleUIObjInfo_ConvertObject(p,a,b) (p)->lpVtbl->ConvertObject(p,a,b)
854 #define IOleUIObjInfo_GetViewInfo(p,a,b,c,d) (p)->lpVtbl->GetViewInfo(p,a,b,c,d)
855 #define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e) (p)->lpVtbl->SetViewInfo(p,a,b,c,d,e)
858 UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
859 UINT WINAPI OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
860 #define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
861 UINT WINAPI OleUIConvertA(LPOLEUICONVERTA);
862 UINT WINAPI OleUIConvertW(LPOLEUICONVERTW);
863 #define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
864 UINT WINAPI OleUIChangeIconA(LPOLEUICHANGEICONA);
865 UINT WINAPI OleUIChangeIconW(LPOLEUICHANGEICONW);
866 #define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
867 UINT WINAPI OleUIBusyA(LPOLEUIBUSYA);
868 UINT WINAPI OleUIBusyW(LPOLEUIBUSYW);
869 #define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
870 UINT WINAPI OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
871 UINT WINAPI OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
872 #define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
873 UINT WINAPI OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
874 UINT WINAPI OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
875 #define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
876 UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks);
877 UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks);
878 #define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
879 BOOL WINAPI OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr, HWND hwndParent, LPSTR lpszTitle, INT cLinks);
880 BOOL WINAPI OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr, HWND hwndParent, LPWSTR lpszTitle, INT cLinks);
881 #define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
882 BOOL WINAPI OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
883 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
884 BOOL WINAPI OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
885 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
886 #define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
887 UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial);
888 UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
889 #define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
890 INT __cdecl OleUIPromptUserA(INT,HWND, ...);
891 INT __cdecl OleUIPromptUserW(INT,HWND, ...);
892 #define OleUIPromptUser WINELIB_NAME_AW(OleUIPromptUser)
899 #endif /* __WINE_OLEDLG_H */