msxml3/tests: Add test saving XML with non-english characters.
[wine.git] / include / oledlg.h
bloba39a28f9aac33e53fc3da8a0c847d2c941f109c5
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(_MSC_VER) || defined(__MINGW32__)
98 # define SZOLEUI_MSG_HELPW L"OLEUI_MSG_HELP"
99 # define SZOLEUI_MSG_ENDDIALOGW L"OLEUI_MSG_ENDDIALOG"
100 # define SZOLEUI_MSG_BROWSEW L"OLEUI_MSG_BROWSE"
101 # define SZOLEUI_MSG_CHANGEICONW L"OLEUI_MSG_CHANGEICON"
102 # define SZOLEUI_MSG_CLOSEBUSYDIALOGW L"OLEUI_MSG_CLOSEBUSYDIALOG"
103 # define SZOLEUI_MSG_CONVERTW L"OLEUI_MSG_CONVERT"
104 # define SZOLEUI_MSG_CHANGESOURCEW L"OLEUI_MSG_CHANGESOURCE"
105 # define SZOLEUI_MSG_ADDCONTROLW L"OLEUI_MSG_ADDCONTROL"
106 # define SZOLEUI_MSG_BROWSE_OFNW L"OLEUI_MSG_BROWSE_OFN"
107 #else
108 static const WCHAR SZOLEUI_MSG_HELPW[] = { 'O','L','E','U','I','_','M','S','G','_','H','E','L','P',0 };
109 static const WCHAR SZOLEUI_MSG_ENDDIALOGW[] = { 'O','L','E','U','I','_','M','S','G','_','E','N','D','D','I','A','L','O','G',0 };
110 static const WCHAR SZOLEUI_MSG_BROWSEW[] = { 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E',0 };
111 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 };
112 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 };
113 static const WCHAR SZOLEUI_MSG_CONVERTW[] = { 'O','L','E','U','I','_','M','S','G','_','C','O','N','V','E','R','T',0 };
114 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 };
115 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 };
116 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 };
117 #endif
118 #define SZOLEUI_MSG_HELP WINELIB_NAME_AW(SZOLEUI_MSG_HELP)
119 #define SZOLEUI_MSG_ENDDIALOG WINELIB_NAME_AW(SZOLEUI_MSG_ENDDIALOG)
120 #define SZOLEUI_MSG_BROWSE WINELIB_NAME_AW(SZOLEUI_MSG_BROWSE)
121 #define SZOLEUI_MSG_CHANGEICON WINELIB_NAME_AW(SZOLEUI_MSG_CHANGEICON)
122 #define SZOLEUI_MSG_CLOSEBUSYDIALOG WINELIB_NAME_AW(SZOLEUI_MSG_CLOSEBUSYDIALOG)
123 #define SZOLEUI_MSG_CONVERT WINELIB_NAME_AW(SZOLEUI_MSG_CONVERT)
124 #define SZOLEUI_MSG_CHANGESOURCE WINELIB_NAME_AW(SZOLEUI_MSG_CHANGESOURCE)
125 #define SZOLEUI_MSG_ADDCONTROL WINELIB_NAME_AW(SZOLEUI_MSG_ADDCONTROL)
126 #define SZOLEUI_MSG_BROWSE_OFN WINELIB_NAME_AW(SZOLEUI_MSG_BROWSE_OFN)
129 /*****************************************************************************
130 * INSERT OBJECT DIALOG
132 typedef struct tagOLEUIINSERTOBJECTA
134 DWORD cbStruct;
135 DWORD dwFlags;
136 HWND hWndOwner;
137 LPCSTR lpszCaption;
138 LPFNOLEUIHOOK lpfnHook;
139 LPARAM lCustData;
140 HINSTANCE hInstance;
141 LPCSTR lpszTemplate;
142 HRSRC hResource;
143 CLSID clsid;
144 LPSTR lpszFile;
145 UINT cchFile;
146 UINT cClsidExclude;
147 LPCLSID lpClsidExclude;
148 IID iid;
149 DWORD oleRender;
150 LPFORMATETC lpFormatEtc;
151 LPOLECLIENTSITE lpIOleClientSite;
152 LPSTORAGE lpIStorage;
153 LPVOID *ppvObj;
154 SCODE sc;
155 HGLOBAL hMetaPict;
156 } OLEUIINSERTOBJECTA, *POLEUIINSERTOBJECTA, *LPOLEUIINSERTOBJECTA;
158 typedef struct tagOLEUIINSERTOBJECTW
160 DWORD cbStruct;
161 DWORD dwFlags;
162 HWND hWndOwner;
163 LPCWSTR lpszCaption;
164 LPFNOLEUIHOOK lpfnHook;
165 LPARAM lCustData;
166 HINSTANCE hInstance;
167 LPCWSTR lpszTemplate;
168 HRSRC hResource;
169 CLSID clsid;
170 LPWSTR lpszFile;
171 UINT cchFile;
172 UINT cClsidExclude;
173 LPCLSID lpClsidExclude;
174 IID iid;
175 DWORD oleRender;
176 LPFORMATETC lpFormatEtc;
177 LPOLECLIENTSITE lpIOleClientSite;
178 LPSTORAGE lpIStorage;
179 LPVOID *ppvObj;
180 SCODE sc;
181 HGLOBAL hMetaPict;
182 } OLEUIINSERTOBJECTW, *POLEUIINSERTOBJECTW, *LPOLEUIINSERTOBJECTW;
184 DECL_WINELIB_TYPE_AW(OLEUIINSERTOBJECT)
185 DECL_WINELIB_TYPE_AW(POLEUIINSERTOBJECT)
186 DECL_WINELIB_TYPE_AW(LPOLEUIINSERTOBJECT)
188 #define IOF_SHOWHELP __MSABI_LONG(0x00000001)
189 #define IOF_SELECTCREATENEW __MSABI_LONG(0x00000002)
190 #define IOF_SELECTCREATEFROMFILE __MSABI_LONG(0x00000004)
191 #define IOF_CHECKLINK __MSABI_LONG(0x00000008)
192 #define IOF_CHECKDISPLAYASICON __MSABI_LONG(0x00000010)
193 #define IOF_CREATENEWOBJECT __MSABI_LONG(0x00000020)
194 #define IOF_CREATEFILEOBJECT __MSABI_LONG(0x00000040)
195 #define IOF_CREATELINKOBJECT __MSABI_LONG(0x00000080)
196 #define IOF_DISABLELINK __MSABI_LONG(0x00000100)
197 #define IOF_VERIFYSERVERSEXIST __MSABI_LONG(0x00000200)
198 #define IOF_DISABLEDISPLAYASICON __MSABI_LONG(0x00000400)
199 #define IOF_HIDECHANGEICON __MSABI_LONG(0x00000800)
200 #define IOF_SHOWINSERTCONTROL __MSABI_LONG(0x00001000)
201 #define IOF_SELECTCREATECONTROL __MSABI_LONG(0x00002000)
203 /*****************************************************************************
204 * CONVERT DIALOG
206 typedef struct tagOLEUICONVERTA
208 DWORD cbStruct;
209 DWORD dwFlags;
210 HWND hWndOwner;
211 LPCSTR lpszCaption;
212 LPFNOLEUIHOOK lpfnHook;
213 LPARAM lCustData;
214 HINSTANCE hInstance;
215 LPCSTR lpszTemplate;
216 HRSRC hResource;
217 CLSID clsid;
218 CLSID clsidConvertDefault;
219 CLSID clsidActivateDefault;
220 CLSID clsidNew;
221 DWORD dvAspect;
222 WORD wFormat;
223 BOOL fIsLinkedObject;
224 HGLOBAL hMetaPict;
225 LPSTR lpszUserType;
226 BOOL fObjectsIconChanged;
227 LPSTR lpszDefLabel;
228 UINT cClsidExclude;
229 LPCLSID lpClsidExclude;
230 } OLEUICONVERTA, *POLEUICONVERTA, *LPOLEUICONVERTA;
232 typedef struct tagOLEUICONVERTW
234 DWORD cbStruct;
235 DWORD dwFlags;
236 HWND hWndOwner;
237 LPCWSTR lpszCaption;
238 LPFNOLEUIHOOK lpfnHook;
239 LPARAM lCustData;
240 HINSTANCE hInstance;
241 LPCWSTR lpszTemplate;
242 HRSRC hResource;
243 CLSID clsid;
244 CLSID clsidConvertDefault;
245 CLSID clsidActivateDefault;
246 CLSID clsidNew;
247 DWORD dvAspect;
248 WORD wFormat;
249 BOOL fIsLinkedObject;
250 HGLOBAL hMetaPict;
251 LPWSTR lpszUserType;
252 BOOL fObjectsIconChanged;
253 LPWSTR lpszDefLabel;
254 UINT cClsidExclude;
255 LPCLSID lpClsidExclude;
256 } OLEUICONVERTW, *POLEUICONVERTW, *LPOLEUICONVERTW;
258 DECL_WINELIB_TYPE_AW(OLEUICONVERT)
259 DECL_WINELIB_TYPE_AW(POLEUICONVERT)
260 DECL_WINELIB_TYPE_AW(LPOLEUICONVERT)
262 #define CF_SHOWHELPBUTTON __MSABI_LONG(0x00000001)
263 #define CF_SETCONVERTDEFAULT __MSABI_LONG(0x00000002)
264 #define CF_SETACTIVATEDEFAULT __MSABI_LONG(0x00000004)
265 #define CF_SELECTCONVERTTO __MSABI_LONG(0x00000008)
266 #define CF_SELECTACTIVATEAS __MSABI_LONG(0x00000010)
267 #define CF_DISABLEDISPLAYASICON __MSABI_LONG(0x00000020)
268 #define CF_DISABLEACTIVATEAS __MSABI_LONG(0x00000040)
269 #define CF_HIDECHANGEICON __MSABI_LONG(0x00000080)
270 #define CF_CONVERTONLY __MSABI_LONG(0x00000100)
272 /*****************************************************************************
273 * CHANGE ICON DIALOG
275 typedef struct tagOLEUICHANGEICONA
277 DWORD cbStruct;
278 DWORD dwFlags;
279 HWND hWndOwner;
280 LPCSTR lpszCaption;
281 LPFNOLEUIHOOK lpfnHook;
282 LPARAM lCustData;
283 HINSTANCE hInstance;
284 LPCSTR lpszTemplate;
285 HRSRC hResource;
286 HGLOBAL hMetaPict;
287 CLSID clsid;
288 CHAR szIconExe[MAX_PATH];
289 INT cchIconExe;
290 } OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;
292 typedef struct tagOLEUICHANGEICONW
294 DWORD cbStruct;
295 DWORD dwFlags;
296 HWND hWndOwner;
297 LPCWSTR lpszCaption;
298 LPFNOLEUIHOOK lpfnHook;
299 LPARAM lCustData;
300 HINSTANCE hInstance;
301 LPCWSTR lpszTemplate;
302 HRSRC hResource;
303 HGLOBAL hMetaPict;
304 CLSID clsid;
305 WCHAR szIconExe[MAX_PATH];
306 INT cchIconExe;
307 } OLEUICHANGEICONW, *POLEUICHANGEICONW, *LPOLEUICHANGEICONW;
309 DECL_WINELIB_TYPE_AW(OLEUICHANGEICON)
310 DECL_WINELIB_TYPE_AW(POLEUICHANGEICON)
311 DECL_WINELIB_TYPE_AW(LPOLEUICHANGEICON)
314 #define CIF_SHOWHELP __MSABI_LONG(0x00000001)
315 #define CIF_SELECTCURRENT __MSABI_LONG(0x00000002)
316 #define CIF_SELECTDEFAULT __MSABI_LONG(0x00000004)
317 #define CIF_SELECTFROMFILE __MSABI_LONG(0x00000008)
318 #define CIF_USEICONEXE __MSABI_LONG(0x00000010)
320 /*****************************************************************************
321 * PASTE SPECIAL DIALOG
324 typedef enum tagOLEUIPASTEFLAG
326 OLEUIPASTE_ENABLEICON = 2048,
327 OLEUIPASTE_PASTEONLY = 0,
328 OLEUIPASTE_PASTE = 512,
329 OLEUIPASTE_LINKANYTYPE = 1024,
330 OLEUIPASTE_LINKTYPE1 = 1,
331 OLEUIPASTE_LINKTYPE2 = 2,
332 OLEUIPASTE_LINKTYPE3 = 4,
333 OLEUIPASTE_LINKTYPE4 = 8,
334 OLEUIPASTE_LINKTYPE5 = 16,
335 OLEUIPASTE_LINKTYPE6 = 32,
336 OLEUIPASTE_LINKTYPE7 = 64,
337 OLEUIPASTE_LINKTYPE8 = 128
338 } OLEUIPASTEFLAG;
340 typedef struct tagOLEUIPASTEENTRYA
342 FORMATETC fmtetc;
343 LPCSTR lpstrFormatName;
344 LPCSTR lpstrResultText;
345 DWORD dwFlags;
346 DWORD dwScratchSpace;
347 } OLEUIPASTEENTRYA, *POLEUIPASTEENTRYA, *LPOLEUIPASTEENTRYA;
349 typedef struct tagOLEUIPASTEENTRYW
351 FORMATETC fmtetc;
352 LPCWSTR lpstrFormatName;
353 LPCWSTR lpstrResultText;
354 DWORD dwFlags;
355 DWORD dwScratchSpace;
356 } OLEUIPASTEENTRYW, *POLEUIPASTEENTRYW, *LPOLEUIPASTEENTRYW;
358 DECL_WINELIB_TYPE_AW(OLEUIPASTEENTRY)
359 DECL_WINELIB_TYPE_AW(POLEUIPASTEENTRY)
360 DECL_WINELIB_TYPE_AW(LPOLEUIPASTEENTRY)
362 typedef struct tagOLEUIPASTESPECIALA
364 DWORD cbStruct;
365 DWORD dwFlags;
366 HWND hWndOwner;
367 LPCSTR lpszCaption;
368 LPFNOLEUIHOOK lpfnHook;
369 LPARAM lCustData;
370 HINSTANCE hInstance;
371 LPCSTR lpszTemplate;
372 HRSRC hResource;
373 LPDATAOBJECT lpSrcDataObj;
374 LPOLEUIPASTEENTRYA arrPasteEntries;
375 INT cPasteEntries;
376 UINT* arrLinkTypes;
377 INT cLinkTypes;
378 UINT cClsidExclude;
379 LPCLSID lpClsidExclude;
380 INT nSelectedIndex;
381 BOOL fLink;
382 HGLOBAL hMetaPict;
383 SIZEL sizel;
384 } OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;
386 typedef struct tagOLEUIPASTESPECIALW
388 DWORD cbStruct;
389 DWORD dwFlags;
390 HWND hWndOwner;
391 LPCWSTR lpszCaption;
392 LPFNOLEUIHOOK lpfnHook;
393 LPARAM lCustData;
394 HINSTANCE hInstance;
395 LPCWSTR lpszTemplate;
396 HRSRC hResource;
397 LPDATAOBJECT lpSrcDataObj;
398 LPOLEUIPASTEENTRYW arrPasteEntries;
399 INT cPasteEntries;
400 UINT* arrLinkTypes;
401 INT cLinkTypes;
402 UINT cClsidExclude;
403 LPCLSID lpClsidExclude;
404 INT nSelectedIndex;
405 BOOL fLink;
406 HGLOBAL hMetaPict;
407 SIZEL sizel;
408 } OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
410 DECL_WINELIB_TYPE_AW(OLEUIPASTESPECIAL)
411 DECL_WINELIB_TYPE_AW(POLEUIPASTESPECIAL)
412 DECL_WINELIB_TYPE_AW(LPOLEUIPASTESPECIAL)
414 #define PS_MAXLINKTYPES 8
416 #define PSF_SHOWHELP __MSABI_LONG(0x00000001)
417 #define PSF_SELECTPASTE __MSABI_LONG(0x00000002)
418 #define PSF_SELECTPASTELINK __MSABI_LONG(0x00000004)
420 #define PSF_CHECKDISPLAYASICON __MSABI_LONG(0x00000008)
421 #define PSF_DISABLEDISPLAYASICON __MSABI_LONG(0x00000010)
422 #define PSF_HIDECHANGEICON __MSABI_LONG(0x00000020)
423 #define PSF_STAYONCLIPBOARDCHANGE __MSABI_LONG(0x00000040)
424 #define PSF_NOREFRESHDATAOBJECT __MSABI_LONG(0x00000080)
426 #define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
427 #define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
428 #define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
429 #define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
430 #define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
432 /* Paste Special dialog resource ids */
433 #define IDD_PASTESPECIAL 1003
434 #define IDD_PASTESPECIAL4 1108
436 /* Paste Special dialog control ids */
437 #define IDC_PS_PASTE 500
438 #define IDC_PS_PASTELINK 501
439 #define IDC_PS_SOURCETEXT 502
440 #define IDC_PS_PASTELIST 503
441 #define IDC_PS_PASTELINKLIST 504
442 #define IDC_PS_DISPLAYLIST 505
443 #define IDC_PS_DISPLAYASICON 506
444 #define IDC_PS_ICONDISPLAY 507
445 #define IDC_PS_CHANGEICON 508
446 #define IDC_PS_RESULTIMAGE 509
447 #define IDC_PS_RESULTTEXT 510
449 /*****************************************************************************
450 * EDIT LINKS DIALOG
453 #define ELF_SHOWHELP __MSABI_LONG(0x00000001)
454 #define ELF_DISABLEUPDATENOW __MSABI_LONG(0x00000002)
455 #define ELF_DISABLEOPENSOURCE __MSABI_LONG(0x00000004)
456 #define ELF_DISABLECHANGESOURCE __MSABI_LONG(0x00000008)
457 #define ELF_DISABLECANCELLINK __MSABI_LONG(0x00000010)
459 typedef struct tagOLEUIEDITLINKSW
461 DWORD cbStruct;
462 DWORD dwFlags;
463 HWND hWndOwner;
464 LPCWSTR lpszCaption;
465 LPFNOLEUIHOOK lpfnHook;
466 LPARAM lCustData;
467 HINSTANCE hInstance;
468 LPCWSTR lpszTemplate;
469 HRSRC hResource;
470 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
471 } OLEUIEDITLINKSW, *POLEUIEDITLINKSW, *LPOLEUIEDITLINKSW;
473 typedef struct tagOLEUIEDITLINKSA
475 DWORD cbStruct;
476 DWORD dwFlags;
477 HWND hWndOwner;
478 LPCSTR lpszCaption;
479 LPFNOLEUIHOOK lpfnHook;
480 LPARAM lCustData;
481 HINSTANCE hInstance;
482 LPCSTR lpszTemplate;
483 HRSRC hResource;
484 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
485 } OLEUIEDITLINKSA, *POLEUIEDITLINKSA, *LPOLEUIEDITLINKSA;
487 DECL_WINELIB_TYPE_AW(OLEUIEDITLINKS)
488 DECL_WINELIB_TYPE_AW(POLEUIEDITLINKS)
489 DECL_WINELIB_TYPE_AW(LPOLEUIEDITLINKS)
492 /***********************************************************************************
493 * BUSY DIALOG
495 typedef struct tagOLEUIBUSYA
497 DWORD cbStruct;
498 DWORD dwFlags;
499 HWND hWndOwner;
500 LPCSTR lpszCaption;
501 LPFNOLEUIHOOK lpfnHook;
502 LPARAM lCustData;
503 HINSTANCE hInstance;
504 LPCSTR lpszTemplate;
505 HRSRC hResource;
506 HTASK hTask;
507 HWND* lphWndDialog;
508 } OLEUIBUSYA, *POLEUIBUSYA, *LPOLEUIBUSYA;
510 typedef struct tagOLEUIBUSYW
512 DWORD cbStruct;
513 DWORD dwFlags;
514 HWND hWndOwner;
515 LPCWSTR lpszCaption;
516 LPFNOLEUIHOOK lpfnHook;
517 LPARAM lCustData;
518 HINSTANCE hInstance;
519 LPCWSTR lpszTemplate;
520 HRSRC hResource;
521 HTASK hTask;
522 HWND* lphWndDialog;
523 } OLEUIBUSYW, *POLEUIBUSYW, *LPOLEUIBUSYW;
525 DECL_WINELIB_TYPE_AW(OLEUIBUSY)
526 DECL_WINELIB_TYPE_AW(POLEUIBUSY)
527 DECL_WINELIB_TYPE_AW(LPOLEUIBUSY)
530 #define BZ_DISABLECANCELBUTTON __MSABI_LONG(0x00000001)
531 #define BZ_DISABLESWITCHTOBUTTON __MSABI_LONG(0x00000002)
532 #define BZ_DISABLERETRYBUTTON __MSABI_LONG(0x00000004)
533 #define BZ_NOTRESPONDINGDIALOG __MSABI_LONG(0x00000008)
535 /***********************************************************************************
536 * OBJECT PROPERTIES DIALOG
539 struct tagOLEUIOBJECTPROPSW;
540 struct tagOLEUIOBJECTPROPSA;
542 typedef struct tagOLEUIGNRLPROPSA
544 DWORD cbStruct;
545 DWORD dwFlags;
546 DWORD dwReserved1[2];
547 LPFNOLEUIHOOK lpfnHook;
548 LPARAM lCustData;
549 DWORD dwReserved2[3];
550 struct tagOLEUIOBJECTPROPSA* lpOP;
552 } OLEUIGNRLPROPSA, *POLEUIGNRLPROPSA, *LPOLEUIGNRLPROPSA;
554 typedef struct tagOLEUIGNRLPROPSW
556 DWORD cbStruct;
557 DWORD dwFlags;
558 DWORD dwReserved1[2];
559 LPFNOLEUIHOOK lpfnHook;
560 LPARAM lCustData;
561 DWORD dwReserved2[3];
562 struct tagOLEUIOBJECTPROPSW* lpOP;
563 } OLEUIGNRLPROPSW, *POLEUIGNRLPROPSW, *LPOLEUIGNRLPROPSW;
565 DECL_WINELIB_TYPE_AW(OLEUIGNRLPROPS)
566 DECL_WINELIB_TYPE_AW(POLEUIGNRLPROPS)
567 DECL_WINELIB_TYPE_AW(LPOLEUIGNRLPROPS)
569 typedef struct tagOLEUIVIEWPROPSA
571 DWORD cbStruct;
572 DWORD dwFlags;
573 DWORD dwReserved1[2];
574 LPFNOLEUIHOOK lpfnHook;
575 LPARAM lCustData;
576 DWORD dwReserved2[3];
577 struct tagOLEUIOBJECTPROPSA* lpOP;
578 INT nScaleMin;
579 INT nScaleMax;
580 } OLEUIVIEWPROPSA, *POLEUIVIEWPROPSA, *LPOLEUIVIEWPROPSA;
582 typedef struct tagOLEUIVIEWPROPSW
584 DWORD cbStruct;
585 DWORD dwFlags;
586 DWORD dwReserved1[2];
587 LPFNOLEUIHOOK lpfnHook;
588 LPARAM lCustData;
589 DWORD dwReserved2[3];
590 struct tagOLEUIOBJECTPROPSW* lpOP;
591 INT nScaleMin;
592 INT nScaleMax;
593 } OLEUIVIEWPROPSW, *POLEUIVIEWPROPSW, *LPOLEUIVIEWPROPSW;
595 DECL_WINELIB_TYPE_AW(OLEUIVIEWPROPS)
596 DECL_WINELIB_TYPE_AW(POLEUIVIEWPROPS)
597 DECL_WINELIB_TYPE_AW(LPOLEUIVIEWPROPS)
600 #define VPF_SELECTRELATIVE __MSABI_LONG(0x00000001)
601 #define VPF_DISABLERELATIVE __MSABI_LONG(0x00000002)
602 #define VPF_DISABLESCALE __MSABI_LONG(0x00000004)
604 typedef struct tagOLEUILINKPROPSA
606 DWORD cbStruct;
607 DWORD dwFlags;
608 DWORD dwReserved1[2];
609 LPFNOLEUIHOOK lpfnHook;
610 LPARAM lCustData;
611 DWORD dwReserved2[3];
612 struct tagOLEUIOBJECTPROPSA* lpOP;
613 } OLEUILINKPROPSA, *POLEUILINKPROPSA, *LPOLEUILINKPROPSA;
615 typedef struct tagOLEUILINKPROPSW
617 DWORD cbStruct;
618 DWORD dwFlags;
619 DWORD dwReserved1[2];
620 LPFNOLEUIHOOK lpfnHook;
621 LPARAM lCustData;
622 DWORD dwReserved2[3];
623 struct tagOLEUIOBJECTPROPSW* lpOP;
624 } OLEUILINKPROPSW, *POLEUILINKPROPSW, *LPOLEUILINKPROPSW;
626 DECL_WINELIB_TYPE_AW(OLEUILINKPROPS)
627 DECL_WINELIB_TYPE_AW(POLEUILINKPROPS)
628 DECL_WINELIB_TYPE_AW(LPOLEUILINKPROPS)
630 typedef struct tagOLEUIOBJECTPROPSA
632 DWORD cbStruct;
633 DWORD dwFlags;
634 LPPROPSHEETHEADERA lpPS;
635 DWORD dwObject;
636 LPOLEUIOBJINFOA lpObjInfo;
637 DWORD dwLink;
638 LPOLEUILINKINFOA lpLinkInfo;
639 LPOLEUIGNRLPROPSA lpGP;
640 LPOLEUIVIEWPROPSA lpVP;
641 LPOLEUILINKPROPSA lpLP;
642 } OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, *LPOLEUIOBJECTPROPSA;
644 typedef struct tagOLEUIOBJECTPROPSW
646 DWORD cbStruct;
647 DWORD dwFlags;
648 LPPROPSHEETHEADERW lpPS;
649 DWORD dwObject;
650 LPOLEUIOBJINFOW lpObjInfo;
651 DWORD dwLink;
652 LPOLEUILINKINFOW lpLinkInfo;
653 LPOLEUIGNRLPROPSW lpGP;
654 LPOLEUIVIEWPROPSW lpVP;
655 LPOLEUILINKPROPSW lpLP;
656 } OLEUIOBJECTPROPSW, *POLEUIOBJECTPROPSW, *LPOLEUIOBJECTPROPSW;
658 DECL_WINELIB_TYPE_AW(OLEUIOBJECTPROPS)
659 DECL_WINELIB_TYPE_AW(POLEUIOBJECTPROPS)
660 DECL_WINELIB_TYPE_AW(LPOLEUIOBJECTPROPS)
662 #define OPF_OBJECTISLINK __MSABI_LONG(0x00000001)
663 #define OPF_NOFILLDEFAULT __MSABI_LONG(0x00000002)
664 #define OPF_SHOWHELP __MSABI_LONG(0x00000004)
665 #define OPF_DISABLECONVERT __MSABI_LONG(0x00000008)
668 /************************************************************************************
669 * CHANGE SOURCE DIALOG
673 typedef struct tagOLEUICHANGESOURCEW
675 DWORD cbStruct;
676 DWORD dwFlags;
677 HWND hWndOwner;
678 LPCWSTR lpszCaption;
679 LPFNOLEUIHOOK lpfnHook;
680 LPARAM lCustData;
681 HINSTANCE hInstance;
682 LPCWSTR lpszTemplate;
683 HRSRC hResource;
684 OPENFILENAMEW*lpOFN;
685 DWORD dwReserved1[4];
686 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
687 DWORD dwLink;
688 LPWSTR lpszDisplayName;
689 ULONG nFileLength;
690 LPWSTR lpszFrom;
691 LPWSTR lpszTo;
692 } OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, *LPOLEUICHANGESOURCEW;
695 typedef struct tagOLEUICHANGESOURCEA
697 DWORD cbStruct;
698 DWORD dwFlags;
699 HWND hWndOwner;
700 LPCSTR lpszCaption;
701 LPFNOLEUIHOOK lpfnHook;
702 LPARAM lCustData;
703 HINSTANCE hInstance;
704 LPCSTR lpszTemplate;
705 HRSRC hResource;
706 OPENFILENAMEA* lpOFN;
707 DWORD dwReserved1[4];
708 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
709 DWORD dwLink;
710 LPSTR lpszDisplayName;
711 ULONG nFileLength;
712 LPSTR lpszFrom;
713 LPSTR lpszTo;
714 } OLEUICHANGESOURCEA, *POLEUICHANGESOURCEA, *LPOLEUICHANGESOURCEA;
717 DECL_WINELIB_TYPE_AW(OLEUICHANGESOURCE)
718 DECL_WINELIB_TYPE_AW(POLEUICHANGESOURCE)
719 DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
721 /* Change Source Dialog flags */
722 #define CSF_SHOWHELP __MSABI_LONG(0x00000001)
723 #define CSF_VALIDSOURCE __MSABI_LONG(0x00000002)
724 #define CSF_ONLYGETSOURCE __MSABI_LONG(0x00000004)
725 #define CSF_EXPLORER __MSABI_LONG(0x00000008)
728 /*****************************************************************************
729 * IOleUILinkContainer interface
731 #define INTERFACE IOleUILinkContainerA
732 DECLARE_INTERFACE_(IOleUILinkContainerA,IUnknown)
734 /*** IUnknown methods ***/
735 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
736 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
737 STDMETHOD_(ULONG,Release)(THIS) PURE;
738 /*** IOleUILinkContainerA methods ***/
739 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
740 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
741 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
742 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName,
743 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
744 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName,
745 LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType,
746 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
747 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
748 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
749 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
751 #undef INTERFACE
753 #define INTERFACE IOleUILinkContainerW
754 DECLARE_INTERFACE_(IOleUILinkContainerW,IUnknown)
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;
773 #undef INTERFACE
775 DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
776 DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
777 DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
779 #if !defined(__cplusplus) || defined(CINTERFACE)
780 /*** IUnknown methods ***/
781 #define IOleUILinkContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
782 #define IOleUILinkContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
783 #define IOleUILinkContainer_Release(p) (p)->lpVtbl->Release(p)
784 /*** IOleUILinkContainer methods ***/
785 #define IOleUILinkContainer_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
786 #define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
787 #define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
788 #define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
789 #define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
790 #define IOleUILinkContainer_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
791 #define IOleUILinkContainer_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
792 #define IOleUILinkContainer_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
793 #endif
796 /*****************************************************************************
797 * IOleUILinkInfo interface
799 #define INTERFACE IOleUILinkInfoA
800 DECLARE_INTERFACE_(IOleUILinkInfoA,IOleUILinkContainerA)
802 /*** IUnknown methods ***/
803 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
804 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
805 STDMETHOD_(ULONG,Release)(THIS) PURE;
806 /*** IOleUILinkContainerA methods ***/
807 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
808 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
809 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
810 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName,
811 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
812 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName,
813 LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType,
814 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
815 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
816 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
817 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
818 /*** IOleUILinkInfoA methods ***/
819 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
821 #undef INTERFACE
823 #define INTERFACE IOleUILinkInfoW
824 DECLARE_INTERFACE_(IOleUILinkInfoW,IOleUILinkContainerW)
826 /*** IUnknown methods ***/
827 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
828 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
829 STDMETHOD_(ULONG,Release)(THIS) PURE;
830 /*** IOleUILinkContainerW methods ***/
831 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
832 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
833 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
834 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName,
835 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
836 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName,
837 LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType,
838 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
839 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
840 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
841 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
842 /*** IOleUILinkInfoW methods ***/
843 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
845 #undef INTERFACE
847 DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
848 DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
849 DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
851 #if !defined(__cplusplus) || defined(CINTERFACE)
852 /*** IUnknown methods ***/
853 #define IOleUILinkInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
854 #define IOleUILinkInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
855 #define IOleUILinkInfo_Release(p) (p)->lpVtbl->Release(p)
856 /*** IOleUILinkContainer methods ***/
857 #define IOleUILinkInfo_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
858 #define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
859 #define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
860 #define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
861 #define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
862 #define IOleUILinkInfo_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
863 #define IOleUILinkInfo_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
864 #define IOleUILinkInfo_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
865 /*** IOleUILinkInfo methods ***/
866 #define IOleUILinkInfo_GetLastUpdate(p,a,b) (p)->lpVtbl->GetLastUpdate(p,a,b)
867 #endif
870 /*****************************************************************************
871 * IOleUIObjInfo interface
873 #define INTERFACE IOleUIObjInfoA
874 DECLARE_INTERFACE_(IOleUIObjInfoA,IUnknown)
876 /*** IUnknown methods ***/
877 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
878 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
879 STDMETHOD_(ULONG,Release)(THIS) PURE;
880 /*** IOleUIObjInfoA methods ***/
881 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPSTR *lplpszLabel,
882 LPSTR *lplpszType, LPSTR *lplpszShortType, LPSTR *lplpszLocation) PURE;
883 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat,
884 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE;
885 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE;
886 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
887 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect,
888 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
890 #undef INTERFACE
892 #define INTERFACE IOleUIObjInfoW
893 DECLARE_INTERFACE_(IOleUIObjInfoW,IUnknown)
895 /*** IUnknown methods ***/
896 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
897 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
898 STDMETHOD_(ULONG,Release)(THIS) PURE;
899 /*** IOleUIObjInfoW methods ***/
900 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPWSTR *lplpszLabel,
901 LPWSTR *lplpszType, LPWSTR *lplpszShortType, LPWSTR *lplpszLocation) PURE;
902 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat,
903 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE;
904 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE;
905 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
906 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect,
907 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
909 #undef INTERFACE
911 DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
912 DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
913 DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO)
915 #if !defined(__cplusplus) || defined(CINTERFACE)
916 /*** IUnknown methods ***/
917 #define IOleUIObjInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
918 #define IOleUIObjInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
919 #define IOleUIObjInfo_Release(p) (p)->lpVtbl->Release(p)
920 /*** IOleUIObjInfo methods ***/
921 #define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetObjectInfo(p,a,b,c,d,e,f)
922 #define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetConvertInfo(p,a,b,c,d,e,f)
923 #define IOleUIObjInfo_ConvertObject(p,a,b) (p)->lpVtbl->ConvertObject(p,a,b)
924 #define IOleUIObjInfo_GetViewInfo(p,a,b,c,d) (p)->lpVtbl->GetViewInfo(p,a,b,c,d)
925 #define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e) (p)->lpVtbl->SetViewInfo(p,a,b,c,d,e)
926 #endif
928 UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
929 UINT WINAPI OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
930 #define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
931 UINT WINAPI OleUIConvertA(LPOLEUICONVERTA);
932 UINT WINAPI OleUIConvertW(LPOLEUICONVERTW);
933 #define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
934 UINT WINAPI OleUIChangeIconA(LPOLEUICHANGEICONA);
935 UINT WINAPI OleUIChangeIconW(LPOLEUICHANGEICONW);
936 #define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
937 UINT WINAPI OleUIBusyA(LPOLEUIBUSYA);
938 UINT WINAPI OleUIBusyW(LPOLEUIBUSYW);
939 #define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
940 UINT WINAPI OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
941 UINT WINAPI OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
942 #define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
943 UINT WINAPI OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
944 UINT WINAPI OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
945 #define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
946 UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks);
947 UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks);
948 #define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
949 BOOL WINAPI OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr, HWND hwndParent, LPSTR lpszTitle, INT cLinks);
950 BOOL WINAPI OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr, HWND hwndParent, LPWSTR lpszTitle, INT cLinks);
951 #define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
952 BOOL WINAPI OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
953 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
954 BOOL WINAPI OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
955 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
956 #define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
957 UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial);
958 UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
959 #define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
960 INT WINAPIV OleUIPromptUserA(INT,HWND, ...);
961 INT WINAPIV OleUIPromptUserW(INT,HWND, ...);
962 #define OleUIPromptUser WINELIB_NAME_AW(OleUIPromptUser)
964 #ifdef __cplusplus
965 } /* Extern "C" */
966 #endif
969 #endif /* __WINE_OLEDLG_H */