comparison fuhtark_test/include/winapi/oledlg.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef _OLEDLG_H_
7 #define _OLEDLG_H_
8
9 #ifndef RC_INVOKED
10 #ifndef __cplusplus
11 /* #define NONAMELESSUNION */
12 #endif
13
14 #if defined(_UNICODE) && !defined(UNICODE)
15 #define UNICODE
16 #endif
17 #if defined(UNICODE) && !defined(_UNICODE)
18 #define _UNICODE
19 #endif
20
21 #include <windows.h>
22 #include <shellapi.h>
23 #include <commdlg.h>
24 #include <ole2.h>
25 #include <string.h>
26 #include <tchar.h>
27 #endif /* End RC_INVOKED */
28
29 #include <dlgs.h>
30
31 #define IDC_OLEUIHELP 99
32
33 #define IDC_IO_CREATENEW 2100
34 #define IDC_IO_CREATEFROMFILE 2101
35 #define IDC_IO_LINKFILE 2102
36 #define IDC_IO_OBJECTTYPELIST 2103
37 #define IDC_IO_DISPLAYASICON 2104
38 #define IDC_IO_CHANGEICON 2105
39 #define IDC_IO_FILE 2106
40 #define IDC_IO_FILEDISPLAY 2107
41 #define IDC_IO_RESULTIMAGE 2108
42 #define IDC_IO_RESULTTEXT 2109
43 #define IDC_IO_ICONDISPLAY 2110
44 #define IDC_IO_OBJECTTYPETEXT 2111
45 #define IDC_IO_FILETEXT 2112
46 #define IDC_IO_FILETYPE 2113
47 #define IDC_IO_INSERTCONTROL 2114
48 #define IDC_IO_ADDCONTROL 2115
49 #define IDC_IO_CONTROLTYPELIST 2116
50
51 #define IDC_PS_PASTE 500
52 #define IDC_PS_PASTELINK 501
53 #define IDC_PS_SOURCETEXT 502
54 #define IDC_PS_PASTELIST 503
55 #define IDC_PS_PASTELINKLIST 504
56 #define IDC_PS_DISPLAYLIST 505
57 #define IDC_PS_DISPLAYASICON 506
58 #define IDC_PS_ICONDISPLAY 507
59 #define IDC_PS_CHANGEICON 508
60 #define IDC_PS_RESULTIMAGE 509
61 #define IDC_PS_RESULTTEXT 510
62
63 #define IDC_CI_GROUP 120
64 #define IDC_CI_CURRENT 121
65 #define IDC_CI_CURRENTICON 122
66 #define IDC_CI_DEFAULT 123
67 #define IDC_CI_DEFAULTICON 124
68 #define IDC_CI_FROMFILE 125
69 #define IDC_CI_FROMFILEEDIT 126
70 #define IDC_CI_ICONLIST 127
71 #define IDC_CI_LABEL 128
72 #define IDC_CI_LABELEDIT 129
73 #define IDC_CI_BROWSE 130
74 #define IDC_CI_ICONDISPLAY 131
75
76 #define IDC_CV_OBJECTTYPE 150
77 #define IDC_CV_DISPLAYASICON 152
78 #define IDC_CV_CHANGEICON 153
79 #define IDC_CV_ACTIVATELIST 154
80 #define IDC_CV_CONVERTTO 155
81 #define IDC_CV_ACTIVATEAS 156
82 #define IDC_CV_RESULTTEXT 157
83 #define IDC_CV_CONVERTLIST 158
84 #define IDC_CV_ICONDISPLAY 165
85
86 #define IDC_EL_CHANGESOURCE 201
87 #define IDC_EL_AUTOMATIC 202
88 #define IDC_EL_CANCELLINK 209
89 #define IDC_EL_UPDATENOW 210
90 #define IDC_EL_OPENSOURCE 211
91 #define IDC_EL_MANUAL 212
92 #define IDC_EL_LINKSOURCE 216
93 #define IDC_EL_LINKTYPE 217
94 #define IDC_EL_LINKSLISTBOX 206
95 #define IDC_EL_COL1 220
96 #define IDC_EL_COL2 221
97 #define IDC_EL_COL3 222
98
99 #define IDC_BZ_RETRY 600
100 #define IDC_BZ_ICON 601
101 #define IDC_BZ_MESSAGE1 602
102 #define IDC_BZ_SWITCHTO 604
103
104 #define IDC_UL_METER 1029
105 #define IDC_UL_STOP 1030
106 #define IDC_UL_PERCENT 1031
107 #define IDC_UL_PROGRESS 1032
108
109 #define IDC_PU_LINKS 900
110 #define IDC_PU_TEXT 901
111 #define IDC_PU_CONVERT 902
112 #define IDC_PU_ICON 908
113
114 #define IDC_GP_OBJECTNAME 1009
115 #define IDC_GP_OBJECTTYPE 1010
116 #define IDC_GP_OBJECTSIZE 1011
117 #define IDC_GP_CONVERT 1013
118 #define IDC_GP_OBJECTICON 1014
119 #define IDC_GP_OBJECTLOCATION 1022
120
121 #define IDC_VP_PERCENT 1000
122 #define IDC_VP_CHANGEICON 1001
123 #define IDC_VP_EDITABLE 1002
124 #define IDC_VP_ASICON 1003
125 #define IDC_VP_RELATIVE 1005
126 #define IDC_VP_SPIN 1006
127 #define IDC_VP_SCALETXT 1034
128 #define IDC_VP_ICONDISPLAY 1021
129 #define IDC_VP_RESULTIMAGE 1033
130
131 #define IDC_LP_OPENSOURCE 1006
132 #define IDC_LP_UPDATENOW 1007
133 #define IDC_LP_BREAKLINK 1008
134 #define IDC_LP_LINKSOURCE 1012
135 #define IDC_LP_CHANGESOURCE 1015
136 #define IDC_LP_AUTOMATIC 1016
137 #define IDC_LP_MANUAL 1017
138 #define IDC_LP_DATE 1018
139 #define IDC_LP_TIME 1019
140
141 #define IDD_INSERTOBJECT 1000
142 #define IDD_CHANGEICON 1001
143 #define IDD_CONVERT 1002
144 #define IDD_PASTESPECIAL 1003
145 #define IDD_EDITLINKS 1004
146 #define IDD_BUSY 1006
147 #define IDD_UPDATELINKS 1007
148 #define IDD_CHANGESOURCE 1009
149 #define IDD_INSERTFILEBROWSE 1010
150 #define IDD_CHANGEICONBROWSE 1011
151 #define IDD_CONVERTONLY 1012
152 #define IDD_CHANGESOURCE4 1013
153 #define IDD_GNRLPROPS 1100
154 #define IDD_VIEWPROPS 1101
155 #define IDD_LINKPROPS 1102
156 #define IDD_CONVERT4 1103
157 #define IDD_CONVERTONLY4 1104
158 #define IDD_EDITLINKS4 1105
159 #define IDD_GNRLPROPS4 1106
160 #define IDD_LINKPROPS4 1107
161 #define IDD_PASTESPECIAL4 1108
162
163 #define IDD_CANNOTUPDATELINK 1008
164 #define IDD_LINKSOURCEUNAVAILABLE 1020
165 #define IDD_SERVERNOTFOUND 1023
166 #define IDD_OUTOFMEMORY 1024
167 #define IDD_SERVERNOTREGW 1021
168 #define IDD_LINKTYPECHANGEDW 1022
169 #define IDD_SERVERNOTREGA 1025
170 #define IDD_LINKTYPECHANGEDA 1026
171 #ifdef UNICODE
172 #define IDD_SERVERNOTREG IDD_SERVERNOTREGW
173 #define IDD_LINKTYPECHANGED IDD_LINKTYPECHANGEDW
174 #else
175 #define IDD_SERVERNOTREG IDD_SERVERNOTREGA
176 #define IDD_LINKTYPECHANGED IDD_LINKTYPECHANGEDA
177 #endif
178
179 #ifndef RC_INVOKED
180
181 #ifdef __cplusplus
182 extern "C" {
183 #endif
184
185 #pragma pack(push,8)
186
187 #define OLESTDDELIM TEXT("\\")
188
189 typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND,UINT,WPARAM,LPARAM);
190
191 #define SZOLEUI_MSG_HELP TEXT("OLEUI_MSG_HELP")
192 #define SZOLEUI_MSG_ENDDIALOG TEXT("OLEUI_MSG_ENDDIALOG")
193 #define SZOLEUI_MSG_BROWSE TEXT("OLEUI_MSG_BROWSE")
194 #define SZOLEUI_MSG_CHANGEICON TEXT("OLEUI_MSG_CHANGEICON")
195 #define SZOLEUI_MSG_CLOSEBUSYDIALOG TEXT("OLEUI_MSG_CLOSEBUSYDIALOG")
196 #define SZOLEUI_MSG_CONVERT TEXT("OLEUI_MSG_CONVERT")
197 #define SZOLEUI_MSG_CHANGESOURCE TEXT("OLEUI_MSG_CHANGESOURCE")
198 #define SZOLEUI_MSG_ADDCONTROL TEXT("OLEUI_MSG_ADDCONTROL")
199 #define SZOLEUI_MSG_BROWSE_OFN TEXT("OLEUI_MSG_BROWSE_OFN")
200
201 #define ID_BROWSE_CHANGEICON 1
202 #define ID_BROWSE_INSERTFILE 2
203 #define ID_BROWSE_ADDCONTROL 3
204 #define ID_BROWSE_CHANGESOURCE 4
205
206 #define OLEUI_FALSE 0
207 #define OLEUI_SUCCESS 1
208 #define OLEUI_OK 1
209 #define OLEUI_CANCEL 2
210
211 #define OLEUI_ERR_STANDARDMIN 100
212 #define OLEUI_ERR_OLEMEMALLOC 100
213 #define OLEUI_ERR_STRUCTURENULL 101
214 #define OLEUI_ERR_STRUCTUREINVALID 102
215 #define OLEUI_ERR_CBSTRUCTINCORRECT 103
216 #define OLEUI_ERR_HWNDOWNERINVALID 104
217 #define OLEUI_ERR_LPSZCAPTIONINVALID 105
218 #define OLEUI_ERR_LPFNHOOKINVALID 106
219 #define OLEUI_ERR_HINSTANCEINVALID 107
220 #define OLEUI_ERR_LPSZTEMPLATEINVALID 108
221 #define OLEUI_ERR_HRESOURCEINVALID 109
222
223 #define OLEUI_ERR_FINDTEMPLATEFAILURE 110
224 #define OLEUI_ERR_LOADTEMPLATEFAILURE 111
225 #define OLEUI_ERR_DIALOGFAILURE 112
226 #define OLEUI_ERR_LOCALMEMALLOC 113
227 #define OLEUI_ERR_GLOBALMEMALLOC 114
228 #define OLEUI_ERR_LOADSTRING 115
229
230 #define OLEUI_ERR_STANDARDMAX 116
231
232 STDAPI_(WINBOOL) OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj,LPCWSTR lpszShortType,HMENU hMenu,UINT uPos,UINT uIDVerbMin,UINT uIDVerbMax,WINBOOL bAddConvert,UINT idConvert,HMENU *lphMenu);
233 STDAPI_(WINBOOL) OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj,LPCSTR lpszShortType,HMENU hMenu,UINT uPos,UINT uIDVerbMin,UINT uIDVerbMax,WINBOOL bAddConvert,UINT idConvert,HMENU *lphMenu);
234 #ifdef UNICODE
235 #define OleUIAddVerbMenu OleUIAddVerbMenuW
236 #else
237 #define OleUIAddVerbMenu OleUIAddVerbMenuA
238 #endif
239
240 typedef struct tagOLEUIINSERTOBJECTW {
241 DWORD cbStruct;
242 DWORD dwFlags;
243 HWND hWndOwner;
244 LPCWSTR lpszCaption;
245 LPFNOLEUIHOOK lpfnHook;
246 LPARAM lCustData;
247 HINSTANCE hInstance;
248 LPCWSTR lpszTemplate;
249 HRSRC hResource;
250 CLSID clsid;
251 LPWSTR lpszFile;
252 UINT cchFile;
253 UINT cClsidExclude;
254 LPCLSID lpClsidExclude;
255 IID iid;
256 DWORD oleRender;
257 LPFORMATETC lpFormatEtc;
258 LPOLECLIENTSITE lpIOleClientSite;
259 LPSTORAGE lpIStorage;
260 LPVOID *ppvObj;
261 SCODE sc;
262 HGLOBAL hMetaPict;
263 } OLEUIINSERTOBJECTW,*POLEUIINSERTOBJECTW,*LPOLEUIINSERTOBJECTW;
264
265 typedef struct tagOLEUIINSERTOBJECTA {
266 DWORD cbStruct;
267 DWORD dwFlags;
268 HWND hWndOwner;
269 LPCSTR lpszCaption;
270 LPFNOLEUIHOOK lpfnHook;
271 LPARAM lCustData;
272 HINSTANCE hInstance;
273 LPCSTR lpszTemplate;
274 HRSRC hResource;
275 CLSID clsid;
276 LPSTR lpszFile;
277 UINT cchFile;
278 UINT cClsidExclude;
279 LPCLSID lpClsidExclude;
280 IID iid;
281 DWORD oleRender;
282 LPFORMATETC lpFormatEtc;
283 LPOLECLIENTSITE lpIOleClientSite;
284 LPSTORAGE lpIStorage;
285 LPVOID *ppvObj;
286 SCODE sc;
287 HGLOBAL hMetaPict;
288 } OLEUIINSERTOBJECTA,*POLEUIINSERTOBJECTA,*LPOLEUIINSERTOBJECTA;
289
290 STDAPI_(UINT) OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
291 STDAPI_(UINT) OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
292
293 #ifdef UNICODE
294 #define tagOLEUIINSERTOBJECT tagOLEUIINSERTOBJECTW
295 #define OLEUIINSERTOBJECT OLEUIINSERTOBJECTW
296 #define POLEUIINSERTOBJECT POLEUIINSERTOBJECTW
297 #define LPOLEUIINSERTOBJECT LPOLEUIINSERTOBJECTW
298 #define OleUIInsertObject OleUIInsertObjectW
299 #else
300 #define tagOLEUIINSERTOBJECT tagOLEUIINSERTOBJECTA
301 #define OLEUIINSERTOBJECT OLEUIINSERTOBJECTA
302 #define POLEUIINSERTOBJECT POLEUIINSERTOBJECTA
303 #define LPOLEUIINSERTOBJECT LPOLEUIINSERTOBJECTA
304 #define OleUIInsertObject OleUIInsertObjectA
305 #endif
306
307 #define IOF_SHOWHELP 0x00000001L
308 #define IOF_SELECTCREATENEW 0x00000002L
309 #define IOF_SELECTCREATEFROMFILE 0x00000004L
310 #define IOF_CHECKLINK 0x00000008L
311 #define IOF_CHECKDISPLAYASICON 0x00000010L
312 #define IOF_CREATENEWOBJECT 0x00000020L
313 #define IOF_CREATEFILEOBJECT 0x00000040L
314 #define IOF_CREATELINKOBJECT 0x00000080L
315 #define IOF_DISABLELINK 0x00000100L
316 #define IOF_VERIFYSERVERSEXIST 0x00000200L
317 #define IOF_DISABLEDISPLAYASICON 0x00000400L
318 #define IOF_HIDECHANGEICON 0x00000800L
319 #define IOF_SHOWINSERTCONTROL 0x00001000L
320 #define IOF_SELECTCREATECONTROL 0x00002000L
321
322 #define OLEUI_IOERR_LPSZFILEINVALID (OLEUI_ERR_STANDARDMAX+0)
323 #define OLEUI_IOERR_LPSZLABELINVALID (OLEUI_ERR_STANDARDMAX+1)
324 #define OLEUI_IOERR_HICONINVALID (OLEUI_ERR_STANDARDMAX+2)
325 #define OLEUI_IOERR_LPFORMATETCINVALID (OLEUI_ERR_STANDARDMAX+3)
326 #define OLEUI_IOERR_PPVOBJINVALID (OLEUI_ERR_STANDARDMAX+4)
327 #define OLEUI_IOERR_LPIOLECLIENTSITEINVALID (OLEUI_ERR_STANDARDMAX+5)
328 #define OLEUI_IOERR_LPISTORAGEINVALID (OLEUI_ERR_STANDARDMAX+6)
329 #define OLEUI_IOERR_SCODEHASERROR (OLEUI_ERR_STANDARDMAX+7)
330 #define OLEUI_IOERR_LPCLSIDEXCLUDEINVALID (OLEUI_ERR_STANDARDMAX+8)
331 #define OLEUI_IOERR_CCHFILEINVALID (OLEUI_ERR_STANDARDMAX+9)
332
333 typedef enum tagOLEUIPASTEFLAG {
334 OLEUIPASTE_ENABLEICON = 2048,OLEUIPASTE_PASTEONLY = 0,OLEUIPASTE_PASTE = 512,OLEUIPASTE_LINKANYTYPE = 1024,OLEUIPASTE_LINKTYPE1 = 1,
335 OLEUIPASTE_LINKTYPE2 = 2,OLEUIPASTE_LINKTYPE3 = 4,OLEUIPASTE_LINKTYPE4 = 8,OLEUIPASTE_LINKTYPE5 = 16,OLEUIPASTE_LINKTYPE6 = 32,
336 OLEUIPASTE_LINKTYPE7 = 64,OLEUIPASTE_LINKTYPE8 = 128
337 } OLEUIPASTEFLAG;
338
339 typedef struct tagOLEUIPASTEENTRYW {
340 FORMATETC fmtetc;
341 LPCWSTR lpstrFormatName;
342 LPCWSTR lpstrResultText;
343 DWORD dwFlags;
344 DWORD dwScratchSpace;
345 } OLEUIPASTEENTRYW,*POLEUIPASTEENTRYW,*LPOLEUIPASTEENTRYW;
346
347 typedef struct tagOLEUIPASTEENTRYA {
348 FORMATETC fmtetc;
349 LPCSTR lpstrFormatName;
350 LPCSTR lpstrResultText;
351 DWORD dwFlags;
352 DWORD dwScratchSpace;
353 } OLEUIPASTEENTRYA,*POLEUIPASTEENTRYA,*LPOLEUIPASTEENTRYA;
354
355 #ifdef UNICODE
356 #define tagOLEUIPASTEENTRY tagOLEUIPASTEENTRYW
357 #define OLEUIPASTEENTRY OLEUIPASTEENTRYW
358 #define POLEUIPASTEENTRY POLEUIPASTEENTRYW
359 #define LPOLEUIPASTEENTRY LPOLEUIPASTEENTRYW
360 #else
361 #define tagOLEUIPASTEENTRY tagOLEUIPASTEENTRYA
362 #define OLEUIPASTEENTRY OLEUIPASTEENTRYA
363 #define POLEUIPASTEENTRY POLEUIPASTEENTRYA
364 #define LPOLEUIPASTEENTRY LPOLEUIPASTEENTRYA
365 #endif
366
367 #define PS_MAXLINKTYPES 8
368
369 typedef struct tagOLEUIPASTESPECIALW {
370 DWORD cbStruct;
371 DWORD dwFlags;
372 HWND hWndOwner;
373 LPCWSTR lpszCaption;
374 LPFNOLEUIHOOK lpfnHook;
375 LPARAM lCustData;
376 HINSTANCE hInstance;
377 LPCWSTR lpszTemplate;
378 HRSRC hResource;
379 LPDATAOBJECT lpSrcDataObj;
380 LPOLEUIPASTEENTRYW arrPasteEntries;
381 int cPasteEntries;
382 UINT *arrLinkTypes;
383 int cLinkTypes;
384 UINT cClsidExclude;
385 LPCLSID lpClsidExclude;
386 int nSelectedIndex;
387 WINBOOL fLink;
388 HGLOBAL hMetaPict;
389 SIZEL sizel;
390 } OLEUIPASTESPECIALW,*POLEUIPASTESPECIALW,*LPOLEUIPASTESPECIALW;
391
392 typedef struct tagOLEUIPASTESPECIALA {
393 DWORD cbStruct;
394 DWORD dwFlags;
395 HWND hWndOwner;
396 LPCSTR lpszCaption;
397 LPFNOLEUIHOOK lpfnHook;
398 LPARAM lCustData;
399 HINSTANCE hInstance;
400 LPCSTR lpszTemplate;
401 HRSRC hResource;
402 LPDATAOBJECT lpSrcDataObj;
403 LPOLEUIPASTEENTRYA arrPasteEntries;
404 int cPasteEntries;
405 UINT *arrLinkTypes;
406 int cLinkTypes;
407 UINT cClsidExclude;
408 LPCLSID lpClsidExclude;
409 int nSelectedIndex;
410 WINBOOL fLink;
411 HGLOBAL hMetaPict;
412 SIZEL sizel;
413 } OLEUIPASTESPECIALA,*POLEUIPASTESPECIALA,*LPOLEUIPASTESPECIALA;
414
415 #ifdef UNICODE
416 #define tagOLEUIPASTESPECIAL tagOLEUIPASTESPECIALW
417 #define OLEUIPASTESPECIAL OLEUIPASTESPECIALW
418 #define POLEUIPASTESPECIAL POLEUIPASTESPECIALW
419 #define LPOLEUIPASTESPECIAL LPOLEUIPASTESPECIALW
420 #else
421 #define tagOLEUIPASTESPECIAL tagOLEUIPASTESPECIALA
422 #define OLEUIPASTESPECIAL OLEUIPASTESPECIALA
423 #define POLEUIPASTESPECIAL POLEUIPASTESPECIALA
424 #define LPOLEUIPASTESPECIAL LPOLEUIPASTESPECIALA
425 #endif
426
427 STDAPI_(UINT) OleUIPasteSpecialW(LPOLEUIPASTESPECIALW);
428 STDAPI_(UINT) OleUIPasteSpecialA(LPOLEUIPASTESPECIALA);
429 #ifdef UNICODE
430 #define OleUIPasteSpecial OleUIPasteSpecialW
431 #else
432 #define OleUIPasteSpecial OleUIPasteSpecialA
433 #endif
434
435 #define PSF_SHOWHELP 0x00000001L
436 #define PSF_SELECTPASTE 0x00000002L
437 #define PSF_SELECTPASTELINK 0x00000004L
438
439 #define PSF_CHECKDISPLAYASICON 0x00000008L
440 #define PSF_DISABLEDISPLAYASICON 0x00000010L
441 #define PSF_HIDECHANGEICON 0x00000020L
442 #define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
443 #define PSF_NOREFRESHDATAOBJECT 0x00000080L
444
445 #define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
446 #define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
447 #define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
448 #define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
449 #define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
450
451 #undef INTERFACE
452 #define INTERFACE IOleUILinkContainerW
453
454 DECLARE_INTERFACE_(IOleUILinkContainerW,IUnknown) {
455 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
456 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
457 STDMETHOD_(ULONG,Release)(THIS) PURE;
458 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
459 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD dwUpdateOpt) PURE;
460 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD *lpdwUpdateOpt) PURE;
461 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink,LPWSTR lpszDisplayName,ULONG lenFileName,ULONG *pchEaten,WINBOOL fValidateSource) PURE;
462 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink,LPWSTR *lplpszDisplayName,ULONG *lplenFileName,LPWSTR *lplpszFullLinkType,LPWSTR *lplpszShortLinkType,WINBOOL *lpfSourceAvailable,WINBOOL *lpfIsSelected) PURE;
463 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
464 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink,WINBOOL fErrorMessage,WINBOOL fReserved) PURE;
465 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
466 };
467
468 typedef IOleUILinkContainerW *LPOLEUILINKCONTAINERW;
469
470 #undef INTERFACE
471 #define INTERFACE IOleUILinkContainerA
472
473 DECLARE_INTERFACE_(IOleUILinkContainerA,IUnknown) {
474 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
475 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
476 STDMETHOD_(ULONG,Release)(THIS) PURE;
477 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
478 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD dwUpdateOpt) PURE;
479 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD *lpdwUpdateOpt) PURE;
480 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink,LPSTR lpszDisplayName,ULONG lenFileName,ULONG *pchEaten,WINBOOL fValidateSource) PURE;
481 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink,LPSTR *lplpszDisplayName,ULONG *lplenFileName,LPSTR *lplpszFullLinkType,LPSTR *lplpszShortLinkType,WINBOOL *lpfSourceAvailable,WINBOOL *lpfIsSelected) PURE;
482 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
483 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink,WINBOOL fErrorMessage,WINBOOL fReserved) PURE;
484 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
485 };
486
487 typedef IOleUILinkContainerA *LPOLEUILINKCONTAINERA;
488
489 #ifdef UNICODE
490 #define IOleUILinkContainer IOleUILinkContainerW
491 #define IOleUILinkContainerVtbl IOleUILinkContainerWVtbl
492 #define LPOLEUILINKCONTAINER LPOLEUILINKCONTAINERW
493 #else
494 #define IOleUILinkContainer IOleUILinkContainerA
495 #define IOleUILinkContainerVtbl IOleUILinkContainerAVtbl
496 #define LPOLEUILINKCONTAINER LPOLEUILINKCONTAINERA
497 #endif
498
499 typedef struct tagOLEUIEDITLINKSW {
500 DWORD cbStruct;
501 DWORD dwFlags;
502 HWND hWndOwner;
503 LPCWSTR lpszCaption;
504 LPFNOLEUIHOOK lpfnHook;
505 LPARAM lCustData;
506 HINSTANCE hInstance;
507 LPCWSTR lpszTemplate;
508 HRSRC hResource;
509 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
510 } OLEUIEDITLINKSW,*POLEUIEDITLINKSW,*LPOLEUIEDITLINKSW;
511
512 typedef struct tagOLEUIEDITLINKSA {
513 DWORD cbStruct;
514 DWORD dwFlags;
515 HWND hWndOwner;
516 LPCSTR lpszCaption;
517 LPFNOLEUIHOOK lpfnHook;
518 LPARAM lCustData;
519 HINSTANCE hInstance;
520 LPCSTR lpszTemplate;
521 HRSRC hResource;
522 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
523 } OLEUIEDITLINKSA,*POLEUIEDITLINKSA,*LPOLEUIEDITLINKSA;
524
525 #ifdef UNICODE
526 #define tagOLEUIEDITLINKS tagOLEUIEDITLINKSW
527 #define OLEUIEDITLINKS OLEUIEDITLINKSW
528 #define POLEUIEDITLINKS POLEUIEDITLINKSW
529 #define LPOLEUIEDITLINKS LPOLEUIEDITLINKSW
530 #else
531 #define tagOLEUIEDITLINKS tagOLEUIEDITLINKSA
532 #define OLEUIEDITLINKS OLEUIEDITLINKSA
533 #define POLEUIEDITLINKS POLEUIEDITLINKSA
534 #define LPOLEUIEDITLINKS LPOLEUIEDITLINKSA
535 #endif
536
537 #define OLEUI_ELERR_LINKCNTRNULL (OLEUI_ERR_STANDARDMAX+0)
538 #define OLEUI_ELERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+1)
539
540 STDAPI_(UINT) OleUIEditLinksW(LPOLEUIEDITLINKSW);
541 STDAPI_(UINT) OleUIEditLinksA(LPOLEUIEDITLINKSA);
542
543 #ifdef UNICODE
544 #define OleUIEditLinks OleUIEditLinksW
545 #else
546 #define OleUIEditLinks OleUIEditLinksA
547 #endif
548
549 #define ELF_SHOWHELP 0x00000001L
550 #define ELF_DISABLEUPDATENOW 0x00000002L
551 #define ELF_DISABLEOPENSOURCE 0x00000004L
552 #define ELF_DISABLECHANGESOURCE 0x00000008L
553 #define ELF_DISABLECANCELLINK 0x00000010L
554
555 typedef struct tagOLEUICHANGEICONW {
556 DWORD cbStruct;
557 DWORD dwFlags;
558 HWND hWndOwner;
559 LPCWSTR lpszCaption;
560 LPFNOLEUIHOOK lpfnHook;
561 LPARAM lCustData;
562 HINSTANCE hInstance;
563 LPCWSTR lpszTemplate;
564 HRSRC hResource;
565 HGLOBAL hMetaPict;
566 CLSID clsid;
567 WCHAR szIconExe[MAX_PATH];
568 int cchIconExe;
569 } OLEUICHANGEICONW,*POLEUICHANGEICONW,*LPOLEUICHANGEICONW;
570
571 typedef struct tagOLEUICHANGEICONA {
572 DWORD cbStruct;
573 DWORD dwFlags;
574 HWND hWndOwner;
575 LPCSTR lpszCaption;
576 LPFNOLEUIHOOK lpfnHook;
577 LPARAM lCustData;
578 HINSTANCE hInstance;
579 LPCSTR lpszTemplate;
580 HRSRC hResource;
581 HGLOBAL hMetaPict;
582 CLSID clsid;
583 CHAR szIconExe[MAX_PATH];
584 int cchIconExe;
585 } OLEUICHANGEICONA,*POLEUICHANGEICONA,*LPOLEUICHANGEICONA;
586
587 STDAPI_(UINT) OleUIChangeIconW(LPOLEUICHANGEICONW);
588 STDAPI_(UINT) OleUIChangeIconA(LPOLEUICHANGEICONA);
589
590 #ifdef UNICODE
591 #define tagOLEUICHANGEICON tagOLEUICHANGEICONW
592 #define OLEUICHANGEICON OLEUICHANGEICONW
593 #define POLEUICHANGEICON POLEUICHANGEICONW
594 #define LPOLEUICHANGEICON LPOLEUICHANGEICONW
595 #define OleUIChangeIcon OleUIChangeIconW
596 #else
597 #define tagOLEUICHANGEICON tagOLEUICHANGEICONA
598 #define OLEUICHANGEICON OLEUICHANGEICONA
599 #define POLEUICHANGEICON POLEUICHANGEICONA
600 #define LPOLEUICHANGEICON LPOLEUICHANGEICONA
601 #define OleUIChangeIcon OleUIChangeIconA
602 #endif
603
604 #define CIF_SHOWHELP 0x00000001L
605 #define CIF_SELECTCURRENT 0x00000002L
606 #define CIF_SELECTDEFAULT 0x00000004L
607 #define CIF_SELECTFROMFILE 0x00000008L
608 #define CIF_USEICONEXE 0x00000010L
609
610 #define OLEUI_CIERR_MUSTHAVECLSID (OLEUI_ERR_STANDARDMAX+0)
611 #define OLEUI_CIERR_MUSTHAVECURRENTMETAFILE (OLEUI_ERR_STANDARDMAX+1)
612 #define OLEUI_CIERR_SZICONEXEINVALID (OLEUI_ERR_STANDARDMAX+2)
613
614 #define PROP_HWND_CHGICONDLG TEXT("HWND_CIDLG")
615
616 typedef struct tagOLEUICONVERTW {
617 DWORD cbStruct;
618 DWORD dwFlags;
619 HWND hWndOwner;
620 LPCWSTR lpszCaption;
621 LPFNOLEUIHOOK lpfnHook;
622 LPARAM lCustData;
623 HINSTANCE hInstance;
624 LPCWSTR lpszTemplate;
625 HRSRC hResource;
626 CLSID clsid;
627 CLSID clsidConvertDefault;
628 CLSID clsidActivateDefault;
629 CLSID clsidNew;
630 DWORD dvAspect;
631 WORD wFormat;
632 WINBOOL fIsLinkedObject;
633 HGLOBAL hMetaPict;
634 LPWSTR lpszUserType;
635 WINBOOL fObjectsIconChanged;
636 LPWSTR lpszDefLabel;
637 UINT cClsidExclude;
638 LPCLSID lpClsidExclude;
639 } OLEUICONVERTW,*POLEUICONVERTW,*LPOLEUICONVERTW;
640
641 typedef struct tagOLEUICONVERTA {
642 DWORD cbStruct;
643 DWORD dwFlags;
644 HWND hWndOwner;
645 LPCSTR lpszCaption;
646 LPFNOLEUIHOOK lpfnHook;
647 LPARAM lCustData;
648 HINSTANCE hInstance;
649 LPCSTR lpszTemplate;
650 HRSRC hResource;
651 CLSID clsid;
652 CLSID clsidConvertDefault;
653 CLSID clsidActivateDefault;
654 CLSID clsidNew;
655 DWORD dvAspect;
656 WORD wFormat;
657 WINBOOL fIsLinkedObject;
658 HGLOBAL hMetaPict;
659 LPSTR lpszUserType;
660 WINBOOL fObjectsIconChanged;
661 LPSTR lpszDefLabel;
662 UINT cClsidExclude;
663 LPCLSID lpClsidExclude;
664 } OLEUICONVERTA,*POLEUICONVERTA,*LPOLEUICONVERTA;
665
666 STDAPI_(UINT) OleUIConvertW(LPOLEUICONVERTW);
667 STDAPI_(UINT) OleUIConvertA(LPOLEUICONVERTA);
668
669 #ifdef UNICODE
670 #define tagOLEUICONVERT tagOLEUICONVERTW
671 #define OLEUICONVERT OLEUICONVERTW
672 #define POLEUICONVERT POLEUICONVERTW
673 #define LPOLEUICONVERT LPOLEUICONVERTW
674 #define OleUIConvert OleUIConvertW
675 #else
676 #define tagOLEUICONVERT tagOLEUICONVERTA
677 #define OLEUICONVERT OLEUICONVERTA
678 #define POLEUICONVERT POLEUICONVERTA
679 #define LPOLEUICONVERT LPOLEUICONVERTA
680 #define OleUIConvert OleUIConvertA
681 #endif
682
683 STDAPI_(WINBOOL) OleUICanConvertOrActivateAs(REFCLSID rClsid,WINBOOL fIsLinkedObject,WORD wFormat);
684
685 #define CF_SHOWHELPBUTTON 0x00000001L
686 #define CF_SETCONVERTDEFAULT 0x00000002L
687 #define CF_SETACTIVATEDEFAULT 0x00000004L
688 #define CF_SELECTCONVERTTO 0x00000008L
689 #define CF_SELECTACTIVATEAS 0x00000010L
690 #define CF_DISABLEDISPLAYASICON 0x00000020L
691 #define CF_DISABLEACTIVATEAS 0x00000040L
692 #define CF_HIDECHANGEICON 0x00000080L
693 #define CF_CONVERTONLY 0x00000100L
694
695 #define OLEUI_CTERR_CLASSIDINVALID (OLEUI_ERR_STANDARDMAX+1)
696 #define OLEUI_CTERR_DVASPECTINVALID (OLEUI_ERR_STANDARDMAX+2)
697 #define OLEUI_CTERR_CBFORMATINVALID (OLEUI_ERR_STANDARDMAX+3)
698 #define OLEUI_CTERR_HMETAPICTINVALID (OLEUI_ERR_STANDARDMAX+4)
699 #define OLEUI_CTERR_STRINGINVALID (OLEUI_ERR_STANDARDMAX+5)
700
701 typedef struct tagOLEUIBUSYW {
702 DWORD cbStruct;
703 DWORD dwFlags;
704 HWND hWndOwner;
705 LPCWSTR lpszCaption;
706 LPFNOLEUIHOOK lpfnHook;
707 LPARAM lCustData;
708 HINSTANCE hInstance;
709 LPCWSTR lpszTemplate;
710 HRSRC hResource;
711 HTASK hTask;
712 HWND *lphWndDialog;
713 } OLEUIBUSYW,*POLEUIBUSYW,*LPOLEUIBUSYW;
714
715 typedef struct tagOLEUIBUSYA {
716 DWORD cbStruct;
717 DWORD dwFlags;
718 HWND hWndOwner;
719 LPCSTR lpszCaption;
720 LPFNOLEUIHOOK lpfnHook;
721 LPARAM lCustData;
722 HINSTANCE hInstance;
723 LPCSTR lpszTemplate;
724 HRSRC hResource;
725 HTASK hTask;
726 HWND *lphWndDialog;
727 } OLEUIBUSYA,*POLEUIBUSYA,*LPOLEUIBUSYA;
728
729 STDAPI_(UINT) OleUIBusyW(LPOLEUIBUSYW);
730 STDAPI_(UINT) OleUIBusyA(LPOLEUIBUSYA);
731
732 #ifdef UNICODE
733 #define tagOLEUIBUSY tagOLEUIBUSYW
734 #define OLEUIBUSY OLEUIBUSYW
735 #define POLEUIBUSY POLEUIBUSYW
736 #define LPOLEUIBUSY LPOLEUIBUSYW
737 #define OleUIBusy OleUIBusyW
738 #else
739 #define tagOLEUIBUSY tagOLEUIBUSYA
740 #define OLEUIBUSY OLEUIBUSYA
741 #define POLEUIBUSY POLEUIBUSYA
742 #define LPOLEUIBUSY LPOLEUIBUSYA
743 #define OleUIBusy OleUIBusyA
744 #endif
745
746 #define BZ_DISABLECANCELBUTTON 0x00000001L
747 #define BZ_DISABLESWITCHTOBUTTON 0x00000002L
748 #define BZ_DISABLERETRYBUTTON 0x00000004L
749
750 #define BZ_NOTRESPONDINGDIALOG 0x00000008L
751
752 #define OLEUI_BZERR_HTASKINVALID (OLEUI_ERR_STANDARDMAX+0)
753 #define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
754 #define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
755 #define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
756
757 typedef struct tagOLEUICHANGESOURCEW {
758 DWORD cbStruct;
759 DWORD dwFlags;
760 HWND hWndOwner;
761 LPCWSTR lpszCaption;
762 LPFNOLEUIHOOK lpfnHook;
763 LPARAM lCustData;
764 HINSTANCE hInstance;
765 LPCWSTR lpszTemplate;
766 HRSRC hResource;
767 OPENFILENAMEW *lpOFN;
768 DWORD dwReserved1[4];
769 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
770 DWORD dwLink;
771 LPWSTR lpszDisplayName;
772 ULONG nFileLength;
773 LPWSTR lpszFrom;
774 LPWSTR lpszTo;
775 } OLEUICHANGESOURCEW,*POLEUICHANGESOURCEW,*LPOLEUICHANGESOURCEW;
776
777 typedef struct tagOLEUICHANGESOURCEA {
778 DWORD cbStruct;
779 DWORD dwFlags;
780 HWND hWndOwner;
781 LPCSTR lpszCaption;
782 LPFNOLEUIHOOK lpfnHook;
783 LPARAM lCustData;
784 HINSTANCE hInstance;
785 LPCSTR lpszTemplate;
786 HRSRC hResource;
787 OPENFILENAMEA *lpOFN;
788 DWORD dwReserved1[4];
789 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
790 DWORD dwLink;
791 LPSTR lpszDisplayName;
792 ULONG nFileLength;
793 LPSTR lpszFrom;
794 LPSTR lpszTo;
795 } OLEUICHANGESOURCEA,*POLEUICHANGESOURCEA,*LPOLEUICHANGESOURCEA;
796
797 STDAPI_(UINT) OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
798 STDAPI_(UINT) OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
799
800 #ifdef UNICODE
801 #define tagOLEUICHANGESOURCE tagOLEUICHANGESOURCEW
802 #define OLEUICHANGESOURCE OLEUICHANGESOURCEW
803 #define POLEUICHANGESOURCE POLEUICHANGESOURCEW
804 #define LPOLEUICHANGESOURCE LPOLEUICHANGESOURCEW
805 #define OleUIChangeSource OleUIChangeSourceW
806 #else
807 #define tagOLEUICHANGESOURCE tagOLEUICHANGESOURCEA
808 #define OLEUICHANGESOURCE OLEUICHANGESOURCEA
809 #define POLEUICHANGESOURCE POLEUICHANGESOURCEA
810 #define LPOLEUICHANGESOURCE LPOLEUICHANGESOURCEA
811 #define OleUIChangeSource OleUIChangeSourceA
812 #endif
813
814 #define CSF_SHOWHELP 0x00000001L
815 #define CSF_VALIDSOURCE 0x00000002L
816 #define CSF_ONLYGETSOURCE 0x00000004L
817 #define CSF_EXPLORER 0x00000008L
818
819 #define OLEUI_CSERR_LINKCNTRNULL (OLEUI_ERR_STANDARDMAX+0)
820 #define OLEUI_CSERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+1)
821 #define OLEUI_CSERR_FROMNOTNULL (OLEUI_ERR_STANDARDMAX+2)
822 #define OLEUI_CSERR_TONOTNULL (OLEUI_ERR_STANDARDMAX+3)
823 #define OLEUI_CSERR_SOURCENULL (OLEUI_ERR_STANDARDMAX+4)
824 #define OLEUI_CSERR_SOURCEINVALID (OLEUI_ERR_STANDARDMAX+5)
825 #define OLEUI_CSERR_SOURCEPARSERROR (OLEUI_ERR_STANDARDMAX+6)
826 #define OLEUI_CSERR_SOURCEPARSEERROR (OLEUI_ERR_STANDARDMAX+6)
827
828 #undef INTERFACE
829 #define INTERFACE IOleUIObjInfoW
830
831 DECLARE_INTERFACE_(IOleUIObjInfoW,IUnknown) {
832 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
833 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
834 STDMETHOD_(ULONG,Release)(THIS) PURE;
835 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject,DWORD *lpdwObjSize,LPWSTR *lplpszLabel,LPWSTR *lplpszType,LPWSTR *lplpszShortType,LPWSTR *lplpszLocation) PURE;
836 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject,CLSID *lpClassID,WORD *lpwFormat,CLSID *lpConvertDefaultClassID,LPCLSID *lplpClsidExclude,UINT *lpcClsidExclude) PURE;
837 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject,REFCLSID clsidNew) PURE;
838 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject,HGLOBAL *phMetaPict,DWORD *pdvAspect,int *pnCurrentScale) PURE;
839 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject,HGLOBAL hMetaPict,DWORD dvAspect,int nCurrentScale,WINBOOL bRelativeToOrig) PURE;
840 };
841
842 typedef IOleUIObjInfoW *LPOLEUIOBJINFOW;
843
844 #undef INTERFACE
845 #define INTERFACE IOleUIObjInfoA
846
847 DECLARE_INTERFACE_(IOleUIObjInfoA,IUnknown) {
848 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
849 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
850 STDMETHOD_(ULONG,Release)(THIS) PURE;
851 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject,DWORD *lpdwObjSize,LPSTR *lplpszLabel,LPSTR *lplpszType,LPSTR *lplpszShortType,LPSTR *lplpszLocation) PURE;
852 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject,CLSID *lpClassID,WORD *lpwFormat,CLSID *lpConvertDefaultClassID,LPCLSID *lplpClsidExclude,UINT *lpcClsidExclude) PURE;
853 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject,REFCLSID clsidNew) PURE;
854 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject,HGLOBAL *phMetaPict,DWORD *pdvAspect,int *pnCurrentScale) PURE;
855 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject,HGLOBAL hMetaPict,DWORD dvAspect,int nCurrentScale,WINBOOL bRelativeToOrig) PURE;
856 };
857
858 typedef IOleUIObjInfoA *LPOLEUIOBJINFOA;
859
860 #ifdef UNICODE
861 #define IOleUIObjInfo IOleUIObjInfoW
862 #define IOleUIObjInfoVtbl IOleUIObjInfoWVtbl
863 #define LPOLEUIOBJINFO LPOLEUIOBJINFOW
864 #else
865 #define IOleUIObjInfo IOleUIObjInfoA
866 #define IOleUIObjInfoVtbl IOleUIObjInfoAVtbl
867 #define LPOLEUIOBJINFO LPOLEUIOBJINFOA
868 #endif
869
870 #undef INTERFACE
871 #define INTERFACE IOleUILinkInfoW
872
873 DECLARE_INTERFACE_(IOleUILinkInfoW,IOleUILinkContainerW) {
874 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
875 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
876 STDMETHOD_(ULONG,Release)(THIS) PURE;
877 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
878 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD dwUpdateOpt) PURE;
879 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD *lpdwUpdateOpt) PURE;
880 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink,LPWSTR lpszDisplayName,ULONG lenFileName,ULONG *pchEaten,WINBOOL fValidateSource) PURE;
881 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink,LPWSTR *lplpszDisplayName,ULONG *lplenFileName,LPWSTR *lplpszFullLinkType,LPWSTR *lplpszShortLinkType,WINBOOL *lpfSourceAvailable,WINBOOL *lpfIsSelected) PURE;
882 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
883 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink,WINBOOL fErrorMessage,WINBOOL fReserved) PURE;
884 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
885 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink,FILETIME *lpLastUpdate) PURE;
886 };
887
888 typedef IOleUILinkInfoW *LPOLEUILINKINFOW;
889
890 #undef INTERFACE
891 #define INTERFACE IOleUILinkInfoA
892
893 DECLARE_INTERFACE_(IOleUILinkInfoA,IOleUILinkContainerA) {
894 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
895 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
896 STDMETHOD_(ULONG,Release)(THIS) PURE;
897 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
898 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD dwUpdateOpt) PURE;
899 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD *lpdwUpdateOpt) PURE;
900 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink,LPSTR lpszDisplayName,ULONG lenFileName,ULONG *pchEaten,WINBOOL fValidateSource) PURE;
901 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink,LPSTR *lplpszDisplayName,ULONG *lplenFileName,LPSTR *lplpszFullLinkType,LPSTR *lplpszShortLinkType,WINBOOL *lpfSourceAvailable,WINBOOL *lpfIsSelected) PURE;
902 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
903 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink,WINBOOL fErrorMessage,WINBOOL fReserved) PURE;
904 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
905 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink,FILETIME *lpLastUpdate) PURE;
906 };
907
908 typedef IOleUILinkInfoA *LPOLEUILINKINFOA;
909
910 #ifdef UNICODE
911 #define IOleUILinkInfo IOleUILinkInfoW
912 #define IOleUILinkInfoVtbl IOleUILinkInfoWVtbl
913 #define LPOLEUILINKINFO LPOLEUILINKINFOW
914 #else
915 #define IOleUILinkInfo IOleUILinkInfoA
916 #define IOleUILinkInfoVtbl IOleUILinkInfoAVtbl
917 #define LPOLEUILINKINFO LPOLEUILINKINFOA
918 #endif
919
920 struct tagOLEUIOBJECTPROPSW;
921 struct tagOLEUIOBJECTPROPSA;
922
923 typedef struct tagOLEUIGNRLPROPSW {
924 DWORD cbStruct;
925 DWORD dwFlags;
926 DWORD dwReserved1[2];
927 LPFNOLEUIHOOK lpfnHook;
928 LPARAM lCustData;
929 DWORD dwReserved2[3];
930 struct tagOLEUIOBJECTPROPSW *lpOP;
931 } OLEUIGNRLPROPSW,*POLEUIGNRLPROPSW,*LPOLEUIGNRLPROPSW;
932
933 typedef struct tagOLEUIGNRLPROPSA {
934 DWORD cbStruct;
935 DWORD dwFlags;
936 DWORD dwReserved1[2];
937 LPFNOLEUIHOOK lpfnHook;
938 LPARAM lCustData;
939 DWORD dwReserved2[3];
940 struct tagOLEUIOBJECTPROPSA *lpOP;
941 } OLEUIGNRLPROPSA,*POLEUIGNRLPROPSA,*LPOLEUIGNRLPROPSA;
942
943 #ifdef UNICODE
944 #define tagOLEUIGNRLPROPS tagOLEUIGNRLPROPSW
945 #define OLEUIGNRLPROPS OLEUIGNRLPROPSW
946 #define POLEUIGNRLPROPS POLEUIGNRLPROPSW
947 #define LPOLEUIGNRLPROPS LPOLEUIGNRLPROPSW
948 #else
949 #define tagOLEUIGNRLPROPS tagOLEUIGNRLPROPSA
950 #define OLEUIGNRLPROPS OLEUIGNRLPROPSA
951 #define POLEUIGNRLPROPS POLEUIGNRLPROPSA
952 #define LPOLEUIGNRLPROPS LPOLEUIGNRLPROPSA
953 #endif
954
955 typedef struct tagOLEUIVIEWPROPSW {
956 DWORD cbStruct;
957 DWORD dwFlags;
958 DWORD dwReserved1[2];
959 LPFNOLEUIHOOK lpfnHook;
960 LPARAM lCustData;
961 DWORD dwReserved2[3];
962 struct tagOLEUIOBJECTPROPSW *lpOP;
963 int nScaleMin;
964 int nScaleMax;
965 } OLEUIVIEWPROPSW,*POLEUIVIEWPROPSW,*LPOLEUIVIEWPROPSW;
966
967 typedef struct tagOLEUIVIEWPROPSA {
968 DWORD cbStruct;
969 DWORD dwFlags;
970 DWORD dwReserved1[2];
971 LPFNOLEUIHOOK lpfnHook;
972 LPARAM lCustData;
973 DWORD dwReserved2[3];
974 struct tagOLEUIOBJECTPROPSA *lpOP;
975 int nScaleMin;
976 int nScaleMax;
977 } OLEUIVIEWPROPSA,*POLEUIVIEWPROPSA,*LPOLEUIVIEWPROPSA;
978
979 #ifdef UNICODE
980 #define tagOLEUIVIEWPROPS tagOLEUIVIEWPROPSW
981 #define OLEUIVIEWPROPS OLEUIVIEWPROPSW
982 #define POLEUIVIEWPROPS POLEUIVIEWPROPSW
983 #define LPOLEUIVIEWPROPS LPOLEUIVIEWPROPSW
984 #else
985 #define tagOLEUIVIEWPROPS tagOLEUIVIEWPROPSA
986 #define OLEUIVIEWPROPS OLEUIVIEWPROPSA
987 #define POLEUIVIEWPROPS POLEUIVIEWPROPSA
988 #define LPOLEUIVIEWPROPS LPOLEUIVIEWPROPSA
989 #endif
990
991 #define VPF_SELECTRELATIVE 0x00000001L
992 #define VPF_DISABLERELATIVE 0x00000002L
993 #define VPF_DISABLESCALE 0x00000004L
994
995 typedef struct tagOLEUILINKPROPSW {
996 DWORD cbStruct;
997 DWORD dwFlags;
998 DWORD dwReserved1[2];
999 LPFNOLEUIHOOK lpfnHook;
1000 LPARAM lCustData;
1001 DWORD dwReserved2[3];
1002 struct tagOLEUIOBJECTPROPSW *lpOP;
1003 } OLEUILINKPROPSW,*POLEUILINKPROPSW,*LPOLEUILINKPROPSW;
1004
1005 typedef struct tagOLEUILINKPROPSA {
1006 DWORD cbStruct;
1007 DWORD dwFlags;
1008 DWORD dwReserved1[2];
1009 LPFNOLEUIHOOK lpfnHook;
1010 LPARAM lCustData;
1011 DWORD dwReserved2[3];
1012 struct tagOLEUIOBJECTPROPSA *lpOP;
1013 } OLEUILINKPROPSA,*POLEUILINKPROPSA,*LPOLEUILINKPROPSA;
1014
1015 #ifdef UNICODE
1016 #define tagOLEUILINKPROPS tagOLEUILINKPROPSW
1017 #define OLEUILINKPROPS OLEUILINKPROPSW
1018 #define POLEUILINKPROPS POLEUILINKPROPSW
1019 #define LPOLEUILINKPROPS LPOLEUILINKPROPSW
1020 #else
1021 #define tagOLEUILINKPROPS tagOLEUILINKPROPSA
1022 #define OLEUILINKPROPS OLEUILINKPROPSA
1023 #define POLEUILINKPROPS POLEUILINKPROPSA
1024 #define LPOLEUILINKPROPS LPOLEUILINKPROPSA
1025 #endif
1026
1027 #include <prsht.h>
1028
1029 #ifndef PSM_SETFINISHTEXTA
1030 typedef struct _PROPSHEETHEADER *LPPROPSHEETHEADERW;
1031 typedef struct _PROPSHEETHEADER *LPPROPSHEETHEADERA;
1032 #else
1033 typedef struct _PROPSHEETHEADERW *LPPROPSHEETHEADERW;
1034 typedef struct _PROPSHEETHEADERA *LPPROPSHEETHEADERA;
1035 #ifdef UNICODE
1036 #define LPPROPSHEETHEADER LPPROPSHEETHEADERW
1037 #else
1038 #define LPPROPSHEETHEADER LPPROPSHEETHEADERA
1039 #endif
1040 #endif
1041
1042 typedef struct tagOLEUIOBJECTPROPSW {
1043 DWORD cbStruct;
1044 DWORD dwFlags;
1045 LPPROPSHEETHEADERW lpPS;
1046 DWORD dwObject;
1047 LPOLEUIOBJINFOW lpObjInfo;
1048 DWORD dwLink;
1049 LPOLEUILINKINFOW lpLinkInfo;
1050 LPOLEUIGNRLPROPSW lpGP;
1051 LPOLEUIVIEWPROPSW lpVP;
1052 LPOLEUILINKPROPSW lpLP;
1053 } OLEUIOBJECTPROPSW,*POLEUIOBJECTPROPSW,*LPOLEUIOBJECTPROPSW;
1054
1055 typedef struct tagOLEUIOBJECTPROPSA {
1056 DWORD cbStruct;
1057 DWORD dwFlags;
1058 LPPROPSHEETHEADERA lpPS;
1059 DWORD dwObject;
1060 LPOLEUIOBJINFOA lpObjInfo;
1061 DWORD dwLink;
1062 LPOLEUILINKINFOA lpLinkInfo;
1063
1064 LPOLEUIGNRLPROPSA lpGP;
1065 LPOLEUIVIEWPROPSA lpVP;
1066 LPOLEUILINKPROPSA lpLP;
1067 } OLEUIOBJECTPROPSA,*POLEUIOBJECTPROPSA,*LPOLEUIOBJECTPROPSA;
1068
1069 STDAPI_(UINT) OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
1070 STDAPI_(UINT) OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
1071
1072 #ifdef UNICODE
1073 #define tagOLEUIOBJECTPROPS tagOLEUIOBJECTPROPSW
1074 #define OLEUIOBJECTPROPS OLEUIOBJECTPROPSW
1075 #define POLEUIOBJECTPROPS POLEUIOBJECTPROPSW
1076 #define LPOLEUIOBJECTPROPS LPOLEUIOBJECTPROPSW
1077 #define OleUIObjectProperties OleUIObjectPropertiesW
1078 #else
1079 #define tagOLEUIOBJECTPROPS tagOLEUIOBJECTPROPSA
1080 #define OLEUIOBJECTPROPS OLEUIOBJECTPROPSA
1081 #define POLEUIOBJECTPROPS POLEUIOBJECTPROPSA
1082 #define LPOLEUIOBJECTPROPS LPOLEUIOBJECTPROPSA
1083 #define OleUIObjectProperties OleUIObjectPropertiesA
1084 #endif
1085
1086 #define OPF_OBJECTISLINK 0x00000001L
1087 #define OPF_NOFILLDEFAULT 0x00000002L
1088 #define OPF_SHOWHELP 0x00000004L
1089 #define OPF_DISABLECONVERT 0x00000008L
1090
1091 #define OLEUI_OPERR_SUBPROPNULL (OLEUI_ERR_STANDARDMAX+0)
1092 #define OLEUI_OPERR_SUBPROPINVALID (OLEUI_ERR_STANDARDMAX+1)
1093 #define OLEUI_OPERR_PROPSHEETNULL (OLEUI_ERR_STANDARDMAX+2)
1094 #define OLEUI_OPERR_PROPSHEETINVALID (OLEUI_ERR_STANDARDMAX+3)
1095 #define OLEUI_OPERR_SUPPROP (OLEUI_ERR_STANDARDMAX+4)
1096 #define OLEUI_OPERR_PROPSINVALID (OLEUI_ERR_STANDARDMAX+5)
1097 #define OLEUI_OPERR_PAGESINCORRECT (OLEUI_ERR_STANDARDMAX+6)
1098 #define OLEUI_OPERR_INVALIDPAGES (OLEUI_ERR_STANDARDMAX+7)
1099 #define OLEUI_OPERR_NOTSUPPORTED (OLEUI_ERR_STANDARDMAX+8)
1100 #define OLEUI_OPERR_DLGPROCNOTNULL (OLEUI_ERR_STANDARDMAX+9)
1101 #define OLEUI_OPERR_LPARAMNOTZERO (OLEUI_ERR_STANDARDMAX+10)
1102
1103 #define OLEUI_GPERR_STRINGINVALID (OLEUI_ERR_STANDARDMAX+11)
1104 #define OLEUI_GPERR_CLASSIDINVALID (OLEUI_ERR_STANDARDMAX+12)
1105 #define OLEUI_GPERR_LPCLSIDEXCLUDEINVALID (OLEUI_ERR_STANDARDMAX+13)
1106 #define OLEUI_GPERR_CBFORMATINVALID (OLEUI_ERR_STANDARDMAX+14)
1107 #define OLEUI_VPERR_METAPICTINVALID (OLEUI_ERR_STANDARDMAX+15)
1108 #define OLEUI_VPERR_DVASPECTINVALID (OLEUI_ERR_STANDARDMAX+16)
1109 #define OLEUI_LPERR_LINKCNTRNULL (OLEUI_ERR_STANDARDMAX+17)
1110 #define OLEUI_LPERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+18)
1111
1112 #define OLEUI_OPERR_PROPERTYSHEET (OLEUI_ERR_STANDARDMAX+19)
1113 #define OLEUI_OPERR_OBJINFOINVALID (OLEUI_ERR_STANDARDMAX+20)
1114 #define OLEUI_OPERR_LINKINFOINVALID (OLEUI_ERR_STANDARDMAX+21)
1115
1116 #define OLEUI_QUERY_GETCLASSID 0xFF00
1117 #define OLEUI_QUERY_LINKBROKEN 0xFF01
1118
1119 int __cdecl OleUIPromptUserW(int nTemplate,HWND hwndParent,...);
1120 int __cdecl OleUIPromptUserA(int nTemplate,HWND hwndParent,...);
1121
1122 #ifdef UNICODE
1123 #define OleUIPromptUser OleUIPromptUserW
1124 #else
1125 #define OleUIPromptUser OleUIPromptUserA
1126 #endif
1127
1128 STDAPI_(WINBOOL) OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr,HWND hwndParent,LPWSTR lpszTitle,int cLinks);
1129 STDAPI_(WINBOOL) OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr,HWND hwndParent,LPSTR lpszTitle,int cLinks);
1130
1131 #ifdef UNICODE
1132 #define OleUIUpdateLinks OleUIUpdateLinksW
1133 #else
1134 #define OleUIUpdateLinks OleUIUpdateLinksA
1135 #endif
1136
1137 #pragma pack(pop)
1138
1139 #ifdef __cplusplus
1140 }
1141 #endif
1142 #endif
1143 #endif