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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, 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
45 #define OLEUI_ERR_STANDARDMAX 116
47 #define OLEUI_BZERR_HTASKINVALID (OLEUI_ERR_STANDARDMAX+0)
48 #define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
49 #define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
50 #define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
53 #define OLEUI_SUCCESS 1 /* Same as OLEUI_OK */
54 #define OLEUI_OK 1 /* OK button pressed */
55 #define OLEUI_CANCEL 2 /* Cancel button pressed */
57 #define OLEUI_ERR_STANDARDMIN 100
58 #define OLEUI_ERR_OLEMEMALLOC 100
59 #define OLEUI_ERR_STRUCTURENULL 101
60 #define OLEUI_ERR_STRUCTUREINVALID 102
61 #define OLEUI_ERR_CBSTRUCTINCORRECT 103
62 #define OLEUI_ERR_HWNDOWNERINVALID 104
63 #define OLEUI_ERR_LPSZCAPTIONINVALID 105
64 #define OLEUI_ERR_LPFNHOOKINVALID 106
65 #define OLEUI_ERR_HINSTANCEINVALID 107
66 #define OLEUI_ERR_LPSZTEMPLATEINVALID 108
67 #define OLEUI_ERR_HRESOURCEINVALID 109
68 #define OLEUI_ERR_FINDTEMPLATEFAILURE 110
69 #define OLEUI_ERR_LOADTEMPLATEFAILURE 111
70 #define OLEUI_ERR_DIALOGFAILURE 112
71 #define OLEUI_ERR_LOCALMEMALLOC 113
72 #define OLEUI_ERR_GLOBALMEMALLOC 114
73 #define OLEUI_ERR_LOADSTRING 115
74 #define OLEUI_ERR_STANDARDMAX 116
76 typedef UINT (CALLBACK
*LPFNOLEUIHOOK
)(HWND
, UINT
, WPARAM
, LPARAM
);
78 /*****************************************************************************
79 * INSERT OBJECT DIALOG
81 typedef struct tagOLEUIINSERTOBJECTA
87 LPFNOLEUIHOOK lpfnHook
;
96 LPCLSID lpClsidExclude
;
99 LPFORMATETC lpFormatEtc
;
100 LPOLECLIENTSITE lpIOleClientSite
;
101 LPSTORAGE lpIStorage
;
105 } OLEUIINSERTOBJECTA
, *POLEUIINSERTOBJECTA
, *LPOLEUIINSERTOBJECTA
;
107 typedef struct tagOLEUIINSERTOBJECTW
113 LPFNOLEUIHOOK lpfnHook
;
116 LPCWSTR lpszTemplate
;
122 LPCLSID lpClsidExclude
;
125 LPFORMATETC lpFormatEtc
;
126 LPOLECLIENTSITE lpIOleClientSite
;
127 LPSTORAGE lpIStorage
;
131 } OLEUIINSERTOBJECTW
, *POLEUIINSERTOBJECTW
, *LPOLEUIINSERTOBJECTW
;
133 DECL_WINELIB_TYPE_AW(OLEUIINSERTOBJECT
)
134 DECL_WINELIB_TYPE_AW(POLEUIINSERTOBJECT
)
135 DECL_WINELIB_TYPE_AW(LPOLEUIINSERTOBJECT
)
137 #define IOF_SHOWHELP 0x00000001L
138 #define IOF_SELECTCREATENEW 0x00000002L
139 #define IOF_SELECTCREATEFROMFILE 0x00000004L
140 #define IOF_CHECKLINK 0x00000008L
141 #define IOF_CHECKDISPLAYASICON 0x00000010L
142 #define IOF_CREATENEWOBJECT 0x00000020L
143 #define IOF_CREATEFILEOBJECT 0x00000040L
144 #define IOF_CREATELINKOBJECT 0x00000080L
145 #define IOF_DISABLELINK 0x00000100L
146 #define IOF_VERIFYSERVERSEXIST 0x00000200L
147 #define IOF_DISABLEDISPLAYASICON 0x00000400L
148 #define IOF_HIDECHANGEICON 0x00000800L
149 #define IOF_SHOWINSERTCONTROL 0x00001000L
150 #define IOF_SELECTCREATECONTROL 0x00002000L
152 /*****************************************************************************
155 typedef struct tagOLEUICONVERTA
161 LPFNOLEUIHOOK lpfnHook
;
167 CLSID clsidConvertDefault
;
168 CLSID clsidActivateDefault
;
172 BOOL fIsLinkedObject
;
175 BOOL fObjectsIconChanged
;
178 LPCLSID lpClsidExclude
;
179 } OLEUICONVERTA
, *POLEUICONVERTA
, *LPOLEUICONVERTA
;
181 typedef struct tagOLEUICONVERTW
187 LPFNOLEUIHOOK lpfnHook
;
190 LPCWSTR lpszTemplate
;
193 CLSID clsidConvertDefault
;
194 CLSID clsidActivateDefault
;
198 BOOL fIsLinkedObject
;
201 BOOL fObjectsIconChanged
;
204 LPCLSID lpClsidExclude
;
205 } OLEUICONVERTW
, *POLEUICONVERTW
, *LPOLEUICONVERTW
;
207 DECL_WINELIB_TYPE_AW(OLEUICONVERT
)
208 DECL_WINELIB_TYPE_AW(POLEUICONVERT
)
209 DECL_WINELIB_TYPE_AW(LPOLEUICONVERT
)
211 #define CF_SHOWHELPBUTTON 0x00000001L
212 #define CF_SETCONVERTDEFAULT 0x00000002L
213 #define CF_SETACTIVATEDEFAULT 0x00000004L
214 #define CF_SELECTCONVERTTO 0x00000008L
215 #define CF_SELECTACTIVATEAS 0x00000010L
216 #define CF_DISABLEDISPLAYASICON 0x00000020L
217 #define CF_DISABLEACTIVATEAS 0x00000040L
218 #define CF_HIDECHANGEICON 0x00000080L
219 #define CF_CONVERTONLY 0x00000100L
221 /*****************************************************************************
224 typedef struct tagOLEUICHANGEICONA
230 LPFNOLEUIHOOK lpfnHook
;
237 CHAR szIconExe
[MAX_PATH
];
239 } OLEUICHANGEICONA
, *POLEUICHANGEICONA
, *LPOLEUICHANGEICONA
;
241 typedef struct tagOLEUICHANGEICONW
247 LPFNOLEUIHOOK lpfnHook
;
250 LPCWSTR lpszTemplate
;
254 WCHAR szIconExe
[MAX_PATH
];
256 } OLEUICHANGEICONW
, *POLEUICHANGEICONW
, *LPOLEUICHANGEICONW
;
258 DECL_WINELIB_TYPE_AW(OLEUICHANGEICON
)
259 DECL_WINELIB_TYPE_AW(POLEUICHANGEICON
)
260 DECL_WINELIB_TYPE_AW(LPOLEUICHANGEICON
)
263 #define CIF_SHOWHELP 0x00000001L
264 #define CIF_SELECTCURRENT 0x00000002L
265 #define CIF_SELECTDEFAULT 0x00000004L
266 #define CIF_SELECTFROMFILE 0x00000008L
267 #define CIF_USEICONEXE 0x00000010L
269 /*****************************************************************************
270 * PASTE SPECIAL DIALOG
273 typedef enum tagOLEUIPASTEFLAG
275 OLEUIPASTE_ENABLEICON
= 2048,
276 OLEUIPASTE_PASTEONLY
= 0,
277 OLEUIPASTE_PASTE
= 512,
278 OLEUIPASTE_LINKANYTYPE
= 1024,
279 OLEUIPASTE_LINKTYPE1
= 1,
280 OLEUIPASTE_LINKTYPE2
= 2,
281 OLEUIPASTE_LINKTYPE3
= 4,
282 OLEUIPASTE_LINKTYPE4
= 8,
283 OLEUIPASTE_LINKTYPE5
= 16,
284 OLEUIPASTE_LINKTYPE6
= 32,
285 OLEUIPASTE_LINKTYPE7
= 64,
286 OLEUIPASTE_LINKTYPE8
= 128
289 typedef struct tagOLEUIPASTEENTRYA
292 LPCSTR lpstrFormatName
;
293 LPCSTR lpstrResultText
;
295 DWORD dwScratchSpace
;
296 } OLEUIPASTEENTRYA
, *POLEUIPASTEENTRYA
, *LPOLEUIPASTEENTRYA
;
298 typedef struct tagOLEUIPASTEENTRYW
301 LPCWSTR lpstrFormatName
;
302 LPCWSTR lpstrResultText
;
304 DWORD dwScratchSpace
;
305 } OLEUIPASTEENTRYW
, *POLEUIPASTEENTRYW
, *LPOLEUIPASTEENTRYW
;
307 DECL_WINELIB_TYPE_AW(OLEUIPASTEENTRY
)
308 DECL_WINELIB_TYPE_AW(POLEUIPASTEENTRY
)
309 DECL_WINELIB_TYPE_AW(LPOLEUIPASTEENTRY
)
311 typedef struct tagOLEUIPASTESPECIALA
317 LPFNOLEUIHOOK lpfnHook
;
322 LPDATAOBJECT lpSrcDataObj
;
323 LPOLEUIPASTEENTRYA arrPasteEntries
;
328 LPCLSID lpClsidExclude
;
333 } OLEUIPASTESPECIALA
, *POLEUIPASTESPECIALA
, *LPOLEUIPASTESPECIALA
;
335 typedef struct tagOLEUIPASTESPECIALW
341 LPFNOLEUIHOOK lpfnHook
;
344 LPCWSTR lpszTemplate
;
346 LPDATAOBJECT lpSrcDataObj
;
347 LPOLEUIPASTEENTRYW arrPasteEntries
;
352 LPCLSID lpClsidExclude
;
357 } OLEUIPASTESPECIALW
, *POLEUIPASTESPECIALW
, *LPOLEUIPASTESPECIALW
;
359 DECL_WINELIB_TYPE_AW(OLEUIPASTESPECIAL
)
360 DECL_WINELIB_TYPE_AW(POLEUIPASTESPECIAL
)
361 DECL_WINELIB_TYPE_AW(LPOLEUIPASTESPECIAL
)
363 #define PS_MAXLINKTYPES 8
365 #define PSF_SHOWHELP 0x00000001L
366 #define PSF_SELECTPASTE 0x00000002L
367 #define PSF_SELECTPASTELINK 0x00000004L
369 #define PSF_CHECKDISPLAYASICON 0x00000008L
370 #define PSF_DISABLEDISPLAYASICON 0x00000010L
371 #define PSF_HIDECHANGEICON 0x00000020L
372 #define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
373 #define PSF_NOREFRESHDATAOBJECT 0x00000080L
375 #define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
376 #define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
377 #define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
378 #define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
379 #define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
381 /* Paste Special dialog resource ids */
382 #define IDD_PASTESPECIAL 1003
383 #define IDD_PASTESPECIAL4 1108
385 /* Paste Special dialog control ids */
386 #define IDC_PS_PASTE 500
387 #define IDC_PS_PASTELINK 501
388 #define IDC_PS_SOURCETEXT 502
389 #define IDC_PS_PASTELIST 503
390 #define IDC_PS_PASTELINKLIST 504
391 #define IDC_PS_DISPLAYLIST 505
392 #define IDC_PS_DISPLAYASICON 506
393 #define IDC_PS_ICONDISPLAY 507
394 #define IDC_PS_CHANGEICON 508
395 #define IDC_PS_RESULTIMAGE 509
396 #define IDC_PS_RESULTTEXT 510
398 /*****************************************************************************
402 #define ELF_SHOWHELP 0x00000001L
403 #define ELF_DISABLEUPDATENOW 0x00000002L
404 #define ELF_DISABLEOPENSOURCE 0x00000004L
405 #define ELF_DISABLECHANGESOURCE 0x00000008L
406 #define ELF_DISABLECANCELLINK 0x00000010L
408 typedef struct tagOLEUIEDITLINKSW
414 LPFNOLEUIHOOK lpfnHook
;
417 LPCWSTR lpszTemplate
;
419 LPOLEUILINKCONTAINERW lpOleUILinkContainer
;
420 } OLEUIEDITLINKSW
, *POLEUIEDITLINKSW
, *LPOLEUIEDITLINKSW
;
422 typedef struct tagOLEUIEDITLINKSA
428 LPFNOLEUIHOOK lpfnHook
;
433 LPOLEUILINKCONTAINERA lpOleUILinkContainer
;
434 } OLEUIEDITLINKSA
, *POLEUIEDITLINKSA
, *LPOLEUIEDITLINKSA
;
436 DECL_WINELIB_TYPE_AW(OLEUIEDITLINKS
)
437 DECL_WINELIB_TYPE_AW(POLEUIEDITLINKS
)
438 DECL_WINELIB_TYPE_AW(LPOLEUIEDITLINKS
)
441 /***********************************************************************************
444 typedef struct tagOLEUIBUSYA
450 LPFNOLEUIHOOK lpfnHook
;
457 } OLEUIBUSYA
, *POLEUIBUSYA
, *LPOLEUIBUSYA
;
459 typedef struct tagOLEUIBUSYW
465 LPFNOLEUIHOOK lpfnHook
;
468 LPCWSTR lpszTemplate
;
472 } OLEUIBUSYW
, *POLEUIBUSYW
, *LPOLEUIBUSYW
;
474 DECL_WINELIB_TYPE_AW(OLEUIBUSY
)
475 DECL_WINELIB_TYPE_AW(POLEUIBUSY
)
476 DECL_WINELIB_TYPE_AW(LPOLEUIBUSY
)
479 #define BZ_DISABLECANCELBUTTON 0x00000001L
480 #define BZ_DISABLESWITCHTOBUTTON 0x00000002L
481 #define BZ_DISABLERETRYBUTTON 0x00000004L
482 #define BZ_NOTRESPONDINGDIALOG 0x00000008L
484 /***********************************************************************************
485 * OBJECT PROPERTIES DIALOG
488 struct tagOLEUIOBJECTPROPSW
;
489 struct tagOLEUIOBJECTPROPSA
;
491 typedef struct tagOLEUIGNRLPROPSA
495 DWORD dwReserved1
[2];
496 LPFNOLEUIHOOK lpfnHook
;
498 DWORD dwReserved2
[3];
499 struct tagOLEUIOBJECTPROPSA
* lpOP
;
501 } OLEUIGNRLPROPSA
, *POLEUIGNRLPROPSA
, *LPOLEUIGNRLPROPSA
;
503 typedef struct tagOLEUIGNRLPROPSW
507 DWORD dwReserved1
[2];
508 LPFNOLEUIHOOK lpfnHook
;
510 DWORD dwReserved2
[3];
511 struct tagOLEUIOBJECTPROPSW
* lpOP
;
512 } OLEUIGNRLPROPSW
, *POLEUIGNRLPROPSW
, *LPOLEUIGNRLPROPSW
;
514 DECL_WINELIB_TYPE_AW(OLEUIGNRLPROPS
)
515 DECL_WINELIB_TYPE_AW(POLEUIGNRLPROPS
)
516 DECL_WINELIB_TYPE_AW(LPOLEUIGNRLPROPS
)
518 typedef struct tagOLEUIVIEWPROPSA
522 DWORD dwReserved1
[2];
523 LPFNOLEUIHOOK lpfnHook
;
525 DWORD dwReserved2
[3];
526 struct tagOLEUIOBJECTPROPSA
* lpOP
;
529 } OLEUIVIEWPROPSA
, *POLEUIVIEWPROPSA
, *LPOLEUIVIEWPROPSA
;
531 typedef struct tagOLEUIVIEWPROPSW
535 DWORD dwReserved1
[2];
536 LPFNOLEUIHOOK lpfnHook
;
538 DWORD dwReserved2
[3];
539 struct tagOLEUIOBJECTPROPSW
* lpOP
;
542 } OLEUIVIEWPROPSW
, *POLEUIVIEWPROPSW
, *LPOLEUIVIEWPROPSW
;
544 DECL_WINELIB_TYPE_AW(OLEUIVIEWPROPS
)
545 DECL_WINELIB_TYPE_AW(POLEUIVIEWPROPS
)
546 DECL_WINELIB_TYPE_AW(LPOLEUIVIEWPROPS
)
549 #define VPF_SELECTRELATIVE 0x00000001L
550 #define VPF_DISABLERELATIVE 0x00000002L
551 #define VPF_DISABLESCALE 0x00000004L
553 typedef struct tagOLEUILINKPROPSA
557 DWORD dwReserved1
[2];
558 LPFNOLEUIHOOK lpfnHook
;
560 DWORD dwReserved2
[3];
561 struct tagOLEUIOBJECTPROPSA
* lpOP
;
562 } OLEUILINKPROPSA
, *POLEUILINKPROPSA
, *LPOLEUILINKPROPSA
;
564 typedef struct tagOLEUILINKPROPSW
568 DWORD dwReserved1
[2];
569 LPFNOLEUIHOOK lpfnHook
;
571 DWORD dwReserved2
[3];
572 struct tagOLEUIOBJECTPROPSW
* lpOP
;
573 } OLEUILINKPROPSW
, *POLEUILINKPROPSW
, *LPOLEUILINKPROPSW
;
575 DECL_WINELIB_TYPE_AW(OLEUILINKPROPS
)
576 DECL_WINELIB_TYPE_AW(POLEUILINKPROPS
)
577 DECL_WINELIB_TYPE_AW(LPOLEUILINKPROPS
)
579 typedef struct tagOLEUIOBJECTPROPSA
583 LPPROPSHEETHEADERA lpPS
;
585 LPOLEUIOBJINFOA lpObjInfo
;
587 LPOLEUILINKINFOA lpLinkInfo
;
588 LPOLEUIGNRLPROPSA lpGP
;
589 LPOLEUIVIEWPROPSA lpVP
;
590 LPOLEUILINKPROPSA lpLP
;
591 } OLEUIOBJECTPROPSA
, *POLEUIOBJECTPROPSA
, *LPOLEUIOBJECTPROPSA
;
593 typedef struct tagOLEUIOBJECTPROPSW
597 LPPROPSHEETHEADERW lpPS
;
599 LPOLEUIOBJINFOW lpObjInfo
;
601 LPOLEUILINKINFOW lpLinkInfo
;
602 LPOLEUIGNRLPROPSW lpGP
;
603 LPOLEUIVIEWPROPSW lpVP
;
604 LPOLEUILINKPROPSW lpLP
;
605 } OLEUIOBJECTPROPSW
, *POLEUIOBJECTPROPSW
, *LPOLEUIOBJECTPROPSW
;
607 DECL_WINELIB_TYPE_AW(OLEUIOBJECTPROPS
)
608 DECL_WINELIB_TYPE_AW(POLEUIOBJECTPROPS
)
609 DECL_WINELIB_TYPE_AW(LPOLEUIOBJECTPROPS
)
611 #define OPF_OBJECTISLINK 0x00000001L
612 #define OPF_NOFILLDEFAULT 0x00000002L
613 #define OPF_SHOWHELP 0x00000004L
614 #define OPF_DISABLECONVERT 0x00000008L
617 /************************************************************************************
618 * CHANGE SOURCE DIALOG
622 typedef struct tagOLEUICHANGESOURCEW
628 LPFNOLEUIHOOK lpfnHook
;
631 LPCWSTR lpszTemplate
;
634 DWORD dwReserved1
[4];
635 LPOLEUILINKCONTAINERW lpOleUILinkContainer
;
637 LPWSTR lpszDisplayName
;
641 } OLEUICHANGESOURCEW
, *POLEUICHANGESOURCEW
, *LPOLEUICHANGESOURCEW
;
644 typedef struct tagOLEUICHANGESOURCEA
650 LPFNOLEUIHOOK lpfnHook
;
655 OPENFILENAMEA
* lpOFN
;
656 DWORD dwReserved1
[4];
657 LPOLEUILINKCONTAINERA lpOleUILinkContainer
;
659 LPSTR lpszDisplayName
;
663 } OLEUICHANGESOURCEA
, *POLEUICHANGESOURCEA
, *LPOLEUICHANGESOURCEA
;
666 DECL_WINELIB_TYPE_AW(OLEUICHANGESOURCE
)
667 DECL_WINELIB_TYPE_AW(POLEUICHANGESOURCE
)
668 DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE
)
670 /* Change Source Dialog flags */
671 #define CSF_SHOWHELP 0x00000001L
672 #define CSF_VALIDSOURCE 0x00000002L
673 #define CSF_ONLYGETSOURCE 0x00000004L
674 #define CSF_EXPLORER 0x00000008L
677 /*****************************************************************************
678 * IOleUILinkContainer interface
680 #define INTERFACE IOleUILinkContainerA
681 DECLARE_INTERFACE_(IOleUILinkContainerA
,IUnknown
)
683 /*** IUnknown methods ***/
684 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
685 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
686 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
687 /*** IOleUILinkContainerA methods ***/
688 STDMETHOD_(DWORD
,GetNextLink
)(THIS_ DWORD dwLink
) PURE
;
689 STDMETHOD(SetLinkUpdateOptions
)(THIS_ DWORD dwLink
, DWORD dwUpdateOpt
) PURE
;
690 STDMETHOD(GetLinkUpdateOptions
)(THIS_ DWORD dwLink
, DWORD
*lpdwUpdateOpt
) PURE
;
691 STDMETHOD(SetLinkSource
)(THIS_ DWORD dwLink
, LPSTR lpszDisplayName
,
692 ULONG lenFileName
, ULONG
*pchEaten
, BOOL fValidateSource
) PURE
;
693 STDMETHOD(GetLinkSource
)(THIS_ DWORD dwLink
, LPSTR
*lplpszDisplayName
, ULONG
*lplenFileName
,
694 LPSTR
*lplpszFullLinkType
, LPSTR
*lplpszShortLinkType
,
695 BOOL
*lpfSourceAvailable
, BOOL
*lpfIsSelected
) PURE
;
696 STDMETHOD(OpenLinkSource
)(THIS_ DWORD dwLink
) PURE
;
697 STDMETHOD(UpdateLink
)(THIS_ DWORD dwLink
, BOOL fErrorMessage
, BOOL fReserved
) PURE
;
698 STDMETHOD(CancelLink
)(THIS_ DWORD dwLink
) PURE
;
702 #define INTERFACE IOleUILinkContainerW
703 DECLARE_INTERFACE_(IOleUILinkContainerW
,IUnknown
)
705 /*** IUnknown methods ***/
706 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
707 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
708 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
709 /*** IOleUILinkContainerW methods ***/
710 STDMETHOD_(DWORD
,GetNextLink
)(THIS_ DWORD dwLink
) PURE
;
711 STDMETHOD(SetLinkUpdateOptions
)(THIS_ DWORD dwLink
, DWORD dwUpdateOpt
) PURE
;
712 STDMETHOD(GetLinkUpdateOptions
)(THIS_ DWORD dwLink
, DWORD
*lpdwUpdateOpt
) PURE
;
713 STDMETHOD(SetLinkSource
)(THIS_ DWORD dwLink
, LPWSTR lpszDisplayName
,
714 ULONG lenFileName
, ULONG
*pchEaten
, BOOL fValidateSource
) PURE
;
715 STDMETHOD(GetLinkSource
)(THIS_ DWORD dwLink
, LPWSTR
*lplpszDisplayName
, ULONG
*lplenFileName
,
716 LPWSTR
*lplpszFullLinkType
, LPWSTR
*lplpszShortLinkType
,
717 BOOL
*lpfSourceAvailable
, BOOL
*lpfIsSelected
) PURE
;
718 STDMETHOD(OpenLinkSource
)(THIS_ DWORD dwLink
) PURE
;
719 STDMETHOD(UpdateLink
)(THIS_ DWORD dwLink
, BOOL fErrorMessage
, BOOL fReserved
) PURE
;
720 STDMETHOD(CancelLink
)(THIS_ DWORD dwLink
) PURE
;
724 DECL_WINELIB_TYPE_AW(IOleUILinkContainer
)
725 DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER
)
726 DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER
)
728 #if !defined(__cplusplus) || defined(CINTERFACE)
729 /*** IUnknown methods ***/
730 #define IOleUILinkContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
731 #define IOleUILinkContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
732 #define IOleUILinkContainer_Release(p) (p)->lpVtbl->Release(p)
733 /*** IOleUILinkContainer methods ***/
734 #define IOleUILinkContainer_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
735 #define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
736 #define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
737 #define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
738 #define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
739 #define IOleUILinkContainer_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
740 #define IOleUILinkContainer_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
741 #define IOleUILinkContainer_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
745 /*****************************************************************************
746 * IOleUILinkInfo interface
748 #define INTERFACE IOleUILinkInfoA
749 DECLARE_INTERFACE_(IOleUILinkInfoA
,IOleUILinkContainerA
)
751 /*** IUnknown methods ***/
752 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
753 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
754 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
755 /*** IOleUILinkContainerA methods ***/
756 STDMETHOD_(DWORD
,GetNextLink
)(THIS_ DWORD dwLink
) PURE
;
757 STDMETHOD(SetLinkUpdateOptions
)(THIS_ DWORD dwLink
, DWORD dwUpdateOpt
) PURE
;
758 STDMETHOD(GetLinkUpdateOptions
)(THIS_ DWORD dwLink
, DWORD
*lpdwUpdateOpt
) PURE
;
759 STDMETHOD(SetLinkSource
)(THIS_ DWORD dwLink
, LPSTR lpszDisplayName
,
760 ULONG lenFileName
, ULONG
*pchEaten
, BOOL fValidateSource
) PURE
;
761 STDMETHOD(GetLinkSource
)(THIS_ DWORD dwLink
, LPSTR
*lplpszDisplayName
, ULONG
*lplenFileName
,
762 LPSTR
*lplpszFullLinkType
, LPSTR
*lplpszShortLinkType
,
763 BOOL
*lpfSourceAvailable
, BOOL
*lpfIsSelected
) PURE
;
764 STDMETHOD(OpenLinkSource
)(THIS_ DWORD dwLink
) PURE
;
765 STDMETHOD(UpdateLink
)(THIS_ DWORD dwLink
, BOOL fErrorMessage
, BOOL fReserved
) PURE
;
766 STDMETHOD(CancelLink
)(THIS_ DWORD dwLink
) PURE
;
767 /*** IOleUILinkInfoA methods ***/
768 STDMETHOD(GetLastUpdate
)(THIS_ DWORD dwLink
, FILETIME
*lpLastUpdate
) PURE
;
772 #define INTERFACE IOleUILinkInfoW
773 DECLARE_INTERFACE_(IOleUILinkInfoW
,IOleUILinkContainerW
)
775 /*** IUnknown methods ***/
776 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
777 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
778 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
779 /*** IOleUILinkContainerW methods ***/
780 STDMETHOD_(DWORD
,GetNextLink
)(THIS_ DWORD dwLink
) PURE
;
781 STDMETHOD(SetLinkUpdateOptions
)(THIS_ DWORD dwLink
, DWORD dwUpdateOpt
) PURE
;
782 STDMETHOD(GetLinkUpdateOptions
)(THIS_ DWORD dwLink
, DWORD
*lpdwUpdateOpt
) PURE
;
783 STDMETHOD(SetLinkSource
)(THIS_ DWORD dwLink
, LPWSTR lpszDisplayName
,
784 ULONG lenFileName
, ULONG
*pchEaten
, BOOL fValidateSource
) PURE
;
785 STDMETHOD(GetLinkSource
)(THIS_ DWORD dwLink
, LPWSTR
*lplpszDisplayName
, ULONG
*lplenFileName
,
786 LPWSTR
*lplpszFullLinkType
, LPWSTR
*lplpszShortLinkType
,
787 BOOL
*lpfSourceAvailable
, BOOL
*lpfIsSelected
) PURE
;
788 STDMETHOD(OpenLinkSource
)(THIS_ DWORD dwLink
) PURE
;
789 STDMETHOD(UpdateLink
)(THIS_ DWORD dwLink
, BOOL fErrorMessage
, BOOL fReserved
) PURE
;
790 STDMETHOD(CancelLink
)(THIS_ DWORD dwLink
) PURE
;
791 /*** IOleUILinkInfoW methods ***/
792 STDMETHOD(GetLastUpdate
)(THIS_ DWORD dwLink
, FILETIME
*lpLastUpdate
) PURE
;
796 DECL_WINELIB_TYPE_AW(IOleUILinkInfo
)
797 DECL_WINELIB_TYPE_AW(POLEUILINKINFO
)
798 DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO
)
800 #if !defined(__cplusplus) || defined(CINTERFACE)
801 /*** IUnknown methods ***/
802 #define IOleUILinkInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
803 #define IOleUILinkInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
804 #define IOleUILinkInfo_Release(p) (p)->lpVtbl->Release(p)
805 /*** IOleUILinkContainer methods ***/
806 #define IOleUILinkInfo_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
807 #define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
808 #define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
809 #define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
810 #define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
811 #define IOleUILinkInfo_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
812 #define IOleUILinkInfo_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
813 #define IOleUILinkInfo_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
814 /*** IOleUILinkInfo methods ***/
815 #define IOleUILinkInfo_GetLastUpdate(p,a,b) (p)->lpVtbl->GetLastUpdate(p,a,b)
819 /*****************************************************************************
820 * IOleUIObjInfo interface
822 #define INTERFACE IOleUIObjInfoA
823 DECLARE_INTERFACE_(IOleUIObjInfoA
,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 /*** IOleUIObjInfoA methods ***/
830 STDMETHOD(GetObjectInfo
)(THIS_ DWORD dwObject
, DWORD
*lpdwObjSize
, LPSTR
*lplpszLabel
,
831 LPSTR
*lplpszType
, LPSTR
*lplpszShortType
, LPSTR
*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 #define INTERFACE IOleUIObjInfoW
842 DECLARE_INTERFACE_(IOleUIObjInfoW
,IUnknown
)
844 /*** IUnknown methods ***/
845 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
846 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
847 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
848 /*** IOleUIObjInfoW methods ***/
849 STDMETHOD(GetObjectInfo
)(THIS_ DWORD dwObject
, DWORD
*lpdwObjSize
, LPWSTR
*lplpszLabel
,
850 LPWSTR
*lplpszType
, LPWSTR
*lplpszShortType
, LPWSTR
*lplpszLocation
) PURE
;
851 STDMETHOD(GetConvertInfo
)(THIS_ DWORD dwObject
, CLSID
*lpClassID
, WORD
*lpwFormat
,
852 CLSID
*lpConvertDefaultClassID
, LPCLSID
*lplpClsidExclude
, UINT
*lpcClsidExclude
) PURE
;
853 STDMETHOD(ConvertObject
)(THIS_ DWORD dwObject
, REFCLSID clsidNew
) PURE
;
854 STDMETHOD(GetViewInfo
)(THIS_ DWORD dwObject
, HGLOBAL
*phMetaPict
, DWORD
*pdvAspect
, INT
*pnCurrentScale
) PURE
;
855 STDMETHOD(SetViewInfo
)(THIS_ DWORD dwObject
, HGLOBAL hMetaPict
, DWORD dvAspect
,
856 INT nCurrentScale
, BOOL bRelativeToOrig
) PURE
;
860 DECL_WINELIB_TYPE_AW(IOleUIObjInfo
)
861 DECL_WINELIB_TYPE_AW(POLEUIOBJINFO
)
862 DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO
)
864 #if !defined(__cplusplus) || defined(CINTERFACE)
865 /*** IUnknown methods ***/
866 #define IOleUIObjInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
867 #define IOleUIObjInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
868 #define IOleUIObjInfo_Release(p) (p)->lpVtbl->Release(p)
869 /*** IOleUIObjInfo methods ***/
870 #define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetObjectInfo(p,a,b,c,d,e,f)
871 #define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetConvertInfo(p,a,b,c,d,e,f)
872 #define IOleUIObjInfo_ConvertObject(p,a,b) (p)->lpVtbl->ConvertObject(p,a,b)
873 #define IOleUIObjInfo_GetViewInfo(p,a,b,c,d) (p)->lpVtbl->GetViewInfo(p,a,b,c,d)
874 #define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e) (p)->lpVtbl->SetViewInfo(p,a,b,c,d,e)
877 UINT WINAPI
OleUIInsertObjectW(LPOLEUIINSERTOBJECTW
);
878 UINT WINAPI
OleUIInsertObjectA(LPOLEUIINSERTOBJECTA
);
879 #define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
880 UINT WINAPI
OleUIConvertA(LPOLEUICONVERTA
);
881 UINT WINAPI
OleUIConvertW(LPOLEUICONVERTW
);
882 #define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
883 UINT WINAPI
OleUIChangeIconA(LPOLEUICHANGEICONA
);
884 UINT WINAPI
OleUIChangeIconW(LPOLEUICHANGEICONW
);
885 #define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
886 UINT WINAPI
OleUIBusyA(LPOLEUIBUSYA
);
887 UINT WINAPI
OleUIBusyW(LPOLEUIBUSYW
);
888 #define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
889 UINT WINAPI
OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA
);
890 UINT WINAPI
OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW
);
891 #define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
892 UINT WINAPI
OleUIChangeSourceW(LPOLEUICHANGESOURCEW
);
893 UINT WINAPI
OleUIChangeSourceA(LPOLEUICHANGESOURCEA
);
894 #define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
895 UINT WINAPI
OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks
);
896 UINT WINAPI
OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks
);
897 #define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
898 BOOL WINAPI
OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr
, HWND hwndParent
, LPSTR lpszTitle
, INT cLinks
);
899 BOOL WINAPI
OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr
, HWND hwndParent
, LPWSTR lpszTitle
, INT cLinks
);
900 #define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
901 BOOL WINAPI
OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj
, LPCSTR lpszShortType
, HMENU hMenu
, UINT uPos
, UINT uIDVerbMin
, UINT uIDVerbMax
,
902 BOOL bAddConvert
, UINT idConvert
, HMENU
*lphMenu
);
903 BOOL WINAPI
OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj
, LPCWSTR lpszShortType
, HMENU hMenu
, UINT uPos
, UINT uIDVerbMin
, UINT uIDVerbMax
,
904 BOOL bAddConvert
, UINT idConvert
, HMENU
*lphMenu
);
905 #define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
906 UINT WINAPI
OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial
);
907 UINT WINAPI
OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial
);
908 #define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
909 INT __cdecl
OleUIPromptUserA(INT
,HWND
, ...);
910 INT __cdecl
OleUIPromptUserW(INT
,HWND
, ...);
911 #define OleUIPromptUser WINELIB_NAME_AW(OleUIPromptUser)
918 #endif /* __WINE_OLEDLG_H */