blob: 95e6b741ed5ea6c8fa52946395880dcfe97905c0 [file] [log] [blame]
Alexandre Julliarda0d77311998-09-13 16:32:00 +00001/*
Alexandre Julliard0799c1a2002-03-09 23:29:33 +00002 * Declarations for OLEDLG
3 *
4 * Copyright (C) the Wine project
5 *
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.
10 *
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.
15 *
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
Alexandre Julliarda0d77311998-09-13 16:32:00 +000019 */
20
21#ifndef __WINE_OLEDLG_H
22#define __WINE_OLEDLG_H
23
Dimitrie O. Paun53f9c212003-08-28 21:43:34 +000024#include <commdlg.h>
25#include <prsht.h>
Dimitrie O. Paun53f9c212003-08-28 21:43:34 +000026#include <ole2.h>
Adrian Thurstond3354d01999-03-24 15:05:05 +000027
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32
Alexandre Julliardb8d30752005-07-26 18:32:53 +000033typedef struct IOleUILinkContainerA *POLEUILINKCONTAINERA, *LPOLEUILINKCONTAINERA;
34typedef struct IOleUILinkContainerW *POLEUILINKCONTAINERW, *LPOLEUILINKCONTAINERW;
Adrian Thurstond3354d01999-03-24 15:05:05 +000035
Alexandre Julliardb8d30752005-07-26 18:32:53 +000036typedef struct IOleUILinkInfoA *POLEUILINKINFOA, *LPOLEUILINKINFOA;
37typedef struct IOleUILinkInfoW *POLEUILINKINFOW, *LPOLEUILINKINFOW;
Adrian Thurstond3354d01999-03-24 15:05:05 +000038
Alexandre Julliardb8d30752005-07-26 18:32:53 +000039typedef struct IOleUIObjInfoA *POLEUIOBJINFOA, *LPOLEUIOBJINFOA;
40typedef struct IOleUIObjInfoW *POLEUIOBJINFOW, *LPOLEUIOBJINFOW;
Adrian Thurstond3354d01999-03-24 15:05:05 +000041
Albert Den Hann8de1dfa1999-03-27 16:06:55 +000042#define IDC_OLEUIHELP 99
43
44/* Change Source Dialog flags */
Adrian Thurstond3354d01999-03-24 15:05:05 +000045#define CSF_SHOWHELP 0x00000001L
46#define CSF_VALIDSOURCE 0x00000002L
47#define CSF_ONLYGETSOURCE 0x00000004L
48#define CSF_EXPLORER 0x00000008L
49
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
58
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
73
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
83
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
89
Albert Den Hann8de1dfa1999-03-27 16:06:55 +000090#define BZ_DISABLECANCELBUTTON 0x00000001L
91#define BZ_DISABLESWITCHTOBUTTON 0x00000002L
92#define BZ_DISABLERETRYBUTTON 0x00000004L
93#define BZ_NOTRESPONDINGDIALOG 0x00000008L
94
95#define OLEUI_ERR_STANDARDMAX 116
96
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)
101
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000102#define OLEUI_FALSE 0
103#define OLEUI_SUCCESS 1 /* Same as OLEUI_OK */
Vincent Béron9a624912002-05-31 23:06:46 +0000104#define OLEUI_OK 1 /* OK button pressed */
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000105#define OLEUI_CANCEL 2 /* Cancel button pressed */
106
Ulrich Czekallaaf0d2af2003-11-05 01:34:38 +0000107#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
125
Albert Den Hann8de1dfa1999-03-27 16:06:55 +0000126#define OPF_OBJECTISLINK 0x00000001L
127#define OPF_NOFILLDEFAULT 0x00000002L
128#define OPF_SHOWHELP 0x00000004L
129#define OPF_DISABLECONVERT 0x00000008L
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000130
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000131typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000132
Adrian Thurstond3354d01999-03-24 15:05:05 +0000133/*****************************************************************************
134 * INSERT OBJECT DIALOG
135 */
136typedef struct tagOLEUIINSERTOBJECTA
137{
Vincent Béron9a624912002-05-31 23:06:46 +0000138 DWORD cbStruct;
139 DWORD dwFlags;
140 HWND hWndOwner;
141 LPCSTR lpszCaption;
142 LPFNOLEUIHOOK lpfnHook;
143 LPARAM lCustData;
144 HINSTANCE hInstance;
145 LPCSTR lpszTemplate;
146 HRSRC hResource;
147 CLSID clsid;
148 LPSTR lpszFile;
149 UINT cchFile;
150 UINT cClsidExclude;
151 LPCLSID lpClsidExclude;
152 IID iid;
153 DWORD oleRender;
154 LPFORMATETC lpFormatEtc;
155 LPOLECLIENTSITE lpIOleClientSite;
156 LPSTORAGE lpIStorage;
157 LPVOID *ppvObj;
158 SCODE sc;
159 HGLOBAL hMetaPict;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000160} OLEUIINSERTOBJECTA, *POLEUIINSERTOBJECTA, *LPOLEUIINSERTOBJECTA;
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000161
Adrian Thurstond3354d01999-03-24 15:05:05 +0000162typedef struct tagOLEUIINSERTOBJECTW
163{
Vincent Béron9a624912002-05-31 23:06:46 +0000164 DWORD cbStruct;
165 DWORD dwFlags;
166 HWND hWndOwner;
167 LPCWSTR lpszCaption;
168 LPFNOLEUIHOOK lpfnHook;
169 LPARAM lCustData;
170 HINSTANCE hInstance;
171 LPCWSTR lpszTemplate;
172 HRSRC hResource;
173 CLSID clsid;
174 LPWSTR lpszFile;
175 UINT cchFile;
176 UINT cClsidExclude;
177 LPCLSID lpClsidExclude;
178 IID iid;
179 DWORD oleRender;
180 LPFORMATETC lpFormatEtc;
181 LPOLECLIENTSITE lpIOleClientSite;
182 LPSTORAGE lpIStorage;
183 LPVOID *ppvObj;
184 SCODE sc;
185 HGLOBAL hMetaPict;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000186} OLEUIINSERTOBJECTW, *POLEUIINSERTOBJECTW, *LPOLEUIINSERTOBJECTW;
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000187
Adrian Thurstond3354d01999-03-24 15:05:05 +0000188DECL_WINELIB_TYPE_AW(OLEUIINSERTOBJECT)
189DECL_WINELIB_TYPE_AW(POLEUIINSERTOBJECT)
190DECL_WINELIB_TYPE_AW(LPOLEUIINSERTOBJECT)
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000191
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000192
Adrian Thurstond3354d01999-03-24 15:05:05 +0000193/*****************************************************************************
194 * CONVERT DIALOG
195 */
196typedef struct tagOLEUICONVERTA
197{
Vincent Béron9a624912002-05-31 23:06:46 +0000198 DWORD cbStruct;
199 DWORD dwFlags;
200 HWND hWndOwner;
201 LPCSTR lpszCaption;
202 LPFNOLEUIHOOK lpfnHook;
203 LPARAM lCustData;
204 HINSTANCE hInstance;
205 LPCSTR lpszTemplate;
206 HRSRC hResource;
207 CLSID clsid;
208 CLSID clsidConvertDefault;
209 CLSID clsidActivateDefault;
210 CLSID clsidNew;
211 DWORD dvAspect;
212 WORD wFormat;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000213 BOOL fIsLinkedObject;
Vincent Béron9a624912002-05-31 23:06:46 +0000214 HGLOBAL hMetaPict;
215 LPSTR lpszUserType;
216 BOOL fObjectsIconChanged;
217 LPSTR lpszDefLabel;
218 UINT cClsidExclude;
219 LPCLSID lpClsidExclude;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000220} OLEUICONVERTA, *POLEUICONVERTA, *LPOLEUICONVERTA;
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000221
Adrian Thurstond3354d01999-03-24 15:05:05 +0000222typedef struct tagOLEUICONVERTW
223{
Vincent Béron9a624912002-05-31 23:06:46 +0000224 DWORD cbStruct;
225 DWORD dwFlags;
226 HWND hWndOwner;
227 LPCWSTR lpszCaption;
228 LPFNOLEUIHOOK lpfnHook;
229 LPARAM lCustData;
230 HINSTANCE hInstance;
231 LPCWSTR lpszTemplate;
232 HRSRC hResource;
233 CLSID clsid;
234 CLSID clsidConvertDefault;
235 CLSID clsidActivateDefault;
236 CLSID clsidNew;
237 DWORD dvAspect;
238 WORD wFormat;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000239 BOOL fIsLinkedObject;
Vincent Béron9a624912002-05-31 23:06:46 +0000240 HGLOBAL hMetaPict;
241 LPWSTR lpszUserType;
242 BOOL fObjectsIconChanged;
243 LPWSTR lpszDefLabel;
244 UINT cClsidExclude;
245 LPCLSID lpClsidExclude;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000246} OLEUICONVERTW, *POLEUICONVERTW, *LPOLEUICONVERTW;
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000247
Adrian Thurstond3354d01999-03-24 15:05:05 +0000248DECL_WINELIB_TYPE_AW(OLEUICONVERT)
249DECL_WINELIB_TYPE_AW(POLEUICONVERT)
250DECL_WINELIB_TYPE_AW(LPOLEUICONVERT)
251
252/*****************************************************************************
253 * CHANGE ICON DIALOG
254 */
255typedef struct tagOLEUICHANGEICONA
256{
Vincent Béron9a624912002-05-31 23:06:46 +0000257 DWORD cbStruct;
258 DWORD dwFlags;
259 HWND hWndOwner;
260 LPCSTR lpszCaption;
261 LPFNOLEUIHOOK lpfnHook;
262 LPARAM lCustData;
263 HINSTANCE hInstance;
264 LPCSTR lpszTemplate;
265 HRSRC hResource;
266 HGLOBAL hMetaPict;
267 CLSID clsid;
268 CHAR szIconExe[MAX_PATH];
269 INT cchIconExe;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000270} OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;
271
272typedef struct tagOLEUICHANGEICONW
273{
Vincent Béron9a624912002-05-31 23:06:46 +0000274 DWORD cbStruct;
275 DWORD dwFlags;
276 HWND hWndOwner;
277 LPCWSTR lpszCaption;
278 LPFNOLEUIHOOK lpfnHook;
279 LPARAM lCustData;
280 HINSTANCE hInstance;
281 LPCWSTR lpszTemplate;
282 HRSRC hResource;
283 HGLOBAL hMetaPict;
284 CLSID clsid;
285 WCHAR szIconExe[MAX_PATH];
286 INT cchIconExe;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000287} OLEUICHANGEICONW, *POLEUICHANGEICONW, *LPOLEUICHANGEICONW;
288
289DECL_WINELIB_TYPE_AW(OLEUICHANGEICON)
290DECL_WINELIB_TYPE_AW(POLEUICHANGEICON)
291DECL_WINELIB_TYPE_AW(LPOLEUICHANGEICON)
292
293
294/*****************************************************************************
295 * PASTE SPECIAL DIALOG
296 */
297
298typedef enum tagOLEUIPASTEFLAG
299{
Vincent Béron9a624912002-05-31 23:06:46 +0000300 OLEUIPASTE_ENABLEICON = 2048,
Adrian Thurstond3354d01999-03-24 15:05:05 +0000301 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
Vincent Béron9a624912002-05-31 23:06:46 +0000312} OLEUIPASTEFLAG;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000313
314typedef struct tagOLEUIPASTEENTRYA
315{
Vincent Béron9a624912002-05-31 23:06:46 +0000316 FORMATETC fmtetc;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000317 LPCSTR lpstrFormatName;
318 LPCSTR lpstrResultText;
Vincent Béron9a624912002-05-31 23:06:46 +0000319 DWORD dwFlags;
320 DWORD dwScratchSpace;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000321} OLEUIPASTEENTRYA, *POLEUIPASTEENTRYA, *LPOLEUIPASTEENTRYA;
322
323typedef struct tagOLEUIPASTEENTRYW
324{
Vincent Béron9a624912002-05-31 23:06:46 +0000325 FORMATETC fmtetc;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000326 LPCWSTR lpstrFormatName;
327 LPCWSTR lpstrResultText;
Vincent Béron9a624912002-05-31 23:06:46 +0000328 DWORD dwFlags;
329 DWORD dwScratchSpace;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000330} OLEUIPASTEENTRYW, *POLEUIPASTEENTRYW, *LPOLEUIPASTEENTRYW;
331
332DECL_WINELIB_TYPE_AW(OLEUIPASTEENTRY)
333DECL_WINELIB_TYPE_AW(POLEUIPASTEENTRY)
334DECL_WINELIB_TYPE_AW(LPOLEUIPASTEENTRY)
335
336typedef struct tagOLEUIPASTESPECIALA
337{
Vincent Béron9a624912002-05-31 23:06:46 +0000338 DWORD cbStruct;
339 DWORD dwFlags;
340 HWND hWndOwner;
341 LPCSTR lpszCaption;
342 LPFNOLEUIHOOK lpfnHook;
343 LPARAM lCustData;
344 HINSTANCE hInstance;
345 LPCSTR lpszTemplate;
346 HRSRC hResource;
347 LPDATAOBJECT lpSrcDataObj;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000348 LPOLEUIPASTEENTRYA arrPasteEntries;
Vincent Béron9a624912002-05-31 23:06:46 +0000349 INT cPasteEntries;
350 UINT* arrLinkTypes;
351 INT cLinkTypes;
352 UINT cClsidExclude;
353 LPCLSID lpClsidExclude;
354 INT nSelectedIndex;
355 BOOL fLink;
356 HGLOBAL hMetaPict;
357 SIZEL sizel;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000358} OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;
359
360typedef struct tagOLEUIPASTESPECIALW
361{
Vincent Béron9a624912002-05-31 23:06:46 +0000362 DWORD cbStruct;
363 DWORD dwFlags;
364 HWND hWndOwner;
365 LPCWSTR lpszCaption;
366 LPFNOLEUIHOOK lpfnHook;
367 LPARAM lCustData;
368 HINSTANCE hInstance;
369 LPCWSTR lpszTemplate;
370 HRSRC hResource;
371 LPDATAOBJECT lpSrcDataObj;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000372 LPOLEUIPASTEENTRYW arrPasteEntries;
Vincent Béron9a624912002-05-31 23:06:46 +0000373 INT cPasteEntries;
374 UINT* arrLinkTypes;
375 INT cLinkTypes;
376 UINT cClsidExclude;
377 LPCLSID lpClsidExclude;
378 INT nSelectedIndex;
379 BOOL fLink;
380 HGLOBAL hMetaPict;
381 SIZEL sizel;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000382} OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
383
384DECL_WINELIB_TYPE_AW(OLEUIPASTESPECIAL)
385DECL_WINELIB_TYPE_AW(POLEUIPASTESPECIAL)
386DECL_WINELIB_TYPE_AW(LPOLEUIPASTESPECIAL)
387
388#define PSF_SHOWHELP 0x00000001L
389#define PSF_SELECTPASTE 0x00000002L
390#define PSF_SELECTPASTELINK 0x00000004L
391
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
397
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)
403
Albert Den Hann8de1dfa1999-03-27 16:06:55 +0000404#define ELF_SHOWHELP 0x00000001L
405#define ELF_DISABLEUPDATENOW 0x00000002L
406#define ELF_DISABLEOPENSOURCE 0x00000004L
407#define ELF_DISABLECHANGESOURCE 0x00000008L
408#define ELF_DISABLECANCELLINK 0x00000010L
409
Adrian Thurstond3354d01999-03-24 15:05:05 +0000410typedef struct tagOLEUIEDITLINKSW
411{
Vincent Béron9a624912002-05-31 23:06:46 +0000412 DWORD cbStruct;
413 DWORD dwFlags;
414 HWND hWndOwner;
415 LPCWSTR lpszCaption;
416 LPFNOLEUIHOOK lpfnHook;
417 LPARAM lCustData;
418 HINSTANCE hInstance;
419 LPCWSTR lpszTemplate;
420 HRSRC hResource;
421 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000422} OLEUIEDITLINKSW, *POLEUIEDITLINKSW, *LPOLEUIEDITLINKSW;
423
424typedef struct tagOLEUIEDITLINKSA
425{
Vincent Béron9a624912002-05-31 23:06:46 +0000426 DWORD cbStruct;
427 DWORD dwFlags;
428 HWND hWndOwner;
429 LPCSTR lpszCaption;
430 LPFNOLEUIHOOK lpfnHook;
431 LPARAM lCustData;
432 HINSTANCE hInstance;
433 LPCSTR lpszTemplate;
434 HRSRC hResource;
435 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000436} OLEUIEDITLINKSA, *POLEUIEDITLINKSA, *LPOLEUIEDITLINKSA;
437
438DECL_WINELIB_TYPE_AW(OLEUIEDITLINKS)
439DECL_WINELIB_TYPE_AW(POLEUIEDITLINKS)
440DECL_WINELIB_TYPE_AW(LPOLEUIEDITLINKS)
441
442
443/***********************************************************************************
444 * BUSY DIALOG
445 */
446typedef struct tagOLEUIBUSYA
447{
Vincent Béron9a624912002-05-31 23:06:46 +0000448 DWORD cbStruct;
449 DWORD dwFlags;
450 HWND hWndOwner;
451 LPCSTR lpszCaption;
452 LPFNOLEUIHOOK lpfnHook;
453 LPARAM lCustData;
454 HINSTANCE hInstance;
455 LPCSTR lpszTemplate;
456 HRSRC hResource;
457 HTASK hTask;
458 HWND* lphWndDialog;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000459} OLEUIBUSYA, *POLEUIBUSYA, *LPOLEUIBUSYA;
460
461typedef struct tagOLEUIBUSYW
462{
Vincent Béron9a624912002-05-31 23:06:46 +0000463 DWORD cbStruct;
464 DWORD dwFlags;
465 HWND hWndOwner;
466 LPCWSTR lpszCaption;
467 LPFNOLEUIHOOK lpfnHook;
468 LPARAM lCustData;
469 HINSTANCE hInstance;
470 LPCWSTR lpszTemplate;
471 HRSRC hResource;
472 HTASK hTask;
473 HWND* lphWndDialog;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000474} OLEUIBUSYW, *POLEUIBUSYW, *LPOLEUIBUSYW;
475
476DECL_WINELIB_TYPE_AW(OLEUIBUSY)
477DECL_WINELIB_TYPE_AW(POLEUIBUSY)
478DECL_WINELIB_TYPE_AW(LPOLEUIBUSY)
479
480
481struct tagOLEUIOBJECTPROPSW;
482struct tagOLEUIOBJECTPROPSA;
483
484typedef struct tagOLEUIGNRLPROPSA
485{
Vincent Béron9a624912002-05-31 23:06:46 +0000486 DWORD cbStruct;
487 DWORD dwFlags;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000488 DWORD dwReserved1[2];
Vincent Béron9a624912002-05-31 23:06:46 +0000489 LPFNOLEUIHOOK lpfnHook;
490 LPARAM lCustData;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000491 DWORD dwReserved2[3];
Vincent Béron9a624912002-05-31 23:06:46 +0000492 struct tagOLEUIOBJECTPROPSA* lpOP;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000493
494} OLEUIGNRLPROPSA, *POLEUIGNRLPROPSA, *LPOLEUIGNRLPROPSA;
495
496typedef struct tagOLEUIGNRLPROPSW
497{
Vincent Béron9a624912002-05-31 23:06:46 +0000498 DWORD cbStruct;
499 DWORD dwFlags;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000500 DWORD dwReserved1[2];
Vincent Béron9a624912002-05-31 23:06:46 +0000501 LPFNOLEUIHOOK lpfnHook;
502 LPARAM lCustData;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000503 DWORD dwReserved2[3];
Vincent Béron9a624912002-05-31 23:06:46 +0000504 struct tagOLEUIOBJECTPROPSW* lpOP;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000505} OLEUIGNRLPROPSW, *POLEUIGNRLPROPSW, *LPOLEUIGNRLPROPSW;
506
507DECL_WINELIB_TYPE_AW(OLEUIGNRLPROPS)
508DECL_WINELIB_TYPE_AW(POLEUIGNRLPROPS)
509DECL_WINELIB_TYPE_AW(LPOLEUIGNRLPROPS)
510
511typedef struct tagOLEUIVIEWPROPSA
512{
Vincent Béron9a624912002-05-31 23:06:46 +0000513 DWORD cbStruct;
514 DWORD dwFlags;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000515 DWORD dwReserved1[2];
Vincent Béron9a624912002-05-31 23:06:46 +0000516 LPFNOLEUIHOOK lpfnHook;
517 LPARAM lCustData;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000518 DWORD dwReserved2[3];
Vincent Béron9a624912002-05-31 23:06:46 +0000519 struct tagOLEUIOBJECTPROPSA* lpOP;
520 INT nScaleMin;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000521 INT nScaleMax;
522} OLEUIVIEWPROPSA, *POLEUIVIEWPROPSA, *LPOLEUIVIEWPROPSA;
523
524typedef struct tagOLEUIVIEWPROPSW
525{
Vincent Béron9a624912002-05-31 23:06:46 +0000526 DWORD cbStruct;
527 DWORD dwFlags;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000528 DWORD dwReserved1[2];
Vincent Béron9a624912002-05-31 23:06:46 +0000529 LPFNOLEUIHOOK lpfnHook;
530 LPARAM lCustData;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000531 DWORD dwReserved2[3];
Vincent Béron9a624912002-05-31 23:06:46 +0000532 struct tagOLEUIOBJECTPROPSW* lpOP;
533 INT nScaleMin;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000534 INT nScaleMax;
535} OLEUIVIEWPROPSW, *POLEUIVIEWPROPSW, *LPOLEUIVIEWPROPSW;
536
537DECL_WINELIB_TYPE_AW(OLEUIVIEWPROPS)
538DECL_WINELIB_TYPE_AW(POLEUIVIEWPROPS)
539DECL_WINELIB_TYPE_AW(LPOLEUIVIEWPROPS)
540
541
Vincent Béron9a624912002-05-31 23:06:46 +0000542#define VPF_SELECTRELATIVE 0x00000001L
543#define VPF_DISABLERELATIVE 0x00000002L
544#define VPF_DISABLESCALE 0x00000004L
Adrian Thurstond3354d01999-03-24 15:05:05 +0000545
546typedef struct tagOLEUILINKPROPSA
547{
Vincent Béron9a624912002-05-31 23:06:46 +0000548 DWORD cbStruct;
549 DWORD dwFlags;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000550 DWORD dwReserved1[2];
Vincent Béron9a624912002-05-31 23:06:46 +0000551 LPFNOLEUIHOOK lpfnHook;
552 LPARAM lCustData;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000553 DWORD dwReserved2[3];
Vincent Béron9a624912002-05-31 23:06:46 +0000554 struct tagOLEUIOBJECTPROPSA* lpOP;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000555} OLEUILINKPROPSA, *POLEUILINKPROPSA, *LPOLEUILINKPROPSA;
556
557typedef struct tagOLEUILINKPROPSW
558{
Vincent Béron9a624912002-05-31 23:06:46 +0000559 DWORD cbStruct;
560 DWORD dwFlags;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000561 DWORD dwReserved1[2];
Vincent Béron9a624912002-05-31 23:06:46 +0000562 LPFNOLEUIHOOK lpfnHook;
563 LPARAM lCustData;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000564 DWORD dwReserved2[3];
Vincent Béron9a624912002-05-31 23:06:46 +0000565 struct tagOLEUIOBJECTPROPSW* lpOP;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000566} OLEUILINKPROPSW, *POLEUILINKPROPSW, *LPOLEUILINKPROPSW;
567
568DECL_WINELIB_TYPE_AW(OLEUILINKPROPS)
569DECL_WINELIB_TYPE_AW(POLEUILINKPROPS)
570DECL_WINELIB_TYPE_AW(LPOLEUILINKPROPS)
571
572typedef struct tagOLEUIOBJECTPROPSA
573{
Vincent Béron9a624912002-05-31 23:06:46 +0000574 DWORD cbStruct;
575 DWORD dwFlags;
576 LPPROPSHEETHEADERA lpPS;
577 DWORD dwObject;
578 LPOLEUIOBJINFOA lpObjInfo;
579 DWORD dwLink;
580 LPOLEUILINKINFOA lpLinkInfo;
581 LPOLEUIGNRLPROPSA lpGP;
582 LPOLEUIVIEWPROPSA lpVP;
583 LPOLEUILINKPROPSA lpLP;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000584} OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, *LPOLEUIOBJECTPROPSA;
585
586typedef struct tagOLEUIOBJECTPROPSW
587{
Vincent Béron9a624912002-05-31 23:06:46 +0000588 DWORD cbStruct;
589 DWORD dwFlags;
590 LPPROPSHEETHEADERW lpPS;
591 DWORD dwObject;
592 LPOLEUIOBJINFOW lpObjInfo;
593 DWORD dwLink;
594 LPOLEUILINKINFOW lpLinkInfo;
595 LPOLEUIGNRLPROPSW lpGP;
596 LPOLEUIVIEWPROPSW lpVP;
597 LPOLEUILINKPROPSW lpLP;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000598} OLEUIOBJECTPROPSW, *POLEUIOBJECTPROPSW, *LPOLEUIOBJECTPROPSW;
599
600DECL_WINELIB_TYPE_AW(OLEUIOBJECTPROPS)
601DECL_WINELIB_TYPE_AW(POLEUIOBJECTPROPS)
602DECL_WINELIB_TYPE_AW(LPOLEUIOBJECTPROPS)
603
604/************************************************************************************
605 * CHANGE SOURCE DIALOG
606 */
607
608
609typedef struct tagOLEUICHANGESOURCEW
610{
Vincent Béron9a624912002-05-31 23:06:46 +0000611 DWORD cbStruct;
612 DWORD dwFlags;
613 HWND hWndOwner;
614 LPCWSTR lpszCaption;
615 LPFNOLEUIHOOK lpfnHook;
616 LPARAM lCustData;
617 HINSTANCE hInstance;
618 LPCWSTR lpszTemplate;
619 HRSRC hResource;
620 OPENFILENAMEW*lpOFN;
621 DWORD dwReserved1[4];
622 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
623 DWORD dwLink;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000624 LPWSTR lpszDisplayName;
Vincent Béron9a624912002-05-31 23:06:46 +0000625 ULONG nFileLength;
626 LPWSTR lpszFrom;
627 LPWSTR lpszTo;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000628} OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, *LPOLEUICHANGESOURCEW;
629
630
631typedef struct tagOLEUICHANGESOURCEA
632{
Vincent Béron9a624912002-05-31 23:06:46 +0000633 DWORD cbStruct;
634 DWORD dwFlags;
635 HWND hWndOwner;
636 LPCSTR lpszCaption;
637 LPFNOLEUIHOOK lpfnHook;
638 LPARAM lCustData;
639 HINSTANCE hInstance;
640 LPCSTR lpszTemplate;
641 HRSRC hResource;
642 OPENFILENAMEA* lpOFN;
643 DWORD dwReserved1[4];
644 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
645 DWORD dwLink;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000646 LPSTR lpszDisplayName;
Vincent Béron9a624912002-05-31 23:06:46 +0000647 ULONG nFileLength;
648 LPSTR lpszFrom;
649 LPSTR lpszTo;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000650} OLEUICHANGESOURCEA, *POLEUICHANGESOURCEA, *LPOLEUICHANGESOURCEA;
651
652
653DECL_WINELIB_TYPE_AW(OLEUICHANGESOURCE)
654DECL_WINELIB_TYPE_AW(POLEUICHANGESOURCE)
655DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
656
657
658/*****************************************************************************
659 * IOleUILinkContainer interface
660 */
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000661#define INTERFACE IOleUILinkContainerA
Alexandre Julliard5d0160e2004-10-05 04:38:15 +0000662DECLARE_INTERFACE_(IOleUILinkContainerA,IUnknown)
663{
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;
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000679 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
Alexandre Julliard5d0160e2004-10-05 04:38:15 +0000680};
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000681#undef INTERFACE
Adrian Thurstond3354d01999-03-24 15:05:05 +0000682
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000683#define INTERFACE IOleUILinkContainerW
Alexandre Julliard5d0160e2004-10-05 04:38:15 +0000684DECLARE_INTERFACE_(IOleUILinkContainerW,IUnknown)
685{
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;
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000701 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
Alexandre Julliard5d0160e2004-10-05 04:38:15 +0000702};
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000703#undef INTERFACE
Adrian Thurstond3354d01999-03-24 15:05:05 +0000704
705DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
706DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
707DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
708
Francois Gouget52ecbf72004-10-04 19:35:40 +0000709#if !defined(__cplusplus) || defined(CINTERFACE)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000710/*** IUnknown methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000711#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)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000714/*** IOleUILinkContainer methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000715#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)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000723#endif
724
725
726/*****************************************************************************
727 * IOleUILinkInfo interface
728 */
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000729#define INTERFACE IOleUILinkInfoA
Alexandre Julliard5d0160e2004-10-05 04:38:15 +0000730DECLARE_INTERFACE_(IOleUILinkInfoA,IOleUILinkContainerA)
731{
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 ***/
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000749 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
Alexandre Julliard5d0160e2004-10-05 04:38:15 +0000750};
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000751#undef INTERFACE
Adrian Thurstond3354d01999-03-24 15:05:05 +0000752
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000753#define INTERFACE IOleUILinkInfoW
Alexandre Julliard5d0160e2004-10-05 04:38:15 +0000754DECLARE_INTERFACE_(IOleUILinkInfoW,IOleUILinkContainerW)
755{
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 ***/
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000773 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
Alexandre Julliard5d0160e2004-10-05 04:38:15 +0000774};
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000775#undef INTERFACE
Adrian Thurstond3354d01999-03-24 15:05:05 +0000776
777DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
778DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
779DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
780
Francois Gouget52ecbf72004-10-04 19:35:40 +0000781#if !defined(__cplusplus) || defined(CINTERFACE)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000782/*** IUnknown methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000783#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)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000786/*** IOleUILinkContainer methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000787#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)
Vincent Béron9a624912002-05-31 23:06:46 +0000795/*** IOleUILinkInfo methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000796#define IOleUILinkInfo_GetLastUpdate(p,a,b) (p)->lpVtbl->GetLastUpdate(p,a,b)
797#endif
Adrian Thurstond3354d01999-03-24 15:05:05 +0000798
799
800/*****************************************************************************
801 * IOleUIObjInfo interface
802 */
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000803#define INTERFACE IOleUIObjInfoA
Alexandre Julliard5d0160e2004-10-05 04:38:15 +0000804DECLARE_INTERFACE_(IOleUIObjInfoA,IUnknown)
805{
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,
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000818 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
Alexandre Julliard5d0160e2004-10-05 04:38:15 +0000819};
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000820#undef INTERFACE
Adrian Thurstond3354d01999-03-24 15:05:05 +0000821
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000822#define INTERFACE IOleUIObjInfoW
Alexandre Julliard5d0160e2004-10-05 04:38:15 +0000823DECLARE_INTERFACE_(IOleUIObjInfoW,IUnknown)
824{
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,
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000837 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
Alexandre Julliard5d0160e2004-10-05 04:38:15 +0000838};
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000839#undef INTERFACE
Adrian Thurstond3354d01999-03-24 15:05:05 +0000840
841DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
842DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
843DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO)
844
Francois Gouget52ecbf72004-10-04 19:35:40 +0000845#if !defined(__cplusplus) || defined(CINTERFACE)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000846/*** IUnknown methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000847#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)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000850/*** IOleUIObjInfo methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000851#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)
856#endif
Adrian Thurstond3354d01999-03-24 15:05:05 +0000857
858UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
859UINT WINAPI OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
860#define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
861UINT WINAPI OleUIConvertA(LPOLEUICONVERTA);
862UINT WINAPI OleUIConvertW(LPOLEUICONVERTW);
863#define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
864UINT WINAPI OleUIChangeIconA(LPOLEUICHANGEICONA);
865UINT WINAPI OleUIChangeIconW(LPOLEUICHANGEICONW);
866#define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
867UINT WINAPI OleUIBusyA(LPOLEUIBUSYA);
868UINT WINAPI OleUIBusyW(LPOLEUIBUSYW);
869#define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
870UINT WINAPI OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
871UINT WINAPI OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
872#define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
873UINT WINAPI OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
874UINT WINAPI OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
875#define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
876UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks);
877UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks);
878#define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
879BOOL WINAPI OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr, HWND hwndParent, LPSTR lpszTitle, INT cLinks);
880BOOL WINAPI OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr, HWND hwndParent, LPWSTR lpszTitle, INT cLinks);
881#define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
882BOOL WINAPI OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
883 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
884BOOL 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)
887UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial);
888UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
Vincent Béron9a624912002-05-31 23:06:46 +0000889#define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
Alexandre Julliard2fdc4dc2003-11-26 04:11:56 +0000890INT __cdecl OleUIPromptUserA(INT,HWND, ...);
891INT __cdecl OleUIPromptUserW(INT,HWND, ...);
892#define OleUIPromptUser WINELIB_NAME_AW(OleUIPromptUser)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000893
894#ifdef __cplusplus
895} /* Extern "C" */
896#endif
897
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000898
899#endif /* __WINE_OLEDLG_H */