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