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_ 748 _In_ REFIID riid, 749 _Outptr_ void** ppvObject) PURE; 750 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 751 STDMETHOD_(ULONG,Release)(THIS) PURE; 752 /*** IOleUILinkContainerA methods ***/ 753 STDMETHOD_(DWORD,GetNextLink)(THIS_ _In_ DWORD dwLink) PURE; 754 STDMETHOD(SetLinkUpdateOptions)(THIS_ 755 _In_ DWORD dwLink, 756 _In_ DWORD dwUpdateOpt) PURE; 757 STDMETHOD(GetLinkUpdateOptions)(THIS_ 758 _In_ DWORD dwLink, 759 _Out_ DWORD *lpdwUpdateOpt) PURE; 760 STDMETHOD(SetLinkSource)(THIS_ 761 _In_ DWORD dwLink, 762 _In_ LPSTR lpszDisplayName, 763 _In_ ULONG lenFileName, 764 _Out_ ULONG *pchEaten, 765 _In_ BOOL fValidateSource) PURE; 766 STDMETHOD(GetLinkSource)(THIS_ 767 _In_ DWORD dwLink, 768 _Outptr_opt_result_maybenull_ LPSTR *lplpszDisplayName, 769 _Out_ ULONG *lplenFileName, 770 _Outptr_opt_result_maybenull_ LPSTR *lplpszFullLinkType, 771 _Outptr_opt_result_maybenull_ LPSTR *lplpszShortLinkType, 772 _Out_ BOOL *lpfSourceAvailable, 773 _Out_ BOOL *lpfIsSelected) PURE; 774 STDMETHOD(OpenLinkSource)(THIS_ _In_ DWORD dwLink) PURE; 775 STDMETHOD(UpdateLink)(THIS_ 776 _In_ DWORD dwLink, 777 _In_ BOOL fErrorMessage, 778 _In_ BOOL fReserved) PURE; 779 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE; 780 }; 781 #undef INTERFACE 782 783 #define INTERFACE IOleUILinkContainerW 784 DECLARE_INTERFACE_(IOleUILinkContainerW,IUnknown) 785 { 786 /*** IUnknown methods ***/ 787 STDMETHOD_(HRESULT,QueryInterface)(THIS_ 788 _In_ REFIID riid, 789 _Outptr_ void** ppvObject) PURE; 790 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 791 STDMETHOD_(ULONG,Release)(THIS) PURE; 792 /*** IOleUILinkContainerW methods ***/ 793 STDMETHOD_(DWORD,GetNextLink)(THIS_ _In_ DWORD dwLink) PURE; 794 STDMETHOD(SetLinkUpdateOptions)(THIS_ 795 _In_ DWORD dwLink, 796 _In_ DWORD dwUpdateOpt) PURE; 797 STDMETHOD(GetLinkUpdateOptions)(THIS_ 798 _In_ DWORD dwLink, 799 _Out_ DWORD *lpdwUpdateOpt) PURE; 800 STDMETHOD(SetLinkSource)(THIS_ 801 _In_ DWORD dwLink, 802 _In_ LPWSTR lpszDisplayName, 803 _In_ ULONG lenFileName, 804 _Out_ ULONG *pchEaten, 805 _In_ BOOL fValidateSource) PURE; 806 STDMETHOD(GetLinkSource)(THIS_ 807 _In_ DWORD dwLink, 808 _Outptr_opt_result_maybenull_ LPWSTR *lplpszDisplayName, 809 _Out_ ULONG *lplenFileName, 810 _Outptr_opt_result_maybenull_ LPWSTR *lplpszFullLinkType, 811 _Outptr_opt_result_maybenull_ LPWSTR *lplpszShortLinkType, 812 _Out_ BOOL *lpfSourceAvailable, 813 _Out_ BOOL *lpfIsSelected) PURE; 814 STDMETHOD(OpenLinkSource)(THIS_ _In_ DWORD dwLink) PURE; 815 STDMETHOD(UpdateLink)(THIS_ 816 _In_ DWORD dwLink, 817 _In_ BOOL fErrorMessage, 818 _In_ BOOL fReserved) PURE; 819 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE; 820 }; 821 #undef INTERFACE 822 823 DECL_WINELIB_TYPE_AW(IOleUILinkContainer) 824 DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER) 825 DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER) 826 827 #if !defined(__cplusplus) || defined(CINTERFACE) 828 /*** IUnknown methods ***/ 829 #define IOleUILinkContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 830 #define IOleUILinkContainer_AddRef(p) (p)->lpVtbl->AddRef(p) 831 #define IOleUILinkContainer_Release(p) (p)->lpVtbl->Release(p) 832 /*** IOleUILinkContainer methods ***/ 833 #define IOleUILinkContainer_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a) 834 #define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b) 835 #define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b) 836 #define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e) 837 #define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g) 838 #define IOleUILinkContainer_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a) 839 #define IOleUILinkContainer_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c) 840 #define IOleUILinkContainer_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a) 841 #endif 842 843 844 /***************************************************************************** 845 * IOleUILinkInfo interface 846 */ 847 #define INTERFACE IOleUILinkInfoA 848 DECLARE_INTERFACE_(IOleUILinkInfoA,IOleUILinkContainerA) 849 { 850 /*** IUnknown methods ***/ 851 STDMETHOD_(HRESULT, QueryInterface)(THIS_ 852 _In_ REFIID riid, 853 _Outptr_ void** ppvObject) PURE; 854 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 855 STDMETHOD_(ULONG,Release)(THIS) PURE; 856 /*** IOleUILinkContainerA methods ***/ 857 STDMETHOD_(DWORD, GetNextLink)(THIS_ _In_ DWORD dwLink) PURE; 858 STDMETHOD(SetLinkUpdateOptions)(THIS_ 859 _In_ DWORD dwLink, 860 _In_ DWORD dwUpdateOpt) PURE; 861 STDMETHOD(GetLinkUpdateOptions)(THIS_ 862 _In_ DWORD dwLink, 863 _Out_ DWORD *lpdwUpdateOpt) PURE; 864 STDMETHOD(SetLinkSource)(THIS_ 865 _In_ DWORD dwLink, 866 _In_ LPSTR lpszDisplayName, 867 _In_ ULONG lenFileName, 868 _Out_ ULONG *pchEaten, 869 _In_ BOOL fValidateSource) PURE; 870 STDMETHOD(GetLinkSource)(THIS_ 871 _In_ DWORD dwLink, 872 _Outptr_opt_result_maybenull_ LPSTR *lplpszDisplayName, 873 _Out_ ULONG *lplenFileName, 874 _Outptr_opt_result_maybenull_ LPSTR *lplpszFullLinkType, 875 _Outptr_opt_result_maybenull_ LPSTR *lplpszShortLinkType, 876 _Out_ BOOL *lpfSourceAvailable, 877 _Out_ BOOL *lpfIsSelected) PURE; 878 STDMETHOD(OpenLinkSource)(THIS_ _In_ DWORD dwLink) PURE; 879 STDMETHOD(UpdateLink)(THIS_ 880 _In_ DWORD dwLink, 881 _In_ BOOL fErrorMessage, 882 _In_ BOOL fReserved) PURE; 883 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE; 884 /*** IOleUILinkInfoA methods ***/ 885 STDMETHOD(GetLastUpdate)(THIS_ 886 _In_ DWORD dwLink, 887 _Out_ FILETIME *lpLastUpdate) PURE; 888 }; 889 #undef INTERFACE 890 891 #define INTERFACE IOleUILinkInfoW 892 DECLARE_INTERFACE_(IOleUILinkInfoW,IOleUILinkContainerW) 893 { 894 /*** IUnknown methods ***/ 895 STDMETHOD_(HRESULT,QueryInterface)(THIS_ 896 _In_ REFIID riid, 897 _Outptr_ void** ppvObject) PURE; 898 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 899 STDMETHOD_(ULONG,Release)(THIS) PURE; 900 /*** IOleUILinkContainerW methods ***/ 901 STDMETHOD_(DWORD, GetNextLink)(THIS_ _In_ DWORD dwLink) PURE; 902 STDMETHOD(SetLinkUpdateOptions)(THIS_ 903 _In_ DWORD dwLink, 904 _In_ DWORD dwUpdateOpt) PURE; 905 STDMETHOD(GetLinkUpdateOptions)(THIS_ 906 _In_ DWORD dwLink, 907 _Out_ DWORD *lpdwUpdateOpt) PURE; 908 STDMETHOD(SetLinkSource)(THIS_ 909 _In_ DWORD dwLink, 910 _In_ LPWSTR lpszDisplayName, 911 _In_ ULONG lenFileName, 912 _Out_ ULONG *pchEaten, 913 _In_ BOOL fValidateSource) PURE; 914 STDMETHOD(GetLinkSource)(THIS_ 915 _In_ DWORD dwLink, 916 _Outptr_opt_result_maybenull_ LPWSTR *lplpszDisplayName, 917 _Out_ ULONG *lplenFileName, 918 _Outptr_opt_result_maybenull_ LPWSTR *lplpszFullLinkType, 919 _Outptr_opt_result_maybenull_ LPWSTR *lplpszShortLinkType, 920 _Out_ BOOL *lpfSourceAvailable, 921 _Out_ BOOL *lpfIsSelected) PURE; 922 STDMETHOD(OpenLinkSource)(THIS_ _In_ DWORD dwLink) PURE; 923 STDMETHOD(UpdateLink)(THIS_ 924 _In_ DWORD dwLink, 925 _In_ BOOL fErrorMessage, 926 _In_ BOOL fReserved) PURE; 927 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE; 928 /*** IOleUILinkInfoW methods ***/ 929 STDMETHOD(GetLastUpdate)(THIS_ 930 _In_ DWORD dwLink, 931 _Out_ FILETIME *lpLastUpdate) PURE; 932 }; 933 #undef INTERFACE 934 935 DECL_WINELIB_TYPE_AW(IOleUILinkInfo) 936 DECL_WINELIB_TYPE_AW(POLEUILINKINFO) 937 DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO) 938 939 #if !defined(__cplusplus) || defined(CINTERFACE) 940 /*** IUnknown methods ***/ 941 #define IOleUILinkInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 942 #define IOleUILinkInfo_AddRef(p) (p)->lpVtbl->AddRef(p) 943 #define IOleUILinkInfo_Release(p) (p)->lpVtbl->Release(p) 944 /*** IOleUILinkContainer methods ***/ 945 #define IOleUILinkInfo_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a) 946 #define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b) 947 #define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b) 948 #define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e) 949 #define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g) 950 #define IOleUILinkInfo_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a) 951 #define IOleUILinkInfo_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c) 952 #define IOleUILinkInfo_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a) 953 /*** IOleUILinkInfo methods ***/ 954 #define IOleUILinkInfo_GetLastUpdate(p,a,b) (p)->lpVtbl->GetLastUpdate(p,a,b) 955 #endif 956 957 958 /***************************************************************************** 959 * IOleUIObjInfo interface 960 */ 961 #define INTERFACE IOleUIObjInfoA 962 DECLARE_INTERFACE_(IOleUIObjInfoA,IUnknown) 963 { 964 /*** IUnknown methods ***/ 965 STDMETHOD_(HRESULT,QueryInterface)(THIS_ 966 _In_ REFIID riid, 967 _Outptr_ void** ppvObject) PURE; 968 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 969 STDMETHOD_(ULONG,Release)(THIS) PURE; 970 /*** IOleUIObjInfoA methods ***/ 971 STDMETHOD(GetObjectInfo)(THIS_ 972 _In_ DWORD dwObject, 973 _Out_ DWORD *lpdwObjSize, 974 _Outptr_opt_result_maybenull_ LPSTR *lplpszLabel, 975 _Outptr_opt_result_maybenull_ LPSTR *lplpszType, 976 _Outptr_opt_result_maybenull_ LPSTR *lplpszShortType, 977 _Outptr_opt_result_maybenull_ LPSTR *lplpszLocation) PURE; 978 STDMETHOD(GetConvertInfo)(THIS_ 979 _In_ DWORD dwObject, 980 _Out_ CLSID *lpClassID, 981 _Out_ WORD *lpwFormat, 982 _Out_ CLSID *lpConvertDefaultClassID, 983 _Outptr_result_maybenull_ LPCLSID *lplpClsidExclude, 984 _Out_opt_ UINT *lpcClsidExclude) PURE; 985 STDMETHOD(ConvertObject)(THIS_ 986 _In_ DWORD dwObject, 987 _In_ REFCLSID clsidNew) PURE; 988 STDMETHOD(GetViewInfo)(THIS_ 989 _In_ DWORD dwObject, 990 _In_opt_ HGLOBAL *phMetaPict, 991 _In_opt_ DWORD *pdvAspect, 992 _In_opt_ INT *pnCurrentScale) PURE; 993 STDMETHOD(SetViewInfo)(THIS_ 994 _In_ DWORD dwObject, 995 _In_ HGLOBAL hMetaPict, 996 _In_ DWORD dvAspect, 997 _In_ INT nCurrentScale, 998 _In_ BOOL bRelativeToOrig) PURE; 999 }; 1000 #undef INTERFACE 1001 1002 #define INTERFACE IOleUIObjInfoW 1003 DECLARE_INTERFACE_(IOleUIObjInfoW,IUnknown) 1004 { 1005 /*** IUnknown methods ***/ 1006 STDMETHOD_(HRESULT,QueryInterface)(THIS_ 1007 _In_ REFIID riid, 1008 _Outptr_ void** ppvObject) PURE; 1009 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 1010 STDMETHOD_(ULONG,Release)(THIS) PURE; 1011 /*** IOleUIObjInfoW methods ***/ 1012 STDMETHOD(GetObjectInfo)(THIS_ 1013 _In_ DWORD dwObject, 1014 _Out_ DWORD *lpdwObjSize, 1015 _Outptr_opt_result_maybenull_ LPWSTR *lplpszLabel, 1016 _Outptr_opt_result_maybenull_ LPWSTR *lplpszType, 1017 _Outptr_opt_result_maybenull_ LPWSTR *lplpszShortType, 1018 _Outptr_opt_result_maybenull_ LPWSTR *lplpszLocation) PURE; 1019 STDMETHOD(GetConvertInfo)(THIS_ 1020 _In_ DWORD dwObject, 1021 _Out_ CLSID *lpClassID, 1022 _Out_ WORD *lpwFormat, 1023 _Out_ CLSID *lpConvertDefaultClassID, 1024 _Outptr_result_maybenull_ LPCLSID *lplpClsidExclude, 1025 _Out_opt_ UINT *lpcClsidExclude) PURE; 1026 STDMETHOD(ConvertObject)(THIS_ 1027 _In_ DWORD dwObject, 1028 _In_ REFCLSID clsidNew) PURE; 1029 STDMETHOD(GetViewInfo)(THIS_ 1030 _In_ DWORD dwObject, 1031 _In_opt_ HGLOBAL *phMetaPict, 1032 _In_opt_ DWORD *pdvAspect, 1033 _In_opt_ INT *pnCurrentScale) PURE; 1034 STDMETHOD(SetViewInfo)(THIS_ 1035 _In_ DWORD dwObject, 1036 _In_ HGLOBAL hMetaPict, 1037 _In_ DWORD dvAspect, 1038 _In_ INT nCurrentScale, 1039 _In_ BOOL bRelativeToOrig) PURE; 1040 }; 1041 #undef INTERFACE 1042 1043 DECL_WINELIB_TYPE_AW(IOleUIObjInfo) 1044 DECL_WINELIB_TYPE_AW(POLEUIOBJINFO) 1045 DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO) 1046 1047 #if !defined(__cplusplus) || defined(CINTERFACE) 1048 /*** IUnknown methods ***/ 1049 #define IOleUIObjInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 1050 #define IOleUIObjInfo_AddRef(p) (p)->lpVtbl->AddRef(p) 1051 #define IOleUIObjInfo_Release(p) (p)->lpVtbl->Release(p) 1052 /*** IOleUIObjInfo methods ***/ 1053 #define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetObjectInfo(p,a,b,c,d,e,f) 1054 #define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetConvertInfo(p,a,b,c,d,e,f) 1055 #define IOleUIObjInfo_ConvertObject(p,a,b) (p)->lpVtbl->ConvertObject(p,a,b) 1056 #define IOleUIObjInfo_GetViewInfo(p,a,b,c,d) (p)->lpVtbl->GetViewInfo(p,a,b,c,d) 1057 #define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e) (p)->lpVtbl->SetViewInfo(p,a,b,c,d,e) 1058 #endif 1059 1060 UINT WINAPI OleUIInsertObjectW(_In_ LPOLEUIINSERTOBJECTW); 1061 UINT WINAPI OleUIInsertObjectA(_In_ LPOLEUIINSERTOBJECTA); 1062 #define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject) 1063 UINT WINAPI OleUIConvertA(_In_ LPOLEUICONVERTA); 1064 UINT WINAPI OleUIConvertW(_In_ LPOLEUICONVERTW); 1065 #define OleUIConvert WINELIB_NAME_AW(OleUIConvert) 1066 UINT WINAPI OleUIChangeIconA(_In_ LPOLEUICHANGEICONA); 1067 UINT WINAPI OleUIChangeIconW(_In_ LPOLEUICHANGEICONW); 1068 #define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon) 1069 UINT WINAPI OleUIBusyA(_In_ LPOLEUIBUSYA); 1070 UINT WINAPI OleUIBusyW(_In_ LPOLEUIBUSYW); 1071 #define OleUIBusy WINELIB_NAME_AW(OleUIBusy) 1072 UINT WINAPI OleUIObjectPropertiesA(_In_ LPOLEUIOBJECTPROPSA); 1073 UINT WINAPI OleUIObjectPropertiesW(_In_ LPOLEUIOBJECTPROPSW); 1074 #define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties) 1075 UINT WINAPI OleUIChangeSourceW(_In_ LPOLEUICHANGESOURCEW); 1076 UINT WINAPI OleUIChangeSourceA(_In_ LPOLEUICHANGESOURCEA); 1077 #define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource) 1078 UINT WINAPI OleUIEditLinksA(_In_ LPOLEUIEDITLINKSA lpOleUIEditLinks); 1079 UINT WINAPI OleUIEditLinksW(_In_ LPOLEUIEDITLINKSW lpOleUIEditLinks); 1080 #define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks) 1081 1082 BOOL 1083 WINAPI 1084 OleUIUpdateLinksA( 1085 _In_ LPOLEUILINKCONTAINERA lpOleUILinkCntr, 1086 _In_ HWND hwndParent, 1087 _In_ LPSTR lpszTitle, 1088 _In_ INT cLinks); 1089 1090 BOOL 1091 WINAPI 1092 OleUIUpdateLinksW( 1093 _In_ LPOLEUILINKCONTAINERW lpOleUILinkCntr, 1094 _In_ HWND hwndParent, 1095 _In_ LPWSTR lpszTitle, 1096 _In_ INT cLinks); 1097 1098 #define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks) 1099 1100 BOOL 1101 WINAPI 1102 OleUIAddVerbMenuA( 1103 _In_opt_ LPOLEOBJECT lpOleObj, 1104 _In_opt_ LPCSTR lpszShortType, 1105 _In_ HMENU hMenu, 1106 _In_ UINT uPos, 1107 _In_ UINT uIDVerbMin, 1108 _In_ UINT uIDVerbMax, 1109 _In_ BOOL bAddConvert, 1110 _In_ UINT idConvert, 1111 _Out_ HMENU *lphMenu); 1112 1113 BOOL 1114 WINAPI 1115 OleUIAddVerbMenuW( 1116 _In_opt_ LPOLEOBJECT lpOleObj, 1117 _In_opt_ LPCWSTR lpszShortType, 1118 _In_ HMENU hMenu, 1119 _In_ UINT uPos, 1120 _In_ UINT uIDVerbMin, 1121 _In_ UINT uIDVerbMax, 1122 _In_ BOOL bAddConvert, 1123 _In_ UINT idConvert, 1124 _Out_ HMENU *lphMenu); 1125 1126 #define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu) 1127 1128 UINT WINAPI OleUIPasteSpecialA(_In_ LPOLEUIPASTESPECIALA lpOleUIPasteSpecial); 1129 UINT WINAPI OleUIPasteSpecialW(_In_ LPOLEUIPASTESPECIALW lpOleUIPasteSpecial); 1130 #define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial) 1131 INT __cdecl OleUIPromptUserA(INT,HWND, ...); 1132 INT __cdecl OleUIPromptUserW(INT,HWND, ...); 1133 #define OleUIPromptUser WINELIB_NAME_AW(OleUIPromptUser) 1134 1135 #ifdef __cplusplus 1136 } /* Extern "C" */ 1137 #endif 1138 1139 1140 #endif /* __WINE_OLEDLG_H */ 1141