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 #define IOleUILinkContainerA_METHODS \
664 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
665 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
666 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
667 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName, \
668 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE; \
669 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName, \
670 LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType, \
671 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE; \
672 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE; \
673 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE; \
674 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
675 ICOM_DEFINE(IOleUILinkContainerA
, IUnknown
)
678 #define INTERFACE IOleUILinkContainerW
679 #define IOleUILinkContainerW_METHODS \
681 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
682 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
683 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
684 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName, \
685 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE; \
686 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName, \
687 LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType, \
688 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE; \
689 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE; \
690 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE; \
691 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
692 ICOM_DEFINE(IOleUILinkContainerW
, IUnknown
)
695 DECL_WINELIB_TYPE_AW(IOleUILinkContainer
)
696 DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER
)
697 DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER
)
700 /*** IUnknown methods ***/
701 #define IOleUILinkContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
702 #define IOleUILinkContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
703 #define IOleUILinkContainer_Release(p) (p)->lpVtbl->Release(p)
704 /*** IOleUILinkContainer methods ***/
705 #define IOleUILinkContainer_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
706 #define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
707 #define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
708 #define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
709 #define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
710 #define IOleUILinkContainer_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
711 #define IOleUILinkContainer_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
712 #define IOleUILinkContainer_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
716 /*****************************************************************************
717 * IOleUILinkInfo interface
719 #define INTERFACE IOleUILinkInfoA
720 #define IOleUILinkInfoA_METHODS \
721 IOleUILinkContainerA_METHODS \
722 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
723 ICOM_DEFINE(IOleUILinkInfoA
, IOleUILinkContainerA
)
726 #define INTERFACE IOleUILinkInfoW
727 #define IOleUILinkInfoW_METHODS \
728 IOleUILinkContainerW_METHODS \
729 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
730 ICOM_DEFINE(IOleUILinkInfoW
, IOleUILinkContainerW
)
733 DECL_WINELIB_TYPE_AW(IOleUILinkInfo
)
734 DECL_WINELIB_TYPE_AW(POLEUILINKINFO
)
735 DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO
)
738 /*** IUnknown methods ***/
739 #define IOleUILinkInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
740 #define IOleUILinkInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
741 #define IOleUILinkInfo_Release(p) (p)->lpVtbl->Release(p)
742 /*** IOleUILinkContainer methods ***/
743 #define IOleUILinkInfo_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
744 #define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
745 #define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
746 #define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
747 #define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
748 #define IOleUILinkInfo_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
749 #define IOleUILinkInfo_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
750 #define IOleUILinkInfo_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
751 /*** IOleUILinkInfo methods ***/
752 #define IOleUILinkInfo_GetLastUpdate(p,a,b) (p)->lpVtbl->GetLastUpdate(p,a,b)
756 /*****************************************************************************
757 * IOleUIObjInfo interface
759 #define INTERFACE IOleUIObjInfoA
760 #define IOleUIObjInfoA_METHODS \
762 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPSTR *lplpszLabel, \
763 LPSTR *lplpszType, LPSTR *lplpszShortType, LPSTR *lplpszLocation) PURE; \
764 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat, \
765 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE; \
766 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE; \
767 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE; \
768 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect, \
769 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
770 ICOM_DEFINE(IOleUIObjInfoA
, IUnknown
)
773 #define INTERFACE IOleUIObjInfoW
774 #define IOleUIObjInfoW_METHODS \
776 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPWSTR *lplpszLabel, \
777 LPWSTR *lplpszType, LPWSTR *lplpszShortType, LPWSTR *lplpszLocation) PURE; \
778 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat, \
779 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE; \
780 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE; \
781 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE; \
782 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect, \
783 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
784 ICOM_DEFINE(IOleUIObjInfoW
, IUnknown
)
787 DECL_WINELIB_TYPE_AW(IOleUIObjInfo
)
788 DECL_WINELIB_TYPE_AW(POLEUIOBJINFO
)
789 DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO
)
792 /*** IUnknown methods ***/
793 #define IOleUIObjInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
794 #define IOleUIObjInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
795 #define IOleUIObjInfo_Release(p) (p)->lpVtbl->Release(p)
796 /*** IOleUIObjInfo methods ***/
797 #define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetObjectInfo(p,a,b,c,d,e,f)
798 #define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetConvertInfo(p,a,b,c,d,e,f)
799 #define IOleUIObjInfo_ConvertObject(p,a,b) (p)->lpVtbl->ConvertObject(p,a,b)
800 #define IOleUIObjInfo_GetViewInfo(p,a,b,c,d) (p)->lpVtbl->GetViewInfo(p,a,b,c,d)
801 #define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e) (p)->lpVtbl->SetViewInfo(p,a,b,c,d,e)
804 UINT WINAPI
OleUIInsertObjectW(LPOLEUIINSERTOBJECTW
);
805 UINT WINAPI
OleUIInsertObjectA(LPOLEUIINSERTOBJECTA
);
806 #define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
807 UINT WINAPI
OleUIConvertA(LPOLEUICONVERTA
);
808 UINT WINAPI
OleUIConvertW(LPOLEUICONVERTW
);
809 #define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
810 UINT WINAPI
OleUIChangeIconA(LPOLEUICHANGEICONA
);
811 UINT WINAPI
OleUIChangeIconW(LPOLEUICHANGEICONW
);
812 #define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
813 UINT WINAPI
OleUIBusyA(LPOLEUIBUSYA
);
814 UINT WINAPI
OleUIBusyW(LPOLEUIBUSYW
);
815 #define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
816 UINT WINAPI
OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA
);
817 UINT WINAPI
OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW
);
818 #define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
819 UINT WINAPI
OleUIChangeSourceW(LPOLEUICHANGESOURCEW
);
820 UINT WINAPI
OleUIChangeSourceA(LPOLEUICHANGESOURCEA
);
821 #define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
822 UINT WINAPI
OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks
);
823 UINT WINAPI
OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks
);
824 #define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
825 BOOL WINAPI
OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr
, HWND hwndParent
, LPSTR lpszTitle
, INT cLinks
);
826 BOOL WINAPI
OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr
, HWND hwndParent
, LPWSTR lpszTitle
, INT cLinks
);
827 #define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
828 BOOL WINAPI
OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj
, LPCSTR lpszShortType
, HMENU hMenu
, UINT uPos
, UINT uIDVerbMin
, UINT uIDVerbMax
,
829 BOOL bAddConvert
, UINT idConvert
, HMENU
*lphMenu
);
830 BOOL WINAPI
OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj
, LPCWSTR lpszShortType
, HMENU hMenu
, UINT uPos
, UINT uIDVerbMin
, UINT uIDVerbMax
,
831 BOOL bAddConvert
, UINT idConvert
, HMENU
*lphMenu
);
832 #define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
833 UINT WINAPI
OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial
);
834 UINT WINAPI
OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial
);
835 #define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
836 INT __cdecl
OleUIPromptUserA(INT
,HWND
, ...);
837 INT __cdecl
OleUIPromptUserW(INT
,HWND
, ...);
838 #define OleUIPromptUser WINELIB_NAME_AW(OleUIPromptUser)
845 #endif /* __WINE_OLEDLG_H */