d3dx9_36: Detect and display message for all not yet supported file formats.
[wine/multimedia.git] / include / oledlg.h
blobf009d7662342b67e12d9d403ea33aae63275c626
1 /*
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
24 #include <windows.h>
25 #include <shellapi.h>
26 #include <commdlg.h>
27 #include <ole2.h>
28 #ifndef __WINESRC__
29 # include <string.h>
30 # include <tchar.h>
31 #endif
32 #include <dlgs.h>
33 #include <prsht.h>
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
40 typedef struct IOleUILinkContainerA *POLEUILINKCONTAINERA, *LPOLEUILINKCONTAINERA;
41 typedef struct IOleUILinkContainerW *POLEUILINKCONTAINERW, *LPOLEUILINKCONTAINERW;
43 typedef struct IOleUILinkInfoA *POLEUILINKINFOA, *LPOLEUILINKINFOA;
44 typedef struct IOleUILinkInfoW *POLEUILINKINFOW, *LPOLEUILINKINFOW;
46 typedef struct IOleUIObjInfoA *POLEUIOBJINFOA, *LPOLEUIOBJINFOA;
47 typedef struct IOleUIObjInfoW *POLEUIOBJINFOW, *LPOLEUIOBJINFOW;
49 #define IDC_OLEUIHELP 99
52 #define OLEUI_ERR_STANDARDMAX 116
54 #define OLEUI_BZERR_HTASKINVALID (OLEUI_ERR_STANDARDMAX+0)
55 #define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
56 #define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
57 #define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
59 #define OLEUI_FALSE 0
60 #define OLEUI_SUCCESS 1 /* Same as OLEUI_OK */
61 #define OLEUI_OK 1 /* OK button pressed */
62 #define OLEUI_CANCEL 2 /* Cancel button pressed */
64 #define OLEUI_ERR_STANDARDMIN 100
65 #define OLEUI_ERR_OLEMEMALLOC 100
66 #define OLEUI_ERR_STRUCTURENULL 101
67 #define OLEUI_ERR_STRUCTUREINVALID 102
68 #define OLEUI_ERR_CBSTRUCTINCORRECT 103
69 #define OLEUI_ERR_HWNDOWNERINVALID 104
70 #define OLEUI_ERR_LPSZCAPTIONINVALID 105
71 #define OLEUI_ERR_LPFNHOOKINVALID 106
72 #define OLEUI_ERR_HINSTANCEINVALID 107
73 #define OLEUI_ERR_LPSZTEMPLATEINVALID 108
74 #define OLEUI_ERR_HRESOURCEINVALID 109
75 #define OLEUI_ERR_FINDTEMPLATEFAILURE 110
76 #define OLEUI_ERR_LOADTEMPLATEFAILURE 111
77 #define OLEUI_ERR_DIALOGFAILURE 112
78 #define OLEUI_ERR_LOCALMEMALLOC 113
79 #define OLEUI_ERR_GLOBALMEMALLOC 114
80 #define OLEUI_ERR_LOADSTRING 115
81 #define OLEUI_ERR_STANDARDMAX 116
83 typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
85 /*****************************************************************************
86 * Registered Message Names
88 #define SZOLEUI_MSG_HELPA "OLEUI_MSG_HELP"
89 #define SZOLEUI_MSG_ENDDIALOGA "OLEUI_MSG_ENDDIALOG"
90 #define SZOLEUI_MSG_BROWSEA "OLEUI_MSG_BROWSE"
91 #define SZOLEUI_MSG_CHANGEICONA "OLEUI_MSG_CHANGEICON"
92 #define SZOLEUI_MSG_CLOSEBUSYDIALOGA "OLEUI_MSG_CLOSEBUSYDIALOG"
93 #define SZOLEUI_MSG_CONVERTA "OLEUI_MSG_CONVERT"
94 #define SZOLEUI_MSG_CHANGESOURCEA "OLEUI_MSG_CHANGESOURCE"
95 #define SZOLEUI_MSG_ADDCONTROLA "OLEUI_MSG_ADDCONTROL"
96 #define SZOLEUI_MSG_BROWSE_OFNA "OLEUI_MSG_BROWSE_OFN"
97 #if defined(__GNUC__)
98 # define SZOLEUI_MSG_HELPW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','H','E','L','P',0 }
99 # define SZOLEUI_MSG_ENDDIALOGW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','E','N','D','D','I','A','L','O','G',0 }
100 # define SZOLEUI_MSG_BROWSEW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E',0 }
101 # define SZOLEUI_MSG_CHANGEICONW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','I','C','O','N',0 }
102 # define SZOLEUI_MSG_CLOSEBUSYDIALOGW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','L','O','S','E','B','U','S','Y','D','I','A','L','O','G',0 }
103 # define SZOLEUI_MSG_CONVERTW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','O','N','V','E','R','T',0 }
104 # define SZOLEUI_MSG_CHANGESOURCEW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','S','O','U','R','C','E',0 }
105 # define SZOLEUI_MSG_ADDCONTROLW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','A','D','D','C','O','N','T','R','O','L',0 }
106 # define SZOLEUI_MSG_BROWSE_OFNW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E','_','O','F','N',0 }
107 #elif defined(_MSC_VER)
108 # define SZOLEUI_MSG_HELPW L"OLEUI_MSG_HELP"
109 # define SZOLEUI_MSG_ENDDIALOGW L"OLEUI_MSG_ENDDIALOG"
110 # define SZOLEUI_MSG_BROWSEW L"OLEUI_MSG_BROWSE"
111 # define SZOLEUI_MSG_CHANGEICONW L"OLEUI_MSG_CHANGEICON"
112 # define SZOLEUI_MSG_CLOSEBUSYDIALOGW L"OLEUI_MSG_CLOSEBUSYDIALOG"
113 # define SZOLEUI_MSG_CONVERTW L"OLEUI_MSG_CONVERT"
114 # define SZOLEUI_MSG_CHANGESOURCEW L"OLEUI_MSG_CHANGESOURCE"
115 # define SZOLEUI_MSG_ADDCONTROLW L"OLEUI_MSG_ADDCONTROL"
116 # define SZOLEUI_MSG_BROWSE_OFNW L"OLEUI_MSG_BROWSE_OFN"
117 #else
118 static const WCHAR SZOLEUI_MSG_HELPW[] = { 'O','L','E','U','I','_','M','S','G','_','H','E','L','P',0 };
119 static const WCHAR SZOLEUI_MSG_ENDDIALOGW[] = { 'O','L','E','U','I','_','M','S','G','_','E','N','D','D','I','A','L','O','G',0 };
120 static const WCHAR SZOLEUI_MSG_BROWSEW[] = { 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E',0 };
121 static const WCHAR SZOLEUI_MSG_CHANGEICONW[] = { 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','I','C','O','N',0 };
122 static const WCHAR SZOLEUI_MSG_CLOSEBUSYDIALOGW[] = { 'O','L','E','U','I','_','M','S','G','_','C','L','O','S','E','B','U','S','Y','D','I','A','L','O','G',0 };
123 static const WCHAR SZOLEUI_MSG_CONVERTW[] = { 'O','L','E','U','I','_','M','S','G','_','C','O','N','V','E','R','T',0 };
124 static const WCHAR SZOLEUI_MSG_CHANGESOURCEW[] = { 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','S','O','U','R','C','E',0 };
125 static const WCHAR SZOLEUI_MSG_ADDCONTROLW[] = { 'O','L','E','U','I','_','M','S','G','_','A','D','D','C','O','N','T','R','O','L',0 };
126 static const WCHAR SZOLEUI_MSG_BROWSE_OFNW[] = { 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E','_','O','F','N',0 };
127 #endif
128 #define SZOLEUI_MSG_HELP WINELIB_NAME_AW(SZOLEUI_MSG_HELP)
129 #define SZOLEUI_MSG_ENDDIALOG WINELIB_NAME_AW(SZOLEUI_MSG_ENDDIALOG)
130 #define SZOLEUI_MSG_BROWSE WINELIB_NAME_AW(SZOLEUI_MSG_BROWSE)
131 #define SZOLEUI_MSG_CHANGEICON WINELIB_NAME_AW(SZOLEUI_MSG_CHANGEICON)
132 #define SZOLEUI_MSG_CLOSEBUSYDIALOG WINELIB_NAME_AW(SZOLEUI_MSG_CLOSEBUSYDIALOG)
133 #define SZOLEUI_MSG_CONVERT WINELIB_NAME_AW(SZOLEUI_MSG_CONVERT)
134 #define SZOLEUI_MSG_CHANGESOURCE WINELIB_NAME_AW(SZOLEUI_MSG_CHANGESOURCE)
135 #define SZOLEUI_MSG_ADDCONTROL WINELIB_NAME_AW(SZOLEUI_MSG_ADDCONTROL)
136 #define SZOLEUI_MSG_BROWSE_OFN WINELIB_NAME_AW(SZOLEUI_MSG_BROWSE_OFN)
139 /*****************************************************************************
140 * INSERT OBJECT DIALOG
142 typedef struct tagOLEUIINSERTOBJECTA
144 DWORD cbStruct;
145 DWORD dwFlags;
146 HWND hWndOwner;
147 LPCSTR lpszCaption;
148 LPFNOLEUIHOOK lpfnHook;
149 LPARAM lCustData;
150 HINSTANCE hInstance;
151 LPCSTR lpszTemplate;
152 HRSRC hResource;
153 CLSID clsid;
154 LPSTR lpszFile;
155 UINT cchFile;
156 UINT cClsidExclude;
157 LPCLSID lpClsidExclude;
158 IID iid;
159 DWORD oleRender;
160 LPFORMATETC lpFormatEtc;
161 LPOLECLIENTSITE lpIOleClientSite;
162 LPSTORAGE lpIStorage;
163 LPVOID *ppvObj;
164 SCODE sc;
165 HGLOBAL hMetaPict;
166 } OLEUIINSERTOBJECTA, *POLEUIINSERTOBJECTA, *LPOLEUIINSERTOBJECTA;
168 typedef struct tagOLEUIINSERTOBJECTW
170 DWORD cbStruct;
171 DWORD dwFlags;
172 HWND hWndOwner;
173 LPCWSTR lpszCaption;
174 LPFNOLEUIHOOK lpfnHook;
175 LPARAM lCustData;
176 HINSTANCE hInstance;
177 LPCWSTR lpszTemplate;
178 HRSRC hResource;
179 CLSID clsid;
180 LPWSTR lpszFile;
181 UINT cchFile;
182 UINT cClsidExclude;
183 LPCLSID lpClsidExclude;
184 IID iid;
185 DWORD oleRender;
186 LPFORMATETC lpFormatEtc;
187 LPOLECLIENTSITE lpIOleClientSite;
188 LPSTORAGE lpIStorage;
189 LPVOID *ppvObj;
190 SCODE sc;
191 HGLOBAL hMetaPict;
192 } OLEUIINSERTOBJECTW, *POLEUIINSERTOBJECTW, *LPOLEUIINSERTOBJECTW;
194 DECL_WINELIB_TYPE_AW(OLEUIINSERTOBJECT)
195 DECL_WINELIB_TYPE_AW(POLEUIINSERTOBJECT)
196 DECL_WINELIB_TYPE_AW(LPOLEUIINSERTOBJECT)
198 #define IOF_SHOWHELP __MSABI_LONG(0x00000001)
199 #define IOF_SELECTCREATENEW __MSABI_LONG(0x00000002)
200 #define IOF_SELECTCREATEFROMFILE __MSABI_LONG(0x00000004)
201 #define IOF_CHECKLINK __MSABI_LONG(0x00000008)
202 #define IOF_CHECKDISPLAYASICON __MSABI_LONG(0x00000010)
203 #define IOF_CREATENEWOBJECT __MSABI_LONG(0x00000020)
204 #define IOF_CREATEFILEOBJECT __MSABI_LONG(0x00000040)
205 #define IOF_CREATELINKOBJECT __MSABI_LONG(0x00000080)
206 #define IOF_DISABLELINK __MSABI_LONG(0x00000100)
207 #define IOF_VERIFYSERVERSEXIST __MSABI_LONG(0x00000200)
208 #define IOF_DISABLEDISPLAYASICON __MSABI_LONG(0x00000400)
209 #define IOF_HIDECHANGEICON __MSABI_LONG(0x00000800)
210 #define IOF_SHOWINSERTCONTROL __MSABI_LONG(0x00001000)
211 #define IOF_SELECTCREATECONTROL __MSABI_LONG(0x00002000)
213 /*****************************************************************************
214 * CONVERT DIALOG
216 typedef struct tagOLEUICONVERTA
218 DWORD cbStruct;
219 DWORD dwFlags;
220 HWND hWndOwner;
221 LPCSTR lpszCaption;
222 LPFNOLEUIHOOK lpfnHook;
223 LPARAM lCustData;
224 HINSTANCE hInstance;
225 LPCSTR lpszTemplate;
226 HRSRC hResource;
227 CLSID clsid;
228 CLSID clsidConvertDefault;
229 CLSID clsidActivateDefault;
230 CLSID clsidNew;
231 DWORD dvAspect;
232 WORD wFormat;
233 BOOL fIsLinkedObject;
234 HGLOBAL hMetaPict;
235 LPSTR lpszUserType;
236 BOOL fObjectsIconChanged;
237 LPSTR lpszDefLabel;
238 UINT cClsidExclude;
239 LPCLSID lpClsidExclude;
240 } OLEUICONVERTA, *POLEUICONVERTA, *LPOLEUICONVERTA;
242 typedef struct tagOLEUICONVERTW
244 DWORD cbStruct;
245 DWORD dwFlags;
246 HWND hWndOwner;
247 LPCWSTR lpszCaption;
248 LPFNOLEUIHOOK lpfnHook;
249 LPARAM lCustData;
250 HINSTANCE hInstance;
251 LPCWSTR lpszTemplate;
252 HRSRC hResource;
253 CLSID clsid;
254 CLSID clsidConvertDefault;
255 CLSID clsidActivateDefault;
256 CLSID clsidNew;
257 DWORD dvAspect;
258 WORD wFormat;
259 BOOL fIsLinkedObject;
260 HGLOBAL hMetaPict;
261 LPWSTR lpszUserType;
262 BOOL fObjectsIconChanged;
263 LPWSTR lpszDefLabel;
264 UINT cClsidExclude;
265 LPCLSID lpClsidExclude;
266 } OLEUICONVERTW, *POLEUICONVERTW, *LPOLEUICONVERTW;
268 DECL_WINELIB_TYPE_AW(OLEUICONVERT)
269 DECL_WINELIB_TYPE_AW(POLEUICONVERT)
270 DECL_WINELIB_TYPE_AW(LPOLEUICONVERT)
272 #define CF_SHOWHELPBUTTON __MSABI_LONG(0x00000001)
273 #define CF_SETCONVERTDEFAULT __MSABI_LONG(0x00000002)
274 #define CF_SETACTIVATEDEFAULT __MSABI_LONG(0x00000004)
275 #define CF_SELECTCONVERTTO __MSABI_LONG(0x00000008)
276 #define CF_SELECTACTIVATEAS __MSABI_LONG(0x00000010)
277 #define CF_DISABLEDISPLAYASICON __MSABI_LONG(0x00000020)
278 #define CF_DISABLEACTIVATEAS __MSABI_LONG(0x00000040)
279 #define CF_HIDECHANGEICON __MSABI_LONG(0x00000080)
280 #define CF_CONVERTONLY __MSABI_LONG(0x00000100)
282 /*****************************************************************************
283 * CHANGE ICON DIALOG
285 typedef struct tagOLEUICHANGEICONA
287 DWORD cbStruct;
288 DWORD dwFlags;
289 HWND hWndOwner;
290 LPCSTR lpszCaption;
291 LPFNOLEUIHOOK lpfnHook;
292 LPARAM lCustData;
293 HINSTANCE hInstance;
294 LPCSTR lpszTemplate;
295 HRSRC hResource;
296 HGLOBAL hMetaPict;
297 CLSID clsid;
298 CHAR szIconExe[MAX_PATH];
299 INT cchIconExe;
300 } OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;
302 typedef struct tagOLEUICHANGEICONW
304 DWORD cbStruct;
305 DWORD dwFlags;
306 HWND hWndOwner;
307 LPCWSTR lpszCaption;
308 LPFNOLEUIHOOK lpfnHook;
309 LPARAM lCustData;
310 HINSTANCE hInstance;
311 LPCWSTR lpszTemplate;
312 HRSRC hResource;
313 HGLOBAL hMetaPict;
314 CLSID clsid;
315 WCHAR szIconExe[MAX_PATH];
316 INT cchIconExe;
317 } OLEUICHANGEICONW, *POLEUICHANGEICONW, *LPOLEUICHANGEICONW;
319 DECL_WINELIB_TYPE_AW(OLEUICHANGEICON)
320 DECL_WINELIB_TYPE_AW(POLEUICHANGEICON)
321 DECL_WINELIB_TYPE_AW(LPOLEUICHANGEICON)
324 #define CIF_SHOWHELP __MSABI_LONG(0x00000001)
325 #define CIF_SELECTCURRENT __MSABI_LONG(0x00000002)
326 #define CIF_SELECTDEFAULT __MSABI_LONG(0x00000004)
327 #define CIF_SELECTFROMFILE __MSABI_LONG(0x00000008)
328 #define CIF_USEICONEXE __MSABI_LONG(0x00000010)
330 /*****************************************************************************
331 * PASTE SPECIAL DIALOG
334 typedef enum tagOLEUIPASTEFLAG
336 OLEUIPASTE_ENABLEICON = 2048,
337 OLEUIPASTE_PASTEONLY = 0,
338 OLEUIPASTE_PASTE = 512,
339 OLEUIPASTE_LINKANYTYPE = 1024,
340 OLEUIPASTE_LINKTYPE1 = 1,
341 OLEUIPASTE_LINKTYPE2 = 2,
342 OLEUIPASTE_LINKTYPE3 = 4,
343 OLEUIPASTE_LINKTYPE4 = 8,
344 OLEUIPASTE_LINKTYPE5 = 16,
345 OLEUIPASTE_LINKTYPE6 = 32,
346 OLEUIPASTE_LINKTYPE7 = 64,
347 OLEUIPASTE_LINKTYPE8 = 128
348 } OLEUIPASTEFLAG;
350 typedef struct tagOLEUIPASTEENTRYA
352 FORMATETC fmtetc;
353 LPCSTR lpstrFormatName;
354 LPCSTR lpstrResultText;
355 DWORD dwFlags;
356 DWORD dwScratchSpace;
357 } OLEUIPASTEENTRYA, *POLEUIPASTEENTRYA, *LPOLEUIPASTEENTRYA;
359 typedef struct tagOLEUIPASTEENTRYW
361 FORMATETC fmtetc;
362 LPCWSTR lpstrFormatName;
363 LPCWSTR lpstrResultText;
364 DWORD dwFlags;
365 DWORD dwScratchSpace;
366 } OLEUIPASTEENTRYW, *POLEUIPASTEENTRYW, *LPOLEUIPASTEENTRYW;
368 DECL_WINELIB_TYPE_AW(OLEUIPASTEENTRY)
369 DECL_WINELIB_TYPE_AW(POLEUIPASTEENTRY)
370 DECL_WINELIB_TYPE_AW(LPOLEUIPASTEENTRY)
372 typedef struct tagOLEUIPASTESPECIALA
374 DWORD cbStruct;
375 DWORD dwFlags;
376 HWND hWndOwner;
377 LPCSTR lpszCaption;
378 LPFNOLEUIHOOK lpfnHook;
379 LPARAM lCustData;
380 HINSTANCE hInstance;
381 LPCSTR lpszTemplate;
382 HRSRC hResource;
383 LPDATAOBJECT lpSrcDataObj;
384 LPOLEUIPASTEENTRYA arrPasteEntries;
385 INT cPasteEntries;
386 UINT* arrLinkTypes;
387 INT cLinkTypes;
388 UINT cClsidExclude;
389 LPCLSID lpClsidExclude;
390 INT nSelectedIndex;
391 BOOL fLink;
392 HGLOBAL hMetaPict;
393 SIZEL sizel;
394 } OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;
396 typedef struct tagOLEUIPASTESPECIALW
398 DWORD cbStruct;
399 DWORD dwFlags;
400 HWND hWndOwner;
401 LPCWSTR lpszCaption;
402 LPFNOLEUIHOOK lpfnHook;
403 LPARAM lCustData;
404 HINSTANCE hInstance;
405 LPCWSTR lpszTemplate;
406 HRSRC hResource;
407 LPDATAOBJECT lpSrcDataObj;
408 LPOLEUIPASTEENTRYW arrPasteEntries;
409 INT cPasteEntries;
410 UINT* arrLinkTypes;
411 INT cLinkTypes;
412 UINT cClsidExclude;
413 LPCLSID lpClsidExclude;
414 INT nSelectedIndex;
415 BOOL fLink;
416 HGLOBAL hMetaPict;
417 SIZEL sizel;
418 } OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
420 DECL_WINELIB_TYPE_AW(OLEUIPASTESPECIAL)
421 DECL_WINELIB_TYPE_AW(POLEUIPASTESPECIAL)
422 DECL_WINELIB_TYPE_AW(LPOLEUIPASTESPECIAL)
424 #define PS_MAXLINKTYPES 8
426 #define PSF_SHOWHELP __MSABI_LONG(0x00000001)
427 #define PSF_SELECTPASTE __MSABI_LONG(0x00000002)
428 #define PSF_SELECTPASTELINK __MSABI_LONG(0x00000004)
430 #define PSF_CHECKDISPLAYASICON __MSABI_LONG(0x00000008)
431 #define PSF_DISABLEDISPLAYASICON __MSABI_LONG(0x00000010)
432 #define PSF_HIDECHANGEICON __MSABI_LONG(0x00000020)
433 #define PSF_STAYONCLIPBOARDCHANGE __MSABI_LONG(0x00000040)
434 #define PSF_NOREFRESHDATAOBJECT __MSABI_LONG(0x00000080)
436 #define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
437 #define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
438 #define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
439 #define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
440 #define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
442 /* Paste Special dialog resource ids */
443 #define IDD_PASTESPECIAL 1003
444 #define IDD_PASTESPECIAL4 1108
446 /* Paste Special dialog control ids */
447 #define IDC_PS_PASTE 500
448 #define IDC_PS_PASTELINK 501
449 #define IDC_PS_SOURCETEXT 502
450 #define IDC_PS_PASTELIST 503
451 #define IDC_PS_PASTELINKLIST 504
452 #define IDC_PS_DISPLAYLIST 505
453 #define IDC_PS_DISPLAYASICON 506
454 #define IDC_PS_ICONDISPLAY 507
455 #define IDC_PS_CHANGEICON 508
456 #define IDC_PS_RESULTIMAGE 509
457 #define IDC_PS_RESULTTEXT 510
459 /*****************************************************************************
460 * EDIT LINKS DIALOG
463 #define ELF_SHOWHELP __MSABI_LONG(0x00000001)
464 #define ELF_DISABLEUPDATENOW __MSABI_LONG(0x00000002)
465 #define ELF_DISABLEOPENSOURCE __MSABI_LONG(0x00000004)
466 #define ELF_DISABLECHANGESOURCE __MSABI_LONG(0x00000008)
467 #define ELF_DISABLECANCELLINK __MSABI_LONG(0x00000010)
469 typedef struct tagOLEUIEDITLINKSW
471 DWORD cbStruct;
472 DWORD dwFlags;
473 HWND hWndOwner;
474 LPCWSTR lpszCaption;
475 LPFNOLEUIHOOK lpfnHook;
476 LPARAM lCustData;
477 HINSTANCE hInstance;
478 LPCWSTR lpszTemplate;
479 HRSRC hResource;
480 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
481 } OLEUIEDITLINKSW, *POLEUIEDITLINKSW, *LPOLEUIEDITLINKSW;
483 typedef struct tagOLEUIEDITLINKSA
485 DWORD cbStruct;
486 DWORD dwFlags;
487 HWND hWndOwner;
488 LPCSTR lpszCaption;
489 LPFNOLEUIHOOK lpfnHook;
490 LPARAM lCustData;
491 HINSTANCE hInstance;
492 LPCSTR lpszTemplate;
493 HRSRC hResource;
494 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
495 } OLEUIEDITLINKSA, *POLEUIEDITLINKSA, *LPOLEUIEDITLINKSA;
497 DECL_WINELIB_TYPE_AW(OLEUIEDITLINKS)
498 DECL_WINELIB_TYPE_AW(POLEUIEDITLINKS)
499 DECL_WINELIB_TYPE_AW(LPOLEUIEDITLINKS)
502 /***********************************************************************************
503 * BUSY DIALOG
505 typedef struct tagOLEUIBUSYA
507 DWORD cbStruct;
508 DWORD dwFlags;
509 HWND hWndOwner;
510 LPCSTR lpszCaption;
511 LPFNOLEUIHOOK lpfnHook;
512 LPARAM lCustData;
513 HINSTANCE hInstance;
514 LPCSTR lpszTemplate;
515 HRSRC hResource;
516 HTASK hTask;
517 HWND* lphWndDialog;
518 } OLEUIBUSYA, *POLEUIBUSYA, *LPOLEUIBUSYA;
520 typedef struct tagOLEUIBUSYW
522 DWORD cbStruct;
523 DWORD dwFlags;
524 HWND hWndOwner;
525 LPCWSTR lpszCaption;
526 LPFNOLEUIHOOK lpfnHook;
527 LPARAM lCustData;
528 HINSTANCE hInstance;
529 LPCWSTR lpszTemplate;
530 HRSRC hResource;
531 HTASK hTask;
532 HWND* lphWndDialog;
533 } OLEUIBUSYW, *POLEUIBUSYW, *LPOLEUIBUSYW;
535 DECL_WINELIB_TYPE_AW(OLEUIBUSY)
536 DECL_WINELIB_TYPE_AW(POLEUIBUSY)
537 DECL_WINELIB_TYPE_AW(LPOLEUIBUSY)
540 #define BZ_DISABLECANCELBUTTON __MSABI_LONG(0x00000001)
541 #define BZ_DISABLESWITCHTOBUTTON __MSABI_LONG(0x00000002)
542 #define BZ_DISABLERETRYBUTTON __MSABI_LONG(0x00000004)
543 #define BZ_NOTRESPONDINGDIALOG __MSABI_LONG(0x00000008)
545 /***********************************************************************************
546 * OBJECT PROPERTIES DIALOG
549 struct tagOLEUIOBJECTPROPSW;
550 struct tagOLEUIOBJECTPROPSA;
552 typedef struct tagOLEUIGNRLPROPSA
554 DWORD cbStruct;
555 DWORD dwFlags;
556 DWORD dwReserved1[2];
557 LPFNOLEUIHOOK lpfnHook;
558 LPARAM lCustData;
559 DWORD dwReserved2[3];
560 struct tagOLEUIOBJECTPROPSA* lpOP;
562 } OLEUIGNRLPROPSA, *POLEUIGNRLPROPSA, *LPOLEUIGNRLPROPSA;
564 typedef struct tagOLEUIGNRLPROPSW
566 DWORD cbStruct;
567 DWORD dwFlags;
568 DWORD dwReserved1[2];
569 LPFNOLEUIHOOK lpfnHook;
570 LPARAM lCustData;
571 DWORD dwReserved2[3];
572 struct tagOLEUIOBJECTPROPSW* lpOP;
573 } OLEUIGNRLPROPSW, *POLEUIGNRLPROPSW, *LPOLEUIGNRLPROPSW;
575 DECL_WINELIB_TYPE_AW(OLEUIGNRLPROPS)
576 DECL_WINELIB_TYPE_AW(POLEUIGNRLPROPS)
577 DECL_WINELIB_TYPE_AW(LPOLEUIGNRLPROPS)
579 typedef struct tagOLEUIVIEWPROPSA
581 DWORD cbStruct;
582 DWORD dwFlags;
583 DWORD dwReserved1[2];
584 LPFNOLEUIHOOK lpfnHook;
585 LPARAM lCustData;
586 DWORD dwReserved2[3];
587 struct tagOLEUIOBJECTPROPSA* lpOP;
588 INT nScaleMin;
589 INT nScaleMax;
590 } OLEUIVIEWPROPSA, *POLEUIVIEWPROPSA, *LPOLEUIVIEWPROPSA;
592 typedef struct tagOLEUIVIEWPROPSW
594 DWORD cbStruct;
595 DWORD dwFlags;
596 DWORD dwReserved1[2];
597 LPFNOLEUIHOOK lpfnHook;
598 LPARAM lCustData;
599 DWORD dwReserved2[3];
600 struct tagOLEUIOBJECTPROPSW* lpOP;
601 INT nScaleMin;
602 INT nScaleMax;
603 } OLEUIVIEWPROPSW, *POLEUIVIEWPROPSW, *LPOLEUIVIEWPROPSW;
605 DECL_WINELIB_TYPE_AW(OLEUIVIEWPROPS)
606 DECL_WINELIB_TYPE_AW(POLEUIVIEWPROPS)
607 DECL_WINELIB_TYPE_AW(LPOLEUIVIEWPROPS)
610 #define VPF_SELECTRELATIVE __MSABI_LONG(0x00000001)
611 #define VPF_DISABLERELATIVE __MSABI_LONG(0x00000002)
612 #define VPF_DISABLESCALE __MSABI_LONG(0x00000004)
614 typedef struct tagOLEUILINKPROPSA
616 DWORD cbStruct;
617 DWORD dwFlags;
618 DWORD dwReserved1[2];
619 LPFNOLEUIHOOK lpfnHook;
620 LPARAM lCustData;
621 DWORD dwReserved2[3];
622 struct tagOLEUIOBJECTPROPSA* lpOP;
623 } OLEUILINKPROPSA, *POLEUILINKPROPSA, *LPOLEUILINKPROPSA;
625 typedef struct tagOLEUILINKPROPSW
627 DWORD cbStruct;
628 DWORD dwFlags;
629 DWORD dwReserved1[2];
630 LPFNOLEUIHOOK lpfnHook;
631 LPARAM lCustData;
632 DWORD dwReserved2[3];
633 struct tagOLEUIOBJECTPROPSW* lpOP;
634 } OLEUILINKPROPSW, *POLEUILINKPROPSW, *LPOLEUILINKPROPSW;
636 DECL_WINELIB_TYPE_AW(OLEUILINKPROPS)
637 DECL_WINELIB_TYPE_AW(POLEUILINKPROPS)
638 DECL_WINELIB_TYPE_AW(LPOLEUILINKPROPS)
640 typedef struct tagOLEUIOBJECTPROPSA
642 DWORD cbStruct;
643 DWORD dwFlags;
644 LPPROPSHEETHEADERA lpPS;
645 DWORD dwObject;
646 LPOLEUIOBJINFOA lpObjInfo;
647 DWORD dwLink;
648 LPOLEUILINKINFOA lpLinkInfo;
649 LPOLEUIGNRLPROPSA lpGP;
650 LPOLEUIVIEWPROPSA lpVP;
651 LPOLEUILINKPROPSA lpLP;
652 } OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, *LPOLEUIOBJECTPROPSA;
654 typedef struct tagOLEUIOBJECTPROPSW
656 DWORD cbStruct;
657 DWORD dwFlags;
658 LPPROPSHEETHEADERW lpPS;
659 DWORD dwObject;
660 LPOLEUIOBJINFOW lpObjInfo;
661 DWORD dwLink;
662 LPOLEUILINKINFOW lpLinkInfo;
663 LPOLEUIGNRLPROPSW lpGP;
664 LPOLEUIVIEWPROPSW lpVP;
665 LPOLEUILINKPROPSW lpLP;
666 } OLEUIOBJECTPROPSW, *POLEUIOBJECTPROPSW, *LPOLEUIOBJECTPROPSW;
668 DECL_WINELIB_TYPE_AW(OLEUIOBJECTPROPS)
669 DECL_WINELIB_TYPE_AW(POLEUIOBJECTPROPS)
670 DECL_WINELIB_TYPE_AW(LPOLEUIOBJECTPROPS)
672 #define OPF_OBJECTISLINK __MSABI_LONG(0x00000001)
673 #define OPF_NOFILLDEFAULT __MSABI_LONG(0x00000002)
674 #define OPF_SHOWHELP __MSABI_LONG(0x00000004)
675 #define OPF_DISABLECONVERT __MSABI_LONG(0x00000008)
678 /************************************************************************************
679 * CHANGE SOURCE DIALOG
683 typedef struct tagOLEUICHANGESOURCEW
685 DWORD cbStruct;
686 DWORD dwFlags;
687 HWND hWndOwner;
688 LPCWSTR lpszCaption;
689 LPFNOLEUIHOOK lpfnHook;
690 LPARAM lCustData;
691 HINSTANCE hInstance;
692 LPCWSTR lpszTemplate;
693 HRSRC hResource;
694 OPENFILENAMEW*lpOFN;
695 DWORD dwReserved1[4];
696 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
697 DWORD dwLink;
698 LPWSTR lpszDisplayName;
699 ULONG nFileLength;
700 LPWSTR lpszFrom;
701 LPWSTR lpszTo;
702 } OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, *LPOLEUICHANGESOURCEW;
705 typedef struct tagOLEUICHANGESOURCEA
707 DWORD cbStruct;
708 DWORD dwFlags;
709 HWND hWndOwner;
710 LPCSTR lpszCaption;
711 LPFNOLEUIHOOK lpfnHook;
712 LPARAM lCustData;
713 HINSTANCE hInstance;
714 LPCSTR lpszTemplate;
715 HRSRC hResource;
716 OPENFILENAMEA* lpOFN;
717 DWORD dwReserved1[4];
718 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
719 DWORD dwLink;
720 LPSTR lpszDisplayName;
721 ULONG nFileLength;
722 LPSTR lpszFrom;
723 LPSTR lpszTo;
724 } OLEUICHANGESOURCEA, *POLEUICHANGESOURCEA, *LPOLEUICHANGESOURCEA;
727 DECL_WINELIB_TYPE_AW(OLEUICHANGESOURCE)
728 DECL_WINELIB_TYPE_AW(POLEUICHANGESOURCE)
729 DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
731 /* Change Source Dialog flags */
732 #define CSF_SHOWHELP __MSABI_LONG(0x00000001)
733 #define CSF_VALIDSOURCE __MSABI_LONG(0x00000002)
734 #define CSF_ONLYGETSOURCE __MSABI_LONG(0x00000004)
735 #define CSF_EXPLORER __MSABI_LONG(0x00000008)
738 /*****************************************************************************
739 * IOleUILinkContainer interface
741 #define INTERFACE IOleUILinkContainerA
742 DECLARE_INTERFACE_(IOleUILinkContainerA,IUnknown)
744 /*** IUnknown methods ***/
745 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
746 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
747 STDMETHOD_(ULONG,Release)(THIS) PURE;
748 /*** IOleUILinkContainerA methods ***/
749 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
750 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
751 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
752 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName,
753 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
754 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName,
755 LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType,
756 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
757 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
758 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
759 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
761 #undef INTERFACE
763 #define INTERFACE IOleUILinkContainerW
764 DECLARE_INTERFACE_(IOleUILinkContainerW,IUnknown)
766 /*** IUnknown methods ***/
767 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
768 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
769 STDMETHOD_(ULONG,Release)(THIS) PURE;
770 /*** IOleUILinkContainerW methods ***/
771 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
772 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
773 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
774 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName,
775 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
776 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName,
777 LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType,
778 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
779 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
780 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
781 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
783 #undef INTERFACE
785 DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
786 DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
787 DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
789 #if !defined(__cplusplus) || defined(CINTERFACE)
790 /*** IUnknown methods ***/
791 #define IOleUILinkContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
792 #define IOleUILinkContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
793 #define IOleUILinkContainer_Release(p) (p)->lpVtbl->Release(p)
794 /*** IOleUILinkContainer methods ***/
795 #define IOleUILinkContainer_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
796 #define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
797 #define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
798 #define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
799 #define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
800 #define IOleUILinkContainer_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
801 #define IOleUILinkContainer_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
802 #define IOleUILinkContainer_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
803 #endif
806 /*****************************************************************************
807 * IOleUILinkInfo interface
809 #define INTERFACE IOleUILinkInfoA
810 DECLARE_INTERFACE_(IOleUILinkInfoA,IOleUILinkContainerA)
812 /*** IUnknown methods ***/
813 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
814 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
815 STDMETHOD_(ULONG,Release)(THIS) PURE;
816 /*** IOleUILinkContainerA methods ***/
817 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
818 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
819 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
820 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName,
821 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
822 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName,
823 LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType,
824 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
825 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
826 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
827 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
828 /*** IOleUILinkInfoA methods ***/
829 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
831 #undef INTERFACE
833 #define INTERFACE IOleUILinkInfoW
834 DECLARE_INTERFACE_(IOleUILinkInfoW,IOleUILinkContainerW)
836 /*** IUnknown methods ***/
837 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
838 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
839 STDMETHOD_(ULONG,Release)(THIS) PURE;
840 /*** IOleUILinkContainerW methods ***/
841 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
842 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
843 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
844 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName,
845 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
846 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName,
847 LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType,
848 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
849 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
850 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
851 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
852 /*** IOleUILinkInfoW methods ***/
853 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
855 #undef INTERFACE
857 DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
858 DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
859 DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
861 #if !defined(__cplusplus) || defined(CINTERFACE)
862 /*** IUnknown methods ***/
863 #define IOleUILinkInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
864 #define IOleUILinkInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
865 #define IOleUILinkInfo_Release(p) (p)->lpVtbl->Release(p)
866 /*** IOleUILinkContainer methods ***/
867 #define IOleUILinkInfo_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
868 #define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
869 #define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
870 #define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
871 #define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
872 #define IOleUILinkInfo_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
873 #define IOleUILinkInfo_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
874 #define IOleUILinkInfo_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
875 /*** IOleUILinkInfo methods ***/
876 #define IOleUILinkInfo_GetLastUpdate(p,a,b) (p)->lpVtbl->GetLastUpdate(p,a,b)
877 #endif
880 /*****************************************************************************
881 * IOleUIObjInfo interface
883 #define INTERFACE IOleUIObjInfoA
884 DECLARE_INTERFACE_(IOleUIObjInfoA,IUnknown)
886 /*** IUnknown methods ***/
887 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
888 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
889 STDMETHOD_(ULONG,Release)(THIS) PURE;
890 /*** IOleUIObjInfoA methods ***/
891 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPSTR *lplpszLabel,
892 LPSTR *lplpszType, LPSTR *lplpszShortType, LPSTR *lplpszLocation) PURE;
893 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat,
894 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE;
895 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE;
896 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
897 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect,
898 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
900 #undef INTERFACE
902 #define INTERFACE IOleUIObjInfoW
903 DECLARE_INTERFACE_(IOleUIObjInfoW,IUnknown)
905 /*** IUnknown methods ***/
906 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
907 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
908 STDMETHOD_(ULONG,Release)(THIS) PURE;
909 /*** IOleUIObjInfoW methods ***/
910 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPWSTR *lplpszLabel,
911 LPWSTR *lplpszType, LPWSTR *lplpszShortType, LPWSTR *lplpszLocation) PURE;
912 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat,
913 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE;
914 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE;
915 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
916 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect,
917 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
919 #undef INTERFACE
921 DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
922 DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
923 DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO)
925 #if !defined(__cplusplus) || defined(CINTERFACE)
926 /*** IUnknown methods ***/
927 #define IOleUIObjInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
928 #define IOleUIObjInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
929 #define IOleUIObjInfo_Release(p) (p)->lpVtbl->Release(p)
930 /*** IOleUIObjInfo methods ***/
931 #define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetObjectInfo(p,a,b,c,d,e,f)
932 #define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetConvertInfo(p,a,b,c,d,e,f)
933 #define IOleUIObjInfo_ConvertObject(p,a,b) (p)->lpVtbl->ConvertObject(p,a,b)
934 #define IOleUIObjInfo_GetViewInfo(p,a,b,c,d) (p)->lpVtbl->GetViewInfo(p,a,b,c,d)
935 #define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e) (p)->lpVtbl->SetViewInfo(p,a,b,c,d,e)
936 #endif
938 UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
939 UINT WINAPI OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
940 #define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
941 UINT WINAPI OleUIConvertA(LPOLEUICONVERTA);
942 UINT WINAPI OleUIConvertW(LPOLEUICONVERTW);
943 #define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
944 UINT WINAPI OleUIChangeIconA(LPOLEUICHANGEICONA);
945 UINT WINAPI OleUIChangeIconW(LPOLEUICHANGEICONW);
946 #define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
947 UINT WINAPI OleUIBusyA(LPOLEUIBUSYA);
948 UINT WINAPI OleUIBusyW(LPOLEUIBUSYW);
949 #define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
950 UINT WINAPI OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
951 UINT WINAPI OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
952 #define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
953 UINT WINAPI OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
954 UINT WINAPI OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
955 #define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
956 UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks);
957 UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks);
958 #define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
959 BOOL WINAPI OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr, HWND hwndParent, LPSTR lpszTitle, INT cLinks);
960 BOOL WINAPI OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr, HWND hwndParent, LPWSTR lpszTitle, INT cLinks);
961 #define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
962 BOOL WINAPI OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
963 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
964 BOOL WINAPI OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
965 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
966 #define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
967 UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial);
968 UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
969 #define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
970 INT __cdecl OleUIPromptUserA(INT,HWND, ...);
971 INT __cdecl OleUIPromptUserW(INT,HWND, ...);
972 #define OleUIPromptUser WINELIB_NAME_AW(OleUIPromptUser)
974 #ifdef __cplusplus
975 } /* Extern "C" */
976 #endif
979 #endif /* __WINE_OLEDLG_H */