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