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
*POLEUILINKCONTAINERA
, *LPOLEUILINKCONTAINERA
;
34 typedef struct IOleUILinkContainerW
*POLEUILINKCONTAINERW
, *LPOLEUILINKCONTAINERW
;
36 typedef struct IOleUILinkInfoA
*POLEUILINKINFOA
, *LPOLEUILINKINFOA
;
37 typedef struct IOleUILinkInfoW
*POLEUILINKINFOW
, *LPOLEUILINKINFOW
;
39 typedef struct IOleUIObjInfoA
*POLEUIOBJINFOA
, *LPOLEUIOBJINFOA
;
40 typedef struct 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 */