1/* 2 * COM interfaces for shell objects 3 * 4 * Copyright (C) 2004 Maxime Bellengé 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 21import "ocidl.idl"; 22 23#include <shdispid.h> 24 25cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") 26cpp_quote("#undef ShellExecute") 27cpp_quote("#endif") 28 29/***************************************************************************** 30 * IEnumACString interface 31 */ 32[ 33 local, 34 object, 35 uuid(8e74c210-cf9d-4eaf-a403-7356428f0a5a), 36 pointer_default(unique) 37] 38interface IEnumACString : IEnumString 39{ 40 typedef IEnumACString *PENUMACSTRING, *LPENUMACSTRING; 41 42 typedef enum _tagACENUMOPTION 43 { 44 ACEO_NONE = 0x00000000, 45 ACEO_MOSTRECENTFIRST = 0x00000001, 46 ACEO_FIRSTUNUSED = 0x00010000, 47 } ACENUMOPTION; 48 49 HRESULT NextItem( [out] LPWSTR pszUrl, 50 [in] ULONG cchMax, 51 [out] ULONG *pulSortIndex); 52 53 HRESULT SetEnumOptions( [in] DWORD dwOptions ); 54 55 HRESULT GetEnumOptions( [out] DWORD *pdwOptions ); 56} 57 58/***************************************************************************** 59 * IAutoComplete interface 60 */ 61[ 62 local, 63 object, 64 uuid(00bb2762-6a77-11d0-a535-00c04fd7d062), 65 pointer_default(unique) 66] 67interface IAutoComplete : IUnknown 68{ 69 typedef IAutoComplete *LPAUTOCOMPLETE; 70 71 HRESULT Init( [in] HWND hwndEdit, 72 [in] IUnknown *punkACL, 73 [in] LPCOLESTR pwszRegKeyPath, 74 [in] LPCOLESTR pwszQuickComplete); 75 76 HRESULT Enable( [in] BOOL fEnable ); 77} 78 79/***************************************************************************** 80 * IAutoComplete2 interface 81 */ 82[ 83 local, 84 object, 85 uuid(eac04bc0-3791-11d2-bb95-0060977b464c), 86 pointer_default(unique) 87] 88interface IAutoComplete2 : IAutoComplete 89{ 90 typedef IAutoComplete2 *LPAUTOCOMPLETE2; 91 92 typedef enum _tagAUTOCOMPLETEOPTIONS 93 { 94 ACO_NONE = 0x00, /* No AutoComplete */ 95 ACO_AUTOSUGGEST = 0x01, /* enable autosuggest dropdown */ 96 ACO_AUTOAPPEND = 0x02, /* enable autoappend */ 97 ACO_SEARCH = 0x04, /* add search entry to completion list */ 98 ACO_FILTERPREFIXES = 0x08, /* don't match common prefixes (www., http://, etc) */ 99 ACO_USETAB = 0x10, /* use tab to select autosuggest entries */ 100 ACO_UPDOWNKEYDROPSLIST = 0x20, /* up/down arrow key invokes autosuggest dropdown (if enabled) */ 101 ACO_RTLREADING = 0x40, /* enable RTL reading order for dropdown */ 102 } AUTOCOMPLETEOPTIONS; 103 104 HRESULT SetOptions( [in] DWORD dwFlag); 105 106 HRESULT GetOptions( [out] DWORD *pdwFlag); 107} 108 109[ 110 uuid(50a7e9b0-70ef-11d1-b75a-00a0c90564fe), 111 version(1.0) 112] 113library Shell32 114{ 115 116importlib("stdole2.tlb"); 117 118[ 119 object, 120 oleautomation, 121 uuid(9ba05970-f6a8-11cf-a442-00a0c90a8f39), 122 pointer_default(unique) 123] 124interface IFolderViewOC : IDispatch 125{ 126 HRESULT SetFolderView( [in] IDispatch *pdisp ); 127} 128 129[ 130 uuid(62112aa2-ebe4-11cf-a5fb-0020afe7292d) 131] 132dispinterface DShellFolderViewEvents 133{ 134 properties: 135 methods: 136 [id(DISPID_SELECTIONCHANGED)] 137 void SelectionChanged(); 138 139 [id(DISPID_FILELISTENUMDONE)] 140 void EnumDone(); 141 142 [id(DISPID_VERBINVOKED)] 143 VARIANT_BOOL VerbInvoked(); 144 145 [id(DISPID_DEFAULTVERBINVOKED)] 146 VARIANT_BOOL DefaultVerbInvoked(); 147 148 [id(DISPID_BEGINDRAG)] 149 VARIANT_BOOL BeginDrag(); 150} 151 152[ 153 uuid(9ba05971-f6a8-11cf-a442-00a0c90a8f39), 154 hidden 155] 156coclass ShellFolderViewOC 157{ 158 [default] interface IFolderViewOC; 159 [default, source] dispinterface DShellFolderViewEvents; 160} 161 162interface FolderItem; 163interface FolderItems; 164interface FolderItemVerb; 165interface FolderItemVerbs; 166 167/***************************************************************************** 168 * Folder interface 169 */ 170[ 171 object, 172 uuid(bbcbde60-c3ff-11ce-8350-444553540000), 173 oleautomation, 174 dual 175] 176interface Folder : IDispatch 177{ 178 [propget, id(DISPID_VALUE)] 179 HRESULT Title( [out, retval] BSTR *pbs ); 180 181 [propget] 182 HRESULT Application( [out, retval] IDispatch **ppid ); 183 184 [propget] 185 HRESULT Parent( [out, retval] IDispatch **ppid ); 186 187 [propget] 188 HRESULT ParentFolder( [out, retval] Folder **ppsf ); 189 190 HRESULT Items( [out, retval] FolderItems **ppid ); 191 192 HRESULT ParseName( [in] BSTR bName, [out, retval] FolderItem **ppid ); 193 194 HRESULT NewFolder( [in] BSTR bName, [in, optional] VARIANT vOptions ); 195 196 HRESULT MoveHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions ); 197 198 HRESULT CopyHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions ); 199 200 HRESULT GetDetailsOf( [in] VARIANT vItem, 201 [in] int iColumn, 202 [out, retval] BSTR *pbs ); 203} 204 205/***************************************************************************** 206 * Folder2 interface 207 */ 208[ 209 object, 210 uuid(f0d2d8ef-3890-11d2-bf8b-00c04fb93661), 211 oleautomation, 212 dual 213] 214interface Folder2 : Folder 215{ 216 [propget] 217 HRESULT Self( [out, retval] FolderItem **ppfi ); 218 219 [propget] 220 HRESULT OfflineStatus( [out, retval] LONG *pul ); 221 222 HRESULT Synchronize(); 223 224 [propget, id(1)] 225 HRESULT HaveToShowWebViewBarricade( 226 [out, retval] VARIANT_BOOL *pbHaveToShowWebViewBarricade ); 227 228 HRESULT DismissedWebViewBarricade(); 229} 230 231/***************************************************************************** 232 * Folder3 interface 233 */ 234[ 235 object, 236 uuid(a7ae5f64-c4d7-4d7f-9307-4d24ee54b841), 237 oleautomation, 238 dual 239] 240interface Folder3 : Folder2 241{ 242 [propget, id(2)] 243 HRESULT ShowWebViewBarricade( 244 [out, retval] VARIANT_BOOL *pbShowWebViewBarricade ); 245 246 [propput, id(2)] 247 HRESULT ShowWebViewBarricade( [in] VARIANT_BOOL bShowWebViewBarricade ); 248} 249 250/***************************************************************************** 251 * FolderItem interface 252 */ 253[ 254 object, 255 uuid(fac32c80-cbe4-11ce-8350-444553540000), 256 oleautomation, 257 dual 258] 259interface FolderItem : IDispatch 260{ 261 typedef FolderItem *LPFOLDERITEM; 262 263 [propget] 264 HRESULT Application( [out, retval] IDispatch **ppid ); 265 266 [propget] 267 HRESULT Parent( [out, retval] IDispatch **ppid ); 268 269 [propget, id(DISPID_VALUE)] 270 HRESULT Name( [out, retval] BSTR *pbs ); 271 272 [propput, id(DISPID_VALUE)] 273 HRESULT Name( [in] BSTR bs ); 274 275 [propget] 276 HRESULT Path( [out, retval] BSTR *pbs ); 277 278 [propget] 279 HRESULT GetLink( [out, retval] IDispatch **ppid ); 280 281 [propget] 282 HRESULT GetFolder( [out, retval] IDispatch **ppid ); 283 284 [propget] 285 HRESULT IsLink( [out, retval] VARIANT_BOOL *pb ); 286 287 [propget] 288 HRESULT IsFolder( [out, retval] VARIANT_BOOL *pb ); 289 290 [propget] 291 HRESULT IsFileSystem( [out, retval] VARIANT_BOOL *pb ); 292 293 [propget] 294 HRESULT IsBrowsable( [out, retval] VARIANT_BOOL *pb ); 295 296 [propget] 297 HRESULT ModifyDate( [out, retval] DATE *pdt ); 298 299 [propput] 300 HRESULT ModifyDate( [in] DATE dt ); 301 302 [propget] 303 HRESULT Size( [out, retval] LONG *pul ); 304 305 [propget] 306 HRESULT Type( [out, retval] BSTR *pbs ); 307 308 HRESULT Verbs( [out, retval] FolderItemVerbs **ppfic ); 309 310 HRESULT InvokeVerb( [in, optional] VARIANT vVerb ); 311} 312 313[ 314 object, 315 uuid(edc817aa-92b8-11d1-b075-00c04fc33aa5), 316 oleautomation, 317 dual 318] 319interface FolderItem2 : FolderItem 320{ 321 HRESULT InvokeVerbEx( [in, optional] VARIANT vVerb, [in, optional] VARIANT vArgs ); 322 323 HRESULT ExtendedProperty( [in] BSTR sPropName, [out, retval] VARIANT *pvRet ); 324} 325 326[ 327 uuid(2fe352ea-fd1f-11d2-b1f4-00c04f8eeb3e) 328] 329coclass ShellFolderItem 330{ 331 interface FolderItem2; 332} 333 334/***************************************************************************** 335 * FolderItems interface 336 */ 337[ 338 object, 339 uuid(744129e0-cbe5-11ce-8350-444553540000), 340 oleautomation, 341 dual 342] 343interface FolderItems : IDispatch 344{ 345 [propget] 346 HRESULT Count( [out, retval] long *plCount ); 347 348 [propget] 349 HRESULT Application( [out, retval] IDispatch **ppid ); 350 351 [propget] 352 HRESULT Parent( [out, retval] IDispatch **ppid ); 353 354 HRESULT Item( [in, optional] VARIANT index, 355 [out, retval] FolderItem **ppid ); 356 357 [id(DISPID_NEWENUM)] 358 HRESULT _NewEnum( [out, retval] IUnknown **ppunk ); 359} 360 361/***************************************************************************** 362 * FolderItems2 interface 363 */ 364[ 365 uuid(c94f0ad0-f363-11d2-a327-00c04f8eec7f), 366 oleautomation, 367 dual 368] 369interface FolderItems2 : FolderItems 370{ 371 HRESULT InvokeVerbEx( [in, optional] VARIANT verb, 372 [in, optional] VARIANT args ); 373} 374 375/***************************************************************************** 376 * FolderItems3 interface 377 */ 378[ 379 uuid(eaa7c309-bbec-49d5-821d-64d966cb667f), 380 oleautomation, 381 dual 382] 383interface FolderItems3 : FolderItems2 384{ 385 HRESULT Filter( [in] long flags, [in] BSTR spec ); 386 387 [id(0), propget] 388 HRESULT Verbs( [out, retval] FolderItemVerbs **ppfic ); 389} 390 391/***************************************************************************** 392 * FolderItemVerb interface 393 */ 394[ 395 object, 396 uuid(08ec3e00-50b0-11cf-960c-0080c7f4ee85), 397 oleautomation, 398 dual 399] 400interface FolderItemVerb : IDispatch 401{ 402 [propget] 403 HRESULT Application( [out, retval] IDispatch **ppid ); 404 405 [propget] 406 HRESULT Parent( [out, retval] IDispatch **ppid ); 407 408 [propget, id(DISPID_VALUE)] 409 HRESULT Name( [out, retval] BSTR *pbs ); 410 411 HRESULT DoIt(); 412} 413 414/***************************************************************************** 415 * FolderItemVerbs interface 416 */ 417[ 418 object, 419 uuid(1f8352c0-50b0-11cf-960c-0080c7f4ee85), 420 oleautomation, 421 dual 422] 423interface FolderItemVerbs : IDispatch 424{ 425 [propget] 426 HRESULT Count( [out, retval] long *plCount ); 427 428 [propget] 429 HRESULT Application( [out, retval] IDispatch **ppid ); 430 431 [propget] 432 HRESULT Parent( [out, retval] IDispatch **ppid ); 433 434 HRESULT Item( [in, optional] VARIANT index, 435 [out, retval] FolderItemVerb **ppid ); 436 437 [id(DISPID_NEWENUM)] 438 HRESULT _NewEnum( [out, retval] IUnknown **ppunk ); 439} 440 441/***************************************************************************** 442 * IShellDispatch interface 443 */ 444[ 445 object, 446 uuid(d8f015c0-c278-11ce-a49e-444553540000), 447 oleautomation, 448 hidden, 449 dual 450] 451interface IShellDispatch : IDispatch 452{ 453 [propget] 454 HRESULT Application( [out, retval] IDispatch **ppid ); 455 456 [propget] 457 HRESULT Parent( [out, retval] IDispatch **ppid ); 458 459 HRESULT NameSpace( [in] VARIANT vDir, [out, retval] Folder **ppsdf ); 460 461 HRESULT BrowseForFolder( [in] long Hwnd, 462 [in] BSTR Title, 463 [in] long Options, 464 [in, optional] VARIANT RootFolder, 465 [out, retval] Folder **ppsdf ); 466 467 HRESULT Windows( [out, retval] IDispatch **ppid ); 468 469 HRESULT Open( [in] VARIANT vDir ); 470 471 HRESULT Explore( [in] VARIANT vDir ); 472 473 HRESULT MinimizeAll(); 474 475 HRESULT UndoMinimizeALL(); 476 477 HRESULT FileRun(); 478 479 HRESULT CascadeWindows(); 480 481 HRESULT TileVertically(); 482 483 HRESULT TileHorizontally(); 484 485 HRESULT ShutdownWindows(); 486 487 HRESULT Suspend(); 488 489 HRESULT EjectPC(); 490 491 HRESULT SetTime(); 492 493 HRESULT TrayProperties(); 494 495 HRESULT Help(); 496 497 HRESULT FindFiles(); 498 499 HRESULT FindComputer(); 500 501 HRESULT RefreshMenu(); 502 503 HRESULT ControlPanelItem( [in] BSTR szDir ); 504} 505 506[ 507 object, 508 uuid(a4c6892c-3ba9-11d2-9dea-00c04fb16162), 509 oleautomation, 510 hidden, 511 dual, 512] 513interface IShellDispatch2 : IShellDispatch 514{ 515 HRESULT IsRestricted([in] BSTR group, [in] BSTR restriction, [out, retval] long *value); 516 HRESULT ShellExecute([in] BSTR file, [in, optional] VARIANT args, [in, optional] VARIANT dir, 517 [in, optional] VARIANT op, [in, optional] VARIANT show); 518 HRESULT FindPrinter([in, optional] BSTR name, [in, optional] BSTR location, [in, optional] BSTR model); 519 HRESULT GetSystemInformation([in] BSTR name, [out, retval] VARIANT *ret); 520 HRESULT ServiceStart([in] BSTR service, [in] VARIANT persistent, [out, retval] VARIANT *ret); 521 HRESULT ServiceStop([in] BSTR service, [in] VARIANT persistent, [out, retval] VARIANT *ret); 522 HRESULT IsServiceRunning([in] BSTR service, [out, retval] VARIANT *running); 523 HRESULT CanStartStopService([in] BSTR service, [out, retval] VARIANT *ret); 524 HRESULT ShowBrowserBar([in] BSTR clsid, [in] VARIANT show, [out, retval] VARIANT *ret); 525} 526 527[ 528 uuid(177160ca-bb5a-411c-841d-bd38facdeaa0), 529 oleautomation, 530 hidden, 531 dual 532] 533interface IShellDispatch3 : IShellDispatch2 534{ 535 HRESULT AddToRecent([in] VARIANT file, [in, optional] BSTR category); 536} 537 538[ 539 uuid(efd84b2d-4bcf-4298-be25-eb542a59fbda), 540 oleautomation, 541 hidden, 542 dual 543] 544interface IShellDispatch4 : IShellDispatch3 545{ 546 HRESULT WindowsSecurity(); 547 HRESULT ToggleDesktop(); 548 HRESULT ExplorerPolicy([in] BSTR policy, [out, retval] VARIANT *value); 549 HRESULT GetSetting([in] long setting, [out,retval] VARIANT_BOOL *result); 550} 551 552[ 553 uuid(866738b9-6cf2-4de8-8767-f794ebe74f4e), 554 oleautomation, 555 hidden, 556 dual 557] 558interface IShellDispatch5 : IShellDispatch4 559{ 560 HRESULT WindowSwitcher(); 561} 562 563[ 564 uuid(286e6f1b-7113-4355-9562-96b7e9d64c54), 565 oleautomation, 566 hidden, 567 dual, 568] 569interface IShellDispatch6 : IShellDispatch5 570{ 571 HRESULT SearchCommand(void); 572} 573 574[ 575 uuid(13709620-c279-11ce-a49e-444553540000) 576] 577coclass Shell 578{ 579 [default] interface IShellDispatch2; 580} 581 582[ 583 uuid(0a89a860-d7b1-11ce-8350-444553540000), 584 hidden 585] 586coclass ShellDispatchInproc 587{ 588 interface IUnknown; 589} 590 591typedef 592[ 593 uuid(ca31ea20-48d0-11cf-8350-444553540000) 594] 595enum ShellSpecialFolderConstants { 596 ssfDESKTOP = 0x00, 597 ssfPROGRAMS = 0x02, 598 ssfCONTROLS = 0x03, 599 ssfPRINTERS = 0x04, 600 ssfPERSONAL = 0x05, 601 ssfFAVORITES = 0x06, 602 ssfSTARTUP = 0x07, 603 ssfRECENT = 0x08, 604 ssfSENDTO = 0x09, 605 ssfBITBUCKET = 0x0a, 606 ssfSTARTMENU = 0x0b, 607 ssfDESKTOPDIRECTORY = 0x10, 608 ssfDRIVES = 0x11, 609 ssfNETWORK = 0x12, 610 ssfNETHOOD = 0x13, 611 ssfFONTS = 0x14, 612 ssfTEMPLATES = 0x15, 613 ssfCOMMONSTARTMENU = 0x16, 614 ssfCOMMONPROGRAMS = 0x17, 615 ssfCOMMONSTARTUP = 0x18, 616 ssfCOMMONDESKTOPDIR = 0x19, 617 ssfAPPDATA = 0x1a, 618 ssfPRINTHOOD = 0x1b, 619 ssfLOCALAPPDATA = 0x1c, 620 ssfALTSTARTUP = 0x1d, 621 ssfCOMMONALTSTARTUP = 0x1e, 622 ssfCOMMONFAVORITES = 0x1f, 623 ssfINTERNETCACHE = 0x20, 624 ssfCOOKIES = 0x21, 625 ssfHISTORY = 0x22, 626 ssfCOMMONAPPDATA = 0x23, 627 ssfWINDOWS = 0x24, 628 ssfSYSTEM = 0x25, 629 ssfPROGRAMFILES = 0x26, 630 ssfMYPICTURES = 0x27, 631 ssfPROFILE = 0x28, 632 ssfSYSTEMx86 = 0x29, 633 ssfPROGRAMFILESx86 = 0x30 634} ShellSpecialFolderConstants; 635 636/***************************************************************************** 637 * IShellFolderViewDual interface 638 */ 639typedef 640[ 641 uuid(742a99a0-c77e-11d0-a32c-00a0c91eedba) 642] 643enum ShellFolderViewOptions 644{ 645 SFVVO_SHOWALLOBJECTS = 0x00000001, 646 SFVVO_SHOWEXTENSIONS = 0x00000002, 647 SFVVO_SHOWCOMPCOLOR = 0x00000008, 648 SFVVO_SHOWSYSFILES = 0x00000020, 649 SFVVO_WIN95CLASSIC = 0x00000040, 650 SFVVO_DOUBLECLICKINWEBVIEW = 0x00000080, 651 SFVVO_DESKTOPHTML = 0x00000200 652} ShellFolderViewOptions; 653 654[ 655 uuid(e7a1af80-4d96-11cf-960c-0080c7f4ee85), 656 oleautomation, 657 hidden, 658 dual 659] 660interface IShellFolderViewDual : IDispatch 661{ 662 [propget] 663 HRESULT Application([out, retval] IDispatch **app); 664 665 [propget] 666 HRESULT Parent([out, retval] IDispatch **parent); 667 668 [propget] 669 HRESULT Folder([out, retval] Folder **folder); 670 671 HRESULT SelectedItems([out, retval] FolderItems **items); 672 673 [propget] 674 HRESULT FocusedItem([out, retval] FolderItem **item); 675 676 HRESULT SelectItem([in] VARIANT *item, [in] int flags); 677 678 HRESULT PopupItemMenu([in] FolderItem *item, 679 [in, optional] VARIANT vx, 680 [in, optional] VARIANT vy, 681 [out, retval] BSTR *command); 682 [propget] 683 HRESULT Script([out, retval] IDispatch **script); 684 685 [propget] 686 HRESULT ViewOptions([out, retval] long *options); 687} 688 689[ 690 uuid(31c147b6-0ade-4a3c-b514-ddf932ef6d17), 691 oleautomation, 692 hidden, 693 dual 694] 695interface IShellFolderViewDual2 : IShellFolderViewDual 696{ 697 [propget] 698 HRESULT CurrentViewMode([out, retval] UINT *mode); 699 700 [propput] 701 HRESULT CurrentViewMode([in] UINT mode); 702 703 HRESULT SelectItemRelative([in] int relative); 704} 705 706[ 707 uuid(29ec8e6c-46d3-411f-baaa-611a6c9cac66), 708 oleautomation, 709 hidden, 710 dual 711] 712interface IShellFolderViewDual3 : IShellFolderViewDual2 713{ 714 [propget] 715 HRESULT GroupBy([out, retval] BSTR *groupby); 716 717 [propput] 718 HRESULT GroupBy([in] BSTR groupby); 719 720 [propget] 721 HRESULT FolderFlags([out, retval] DWORD *flags); 722 723 [propput] 724 HRESULT FolderFlags([in] DWORD flags); 725 726 [propget] 727 HRESULT SortColumns([out, retval] BSTR *sortcolumns); 728 729 [propput] 730 HRESULT SortColumns([in] BSTR sortcolumns); 731 732 [propput] 733 HRESULT IconSize([in] int icon_size); 734 735 [propget] 736 HRESULT IconSize([out, retval] int *icon_size); 737 738 HRESULT FilterView([in, unique] BSTR filter_text); 739} 740 741[ 742 uuid(62112aa1-ebe4-11cf-a5fb-0020afe7292d) 743] 744coclass ShellFolderView 745{ 746 [default] interface IShellFolderViewDual3; 747 [default, source] dispinterface DShellFolderViewEvents; 748} 749 750} /* library Shell32 */ 751 752/***************************************************************************** 753 * IAsyncOperation interface 754 */ 755[ 756 uuid(3d8b0590-f691-11d2-8ea9-006097df5bd4), 757 object, 758] 759 760interface IAsyncOperation : IUnknown 761{ 762 typedef [unique] IAsyncOperation *LPASYNCOPERATION; 763 764 HRESULT SetAsyncMode([in] BOOL fDoOpAsync); 765 766 HRESULT GetAsyncMode([out] BOOL *pfIsOpAsync); 767 768 HRESULT StartOperation([in, unique, optional] IBindCtx *pbcReserved); 769 770 HRESULT InOperation([out] BOOL *pfInAsyncOp); 771 772 HRESULT EndOperation( 773 [in] HRESULT hResult, 774 [in, unique] IBindCtx *pbcReserved, 775 [in] DWORD dwEffects); 776} 777