shobjidl.h (1248408B) - Raw
1 /*** Autogenerated by WIDL 10.4 from include/shobjidl.idl - Do not edit ***/ 2 3 #ifdef _WIN32 4 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 5 #define __REQUIRED_RPCNDR_H_VERSION__ 475 6 #endif 7 #include <rpc.h> 8 #include <rpcndr.h> 9 #endif 10 11 #ifndef COM_NO_WINDOWS_H 12 #include <windows.h> 13 #include <ole2.h> 14 #endif 15 16 #ifndef __shobjidl_h__ 17 #define __shobjidl_h__ 18 19 /* Forward declarations */ 20 21 #ifndef __IContextMenu_FWD_DEFINED__ 22 #define __IContextMenu_FWD_DEFINED__ 23 typedef interface IContextMenu IContextMenu; 24 #ifdef __cplusplus 25 interface IContextMenu; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IContextMenu2_FWD_DEFINED__ 30 #define __IContextMenu2_FWD_DEFINED__ 31 typedef interface IContextMenu2 IContextMenu2; 32 #ifdef __cplusplus 33 interface IContextMenu2; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __IContextMenu3_FWD_DEFINED__ 38 #define __IContextMenu3_FWD_DEFINED__ 39 typedef interface IContextMenu3 IContextMenu3; 40 #ifdef __cplusplus 41 interface IContextMenu3; 42 #endif /* __cplusplus */ 43 #endif 44 45 #ifndef __IExecuteCommand_FWD_DEFINED__ 46 #define __IExecuteCommand_FWD_DEFINED__ 47 typedef interface IExecuteCommand IExecuteCommand; 48 #ifdef __cplusplus 49 interface IExecuteCommand; 50 #endif /* __cplusplus */ 51 #endif 52 53 #ifndef __IPersistFolder_FWD_DEFINED__ 54 #define __IPersistFolder_FWD_DEFINED__ 55 typedef interface IPersistFolder IPersistFolder; 56 #ifdef __cplusplus 57 interface IPersistFolder; 58 #endif /* __cplusplus */ 59 #endif 60 61 #ifndef __IRunnableTask_FWD_DEFINED__ 62 #define __IRunnableTask_FWD_DEFINED__ 63 typedef interface IRunnableTask IRunnableTask; 64 #ifdef __cplusplus 65 interface IRunnableTask; 66 #endif /* __cplusplus */ 67 #endif 68 69 #ifndef __IShellTaskScheduler_FWD_DEFINED__ 70 #define __IShellTaskScheduler_FWD_DEFINED__ 71 typedef interface IShellTaskScheduler IShellTaskScheduler; 72 #ifdef __cplusplus 73 interface IShellTaskScheduler; 74 #endif /* __cplusplus */ 75 #endif 76 77 #ifndef __IQueryCodePage_FWD_DEFINED__ 78 #define __IQueryCodePage_FWD_DEFINED__ 79 typedef interface IQueryCodePage IQueryCodePage; 80 #ifdef __cplusplus 81 interface IQueryCodePage; 82 #endif /* __cplusplus */ 83 #endif 84 85 #ifndef __IPersistFolder2_FWD_DEFINED__ 86 #define __IPersistFolder2_FWD_DEFINED__ 87 typedef interface IPersistFolder2 IPersistFolder2; 88 #ifdef __cplusplus 89 interface IPersistFolder2; 90 #endif /* __cplusplus */ 91 #endif 92 93 #ifndef __IPersistFolder3_FWD_DEFINED__ 94 #define __IPersistFolder3_FWD_DEFINED__ 95 typedef interface IPersistFolder3 IPersistFolder3; 96 #ifdef __cplusplus 97 interface IPersistFolder3; 98 #endif /* __cplusplus */ 99 #endif 100 101 #ifndef __IPersistIDList_FWD_DEFINED__ 102 #define __IPersistIDList_FWD_DEFINED__ 103 typedef interface IPersistIDList IPersistIDList; 104 #ifdef __cplusplus 105 interface IPersistIDList; 106 #endif /* __cplusplus */ 107 #endif 108 109 #ifndef __IEnumIDList_FWD_DEFINED__ 110 #define __IEnumIDList_FWD_DEFINED__ 111 typedef interface IEnumIDList IEnumIDList; 112 #ifdef __cplusplus 113 interface IEnumIDList; 114 #endif /* __cplusplus */ 115 #endif 116 117 #ifndef __IEnumFullIDList_FWD_DEFINED__ 118 #define __IEnumFullIDList_FWD_DEFINED__ 119 typedef interface IEnumFullIDList IEnumFullIDList; 120 #ifdef __cplusplus 121 interface IEnumFullIDList; 122 #endif /* __cplusplus */ 123 #endif 124 125 #ifndef __IObjectWithFolderEnumMode_FWD_DEFINED__ 126 #define __IObjectWithFolderEnumMode_FWD_DEFINED__ 127 typedef interface IObjectWithFolderEnumMode IObjectWithFolderEnumMode; 128 #ifdef __cplusplus 129 interface IObjectWithFolderEnumMode; 130 #endif /* __cplusplus */ 131 #endif 132 133 #ifndef __IParseAndCreateItem_FWD_DEFINED__ 134 #define __IParseAndCreateItem_FWD_DEFINED__ 135 typedef interface IParseAndCreateItem IParseAndCreateItem; 136 #ifdef __cplusplus 137 interface IParseAndCreateItem; 138 #endif /* __cplusplus */ 139 #endif 140 141 #ifndef __IShellFolder_FWD_DEFINED__ 142 #define __IShellFolder_FWD_DEFINED__ 143 typedef interface IShellFolder IShellFolder; 144 #ifdef __cplusplus 145 interface IShellFolder; 146 #endif /* __cplusplus */ 147 #endif 148 149 #ifndef __IEnumExtraSearch_FWD_DEFINED__ 150 #define __IEnumExtraSearch_FWD_DEFINED__ 151 typedef interface IEnumExtraSearch IEnumExtraSearch; 152 #ifdef __cplusplus 153 interface IEnumExtraSearch; 154 #endif /* __cplusplus */ 155 #endif 156 157 #ifndef __IShellFolder2_FWD_DEFINED__ 158 #define __IShellFolder2_FWD_DEFINED__ 159 typedef interface IShellFolder2 IShellFolder2; 160 #ifdef __cplusplus 161 interface IShellFolder2; 162 #endif /* __cplusplus */ 163 #endif 164 165 #ifndef __IFolderViewOptions_FWD_DEFINED__ 166 #define __IFolderViewOptions_FWD_DEFINED__ 167 typedef interface IFolderViewOptions IFolderViewOptions; 168 #ifdef __cplusplus 169 interface IFolderViewOptions; 170 #endif /* __cplusplus */ 171 #endif 172 173 #ifndef __IShellView_FWD_DEFINED__ 174 #define __IShellView_FWD_DEFINED__ 175 typedef interface IShellView IShellView; 176 #ifdef __cplusplus 177 interface IShellView; 178 #endif /* __cplusplus */ 179 #endif 180 181 #ifndef __IShellView2_FWD_DEFINED__ 182 #define __IShellView2_FWD_DEFINED__ 183 typedef interface IShellView2 IShellView2; 184 #ifdef __cplusplus 185 interface IShellView2; 186 #endif /* __cplusplus */ 187 #endif 188 189 #ifndef __IShellView3_FWD_DEFINED__ 190 #define __IShellView3_FWD_DEFINED__ 191 typedef interface IShellView3 IShellView3; 192 #ifdef __cplusplus 193 interface IShellView3; 194 #endif /* __cplusplus */ 195 #endif 196 197 #ifndef __IFolderView_FWD_DEFINED__ 198 #define __IFolderView_FWD_DEFINED__ 199 typedef interface IFolderView IFolderView; 200 #ifdef __cplusplus 201 interface IFolderView; 202 #endif /* __cplusplus */ 203 #endif 204 205 #ifndef __ISearchBoxInfo_FWD_DEFINED__ 206 #define __ISearchBoxInfo_FWD_DEFINED__ 207 typedef interface ISearchBoxInfo ISearchBoxInfo; 208 #ifdef __cplusplus 209 interface ISearchBoxInfo; 210 #endif /* __cplusplus */ 211 #endif 212 213 #ifndef __IFolderView2_FWD_DEFINED__ 214 #define __IFolderView2_FWD_DEFINED__ 215 typedef interface IFolderView2 IFolderView2; 216 #ifdef __cplusplus 217 interface IFolderView2; 218 #endif /* __cplusplus */ 219 #endif 220 221 #ifndef __IFolderViewSettings_FWD_DEFINED__ 222 #define __IFolderViewSettings_FWD_DEFINED__ 223 typedef interface IFolderViewSettings IFolderViewSettings; 224 #ifdef __cplusplus 225 interface IFolderViewSettings; 226 #endif /* __cplusplus */ 227 #endif 228 229 #ifndef __IPreviewHandlerVisuals_FWD_DEFINED__ 230 #define __IPreviewHandlerVisuals_FWD_DEFINED__ 231 typedef interface IPreviewHandlerVisuals IPreviewHandlerVisuals; 232 #ifdef __cplusplus 233 interface IPreviewHandlerVisuals; 234 #endif /* __cplusplus */ 235 #endif 236 237 #ifndef __IVisualProperties_FWD_DEFINED__ 238 #define __IVisualProperties_FWD_DEFINED__ 239 typedef interface IVisualProperties IVisualProperties; 240 #ifdef __cplusplus 241 interface IVisualProperties; 242 #endif /* __cplusplus */ 243 #endif 244 245 #ifndef __ICommDlgBrowser_FWD_DEFINED__ 246 #define __ICommDlgBrowser_FWD_DEFINED__ 247 typedef interface ICommDlgBrowser ICommDlgBrowser; 248 #ifdef __cplusplus 249 interface ICommDlgBrowser; 250 #endif /* __cplusplus */ 251 #endif 252 253 #ifndef __ICommDlgBrowser2_FWD_DEFINED__ 254 #define __ICommDlgBrowser2_FWD_DEFINED__ 255 typedef interface ICommDlgBrowser2 ICommDlgBrowser2; 256 #ifdef __cplusplus 257 interface ICommDlgBrowser2; 258 #endif /* __cplusplus */ 259 #endif 260 261 #ifndef __ICommDlgBrowser3_FWD_DEFINED__ 262 #define __ICommDlgBrowser3_FWD_DEFINED__ 263 typedef interface ICommDlgBrowser3 ICommDlgBrowser3; 264 #ifdef __cplusplus 265 interface ICommDlgBrowser3; 266 #endif /* __cplusplus */ 267 #endif 268 269 #ifndef __IColumnManager_FWD_DEFINED__ 270 #define __IColumnManager_FWD_DEFINED__ 271 typedef interface IColumnManager IColumnManager; 272 #ifdef __cplusplus 273 interface IColumnManager; 274 #endif /* __cplusplus */ 275 #endif 276 277 #ifndef __IFolderFilterSite_FWD_DEFINED__ 278 #define __IFolderFilterSite_FWD_DEFINED__ 279 typedef interface IFolderFilterSite IFolderFilterSite; 280 #ifdef __cplusplus 281 interface IFolderFilterSite; 282 #endif /* __cplusplus */ 283 #endif 284 285 #ifndef __IFolderFilter_FWD_DEFINED__ 286 #define __IFolderFilter_FWD_DEFINED__ 287 typedef interface IFolderFilter IFolderFilter; 288 #ifdef __cplusplus 289 interface IFolderFilter; 290 #endif /* __cplusplus */ 291 #endif 292 293 #ifndef __IInputObjectSite_FWD_DEFINED__ 294 #define __IInputObjectSite_FWD_DEFINED__ 295 typedef interface IInputObjectSite IInputObjectSite; 296 #ifdef __cplusplus 297 interface IInputObjectSite; 298 #endif /* __cplusplus */ 299 #endif 300 301 #ifndef __IInputObject_FWD_DEFINED__ 302 #define __IInputObject_FWD_DEFINED__ 303 typedef interface IInputObject IInputObject; 304 #ifdef __cplusplus 305 interface IInputObject; 306 #endif /* __cplusplus */ 307 #endif 308 309 #ifndef __IInputObject2_FWD_DEFINED__ 310 #define __IInputObject2_FWD_DEFINED__ 311 typedef interface IInputObject2 IInputObject2; 312 #ifdef __cplusplus 313 interface IInputObject2; 314 #endif /* __cplusplus */ 315 #endif 316 317 #ifndef __IShellIcon_FWD_DEFINED__ 318 #define __IShellIcon_FWD_DEFINED__ 319 typedef interface IShellIcon IShellIcon; 320 #ifdef __cplusplus 321 interface IShellIcon; 322 #endif /* __cplusplus */ 323 #endif 324 325 #ifndef __IShellBrowser_FWD_DEFINED__ 326 #define __IShellBrowser_FWD_DEFINED__ 327 typedef interface IShellBrowser IShellBrowser; 328 #ifdef __cplusplus 329 interface IShellBrowser; 330 #endif /* __cplusplus */ 331 #endif 332 333 #ifndef __IProfferService_FWD_DEFINED__ 334 #define __IProfferService_FWD_DEFINED__ 335 typedef interface IProfferService IProfferService; 336 #ifdef __cplusplus 337 interface IProfferService; 338 #endif /* __cplusplus */ 339 #endif 340 341 #ifndef __IShellItem_FWD_DEFINED__ 342 #define __IShellItem_FWD_DEFINED__ 343 typedef interface IShellItem IShellItem; 344 #ifdef __cplusplus 345 interface IShellItem; 346 #endif /* __cplusplus */ 347 #endif 348 349 #ifndef __IShellItem2_FWD_DEFINED__ 350 #define __IShellItem2_FWD_DEFINED__ 351 typedef interface IShellItem2 IShellItem2; 352 #ifdef __cplusplus 353 interface IShellItem2; 354 #endif /* __cplusplus */ 355 #endif 356 357 #ifndef __IShellItemImageFactory_FWD_DEFINED__ 358 #define __IShellItemImageFactory_FWD_DEFINED__ 359 typedef interface IShellItemImageFactory IShellItemImageFactory; 360 #ifdef __cplusplus 361 interface IShellItemImageFactory; 362 #endif /* __cplusplus */ 363 #endif 364 365 #ifndef __IUserAccountChangeCallback_FWD_DEFINED__ 366 #define __IUserAccountChangeCallback_FWD_DEFINED__ 367 typedef interface IUserAccountChangeCallback IUserAccountChangeCallback; 368 #ifdef __cplusplus 369 interface IUserAccountChangeCallback; 370 #endif /* __cplusplus */ 371 #endif 372 373 #ifndef __IEnumShellItems_FWD_DEFINED__ 374 #define __IEnumShellItems_FWD_DEFINED__ 375 typedef interface IEnumShellItems IEnumShellItems; 376 #ifdef __cplusplus 377 interface IEnumShellItems; 378 #endif /* __cplusplus */ 379 #endif 380 381 #ifndef __ITransferAdviseSink_FWD_DEFINED__ 382 #define __ITransferAdviseSink_FWD_DEFINED__ 383 typedef interface ITransferAdviseSink ITransferAdviseSink; 384 #ifdef __cplusplus 385 interface ITransferAdviseSink; 386 #endif /* __cplusplus */ 387 #endif 388 389 #ifndef __ITransferSource_FWD_DEFINED__ 390 #define __ITransferSource_FWD_DEFINED__ 391 typedef interface ITransferSource ITransferSource; 392 #ifdef __cplusplus 393 interface ITransferSource; 394 #endif /* __cplusplus */ 395 #endif 396 397 #ifndef __IEnumResources_FWD_DEFINED__ 398 #define __IEnumResources_FWD_DEFINED__ 399 typedef interface IEnumResources IEnumResources; 400 #ifdef __cplusplus 401 interface IEnumResources; 402 #endif /* __cplusplus */ 403 #endif 404 405 #ifndef __IShellItemResources_FWD_DEFINED__ 406 #define __IShellItemResources_FWD_DEFINED__ 407 typedef interface IShellItemResources IShellItemResources; 408 #ifdef __cplusplus 409 interface IShellItemResources; 410 #endif /* __cplusplus */ 411 #endif 412 413 #ifndef __ITransferDestination_FWD_DEFINED__ 414 #define __ITransferDestination_FWD_DEFINED__ 415 typedef interface ITransferDestination ITransferDestination; 416 #ifdef __cplusplus 417 interface ITransferDestination; 418 #endif /* __cplusplus */ 419 #endif 420 421 #ifndef __IStreamAsync_FWD_DEFINED__ 422 #define __IStreamAsync_FWD_DEFINED__ 423 typedef interface IStreamAsync IStreamAsync; 424 #ifdef __cplusplus 425 interface IStreamAsync; 426 #endif /* __cplusplus */ 427 #endif 428 429 #ifndef __IStreamUnbufferedInfo_FWD_DEFINED__ 430 #define __IStreamUnbufferedInfo_FWD_DEFINED__ 431 typedef interface IStreamUnbufferedInfo IStreamUnbufferedInfo; 432 #ifdef __cplusplus 433 interface IStreamUnbufferedInfo; 434 #endif /* __cplusplus */ 435 #endif 436 437 #ifndef __IFileOperationProgressSink_FWD_DEFINED__ 438 #define __IFileOperationProgressSink_FWD_DEFINED__ 439 typedef interface IFileOperationProgressSink IFileOperationProgressSink; 440 #ifdef __cplusplus 441 interface IFileOperationProgressSink; 442 #endif /* __cplusplus */ 443 #endif 444 445 #ifndef __IShellItemArray_FWD_DEFINED__ 446 #define __IShellItemArray_FWD_DEFINED__ 447 typedef interface IShellItemArray IShellItemArray; 448 #ifdef __cplusplus 449 interface IShellItemArray; 450 #endif /* __cplusplus */ 451 #endif 452 453 #ifndef __IInitializeWithItem_FWD_DEFINED__ 454 #define __IInitializeWithItem_FWD_DEFINED__ 455 typedef interface IInitializeWithItem IInitializeWithItem; 456 #ifdef __cplusplus 457 interface IInitializeWithItem; 458 #endif /* __cplusplus */ 459 #endif 460 461 #ifndef __IObjectWithSelection_FWD_DEFINED__ 462 #define __IObjectWithSelection_FWD_DEFINED__ 463 typedef interface IObjectWithSelection IObjectWithSelection; 464 #ifdef __cplusplus 465 interface IObjectWithSelection; 466 #endif /* __cplusplus */ 467 #endif 468 469 #ifndef __IObjectWithBackReferences_FWD_DEFINED__ 470 #define __IObjectWithBackReferences_FWD_DEFINED__ 471 typedef interface IObjectWithBackReferences IObjectWithBackReferences; 472 #ifdef __cplusplus 473 interface IObjectWithBackReferences; 474 #endif /* __cplusplus */ 475 #endif 476 477 #ifndef __IPropertyUI_FWD_DEFINED__ 478 #define __IPropertyUI_FWD_DEFINED__ 479 typedef interface IPropertyUI IPropertyUI; 480 #ifdef __cplusplus 481 interface IPropertyUI; 482 #endif /* __cplusplus */ 483 #endif 484 485 #ifndef __ICategoryProvider_FWD_DEFINED__ 486 #define __ICategoryProvider_FWD_DEFINED__ 487 typedef interface ICategoryProvider ICategoryProvider; 488 #ifdef __cplusplus 489 interface ICategoryProvider; 490 #endif /* __cplusplus */ 491 #endif 492 493 #ifndef __ICategorizer_FWD_DEFINED__ 494 #define __ICategorizer_FWD_DEFINED__ 495 typedef interface ICategorizer ICategorizer; 496 #ifdef __cplusplus 497 interface ICategorizer; 498 #endif /* __cplusplus */ 499 #endif 500 501 #ifndef __IDropTargetHelper_FWD_DEFINED__ 502 #define __IDropTargetHelper_FWD_DEFINED__ 503 typedef interface IDropTargetHelper IDropTargetHelper; 504 #ifdef __cplusplus 505 interface IDropTargetHelper; 506 #endif /* __cplusplus */ 507 #endif 508 509 #ifndef __IDragSourceHelper_FWD_DEFINED__ 510 #define __IDragSourceHelper_FWD_DEFINED__ 511 typedef interface IDragSourceHelper IDragSourceHelper; 512 #ifdef __cplusplus 513 interface IDragSourceHelper; 514 #endif /* __cplusplus */ 515 #endif 516 517 #ifndef __IDragSourceHelper2_FWD_DEFINED__ 518 #define __IDragSourceHelper2_FWD_DEFINED__ 519 typedef interface IDragSourceHelper2 IDragSourceHelper2; 520 #ifdef __cplusplus 521 interface IDragSourceHelper2; 522 #endif /* __cplusplus */ 523 #endif 524 525 #ifndef __IShellLinkA_FWD_DEFINED__ 526 #define __IShellLinkA_FWD_DEFINED__ 527 typedef interface IShellLinkA IShellLinkA; 528 #ifdef __cplusplus 529 interface IShellLinkA; 530 #endif /* __cplusplus */ 531 #endif 532 533 #ifndef __IShellLinkW_FWD_DEFINED__ 534 #define __IShellLinkW_FWD_DEFINED__ 535 typedef interface IShellLinkW IShellLinkW; 536 #ifdef __cplusplus 537 interface IShellLinkW; 538 #endif /* __cplusplus */ 539 #endif 540 541 #ifndef __IShellLinkDataList_FWD_DEFINED__ 542 #define __IShellLinkDataList_FWD_DEFINED__ 543 typedef interface IShellLinkDataList IShellLinkDataList; 544 #ifdef __cplusplus 545 interface IShellLinkDataList; 546 #endif /* __cplusplus */ 547 #endif 548 549 #ifndef __IResolveShellLink_FWD_DEFINED__ 550 #define __IResolveShellLink_FWD_DEFINED__ 551 typedef interface IResolveShellLink IResolveShellLink; 552 #ifdef __cplusplus 553 interface IResolveShellLink; 554 #endif /* __cplusplus */ 555 #endif 556 557 #ifndef __IActionProgressDialog_FWD_DEFINED__ 558 #define __IActionProgressDialog_FWD_DEFINED__ 559 typedef interface IActionProgressDialog IActionProgressDialog; 560 #ifdef __cplusplus 561 interface IActionProgressDialog; 562 #endif /* __cplusplus */ 563 #endif 564 565 #ifndef __IHWEventHandler_FWD_DEFINED__ 566 #define __IHWEventHandler_FWD_DEFINED__ 567 typedef interface IHWEventHandler IHWEventHandler; 568 #ifdef __cplusplus 569 interface IHWEventHandler; 570 #endif /* __cplusplus */ 571 #endif 572 573 #ifndef __IHWEventHandler2_FWD_DEFINED__ 574 #define __IHWEventHandler2_FWD_DEFINED__ 575 typedef interface IHWEventHandler2 IHWEventHandler2; 576 #ifdef __cplusplus 577 interface IHWEventHandler2; 578 #endif /* __cplusplus */ 579 #endif 580 581 #ifndef __IQueryCancelAutoPlay_FWD_DEFINED__ 582 #define __IQueryCancelAutoPlay_FWD_DEFINED__ 583 typedef interface IQueryCancelAutoPlay IQueryCancelAutoPlay; 584 #ifdef __cplusplus 585 interface IQueryCancelAutoPlay; 586 #endif /* __cplusplus */ 587 #endif 588 589 #ifndef __IDynamicHWHandler_FWD_DEFINED__ 590 #define __IDynamicHWHandler_FWD_DEFINED__ 591 typedef interface IDynamicHWHandler IDynamicHWHandler; 592 #ifdef __cplusplus 593 interface IDynamicHWHandler; 594 #endif /* __cplusplus */ 595 #endif 596 597 #ifndef __IActionProgress_FWD_DEFINED__ 598 #define __IActionProgress_FWD_DEFINED__ 599 typedef interface IActionProgress IActionProgress; 600 #ifdef __cplusplus 601 interface IActionProgress; 602 #endif /* __cplusplus */ 603 #endif 604 605 #ifndef __IShellExtInit_FWD_DEFINED__ 606 #define __IShellExtInit_FWD_DEFINED__ 607 typedef interface IShellExtInit IShellExtInit; 608 #ifdef __cplusplus 609 interface IShellExtInit; 610 #endif /* __cplusplus */ 611 #endif 612 613 #ifndef __IShellPropSheetExt_FWD_DEFINED__ 614 #define __IShellPropSheetExt_FWD_DEFINED__ 615 typedef interface IShellPropSheetExt IShellPropSheetExt; 616 #ifdef __cplusplus 617 interface IShellPropSheetExt; 618 #endif /* __cplusplus */ 619 #endif 620 621 #ifndef __IRemoteComputer_FWD_DEFINED__ 622 #define __IRemoteComputer_FWD_DEFINED__ 623 typedef interface IRemoteComputer IRemoteComputer; 624 #ifdef __cplusplus 625 interface IRemoteComputer; 626 #endif /* __cplusplus */ 627 #endif 628 629 #ifndef __IQueryContinue_FWD_DEFINED__ 630 #define __IQueryContinue_FWD_DEFINED__ 631 typedef interface IQueryContinue IQueryContinue; 632 #ifdef __cplusplus 633 interface IQueryContinue; 634 #endif /* __cplusplus */ 635 #endif 636 637 #ifndef __IObjectWithCancelEvent_FWD_DEFINED__ 638 #define __IObjectWithCancelEvent_FWD_DEFINED__ 639 typedef interface IObjectWithCancelEvent IObjectWithCancelEvent; 640 #ifdef __cplusplus 641 interface IObjectWithCancelEvent; 642 #endif /* __cplusplus */ 643 #endif 644 645 #ifndef __IUserNotification_FWD_DEFINED__ 646 #define __IUserNotification_FWD_DEFINED__ 647 typedef interface IUserNotification IUserNotification; 648 #ifdef __cplusplus 649 interface IUserNotification; 650 #endif /* __cplusplus */ 651 #endif 652 653 #ifndef __IUserNotificationCallback_FWD_DEFINED__ 654 #define __IUserNotificationCallback_FWD_DEFINED__ 655 typedef interface IUserNotificationCallback IUserNotificationCallback; 656 #ifdef __cplusplus 657 interface IUserNotificationCallback; 658 #endif /* __cplusplus */ 659 #endif 660 661 #ifndef __IUserNotification2_FWD_DEFINED__ 662 #define __IUserNotification2_FWD_DEFINED__ 663 typedef interface IUserNotification2 IUserNotification2; 664 #ifdef __cplusplus 665 interface IUserNotification2; 666 #endif /* __cplusplus */ 667 #endif 668 669 #ifndef __IItemNameLimits_FWD_DEFINED__ 670 #define __IItemNameLimits_FWD_DEFINED__ 671 typedef interface IItemNameLimits IItemNameLimits; 672 #ifdef __cplusplus 673 interface IItemNameLimits; 674 #endif /* __cplusplus */ 675 #endif 676 677 #ifndef __ISearchFolderItemFactory_FWD_DEFINED__ 678 #define __ISearchFolderItemFactory_FWD_DEFINED__ 679 typedef interface ISearchFolderItemFactory ISearchFolderItemFactory; 680 #ifdef __cplusplus 681 interface ISearchFolderItemFactory; 682 #endif /* __cplusplus */ 683 #endif 684 685 #ifndef __IExtractImage_FWD_DEFINED__ 686 #define __IExtractImage_FWD_DEFINED__ 687 typedef interface IExtractImage IExtractImage; 688 #ifdef __cplusplus 689 interface IExtractImage; 690 #endif /* __cplusplus */ 691 #endif 692 693 #ifndef __IExtractImage2_FWD_DEFINED__ 694 #define __IExtractImage2_FWD_DEFINED__ 695 typedef interface IExtractImage2 IExtractImage2; 696 #ifdef __cplusplus 697 interface IExtractImage2; 698 #endif /* __cplusplus */ 699 #endif 700 701 #ifndef __IThumbnailHandlerFactory_FWD_DEFINED__ 702 #define __IThumbnailHandlerFactory_FWD_DEFINED__ 703 typedef interface IThumbnailHandlerFactory IThumbnailHandlerFactory; 704 #ifdef __cplusplus 705 interface IThumbnailHandlerFactory; 706 #endif /* __cplusplus */ 707 #endif 708 709 #ifndef __IParentAndItem_FWD_DEFINED__ 710 #define __IParentAndItem_FWD_DEFINED__ 711 typedef interface IParentAndItem IParentAndItem; 712 #ifdef __cplusplus 713 interface IParentAndItem; 714 #endif /* __cplusplus */ 715 #endif 716 717 #ifndef __IDockingWindow_FWD_DEFINED__ 718 #define __IDockingWindow_FWD_DEFINED__ 719 typedef interface IDockingWindow IDockingWindow; 720 #ifdef __cplusplus 721 interface IDockingWindow; 722 #endif /* __cplusplus */ 723 #endif 724 725 #ifndef __IDeskBand_FWD_DEFINED__ 726 #define __IDeskBand_FWD_DEFINED__ 727 typedef interface IDeskBand IDeskBand; 728 #ifdef __cplusplus 729 interface IDeskBand; 730 #endif /* __cplusplus */ 731 #endif 732 733 #ifndef __IDeskBandInfo_FWD_DEFINED__ 734 #define __IDeskBandInfo_FWD_DEFINED__ 735 typedef interface IDeskBandInfo IDeskBandInfo; 736 #ifdef __cplusplus 737 interface IDeskBandInfo; 738 #endif /* __cplusplus */ 739 #endif 740 741 #ifndef __IDeskBand2_FWD_DEFINED__ 742 #define __IDeskBand2_FWD_DEFINED__ 743 typedef interface IDeskBand2 IDeskBand2; 744 #ifdef __cplusplus 745 interface IDeskBand2; 746 #endif /* __cplusplus */ 747 #endif 748 749 #ifndef __ITaskbarList_FWD_DEFINED__ 750 #define __ITaskbarList_FWD_DEFINED__ 751 typedef interface ITaskbarList ITaskbarList; 752 #ifdef __cplusplus 753 interface ITaskbarList; 754 #endif /* __cplusplus */ 755 #endif 756 757 #ifndef __ITaskbarList2_FWD_DEFINED__ 758 #define __ITaskbarList2_FWD_DEFINED__ 759 typedef interface ITaskbarList2 ITaskbarList2; 760 #ifdef __cplusplus 761 interface ITaskbarList2; 762 #endif /* __cplusplus */ 763 #endif 764 765 #ifndef __ITaskbarList3_FWD_DEFINED__ 766 #define __ITaskbarList3_FWD_DEFINED__ 767 typedef interface ITaskbarList3 ITaskbarList3; 768 #ifdef __cplusplus 769 interface ITaskbarList3; 770 #endif /* __cplusplus */ 771 #endif 772 773 #ifndef __ITaskbarList4_FWD_DEFINED__ 774 #define __ITaskbarList4_FWD_DEFINED__ 775 typedef interface ITaskbarList4 ITaskbarList4; 776 #ifdef __cplusplus 777 interface ITaskbarList4; 778 #endif /* __cplusplus */ 779 #endif 780 781 #ifndef __IStartMenuPinnedList_FWD_DEFINED__ 782 #define __IStartMenuPinnedList_FWD_DEFINED__ 783 typedef interface IStartMenuPinnedList IStartMenuPinnedList; 784 #ifdef __cplusplus 785 interface IStartMenuPinnedList; 786 #endif /* __cplusplus */ 787 #endif 788 789 #ifndef __ICDBurn_FWD_DEFINED__ 790 #define __ICDBurn_FWD_DEFINED__ 791 typedef interface ICDBurn ICDBurn; 792 #ifdef __cplusplus 793 interface ICDBurn; 794 #endif /* __cplusplus */ 795 #endif 796 797 #ifndef __IWizardSite_FWD_DEFINED__ 798 #define __IWizardSite_FWD_DEFINED__ 799 typedef interface IWizardSite IWizardSite; 800 #ifdef __cplusplus 801 interface IWizardSite; 802 #endif /* __cplusplus */ 803 #endif 804 805 #ifndef __IWizardExtension_FWD_DEFINED__ 806 #define __IWizardExtension_FWD_DEFINED__ 807 typedef interface IWizardExtension IWizardExtension; 808 #ifdef __cplusplus 809 interface IWizardExtension; 810 #endif /* __cplusplus */ 811 #endif 812 813 #ifndef __IWebWizardExtension_FWD_DEFINED__ 814 #define __IWebWizardExtension_FWD_DEFINED__ 815 typedef interface IWebWizardExtension IWebWizardExtension; 816 #ifdef __cplusplus 817 interface IWebWizardExtension; 818 #endif /* __cplusplus */ 819 #endif 820 821 #ifndef __IPublishingWizard_FWD_DEFINED__ 822 #define __IPublishingWizard_FWD_DEFINED__ 823 typedef interface IPublishingWizard IPublishingWizard; 824 #ifdef __cplusplus 825 interface IPublishingWizard; 826 #endif /* __cplusplus */ 827 #endif 828 829 #ifndef __IFolderViewHost_FWD_DEFINED__ 830 #define __IFolderViewHost_FWD_DEFINED__ 831 typedef interface IFolderViewHost IFolderViewHost; 832 #ifdef __cplusplus 833 interface IFolderViewHost; 834 #endif /* __cplusplus */ 835 #endif 836 837 #ifndef __IExplorerBrowserEvents_FWD_DEFINED__ 838 #define __IExplorerBrowserEvents_FWD_DEFINED__ 839 typedef interface IExplorerBrowserEvents IExplorerBrowserEvents; 840 #ifdef __cplusplus 841 interface IExplorerBrowserEvents; 842 #endif /* __cplusplus */ 843 #endif 844 845 #ifndef __IExplorerBrowser_FWD_DEFINED__ 846 #define __IExplorerBrowser_FWD_DEFINED__ 847 typedef interface IExplorerBrowser IExplorerBrowser; 848 #ifdef __cplusplus 849 interface IExplorerBrowser; 850 #endif /* __cplusplus */ 851 #endif 852 853 #ifndef __IAccessibleObject_FWD_DEFINED__ 854 #define __IAccessibleObject_FWD_DEFINED__ 855 typedef interface IAccessibleObject IAccessibleObject; 856 #ifdef __cplusplus 857 interface IAccessibleObject; 858 #endif /* __cplusplus */ 859 #endif 860 861 #ifndef __IResultsFolder_FWD_DEFINED__ 862 #define __IResultsFolder_FWD_DEFINED__ 863 typedef interface IResultsFolder IResultsFolder; 864 #ifdef __cplusplus 865 interface IResultsFolder; 866 #endif /* __cplusplus */ 867 #endif 868 869 #ifndef __IEnumObjects_FWD_DEFINED__ 870 #define __IEnumObjects_FWD_DEFINED__ 871 typedef interface IEnumObjects IEnumObjects; 872 #ifdef __cplusplus 873 interface IEnumObjects; 874 #endif /* __cplusplus */ 875 #endif 876 877 #ifndef __IOperationsProgressDialog_FWD_DEFINED__ 878 #define __IOperationsProgressDialog_FWD_DEFINED__ 879 typedef interface IOperationsProgressDialog IOperationsProgressDialog; 880 #ifdef __cplusplus 881 interface IOperationsProgressDialog; 882 #endif /* __cplusplus */ 883 #endif 884 885 #ifndef __IIOCancelInformation_FWD_DEFINED__ 886 #define __IIOCancelInformation_FWD_DEFINED__ 887 typedef interface IIOCancelInformation IIOCancelInformation; 888 #ifdef __cplusplus 889 interface IIOCancelInformation; 890 #endif /* __cplusplus */ 891 #endif 892 893 #ifndef __IFileOperation_FWD_DEFINED__ 894 #define __IFileOperation_FWD_DEFINED__ 895 typedef interface IFileOperation IFileOperation; 896 #ifdef __cplusplus 897 interface IFileOperation; 898 #endif /* __cplusplus */ 899 #endif 900 901 #ifndef __IObjectProvider_FWD_DEFINED__ 902 #define __IObjectProvider_FWD_DEFINED__ 903 typedef interface IObjectProvider IObjectProvider; 904 #ifdef __cplusplus 905 interface IObjectProvider; 906 #endif /* __cplusplus */ 907 #endif 908 909 #ifndef __INamespaceWalkCB_FWD_DEFINED__ 910 #define __INamespaceWalkCB_FWD_DEFINED__ 911 typedef interface INamespaceWalkCB INamespaceWalkCB; 912 #ifdef __cplusplus 913 interface INamespaceWalkCB; 914 #endif /* __cplusplus */ 915 #endif 916 917 #ifndef __INamespaceWalkCB2_FWD_DEFINED__ 918 #define __INamespaceWalkCB2_FWD_DEFINED__ 919 typedef interface INamespaceWalkCB2 INamespaceWalkCB2; 920 #ifdef __cplusplus 921 interface INamespaceWalkCB2; 922 #endif /* __cplusplus */ 923 #endif 924 925 #ifndef __INamespaceWalk_FWD_DEFINED__ 926 #define __INamespaceWalk_FWD_DEFINED__ 927 typedef interface INamespaceWalk INamespaceWalk; 928 #ifdef __cplusplus 929 interface INamespaceWalk; 930 #endif /* __cplusplus */ 931 #endif 932 933 #ifndef __IAutoCompleteDropDown_FWD_DEFINED__ 934 #define __IAutoCompleteDropDown_FWD_DEFINED__ 935 typedef interface IAutoCompleteDropDown IAutoCompleteDropDown; 936 #ifdef __cplusplus 937 interface IAutoCompleteDropDown; 938 #endif /* __cplusplus */ 939 #endif 940 941 #ifndef __IBandSite_FWD_DEFINED__ 942 #define __IBandSite_FWD_DEFINED__ 943 typedef interface IBandSite IBandSite; 944 #ifdef __cplusplus 945 interface IBandSite; 946 #endif /* __cplusplus */ 947 #endif 948 949 #ifndef __IModalWindow_FWD_DEFINED__ 950 #define __IModalWindow_FWD_DEFINED__ 951 typedef interface IModalWindow IModalWindow; 952 #ifdef __cplusplus 953 interface IModalWindow; 954 #endif /* __cplusplus */ 955 #endif 956 957 #ifndef __ICDBurnExt_FWD_DEFINED__ 958 #define __ICDBurnExt_FWD_DEFINED__ 959 typedef interface ICDBurnExt ICDBurnExt; 960 #ifdef __cplusplus 961 interface ICDBurnExt; 962 #endif /* __cplusplus */ 963 #endif 964 965 #ifndef __IContextMenuSite_FWD_DEFINED__ 966 #define __IContextMenuSite_FWD_DEFINED__ 967 typedef interface IContextMenuSite IContextMenuSite; 968 #ifdef __cplusplus 969 interface IContextMenuSite; 970 #endif /* __cplusplus */ 971 #endif 972 973 #ifndef __IEnumReadyCallback_FWD_DEFINED__ 974 #define __IEnumReadyCallback_FWD_DEFINED__ 975 typedef interface IEnumReadyCallback IEnumReadyCallback; 976 #ifdef __cplusplus 977 interface IEnumReadyCallback; 978 #endif /* __cplusplus */ 979 #endif 980 981 #ifndef __IEnumerableView_FWD_DEFINED__ 982 #define __IEnumerableView_FWD_DEFINED__ 983 typedef interface IEnumerableView IEnumerableView; 984 #ifdef __cplusplus 985 interface IEnumerableView; 986 #endif /* __cplusplus */ 987 #endif 988 989 #ifndef __IInsertItem_FWD_DEFINED__ 990 #define __IInsertItem_FWD_DEFINED__ 991 typedef interface IInsertItem IInsertItem; 992 #ifdef __cplusplus 993 interface IInsertItem; 994 #endif /* __cplusplus */ 995 #endif 996 997 #ifndef __IMenuBand_FWD_DEFINED__ 998 #define __IMenuBand_FWD_DEFINED__ 999 typedef interface IMenuBand IMenuBand; 1000 #ifdef __cplusplus 1001 interface IMenuBand; 1002 #endif /* __cplusplus */ 1003 #endif 1004 1005 #ifndef __IFolderBandPriv_FWD_DEFINED__ 1006 #define __IFolderBandPriv_FWD_DEFINED__ 1007 typedef interface IFolderBandPriv IFolderBandPriv; 1008 #ifdef __cplusplus 1009 interface IFolderBandPriv; 1010 #endif /* __cplusplus */ 1011 #endif 1012 1013 #ifndef __IRegTreeItem_FWD_DEFINED__ 1014 #define __IRegTreeItem_FWD_DEFINED__ 1015 typedef interface IRegTreeItem IRegTreeItem; 1016 #ifdef __cplusplus 1017 interface IRegTreeItem; 1018 #endif /* __cplusplus */ 1019 #endif 1020 1021 #ifndef __IImageRecompress_FWD_DEFINED__ 1022 #define __IImageRecompress_FWD_DEFINED__ 1023 typedef interface IImageRecompress IImageRecompress; 1024 #ifdef __cplusplus 1025 interface IImageRecompress; 1026 #endif /* __cplusplus */ 1027 #endif 1028 1029 #ifndef __IDeskBar_FWD_DEFINED__ 1030 #define __IDeskBar_FWD_DEFINED__ 1031 typedef interface IDeskBar IDeskBar; 1032 #ifdef __cplusplus 1033 interface IDeskBar; 1034 #endif /* __cplusplus */ 1035 #endif 1036 1037 #ifndef __IMenuPopup_FWD_DEFINED__ 1038 #define __IMenuPopup_FWD_DEFINED__ 1039 typedef interface IMenuPopup IMenuPopup; 1040 #ifdef __cplusplus 1041 interface IMenuPopup; 1042 #endif /* __cplusplus */ 1043 #endif 1044 1045 #ifndef __IFileIsInUse_FWD_DEFINED__ 1046 #define __IFileIsInUse_FWD_DEFINED__ 1047 typedef interface IFileIsInUse IFileIsInUse; 1048 #ifdef __cplusplus 1049 interface IFileIsInUse; 1050 #endif /* __cplusplus */ 1051 #endif 1052 1053 #ifndef __IFileDialogEvents_FWD_DEFINED__ 1054 #define __IFileDialogEvents_FWD_DEFINED__ 1055 typedef interface IFileDialogEvents IFileDialogEvents; 1056 #ifdef __cplusplus 1057 interface IFileDialogEvents; 1058 #endif /* __cplusplus */ 1059 #endif 1060 1061 #ifndef __IFileDialog_FWD_DEFINED__ 1062 #define __IFileDialog_FWD_DEFINED__ 1063 typedef interface IFileDialog IFileDialog; 1064 #ifdef __cplusplus 1065 interface IFileDialog; 1066 #endif /* __cplusplus */ 1067 #endif 1068 1069 #ifndef __IFileSaveDialog_FWD_DEFINED__ 1070 #define __IFileSaveDialog_FWD_DEFINED__ 1071 typedef interface IFileSaveDialog IFileSaveDialog; 1072 #ifdef __cplusplus 1073 interface IFileSaveDialog; 1074 #endif /* __cplusplus */ 1075 #endif 1076 1077 #ifndef __IFileOpenDialog_FWD_DEFINED__ 1078 #define __IFileOpenDialog_FWD_DEFINED__ 1079 typedef interface IFileOpenDialog IFileOpenDialog; 1080 #ifdef __cplusplus 1081 interface IFileOpenDialog; 1082 #endif /* __cplusplus */ 1083 #endif 1084 1085 #ifndef __IFileDialogCustomize_FWD_DEFINED__ 1086 #define __IFileDialogCustomize_FWD_DEFINED__ 1087 typedef interface IFileDialogCustomize IFileDialogCustomize; 1088 #ifdef __cplusplus 1089 interface IFileDialogCustomize; 1090 #endif /* __cplusplus */ 1091 #endif 1092 1093 #ifndef __IFileDialogControlEvents_FWD_DEFINED__ 1094 #define __IFileDialogControlEvents_FWD_DEFINED__ 1095 typedef interface IFileDialogControlEvents IFileDialogControlEvents; 1096 #ifdef __cplusplus 1097 interface IFileDialogControlEvents; 1098 #endif /* __cplusplus */ 1099 #endif 1100 1101 #ifndef __IFileDialog2_FWD_DEFINED__ 1102 #define __IFileDialog2_FWD_DEFINED__ 1103 typedef interface IFileDialog2 IFileDialog2; 1104 #ifdef __cplusplus 1105 interface IFileDialog2; 1106 #endif /* __cplusplus */ 1107 #endif 1108 1109 #ifndef __IApplicationAssociationRegistration_FWD_DEFINED__ 1110 #define __IApplicationAssociationRegistration_FWD_DEFINED__ 1111 typedef interface IApplicationAssociationRegistration IApplicationAssociationRegistration; 1112 #ifdef __cplusplus 1113 interface IApplicationAssociationRegistration; 1114 #endif /* __cplusplus */ 1115 #endif 1116 1117 #ifndef __IApplicationAssociationRegistrationUI_FWD_DEFINED__ 1118 #define __IApplicationAssociationRegistrationUI_FWD_DEFINED__ 1119 typedef interface IApplicationAssociationRegistrationUI IApplicationAssociationRegistrationUI; 1120 #ifdef __cplusplus 1121 interface IApplicationAssociationRegistrationUI; 1122 #endif /* __cplusplus */ 1123 #endif 1124 1125 #ifndef __IDelegateFolder_FWD_DEFINED__ 1126 #define __IDelegateFolder_FWD_DEFINED__ 1127 typedef interface IDelegateFolder IDelegateFolder; 1128 #ifdef __cplusplus 1129 interface IDelegateFolder; 1130 #endif /* __cplusplus */ 1131 #endif 1132 1133 #ifndef __IBrowserFrameOptions_FWD_DEFINED__ 1134 #define __IBrowserFrameOptions_FWD_DEFINED__ 1135 typedef interface IBrowserFrameOptions IBrowserFrameOptions; 1136 #ifdef __cplusplus 1137 interface IBrowserFrameOptions; 1138 #endif /* __cplusplus */ 1139 #endif 1140 1141 #ifndef __INewWindowManager_FWD_DEFINED__ 1142 #define __INewWindowManager_FWD_DEFINED__ 1143 typedef interface INewWindowManager INewWindowManager; 1144 #ifdef __cplusplus 1145 interface INewWindowManager; 1146 #endif /* __cplusplus */ 1147 #endif 1148 1149 #ifndef __IAttachmentExecute_FWD_DEFINED__ 1150 #define __IAttachmentExecute_FWD_DEFINED__ 1151 typedef interface IAttachmentExecute IAttachmentExecute; 1152 #ifdef __cplusplus 1153 interface IAttachmentExecute; 1154 #endif /* __cplusplus */ 1155 #endif 1156 1157 #ifndef __IShellMenuCallback_FWD_DEFINED__ 1158 #define __IShellMenuCallback_FWD_DEFINED__ 1159 typedef interface IShellMenuCallback IShellMenuCallback; 1160 #ifdef __cplusplus 1161 interface IShellMenuCallback; 1162 #endif /* __cplusplus */ 1163 #endif 1164 1165 #ifndef __IShellMenu_FWD_DEFINED__ 1166 #define __IShellMenu_FWD_DEFINED__ 1167 typedef interface IShellMenu IShellMenu; 1168 #ifdef __cplusplus 1169 interface IShellMenu; 1170 #endif /* __cplusplus */ 1171 #endif 1172 1173 #ifndef __IShellRunDll_FWD_DEFINED__ 1174 #define __IShellRunDll_FWD_DEFINED__ 1175 typedef interface IShellRunDll IShellRunDll; 1176 #ifdef __cplusplus 1177 interface IShellRunDll; 1178 #endif /* __cplusplus */ 1179 #endif 1180 1181 #ifndef __IKnownFolder_FWD_DEFINED__ 1182 #define __IKnownFolder_FWD_DEFINED__ 1183 typedef interface IKnownFolder IKnownFolder; 1184 #ifdef __cplusplus 1185 interface IKnownFolder; 1186 #endif /* __cplusplus */ 1187 #endif 1188 1189 #ifndef __IKnownFolderManager_FWD_DEFINED__ 1190 #define __IKnownFolderManager_FWD_DEFINED__ 1191 typedef interface IKnownFolderManager IKnownFolderManager; 1192 #ifdef __cplusplus 1193 interface IKnownFolderManager; 1194 #endif /* __cplusplus */ 1195 #endif 1196 1197 #ifndef __ISharingConfigurationManager_FWD_DEFINED__ 1198 #define __ISharingConfigurationManager_FWD_DEFINED__ 1199 typedef interface ISharingConfigurationManager ISharingConfigurationManager; 1200 #ifdef __cplusplus 1201 interface ISharingConfigurationManager; 1202 #endif /* __cplusplus */ 1203 #endif 1204 1205 #ifndef __IPreviousVersionsInfo_FWD_DEFINED__ 1206 #define __IPreviousVersionsInfo_FWD_DEFINED__ 1207 typedef interface IPreviousVersionsInfo IPreviousVersionsInfo; 1208 #ifdef __cplusplus 1209 interface IPreviousVersionsInfo; 1210 #endif /* __cplusplus */ 1211 #endif 1212 1213 #ifndef __IRelatedItem_FWD_DEFINED__ 1214 #define __IRelatedItem_FWD_DEFINED__ 1215 typedef interface IRelatedItem IRelatedItem; 1216 #ifdef __cplusplus 1217 interface IRelatedItem; 1218 #endif /* __cplusplus */ 1219 #endif 1220 1221 #ifndef __IIdentityName_FWD_DEFINED__ 1222 #define __IIdentityName_FWD_DEFINED__ 1223 typedef interface IIdentityName IIdentityName; 1224 #ifdef __cplusplus 1225 interface IIdentityName; 1226 #endif /* __cplusplus */ 1227 #endif 1228 1229 #ifndef __IDelegateItem_FWD_DEFINED__ 1230 #define __IDelegateItem_FWD_DEFINED__ 1231 typedef interface IDelegateItem IDelegateItem; 1232 #ifdef __cplusplus 1233 interface IDelegateItem; 1234 #endif /* __cplusplus */ 1235 #endif 1236 1237 #ifndef __ICurrentItem_FWD_DEFINED__ 1238 #define __ICurrentItem_FWD_DEFINED__ 1239 typedef interface ICurrentItem ICurrentItem; 1240 #ifdef __cplusplus 1241 interface ICurrentItem; 1242 #endif /* __cplusplus */ 1243 #endif 1244 1245 #ifndef __ITransferMediumItem_FWD_DEFINED__ 1246 #define __ITransferMediumItem_FWD_DEFINED__ 1247 typedef interface ITransferMediumItem ITransferMediumItem; 1248 #ifdef __cplusplus 1249 interface ITransferMediumItem; 1250 #endif /* __cplusplus */ 1251 #endif 1252 1253 #ifndef __IUseToBrowseItem_FWD_DEFINED__ 1254 #define __IUseToBrowseItem_FWD_DEFINED__ 1255 typedef interface IUseToBrowseItem IUseToBrowseItem; 1256 #ifdef __cplusplus 1257 interface IUseToBrowseItem; 1258 #endif /* __cplusplus */ 1259 #endif 1260 1261 #ifndef __IDisplayItem_FWD_DEFINED__ 1262 #define __IDisplayItem_FWD_DEFINED__ 1263 typedef interface IDisplayItem IDisplayItem; 1264 #ifdef __cplusplus 1265 interface IDisplayItem; 1266 #endif /* __cplusplus */ 1267 #endif 1268 1269 #ifndef __IViewStateIdentityItem_FWD_DEFINED__ 1270 #define __IViewStateIdentityItem_FWD_DEFINED__ 1271 typedef interface IViewStateIdentityItem IViewStateIdentityItem; 1272 #ifdef __cplusplus 1273 interface IViewStateIdentityItem; 1274 #endif /* __cplusplus */ 1275 #endif 1276 1277 #ifndef __IPreviewItem_FWD_DEFINED__ 1278 #define __IPreviewItem_FWD_DEFINED__ 1279 typedef interface IPreviewItem IPreviewItem; 1280 #ifdef __cplusplus 1281 interface IPreviewItem; 1282 #endif /* __cplusplus */ 1283 #endif 1284 1285 #ifndef __IDestinationStreamFactory_FWD_DEFINED__ 1286 #define __IDestinationStreamFactory_FWD_DEFINED__ 1287 typedef interface IDestinationStreamFactory IDestinationStreamFactory; 1288 #ifdef __cplusplus 1289 interface IDestinationStreamFactory; 1290 #endif /* __cplusplus */ 1291 #endif 1292 1293 #ifndef __INewMenuClient_FWD_DEFINED__ 1294 #define __INewMenuClient_FWD_DEFINED__ 1295 typedef interface INewMenuClient INewMenuClient; 1296 #ifdef __cplusplus 1297 interface INewMenuClient; 1298 #endif /* __cplusplus */ 1299 #endif 1300 1301 #ifndef __IInitializeWithBindCtx_FWD_DEFINED__ 1302 #define __IInitializeWithBindCtx_FWD_DEFINED__ 1303 typedef interface IInitializeWithBindCtx IInitializeWithBindCtx; 1304 #ifdef __cplusplus 1305 interface IInitializeWithBindCtx; 1306 #endif /* __cplusplus */ 1307 #endif 1308 1309 #ifndef __IShellItemFilter_FWD_DEFINED__ 1310 #define __IShellItemFilter_FWD_DEFINED__ 1311 typedef interface IShellItemFilter IShellItemFilter; 1312 #ifdef __cplusplus 1313 interface IShellItemFilter; 1314 #endif /* __cplusplus */ 1315 #endif 1316 1317 #ifndef __INameSpaceTreeControl_FWD_DEFINED__ 1318 #define __INameSpaceTreeControl_FWD_DEFINED__ 1319 typedef interface INameSpaceTreeControl INameSpaceTreeControl; 1320 #ifdef __cplusplus 1321 interface INameSpaceTreeControl; 1322 #endif /* __cplusplus */ 1323 #endif 1324 1325 #ifndef __INameSpaceTreeControl2_FWD_DEFINED__ 1326 #define __INameSpaceTreeControl2_FWD_DEFINED__ 1327 typedef interface INameSpaceTreeControl2 INameSpaceTreeControl2; 1328 #ifdef __cplusplus 1329 interface INameSpaceTreeControl2; 1330 #endif /* __cplusplus */ 1331 #endif 1332 1333 #ifndef __INameSpaceTreeControlEvents_FWD_DEFINED__ 1334 #define __INameSpaceTreeControlEvents_FWD_DEFINED__ 1335 typedef interface INameSpaceTreeControlEvents INameSpaceTreeControlEvents; 1336 #ifdef __cplusplus 1337 interface INameSpaceTreeControlEvents; 1338 #endif /* __cplusplus */ 1339 #endif 1340 1341 #ifndef __INameSpaceTreeControlDropHandler_FWD_DEFINED__ 1342 #define __INameSpaceTreeControlDropHandler_FWD_DEFINED__ 1343 typedef interface INameSpaceTreeControlDropHandler INameSpaceTreeControlDropHandler; 1344 #ifdef __cplusplus 1345 interface INameSpaceTreeControlDropHandler; 1346 #endif /* __cplusplus */ 1347 #endif 1348 1349 #ifndef __INameSpaceTreeAccessible_FWD_DEFINED__ 1350 #define __INameSpaceTreeAccessible_FWD_DEFINED__ 1351 typedef interface INameSpaceTreeAccessible INameSpaceTreeAccessible; 1352 #ifdef __cplusplus 1353 interface INameSpaceTreeAccessible; 1354 #endif /* __cplusplus */ 1355 #endif 1356 1357 #ifndef __INameSpaceTreeControlCustomDraw_FWD_DEFINED__ 1358 #define __INameSpaceTreeControlCustomDraw_FWD_DEFINED__ 1359 typedef interface INameSpaceTreeControlCustomDraw INameSpaceTreeControlCustomDraw; 1360 #ifdef __cplusplus 1361 interface INameSpaceTreeControlCustomDraw; 1362 #endif /* __cplusplus */ 1363 #endif 1364 1365 #ifndef __INameSpaceTreeControlFolderCapabilities_FWD_DEFINED__ 1366 #define __INameSpaceTreeControlFolderCapabilities_FWD_DEFINED__ 1367 typedef interface INameSpaceTreeControlFolderCapabilities INameSpaceTreeControlFolderCapabilities; 1368 #ifdef __cplusplus 1369 interface INameSpaceTreeControlFolderCapabilities; 1370 #endif /* __cplusplus */ 1371 #endif 1372 1373 #ifndef __IPreviewHandler_FWD_DEFINED__ 1374 #define __IPreviewHandler_FWD_DEFINED__ 1375 typedef interface IPreviewHandler IPreviewHandler; 1376 #ifdef __cplusplus 1377 interface IPreviewHandler; 1378 #endif /* __cplusplus */ 1379 #endif 1380 1381 #ifndef __IPreviewHandlerFrame_FWD_DEFINED__ 1382 #define __IPreviewHandlerFrame_FWD_DEFINED__ 1383 typedef interface IPreviewHandlerFrame IPreviewHandlerFrame; 1384 #ifdef __cplusplus 1385 interface IPreviewHandlerFrame; 1386 #endif /* __cplusplus */ 1387 #endif 1388 1389 #ifndef __ITrayDeskBand_FWD_DEFINED__ 1390 #define __ITrayDeskBand_FWD_DEFINED__ 1391 typedef interface ITrayDeskBand ITrayDeskBand; 1392 #ifdef __cplusplus 1393 interface ITrayDeskBand; 1394 #endif /* __cplusplus */ 1395 #endif 1396 1397 #ifndef __IBandHost_FWD_DEFINED__ 1398 #define __IBandHost_FWD_DEFINED__ 1399 typedef interface IBandHost IBandHost; 1400 #ifdef __cplusplus 1401 interface IBandHost; 1402 #endif /* __cplusplus */ 1403 #endif 1404 1405 #ifndef __IExplorerPaneVisibility_FWD_DEFINED__ 1406 #define __IExplorerPaneVisibility_FWD_DEFINED__ 1407 typedef interface IExplorerPaneVisibility IExplorerPaneVisibility; 1408 #ifdef __cplusplus 1409 interface IExplorerPaneVisibility; 1410 #endif /* __cplusplus */ 1411 #endif 1412 1413 #ifndef __IContextMenuCB_FWD_DEFINED__ 1414 #define __IContextMenuCB_FWD_DEFINED__ 1415 typedef interface IContextMenuCB IContextMenuCB; 1416 #ifdef __cplusplus 1417 interface IContextMenuCB; 1418 #endif /* __cplusplus */ 1419 #endif 1420 1421 #ifndef __IDefaultExtractIconInit_FWD_DEFINED__ 1422 #define __IDefaultExtractIconInit_FWD_DEFINED__ 1423 typedef interface IDefaultExtractIconInit IDefaultExtractIconInit; 1424 #ifdef __cplusplus 1425 interface IDefaultExtractIconInit; 1426 #endif /* __cplusplus */ 1427 #endif 1428 1429 #ifndef __IExplorerCommand_FWD_DEFINED__ 1430 #define __IExplorerCommand_FWD_DEFINED__ 1431 typedef interface IExplorerCommand IExplorerCommand; 1432 #ifdef __cplusplus 1433 interface IExplorerCommand; 1434 #endif /* __cplusplus */ 1435 #endif 1436 1437 #ifndef __IExplorerCommandState_FWD_DEFINED__ 1438 #define __IExplorerCommandState_FWD_DEFINED__ 1439 typedef interface IExplorerCommandState IExplorerCommandState; 1440 #ifdef __cplusplus 1441 interface IExplorerCommandState; 1442 #endif /* __cplusplus */ 1443 #endif 1444 1445 #ifndef __IInitializeCommand_FWD_DEFINED__ 1446 #define __IInitializeCommand_FWD_DEFINED__ 1447 typedef interface IInitializeCommand IInitializeCommand; 1448 #ifdef __cplusplus 1449 interface IInitializeCommand; 1450 #endif /* __cplusplus */ 1451 #endif 1452 1453 #ifndef __IEnumExplorerCommand_FWD_DEFINED__ 1454 #define __IEnumExplorerCommand_FWD_DEFINED__ 1455 typedef interface IEnumExplorerCommand IEnumExplorerCommand; 1456 #ifdef __cplusplus 1457 interface IEnumExplorerCommand; 1458 #endif /* __cplusplus */ 1459 #endif 1460 1461 #ifndef __IExplorerCommandProvider_FWD_DEFINED__ 1462 #define __IExplorerCommandProvider_FWD_DEFINED__ 1463 typedef interface IExplorerCommandProvider IExplorerCommandProvider; 1464 #ifdef __cplusplus 1465 interface IExplorerCommandProvider; 1466 #endif /* __cplusplus */ 1467 #endif 1468 1469 #ifndef __IInitializeNetworkFolder_FWD_DEFINED__ 1470 #define __IInitializeNetworkFolder_FWD_DEFINED__ 1471 typedef interface IInitializeNetworkFolder IInitializeNetworkFolder; 1472 #ifdef __cplusplus 1473 interface IInitializeNetworkFolder; 1474 #endif /* __cplusplus */ 1475 #endif 1476 1477 #ifndef __IOpenControlPanel_FWD_DEFINED__ 1478 #define __IOpenControlPanel_FWD_DEFINED__ 1479 typedef interface IOpenControlPanel IOpenControlPanel; 1480 #ifdef __cplusplus 1481 interface IOpenControlPanel; 1482 #endif /* __cplusplus */ 1483 #endif 1484 1485 #ifndef __IComputerInfoChangeNotify_FWD_DEFINED__ 1486 #define __IComputerInfoChangeNotify_FWD_DEFINED__ 1487 typedef interface IComputerInfoChangeNotify IComputerInfoChangeNotify; 1488 #ifdef __cplusplus 1489 interface IComputerInfoChangeNotify; 1490 #endif /* __cplusplus */ 1491 #endif 1492 1493 #ifndef __IFileSystemBindData_FWD_DEFINED__ 1494 #define __IFileSystemBindData_FWD_DEFINED__ 1495 typedef interface IFileSystemBindData IFileSystemBindData; 1496 #ifdef __cplusplus 1497 interface IFileSystemBindData; 1498 #endif /* __cplusplus */ 1499 #endif 1500 1501 #ifndef __IFileSystemBindData2_FWD_DEFINED__ 1502 #define __IFileSystemBindData2_FWD_DEFINED__ 1503 typedef interface IFileSystemBindData2 IFileSystemBindData2; 1504 #ifdef __cplusplus 1505 interface IFileSystemBindData2; 1506 #endif /* __cplusplus */ 1507 #endif 1508 1509 #ifndef __ICustomDestinationList_FWD_DEFINED__ 1510 #define __ICustomDestinationList_FWD_DEFINED__ 1511 typedef interface ICustomDestinationList ICustomDestinationList; 1512 #ifdef __cplusplus 1513 interface ICustomDestinationList; 1514 #endif /* __cplusplus */ 1515 #endif 1516 1517 #ifndef __IApplicationDestinations_FWD_DEFINED__ 1518 #define __IApplicationDestinations_FWD_DEFINED__ 1519 typedef interface IApplicationDestinations IApplicationDestinations; 1520 #ifdef __cplusplus 1521 interface IApplicationDestinations; 1522 #endif /* __cplusplus */ 1523 #endif 1524 1525 #ifndef __IApplicationDocumentLists_FWD_DEFINED__ 1526 #define __IApplicationDocumentLists_FWD_DEFINED__ 1527 typedef interface IApplicationDocumentLists IApplicationDocumentLists; 1528 #ifdef __cplusplus 1529 interface IApplicationDocumentLists; 1530 #endif /* __cplusplus */ 1531 #endif 1532 1533 #ifndef __IObjectWithAppUserModelID_FWD_DEFINED__ 1534 #define __IObjectWithAppUserModelID_FWD_DEFINED__ 1535 typedef interface IObjectWithAppUserModelID IObjectWithAppUserModelID; 1536 #ifdef __cplusplus 1537 interface IObjectWithAppUserModelID; 1538 #endif /* __cplusplus */ 1539 #endif 1540 1541 #ifndef __IObjectWithProgID_FWD_DEFINED__ 1542 #define __IObjectWithProgID_FWD_DEFINED__ 1543 typedef interface IObjectWithProgID IObjectWithProgID; 1544 #ifdef __cplusplus 1545 interface IObjectWithProgID; 1546 #endif /* __cplusplus */ 1547 #endif 1548 1549 #ifndef __IUpdateIDList_FWD_DEFINED__ 1550 #define __IUpdateIDList_FWD_DEFINED__ 1551 typedef interface IUpdateIDList IUpdateIDList; 1552 #ifdef __cplusplus 1553 interface IUpdateIDList; 1554 #endif /* __cplusplus */ 1555 #endif 1556 1557 #ifndef __IDesktopGadget_FWD_DEFINED__ 1558 #define __IDesktopGadget_FWD_DEFINED__ 1559 typedef interface IDesktopGadget IDesktopGadget; 1560 #ifdef __cplusplus 1561 interface IDesktopGadget; 1562 #endif /* __cplusplus */ 1563 #endif 1564 1565 #ifndef __IVirtualDesktopManager_FWD_DEFINED__ 1566 #define __IVirtualDesktopManager_FWD_DEFINED__ 1567 typedef interface IVirtualDesktopManager IVirtualDesktopManager; 1568 #ifdef __cplusplus 1569 interface IVirtualDesktopManager; 1570 #endif /* __cplusplus */ 1571 #endif 1572 1573 #ifndef __IDesktopWallpaper_FWD_DEFINED__ 1574 #define __IDesktopWallpaper_FWD_DEFINED__ 1575 typedef interface IDesktopWallpaper IDesktopWallpaper; 1576 #ifdef __cplusplus 1577 interface IDesktopWallpaper; 1578 #endif /* __cplusplus */ 1579 #endif 1580 1581 #ifndef __IHomeGroup_FWD_DEFINED__ 1582 #define __IHomeGroup_FWD_DEFINED__ 1583 typedef interface IHomeGroup IHomeGroup; 1584 #ifdef __cplusplus 1585 interface IHomeGroup; 1586 #endif /* __cplusplus */ 1587 #endif 1588 1589 #ifndef __IInitializeWithPropertyStore_FWD_DEFINED__ 1590 #define __IInitializeWithPropertyStore_FWD_DEFINED__ 1591 typedef interface IInitializeWithPropertyStore IInitializeWithPropertyStore; 1592 #ifdef __cplusplus 1593 interface IInitializeWithPropertyStore; 1594 #endif /* __cplusplus */ 1595 #endif 1596 1597 #ifndef __IOpenSearchSource_FWD_DEFINED__ 1598 #define __IOpenSearchSource_FWD_DEFINED__ 1599 typedef interface IOpenSearchSource IOpenSearchSource; 1600 #ifdef __cplusplus 1601 interface IOpenSearchSource; 1602 #endif /* __cplusplus */ 1603 #endif 1604 1605 #ifndef __IShellLibrary_FWD_DEFINED__ 1606 #define __IShellLibrary_FWD_DEFINED__ 1607 typedef interface IShellLibrary IShellLibrary; 1608 #ifdef __cplusplus 1609 interface IShellLibrary; 1610 #endif /* __cplusplus */ 1611 #endif 1612 1613 #ifndef __IPlaybackManagerEvents_FWD_DEFINED__ 1614 #define __IPlaybackManagerEvents_FWD_DEFINED__ 1615 typedef interface IPlaybackManagerEvents IPlaybackManagerEvents; 1616 #ifdef __cplusplus 1617 interface IPlaybackManagerEvents; 1618 #endif /* __cplusplus */ 1619 #endif 1620 1621 #ifndef __IPlaybackManager_FWD_DEFINED__ 1622 #define __IPlaybackManager_FWD_DEFINED__ 1623 typedef interface IPlaybackManager IPlaybackManager; 1624 #ifdef __cplusplus 1625 interface IPlaybackManager; 1626 #endif /* __cplusplus */ 1627 #endif 1628 1629 #ifndef __IDefaultFolderMenuInitialize_FWD_DEFINED__ 1630 #define __IDefaultFolderMenuInitialize_FWD_DEFINED__ 1631 typedef interface IDefaultFolderMenuInitialize IDefaultFolderMenuInitialize; 1632 #ifdef __cplusplus 1633 interface IDefaultFolderMenuInitialize; 1634 #endif /* __cplusplus */ 1635 #endif 1636 1637 #ifndef __IApplicationActivationManager_FWD_DEFINED__ 1638 #define __IApplicationActivationManager_FWD_DEFINED__ 1639 typedef interface IApplicationActivationManager IApplicationActivationManager; 1640 #ifdef __cplusplus 1641 interface IApplicationActivationManager; 1642 #endif /* __cplusplus */ 1643 #endif 1644 1645 #ifndef __DesktopWallpaper_FWD_DEFINED__ 1646 #define __DesktopWallpaper_FWD_DEFINED__ 1647 #ifdef __cplusplus 1648 typedef class DesktopWallpaper DesktopWallpaper; 1649 #else 1650 typedef struct DesktopWallpaper DesktopWallpaper; 1651 #endif /* defined __cplusplus */ 1652 #endif /* defined __DesktopWallpaper_FWD_DEFINED__ */ 1653 1654 #ifndef __ShellDesktop_FWD_DEFINED__ 1655 #define __ShellDesktop_FWD_DEFINED__ 1656 #ifdef __cplusplus 1657 typedef class ShellDesktop ShellDesktop; 1658 #else 1659 typedef struct ShellDesktop ShellDesktop; 1660 #endif /* defined __cplusplus */ 1661 #endif /* defined __ShellDesktop_FWD_DEFINED__ */ 1662 1663 #ifndef __ShellFSFolder_FWD_DEFINED__ 1664 #define __ShellFSFolder_FWD_DEFINED__ 1665 #ifdef __cplusplus 1666 typedef class ShellFSFolder ShellFSFolder; 1667 #else 1668 typedef struct ShellFSFolder ShellFSFolder; 1669 #endif /* defined __cplusplus */ 1670 #endif /* defined __ShellFSFolder_FWD_DEFINED__ */ 1671 1672 #ifndef __NetworkPlaces_FWD_DEFINED__ 1673 #define __NetworkPlaces_FWD_DEFINED__ 1674 #ifdef __cplusplus 1675 typedef class NetworkPlaces NetworkPlaces; 1676 #else 1677 typedef struct NetworkPlaces NetworkPlaces; 1678 #endif /* defined __cplusplus */ 1679 #endif /* defined __NetworkPlaces_FWD_DEFINED__ */ 1680 1681 #ifndef __ShellLink_FWD_DEFINED__ 1682 #define __ShellLink_FWD_DEFINED__ 1683 #ifdef __cplusplus 1684 typedef class ShellLink ShellLink; 1685 #else 1686 typedef struct ShellLink ShellLink; 1687 #endif /* defined __cplusplus */ 1688 #endif /* defined __ShellLink_FWD_DEFINED__ */ 1689 1690 #ifndef __QueryCancelAutoPlay_FWD_DEFINED__ 1691 #define __QueryCancelAutoPlay_FWD_DEFINED__ 1692 #ifdef __cplusplus 1693 typedef class QueryCancelAutoPlay QueryCancelAutoPlay; 1694 #else 1695 typedef struct QueryCancelAutoPlay QueryCancelAutoPlay; 1696 #endif /* defined __cplusplus */ 1697 #endif /* defined __QueryCancelAutoPlay_FWD_DEFINED__ */ 1698 1699 #ifndef __DriveSizeCategorizer_FWD_DEFINED__ 1700 #define __DriveSizeCategorizer_FWD_DEFINED__ 1701 #ifdef __cplusplus 1702 typedef class DriveSizeCategorizer DriveSizeCategorizer; 1703 #else 1704 typedef struct DriveSizeCategorizer DriveSizeCategorizer; 1705 #endif /* defined __cplusplus */ 1706 #endif /* defined __DriveSizeCategorizer_FWD_DEFINED__ */ 1707 1708 #ifndef __DriveTypeCategorizer_FWD_DEFINED__ 1709 #define __DriveTypeCategorizer_FWD_DEFINED__ 1710 #ifdef __cplusplus 1711 typedef class DriveTypeCategorizer DriveTypeCategorizer; 1712 #else 1713 typedef struct DriveTypeCategorizer DriveTypeCategorizer; 1714 #endif /* defined __cplusplus */ 1715 #endif /* defined __DriveTypeCategorizer_FWD_DEFINED__ */ 1716 1717 #ifndef __FreeSpaceCategorizer_FWD_DEFINED__ 1718 #define __FreeSpaceCategorizer_FWD_DEFINED__ 1719 #ifdef __cplusplus 1720 typedef class FreeSpaceCategorizer FreeSpaceCategorizer; 1721 #else 1722 typedef struct FreeSpaceCategorizer FreeSpaceCategorizer; 1723 #endif /* defined __cplusplus */ 1724 #endif /* defined __FreeSpaceCategorizer_FWD_DEFINED__ */ 1725 1726 #ifndef __TimeCategorizer_FWD_DEFINED__ 1727 #define __TimeCategorizer_FWD_DEFINED__ 1728 #ifdef __cplusplus 1729 typedef class TimeCategorizer TimeCategorizer; 1730 #else 1731 typedef struct TimeCategorizer TimeCategorizer; 1732 #endif /* defined __cplusplus */ 1733 #endif /* defined __TimeCategorizer_FWD_DEFINED__ */ 1734 1735 #ifndef __SizeCategorizer_FWD_DEFINED__ 1736 #define __SizeCategorizer_FWD_DEFINED__ 1737 #ifdef __cplusplus 1738 typedef class SizeCategorizer SizeCategorizer; 1739 #else 1740 typedef struct SizeCategorizer SizeCategorizer; 1741 #endif /* defined __cplusplus */ 1742 #endif /* defined __SizeCategorizer_FWD_DEFINED__ */ 1743 1744 #ifndef __AlphabeticalCategorizer_FWD_DEFINED__ 1745 #define __AlphabeticalCategorizer_FWD_DEFINED__ 1746 #ifdef __cplusplus 1747 typedef class AlphabeticalCategorizer AlphabeticalCategorizer; 1748 #else 1749 typedef struct AlphabeticalCategorizer AlphabeticalCategorizer; 1750 #endif /* defined __cplusplus */ 1751 #endif /* defined __AlphabeticalCategorizer_FWD_DEFINED__ */ 1752 1753 #ifndef __MergedCategorizer_FWD_DEFINED__ 1754 #define __MergedCategorizer_FWD_DEFINED__ 1755 #ifdef __cplusplus 1756 typedef class MergedCategorizer MergedCategorizer; 1757 #else 1758 typedef struct MergedCategorizer MergedCategorizer; 1759 #endif /* defined __cplusplus */ 1760 #endif /* defined __MergedCategorizer_FWD_DEFINED__ */ 1761 1762 #ifndef __ImageProperties_FWD_DEFINED__ 1763 #define __ImageProperties_FWD_DEFINED__ 1764 #ifdef __cplusplus 1765 typedef class ImageProperties ImageProperties; 1766 #else 1767 typedef struct ImageProperties ImageProperties; 1768 #endif /* defined __cplusplus */ 1769 #endif /* defined __ImageProperties_FWD_DEFINED__ */ 1770 1771 #ifndef __PropertiesUI_FWD_DEFINED__ 1772 #define __PropertiesUI_FWD_DEFINED__ 1773 #ifdef __cplusplus 1774 typedef class PropertiesUI PropertiesUI; 1775 #else 1776 typedef struct PropertiesUI PropertiesUI; 1777 #endif /* defined __cplusplus */ 1778 #endif /* defined __PropertiesUI_FWD_DEFINED__ */ 1779 1780 #ifndef __UserNotification_FWD_DEFINED__ 1781 #define __UserNotification_FWD_DEFINED__ 1782 #ifdef __cplusplus 1783 typedef class UserNotification UserNotification; 1784 #else 1785 typedef struct UserNotification UserNotification; 1786 #endif /* defined __cplusplus */ 1787 #endif /* defined __UserNotification_FWD_DEFINED__ */ 1788 1789 #ifndef __CDBurn_FWD_DEFINED__ 1790 #define __CDBurn_FWD_DEFINED__ 1791 #ifdef __cplusplus 1792 typedef class CDBurn CDBurn; 1793 #else 1794 typedef struct CDBurn CDBurn; 1795 #endif /* defined __cplusplus */ 1796 #endif /* defined __CDBurn_FWD_DEFINED__ */ 1797 1798 #ifndef __TaskbarList_FWD_DEFINED__ 1799 #define __TaskbarList_FWD_DEFINED__ 1800 #ifdef __cplusplus 1801 typedef class TaskbarList TaskbarList; 1802 #else 1803 typedef struct TaskbarList TaskbarList; 1804 #endif /* defined __cplusplus */ 1805 #endif /* defined __TaskbarList_FWD_DEFINED__ */ 1806 1807 #ifndef __StartMenuPin_FWD_DEFINED__ 1808 #define __StartMenuPin_FWD_DEFINED__ 1809 #ifdef __cplusplus 1810 typedef class StartMenuPin StartMenuPin; 1811 #else 1812 typedef struct StartMenuPin StartMenuPin; 1813 #endif /* defined __cplusplus */ 1814 #endif /* defined __StartMenuPin_FWD_DEFINED__ */ 1815 1816 #ifndef __WebWizardHost_FWD_DEFINED__ 1817 #define __WebWizardHost_FWD_DEFINED__ 1818 #ifdef __cplusplus 1819 typedef class WebWizardHost WebWizardHost; 1820 #else 1821 typedef struct WebWizardHost WebWizardHost; 1822 #endif /* defined __cplusplus */ 1823 #endif /* defined __WebWizardHost_FWD_DEFINED__ */ 1824 1825 #ifndef __PublishDropTarget_FWD_DEFINED__ 1826 #define __PublishDropTarget_FWD_DEFINED__ 1827 #ifdef __cplusplus 1828 typedef class PublishDropTarget PublishDropTarget; 1829 #else 1830 typedef struct PublishDropTarget PublishDropTarget; 1831 #endif /* defined __cplusplus */ 1832 #endif /* defined __PublishDropTarget_FWD_DEFINED__ */ 1833 1834 #ifndef __PublishingWizard_FWD_DEFINED__ 1835 #define __PublishingWizard_FWD_DEFINED__ 1836 #ifdef __cplusplus 1837 typedef class PublishingWizard PublishingWizard; 1838 #else 1839 typedef struct PublishingWizard PublishingWizard; 1840 #endif /* defined __cplusplus */ 1841 #endif /* defined __PublishingWizard_FWD_DEFINED__ */ 1842 1843 #ifndef __InternetPrintOrdering_FWD_DEFINED__ 1844 #define __InternetPrintOrdering_FWD_DEFINED__ 1845 #ifdef __cplusplus 1846 typedef class InternetPrintOrdering InternetPrintOrdering; 1847 #else 1848 typedef struct InternetPrintOrdering InternetPrintOrdering; 1849 #endif /* defined __cplusplus */ 1850 #endif /* defined __InternetPrintOrdering_FWD_DEFINED__ */ 1851 1852 #ifndef __FolderViewHost_FWD_DEFINED__ 1853 #define __FolderViewHost_FWD_DEFINED__ 1854 #ifdef __cplusplus 1855 typedef class FolderViewHost FolderViewHost; 1856 #else 1857 typedef struct FolderViewHost FolderViewHost; 1858 #endif /* defined __cplusplus */ 1859 #endif /* defined __FolderViewHost_FWD_DEFINED__ */ 1860 1861 #ifndef __ExplorerBrowser_FWD_DEFINED__ 1862 #define __ExplorerBrowser_FWD_DEFINED__ 1863 #ifdef __cplusplus 1864 typedef class ExplorerBrowser ExplorerBrowser; 1865 #else 1866 typedef struct ExplorerBrowser ExplorerBrowser; 1867 #endif /* defined __cplusplus */ 1868 #endif /* defined __ExplorerBrowser_FWD_DEFINED__ */ 1869 1870 #ifndef __ImageRecompress_FWD_DEFINED__ 1871 #define __ImageRecompress_FWD_DEFINED__ 1872 #ifdef __cplusplus 1873 typedef class ImageRecompress ImageRecompress; 1874 #else 1875 typedef struct ImageRecompress ImageRecompress; 1876 #endif /* defined __cplusplus */ 1877 #endif /* defined __ImageRecompress_FWD_DEFINED__ */ 1878 1879 #ifndef __TrayBandSiteService_FWD_DEFINED__ 1880 #define __TrayBandSiteService_FWD_DEFINED__ 1881 #ifdef __cplusplus 1882 typedef class TrayBandSiteService TrayBandSiteService; 1883 #else 1884 typedef struct TrayBandSiteService TrayBandSiteService; 1885 #endif /* defined __cplusplus */ 1886 #endif /* defined __TrayBandSiteService_FWD_DEFINED__ */ 1887 1888 #ifndef __TrayDeskBand_FWD_DEFINED__ 1889 #define __TrayDeskBand_FWD_DEFINED__ 1890 #ifdef __cplusplus 1891 typedef class TrayDeskBand TrayDeskBand; 1892 #else 1893 typedef struct TrayDeskBand TrayDeskBand; 1894 #endif /* defined __cplusplus */ 1895 #endif /* defined __TrayDeskBand_FWD_DEFINED__ */ 1896 1897 #ifndef __AttachmentServices_FWD_DEFINED__ 1898 #define __AttachmentServices_FWD_DEFINED__ 1899 #ifdef __cplusplus 1900 typedef class AttachmentServices AttachmentServices; 1901 #else 1902 typedef struct AttachmentServices AttachmentServices; 1903 #endif /* defined __cplusplus */ 1904 #endif /* defined __AttachmentServices_FWD_DEFINED__ */ 1905 1906 #ifndef __DocPropShellExtension_FWD_DEFINED__ 1907 #define __DocPropShellExtension_FWD_DEFINED__ 1908 #ifdef __cplusplus 1909 typedef class DocPropShellExtension DocPropShellExtension; 1910 #else 1911 typedef struct DocPropShellExtension DocPropShellExtension; 1912 #endif /* defined __cplusplus */ 1913 #endif /* defined __DocPropShellExtension_FWD_DEFINED__ */ 1914 1915 #ifndef __ShellItem_FWD_DEFINED__ 1916 #define __ShellItem_FWD_DEFINED__ 1917 #ifdef __cplusplus 1918 typedef class ShellItem ShellItem; 1919 #else 1920 typedef struct ShellItem ShellItem; 1921 #endif /* defined __cplusplus */ 1922 #endif /* defined __ShellItem_FWD_DEFINED__ */ 1923 1924 #ifndef __NamespaceWalker_FWD_DEFINED__ 1925 #define __NamespaceWalker_FWD_DEFINED__ 1926 #ifdef __cplusplus 1927 typedef class NamespaceWalker NamespaceWalker; 1928 #else 1929 typedef struct NamespaceWalker NamespaceWalker; 1930 #endif /* defined __cplusplus */ 1931 #endif /* defined __NamespaceWalker_FWD_DEFINED__ */ 1932 1933 #ifndef __FileOperation_FWD_DEFINED__ 1934 #define __FileOperation_FWD_DEFINED__ 1935 #ifdef __cplusplus 1936 typedef class FileOperation FileOperation; 1937 #else 1938 typedef struct FileOperation FileOperation; 1939 #endif /* defined __cplusplus */ 1940 #endif /* defined __FileOperation_FWD_DEFINED__ */ 1941 1942 #ifndef __FileOpenDialog_FWD_DEFINED__ 1943 #define __FileOpenDialog_FWD_DEFINED__ 1944 #ifdef __cplusplus 1945 typedef class FileOpenDialog FileOpenDialog; 1946 #else 1947 typedef struct FileOpenDialog FileOpenDialog; 1948 #endif /* defined __cplusplus */ 1949 #endif /* defined __FileOpenDialog_FWD_DEFINED__ */ 1950 1951 #ifndef __FileSaveDialog_FWD_DEFINED__ 1952 #define __FileSaveDialog_FWD_DEFINED__ 1953 #ifdef __cplusplus 1954 typedef class FileSaveDialog FileSaveDialog; 1955 #else 1956 typedef struct FileSaveDialog FileSaveDialog; 1957 #endif /* defined __cplusplus */ 1958 #endif /* defined __FileSaveDialog_FWD_DEFINED__ */ 1959 1960 #ifndef __KnownFolderManager_FWD_DEFINED__ 1961 #define __KnownFolderManager_FWD_DEFINED__ 1962 #ifdef __cplusplus 1963 typedef class KnownFolderManager KnownFolderManager; 1964 #else 1965 typedef struct KnownFolderManager KnownFolderManager; 1966 #endif /* defined __cplusplus */ 1967 #endif /* defined __KnownFolderManager_FWD_DEFINED__ */ 1968 1969 #ifndef __FSCopyHandler_FWD_DEFINED__ 1970 #define __FSCopyHandler_FWD_DEFINED__ 1971 #ifdef __cplusplus 1972 typedef class FSCopyHandler FSCopyHandler; 1973 #else 1974 typedef struct FSCopyHandler FSCopyHandler; 1975 #endif /* defined __cplusplus */ 1976 #endif /* defined __FSCopyHandler_FWD_DEFINED__ */ 1977 1978 #ifndef __SharingConfigurationManager_FWD_DEFINED__ 1979 #define __SharingConfigurationManager_FWD_DEFINED__ 1980 #ifdef __cplusplus 1981 typedef class SharingConfigurationManager SharingConfigurationManager; 1982 #else 1983 typedef struct SharingConfigurationManager SharingConfigurationManager; 1984 #endif /* defined __cplusplus */ 1985 #endif /* defined __SharingConfigurationManager_FWD_DEFINED__ */ 1986 1987 #ifndef __PreviousVersions_FWD_DEFINED__ 1988 #define __PreviousVersions_FWD_DEFINED__ 1989 #ifdef __cplusplus 1990 typedef class PreviousVersions PreviousVersions; 1991 #else 1992 typedef struct PreviousVersions PreviousVersions; 1993 #endif /* defined __cplusplus */ 1994 #endif /* defined __PreviousVersions_FWD_DEFINED__ */ 1995 1996 #ifndef __NetworkConnections_FWD_DEFINED__ 1997 #define __NetworkConnections_FWD_DEFINED__ 1998 #ifdef __cplusplus 1999 typedef class NetworkConnections NetworkConnections; 2000 #else 2001 typedef struct NetworkConnections NetworkConnections; 2002 #endif /* defined __cplusplus */ 2003 #endif /* defined __NetworkConnections_FWD_DEFINED__ */ 2004 2005 #ifndef __NamespaceTreeControl_FWD_DEFINED__ 2006 #define __NamespaceTreeControl_FWD_DEFINED__ 2007 #ifdef __cplusplus 2008 typedef class NamespaceTreeControl NamespaceTreeControl; 2009 #else 2010 typedef struct NamespaceTreeControl NamespaceTreeControl; 2011 #endif /* defined __cplusplus */ 2012 #endif /* defined __NamespaceTreeControl_FWD_DEFINED__ */ 2013 2014 #ifndef __IENamespaceTreeControl_FWD_DEFINED__ 2015 #define __IENamespaceTreeControl_FWD_DEFINED__ 2016 #ifdef __cplusplus 2017 typedef class IENamespaceTreeControl IENamespaceTreeControl; 2018 #else 2019 typedef struct IENamespaceTreeControl IENamespaceTreeControl; 2020 #endif /* defined __cplusplus */ 2021 #endif /* defined __IENamespaceTreeControl_FWD_DEFINED__ */ 2022 2023 #ifndef __ScheduledTasks_FWD_DEFINED__ 2024 #define __ScheduledTasks_FWD_DEFINED__ 2025 #ifdef __cplusplus 2026 typedef class ScheduledTasks ScheduledTasks; 2027 #else 2028 typedef struct ScheduledTasks ScheduledTasks; 2029 #endif /* defined __cplusplus */ 2030 #endif /* defined __ScheduledTasks_FWD_DEFINED__ */ 2031 2032 #ifndef __ApplicationAssociationRegistration_FWD_DEFINED__ 2033 #define __ApplicationAssociationRegistration_FWD_DEFINED__ 2034 #ifdef __cplusplus 2035 typedef class ApplicationAssociationRegistration ApplicationAssociationRegistration; 2036 #else 2037 typedef struct ApplicationAssociationRegistration ApplicationAssociationRegistration; 2038 #endif /* defined __cplusplus */ 2039 #endif /* defined __ApplicationAssociationRegistration_FWD_DEFINED__ */ 2040 2041 #ifndef __ApplicationAssociationRegistrationUI_FWD_DEFINED__ 2042 #define __ApplicationAssociationRegistrationUI_FWD_DEFINED__ 2043 #ifdef __cplusplus 2044 typedef class ApplicationAssociationRegistrationUI ApplicationAssociationRegistrationUI; 2045 #else 2046 typedef struct ApplicationAssociationRegistrationUI ApplicationAssociationRegistrationUI; 2047 #endif /* defined __cplusplus */ 2048 #endif /* defined __ApplicationAssociationRegistrationUI_FWD_DEFINED__ */ 2049 2050 #ifndef __SearchFolderItemFactory_FWD_DEFINED__ 2051 #define __SearchFolderItemFactory_FWD_DEFINED__ 2052 #ifdef __cplusplus 2053 typedef class SearchFolderItemFactory SearchFolderItemFactory; 2054 #else 2055 typedef struct SearchFolderItemFactory SearchFolderItemFactory; 2056 #endif /* defined __cplusplus */ 2057 #endif /* defined __SearchFolderItemFactory_FWD_DEFINED__ */ 2058 2059 #ifndef __OpenControlPanel_FWD_DEFINED__ 2060 #define __OpenControlPanel_FWD_DEFINED__ 2061 #ifdef __cplusplus 2062 typedef class OpenControlPanel OpenControlPanel; 2063 #else 2064 typedef struct OpenControlPanel OpenControlPanel; 2065 #endif /* defined __cplusplus */ 2066 #endif /* defined __OpenControlPanel_FWD_DEFINED__ */ 2067 2068 #ifndef __MailRecipient_FWD_DEFINED__ 2069 #define __MailRecipient_FWD_DEFINED__ 2070 #ifdef __cplusplus 2071 typedef class MailRecipient MailRecipient; 2072 #else 2073 typedef struct MailRecipient MailRecipient; 2074 #endif /* defined __cplusplus */ 2075 #endif /* defined __MailRecipient_FWD_DEFINED__ */ 2076 2077 #ifndef __NetworkExplorerFolder_FWD_DEFINED__ 2078 #define __NetworkExplorerFolder_FWD_DEFINED__ 2079 #ifdef __cplusplus 2080 typedef class NetworkExplorerFolder NetworkExplorerFolder; 2081 #else 2082 typedef struct NetworkExplorerFolder NetworkExplorerFolder; 2083 #endif /* defined __cplusplus */ 2084 #endif /* defined __NetworkExplorerFolder_FWD_DEFINED__ */ 2085 2086 #ifndef __DestinationList_FWD_DEFINED__ 2087 #define __DestinationList_FWD_DEFINED__ 2088 #ifdef __cplusplus 2089 typedef class DestinationList DestinationList; 2090 #else 2091 typedef struct DestinationList DestinationList; 2092 #endif /* defined __cplusplus */ 2093 #endif /* defined __DestinationList_FWD_DEFINED__ */ 2094 2095 #ifndef __ApplicationDestinations_FWD_DEFINED__ 2096 #define __ApplicationDestinations_FWD_DEFINED__ 2097 #ifdef __cplusplus 2098 typedef class ApplicationDestinations ApplicationDestinations; 2099 #else 2100 typedef struct ApplicationDestinations ApplicationDestinations; 2101 #endif /* defined __cplusplus */ 2102 #endif /* defined __ApplicationDestinations_FWD_DEFINED__ */ 2103 2104 #ifndef __ApplicationDocumentLists_FWD_DEFINED__ 2105 #define __ApplicationDocumentLists_FWD_DEFINED__ 2106 #ifdef __cplusplus 2107 typedef class ApplicationDocumentLists ApplicationDocumentLists; 2108 #else 2109 typedef struct ApplicationDocumentLists ApplicationDocumentLists; 2110 #endif /* defined __cplusplus */ 2111 #endif /* defined __ApplicationDocumentLists_FWD_DEFINED__ */ 2112 2113 #ifndef __HomeGroup_FWD_DEFINED__ 2114 #define __HomeGroup_FWD_DEFINED__ 2115 #ifdef __cplusplus 2116 typedef class HomeGroup HomeGroup; 2117 #else 2118 typedef struct HomeGroup HomeGroup; 2119 #endif /* defined __cplusplus */ 2120 #endif /* defined __HomeGroup_FWD_DEFINED__ */ 2121 2122 #ifndef __ShellLibrary_FWD_DEFINED__ 2123 #define __ShellLibrary_FWD_DEFINED__ 2124 #ifdef __cplusplus 2125 typedef class ShellLibrary ShellLibrary; 2126 #else 2127 typedef struct ShellLibrary ShellLibrary; 2128 #endif /* defined __cplusplus */ 2129 #endif /* defined __ShellLibrary_FWD_DEFINED__ */ 2130 2131 #ifndef __AppStartupLink_FWD_DEFINED__ 2132 #define __AppStartupLink_FWD_DEFINED__ 2133 #ifdef __cplusplus 2134 typedef class AppStartupLink AppStartupLink; 2135 #else 2136 typedef struct AppStartupLink AppStartupLink; 2137 #endif /* defined __cplusplus */ 2138 #endif /* defined __AppStartupLink_FWD_DEFINED__ */ 2139 2140 #ifndef __EnumerableObjectCollection_FWD_DEFINED__ 2141 #define __EnumerableObjectCollection_FWD_DEFINED__ 2142 #ifdef __cplusplus 2143 typedef class EnumerableObjectCollection EnumerableObjectCollection; 2144 #else 2145 typedef struct EnumerableObjectCollection EnumerableObjectCollection; 2146 #endif /* defined __cplusplus */ 2147 #endif /* defined __EnumerableObjectCollection_FWD_DEFINED__ */ 2148 2149 #ifndef __DesktopGadget_FWD_DEFINED__ 2150 #define __DesktopGadget_FWD_DEFINED__ 2151 #ifdef __cplusplus 2152 typedef class DesktopGadget DesktopGadget; 2153 #else 2154 typedef struct DesktopGadget DesktopGadget; 2155 #endif /* defined __cplusplus */ 2156 #endif /* defined __DesktopGadget_FWD_DEFINED__ */ 2157 2158 #ifndef __PlaybackManager_FWD_DEFINED__ 2159 #define __PlaybackManager_FWD_DEFINED__ 2160 #ifdef __cplusplus 2161 typedef class PlaybackManager PlaybackManager; 2162 #else 2163 typedef struct PlaybackManager PlaybackManager; 2164 #endif /* defined __cplusplus */ 2165 #endif /* defined __PlaybackManager_FWD_DEFINED__ */ 2166 2167 #ifndef __AccessibilityDockingService_FWD_DEFINED__ 2168 #define __AccessibilityDockingService_FWD_DEFINED__ 2169 #ifdef __cplusplus 2170 typedef class AccessibilityDockingService AccessibilityDockingService; 2171 #else 2172 typedef struct AccessibilityDockingService AccessibilityDockingService; 2173 #endif /* defined __cplusplus */ 2174 #endif /* defined __AccessibilityDockingService_FWD_DEFINED__ */ 2175 2176 #ifndef __FrameworkInputPane_FWD_DEFINED__ 2177 #define __FrameworkInputPane_FWD_DEFINED__ 2178 #ifdef __cplusplus 2179 typedef class FrameworkInputPane FrameworkInputPane; 2180 #else 2181 typedef struct FrameworkInputPane FrameworkInputPane; 2182 #endif /* defined __cplusplus */ 2183 #endif /* defined __FrameworkInputPane_FWD_DEFINED__ */ 2184 2185 #ifndef __DefFolderMenu_FWD_DEFINED__ 2186 #define __DefFolderMenu_FWD_DEFINED__ 2187 #ifdef __cplusplus 2188 typedef class DefFolderMenu DefFolderMenu; 2189 #else 2190 typedef struct DefFolderMenu DefFolderMenu; 2191 #endif /* defined __cplusplus */ 2192 #endif /* defined __DefFolderMenu_FWD_DEFINED__ */ 2193 2194 #ifndef __AppVisibility_FWD_DEFINED__ 2195 #define __AppVisibility_FWD_DEFINED__ 2196 #ifdef __cplusplus 2197 typedef class AppVisibility AppVisibility; 2198 #else 2199 typedef struct AppVisibility AppVisibility; 2200 #endif /* defined __cplusplus */ 2201 #endif /* defined __AppVisibility_FWD_DEFINED__ */ 2202 2203 #ifndef __AppShellVerbHandler_FWD_DEFINED__ 2204 #define __AppShellVerbHandler_FWD_DEFINED__ 2205 #ifdef __cplusplus 2206 typedef class AppShellVerbHandler AppShellVerbHandler; 2207 #else 2208 typedef struct AppShellVerbHandler AppShellVerbHandler; 2209 #endif /* defined __cplusplus */ 2210 #endif /* defined __AppShellVerbHandler_FWD_DEFINED__ */ 2211 2212 #ifndef __ExecuteUnknown_FWD_DEFINED__ 2213 #define __ExecuteUnknown_FWD_DEFINED__ 2214 #ifdef __cplusplus 2215 typedef class ExecuteUnknown ExecuteUnknown; 2216 #else 2217 typedef struct ExecuteUnknown ExecuteUnknown; 2218 #endif /* defined __cplusplus */ 2219 #endif /* defined __ExecuteUnknown_FWD_DEFINED__ */ 2220 2221 #ifndef __PackageDebugSettings_FWD_DEFINED__ 2222 #define __PackageDebugSettings_FWD_DEFINED__ 2223 #ifdef __cplusplus 2224 typedef class PackageDebugSettings PackageDebugSettings; 2225 #else 2226 typedef struct PackageDebugSettings PackageDebugSettings; 2227 #endif /* defined __cplusplus */ 2228 #endif /* defined __PackageDebugSettings_FWD_DEFINED__ */ 2229 2230 #ifndef __ApplicationActivationManager_FWD_DEFINED__ 2231 #define __ApplicationActivationManager_FWD_DEFINED__ 2232 #ifdef __cplusplus 2233 typedef class ApplicationActivationManager ApplicationActivationManager; 2234 #else 2235 typedef struct ApplicationActivationManager ApplicationActivationManager; 2236 #endif /* defined __cplusplus */ 2237 #endif /* defined __ApplicationActivationManager_FWD_DEFINED__ */ 2238 2239 #ifndef __ApplicationDesignModeSettings_FWD_DEFINED__ 2240 #define __ApplicationDesignModeSettings_FWD_DEFINED__ 2241 #ifdef __cplusplus 2242 typedef class ApplicationDesignModeSettings ApplicationDesignModeSettings; 2243 #else 2244 typedef struct ApplicationDesignModeSettings ApplicationDesignModeSettings; 2245 #endif /* defined __cplusplus */ 2246 #endif /* defined __ApplicationDesignModeSettings_FWD_DEFINED__ */ 2247 2248 #ifndef __ExecuteFolder_FWD_DEFINED__ 2249 #define __ExecuteFolder_FWD_DEFINED__ 2250 #ifdef __cplusplus 2251 typedef class ExecuteFolder ExecuteFolder; 2252 #else 2253 typedef struct ExecuteFolder ExecuteFolder; 2254 #endif /* defined __cplusplus */ 2255 #endif /* defined __ExecuteFolder_FWD_DEFINED__ */ 2256 2257 #ifndef __VirtualDesktopManager_FWD_DEFINED__ 2258 #define __VirtualDesktopManager_FWD_DEFINED__ 2259 #ifdef __cplusplus 2260 typedef class VirtualDesktopManager VirtualDesktopManager; 2261 #else 2262 typedef struct VirtualDesktopManager VirtualDesktopManager; 2263 #endif /* defined __cplusplus */ 2264 #endif /* defined __VirtualDesktopManager_FWD_DEFINED__ */ 2265 2266 #ifndef __IAssocHandlerInvoker_FWD_DEFINED__ 2267 #define __IAssocHandlerInvoker_FWD_DEFINED__ 2268 typedef interface IAssocHandlerInvoker IAssocHandlerInvoker; 2269 #ifdef __cplusplus 2270 interface IAssocHandlerInvoker; 2271 #endif /* __cplusplus */ 2272 #endif 2273 2274 #ifndef __IAssocHandler_FWD_DEFINED__ 2275 #define __IAssocHandler_FWD_DEFINED__ 2276 typedef interface IAssocHandler IAssocHandler; 2277 #ifdef __cplusplus 2278 interface IAssocHandler; 2279 #endif /* __cplusplus */ 2280 #endif 2281 2282 #ifndef __IEnumAssocHandlers_FWD_DEFINED__ 2283 #define __IEnumAssocHandlers_FWD_DEFINED__ 2284 typedef interface IEnumAssocHandlers IEnumAssocHandlers; 2285 #ifdef __cplusplus 2286 interface IEnumAssocHandlers; 2287 #endif /* __cplusplus */ 2288 #endif 2289 2290 #ifndef __IDataObjectProvider_FWD_DEFINED__ 2291 #define __IDataObjectProvider_FWD_DEFINED__ 2292 typedef interface IDataObjectProvider IDataObjectProvider; 2293 #ifdef __cplusplus 2294 interface IDataObjectProvider; 2295 #endif /* __cplusplus */ 2296 #endif 2297 2298 #ifndef __IDataTransferManagerInterop_FWD_DEFINED__ 2299 #define __IDataTransferManagerInterop_FWD_DEFINED__ 2300 typedef interface IDataTransferManagerInterop IDataTransferManagerInterop; 2301 #ifdef __cplusplus 2302 interface IDataTransferManagerInterop; 2303 #endif /* __cplusplus */ 2304 #endif 2305 2306 #ifndef __IFrameworkInputPaneHandler_FWD_DEFINED__ 2307 #define __IFrameworkInputPaneHandler_FWD_DEFINED__ 2308 typedef interface IFrameworkInputPaneHandler IFrameworkInputPaneHandler; 2309 #ifdef __cplusplus 2310 interface IFrameworkInputPaneHandler; 2311 #endif /* __cplusplus */ 2312 #endif 2313 2314 #ifndef __IFrameworkInputPane_FWD_DEFINED__ 2315 #define __IFrameworkInputPane_FWD_DEFINED__ 2316 typedef interface IFrameworkInputPane IFrameworkInputPane; 2317 #ifdef __cplusplus 2318 interface IFrameworkInputPane; 2319 #endif /* __cplusplus */ 2320 #endif 2321 2322 #ifndef __ISearchableApplication_FWD_DEFINED__ 2323 #define __ISearchableApplication_FWD_DEFINED__ 2324 typedef interface ISearchableApplication ISearchableApplication; 2325 #ifdef __cplusplus 2326 interface ISearchableApplication; 2327 #endif /* __cplusplus */ 2328 #endif 2329 2330 #ifndef __IAccessibilityDockingServiceCallback_FWD_DEFINED__ 2331 #define __IAccessibilityDockingServiceCallback_FWD_DEFINED__ 2332 typedef interface IAccessibilityDockingServiceCallback IAccessibilityDockingServiceCallback; 2333 #ifdef __cplusplus 2334 interface IAccessibilityDockingServiceCallback; 2335 #endif /* __cplusplus */ 2336 #endif 2337 2338 #ifndef __IAccessibilityDockingService_FWD_DEFINED__ 2339 #define __IAccessibilityDockingService_FWD_DEFINED__ 2340 typedef interface IAccessibilityDockingService IAccessibilityDockingService; 2341 #ifdef __cplusplus 2342 interface IAccessibilityDockingService; 2343 #endif /* __cplusplus */ 2344 #endif 2345 2346 #ifndef __IAppVisibilityEvents_FWD_DEFINED__ 2347 #define __IAppVisibilityEvents_FWD_DEFINED__ 2348 typedef interface IAppVisibilityEvents IAppVisibilityEvents; 2349 #ifdef __cplusplus 2350 interface IAppVisibilityEvents; 2351 #endif /* __cplusplus */ 2352 #endif 2353 2354 #ifndef __IAppVisibility_FWD_DEFINED__ 2355 #define __IAppVisibility_FWD_DEFINED__ 2356 typedef interface IAppVisibility IAppVisibility; 2357 #ifdef __cplusplus 2358 interface IAppVisibility; 2359 #endif /* __cplusplus */ 2360 #endif 2361 2362 #ifndef __IPackageExecutionStateChangeNotification_FWD_DEFINED__ 2363 #define __IPackageExecutionStateChangeNotification_FWD_DEFINED__ 2364 typedef interface IPackageExecutionStateChangeNotification IPackageExecutionStateChangeNotification; 2365 #ifdef __cplusplus 2366 interface IPackageExecutionStateChangeNotification; 2367 #endif /* __cplusplus */ 2368 #endif 2369 2370 #ifndef __IPackageDebugSettings_FWD_DEFINED__ 2371 #define __IPackageDebugSettings_FWD_DEFINED__ 2372 typedef interface IPackageDebugSettings IPackageDebugSettings; 2373 #ifdef __cplusplus 2374 interface IPackageDebugSettings; 2375 #endif /* __cplusplus */ 2376 #endif 2377 2378 #ifndef __IExecuteCommandApplicationHostEnvironment_FWD_DEFINED__ 2379 #define __IExecuteCommandApplicationHostEnvironment_FWD_DEFINED__ 2380 typedef interface IExecuteCommandApplicationHostEnvironment IExecuteCommandApplicationHostEnvironment; 2381 #ifdef __cplusplus 2382 interface IExecuteCommandApplicationHostEnvironment; 2383 #endif /* __cplusplus */ 2384 #endif 2385 2386 #ifndef __IExecuteCommandHost_FWD_DEFINED__ 2387 #define __IExecuteCommandHost_FWD_DEFINED__ 2388 typedef interface IExecuteCommandHost IExecuteCommandHost; 2389 #ifdef __cplusplus 2390 interface IExecuteCommandHost; 2391 #endif /* __cplusplus */ 2392 #endif 2393 2394 #ifndef __IApplicationDesignModeSettings_FWD_DEFINED__ 2395 #define __IApplicationDesignModeSettings_FWD_DEFINED__ 2396 typedef interface IApplicationDesignModeSettings IApplicationDesignModeSettings; 2397 #ifdef __cplusplus 2398 interface IApplicationDesignModeSettings; 2399 #endif /* __cplusplus */ 2400 #endif 2401 2402 #ifndef __IInitializeWithWindow_FWD_DEFINED__ 2403 #define __IInitializeWithWindow_FWD_DEFINED__ 2404 typedef interface IInitializeWithWindow IInitializeWithWindow; 2405 #ifdef __cplusplus 2406 interface IInitializeWithWindow; 2407 #endif /* __cplusplus */ 2408 #endif 2409 2410 #ifndef __IHandlerInfo_FWD_DEFINED__ 2411 #define __IHandlerInfo_FWD_DEFINED__ 2412 typedef interface IHandlerInfo IHandlerInfo; 2413 #ifdef __cplusplus 2414 interface IHandlerInfo; 2415 #endif /* __cplusplus */ 2416 #endif 2417 2418 #ifndef __IHandlerActivationHost_FWD_DEFINED__ 2419 #define __IHandlerActivationHost_FWD_DEFINED__ 2420 typedef interface IHandlerActivationHost IHandlerActivationHost; 2421 #ifdef __cplusplus 2422 interface IHandlerActivationHost; 2423 #endif /* __cplusplus */ 2424 #endif 2425 2426 /* Headers for imported files */ 2427 2428 #include <objidl.h> 2429 #include <oleidl.h> 2430 #include <oaidl.h> 2431 #include <docobj.h> 2432 #include <shtypes.h> 2433 #include <servprov.h> 2434 #include <comcat.h> 2435 #include <propidl.h> 2436 #include <prsht.h> 2437 #include <msxml.h> 2438 #include <wtypes.h> 2439 #include <propsys.h> 2440 #include <objectarray.h> 2441 #include <structuredquerycondition.h> 2442 2443 #ifdef __cplusplus 2444 extern "C" { 2445 #endif 2446 2447 /** 2448 * This file is part of the mingw-w64 runtime package. 2449 * No warranty is given; refer to the file DISCLAIMER within this package. 2450 */ 2451 2452 #include <winapifamily.h> 2453 2454 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 2455 2456 #include <_mingw_unicode.h> 2457 2458 2459 #include <sherrors.h> 2460 2461 #ifndef SHSTDAPI 2462 #ifdef _SHELL32_ 2463 #define SHSTDAPI STDAPI 2464 #define SHSTDAPI_(type) STDAPI_(type) 2465 #else 2466 #define SHSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE 2467 #define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE 2468 #endif 2469 #endif 2470 2471 #define CMF_NORMAL 0x0 2472 #define CMF_DEFAULTONLY 0x1 2473 #define CMF_VERBSONLY 0x2 2474 #define CMF_EXPLORE 0x4 2475 #define CMF_NOVERBS 0x8 2476 #define CMF_CANRENAME 0x10 2477 #define CMF_NODEFAULT 0x20 2478 #if NTDDI_VERSION < NTDDI_VISTA 2479 #define CMF_INCLUDESTATIC 0x40 2480 #endif 2481 #if NTDDI_VERSION >= NTDDI_VISTA 2482 #define CMF_ITEMMENU 0x80 2483 #endif 2484 #define CMF_EXTENDEDVERBS 0x100 2485 #if NTDDI_VERSION >= NTDDI_VISTA 2486 #define CMF_DISABLEDVERBS 0x200 2487 #endif 2488 #define CMF_ASYNCVERBSTATE 0x400 2489 #define CMF_OPTIMIZEFORINVOKE 0x800 2490 #define CMF_SYNCCASCADEMENU 0x1000 2491 #define CMF_DONOTPICKDEFAULT 0x2000 2492 #define CMF_RESERVED 0xffff0000 2493 2494 #define GCS_VERBA 0x0 2495 #define GCS_HELPTEXTA 0x1 2496 #define GCS_VALIDATEA 0x2 2497 #define GCS_VERBW 0x4 2498 #define GCS_HELPTEXTW 0x5 2499 #define GCS_VALIDATEW 0x6 2500 #define GCS_VERBICONW 0x14 2501 #define GCS_UNICODE 0x4 2502 2503 #define GCS_VERB __MINGW_NAME_AW(GCS_VERB) 2504 #define GCS_HELPTEXT __MINGW_NAME_AW(GCS_HELPTEXT) 2505 #define GCS_VALIDATE __MINGW_NAME_AW(GCS_VALIDATE) 2506 2507 #define CMDSTR_NEWFOLDERA "NewFolder" 2508 #define CMDSTR_VIEWLISTA "ViewList" 2509 #define CMDSTR_VIEWDETAILSA "ViewDetails" 2510 #define CMDSTR_NEWFOLDERW L"NewFolder" 2511 #define CMDSTR_VIEWLISTW L"ViewList" 2512 #define CMDSTR_VIEWDETAILSW L"ViewDetails" 2513 2514 #define CMDSTR_NEWFOLDER __MINGW_NAME_AW(CMDSTR_NEWFOLDER) 2515 #define CMDSTR_VIEWLIST __MINGW_NAME_AW(CMDSTR_VIEWLIST) 2516 #define CMDSTR_VIEWDETAILS __MINGW_NAME_AW(CMDSTR_VIEWDETAILS) 2517 2518 #define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY 2519 #define CMIC_MASK_ICON SEE_MASK_ICON 2520 #define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI 2521 #define CMIC_MASK_UNICODE SEE_MASK_UNICODE 2522 #define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE 2523 #if NTDDI_VERSION < NTDDI_VISTA 2524 #define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME 2525 #define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE 2526 #endif 2527 #define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM 2528 #define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK 2529 #if NTDDI_VERSION >= NTDDI_VISTA 2530 #define CMIC_MASK_NOASYNC SEE_MASK_NOASYNC 2531 #endif 2532 #define CMIC_MASK_SHIFT_DOWN 0x10000000 2533 #define CMIC_MASK_CONTROL_DOWN 0x40000000 2534 #define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE 2535 #define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS 2536 #define CMIC_MASK_PTINVOKE 0x20000000 2537 2538 #include <pshpack8.h> 2539 typedef struct _CMINVOKECOMMANDINFO { 2540 DWORD cbSize; 2541 DWORD fMask; 2542 HWND hwnd; 2543 LPCSTR lpVerb; 2544 LPCSTR lpParameters; 2545 LPCSTR lpDirectory; 2546 int nShow; 2547 DWORD dwHotKey; 2548 HANDLE hIcon; 2549 } CMINVOKECOMMANDINFO; 2550 2551 typedef CMINVOKECOMMANDINFO *LPCMINVOKECOMMANDINFO; 2552 typedef const CMINVOKECOMMANDINFO *PCCMINVOKECOMMANDINFO; 2553 2554 typedef struct _CMINVOKECOMMANDINFOEX { 2555 DWORD cbSize; 2556 DWORD fMask; 2557 HWND hwnd; 2558 LPCSTR lpVerb; 2559 LPCSTR lpParameters; 2560 LPCSTR lpDirectory; 2561 int nShow; 2562 DWORD dwHotKey; 2563 HANDLE hIcon; 2564 LPCSTR lpTitle; 2565 LPCWSTR lpVerbW; 2566 LPCWSTR lpParametersW; 2567 LPCWSTR lpDirectoryW; 2568 LPCWSTR lpTitleW; 2569 POINT ptInvoke; 2570 } CMINVOKECOMMANDINFOEX; 2571 2572 typedef CMINVOKECOMMANDINFOEX *LPCMINVOKECOMMANDINFOEX; 2573 typedef const CMINVOKECOMMANDINFOEX *PCCMINVOKECOMMANDINFOEX; 2574 #include <poppack.h> 2575 2576 /***************************************************************************** 2577 * IContextMenu interface 2578 */ 2579 #ifndef __IContextMenu_INTERFACE_DEFINED__ 2580 #define __IContextMenu_INTERFACE_DEFINED__ 2581 2582 DEFINE_GUID(IID_IContextMenu, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 2583 #if defined(__cplusplus) && !defined(CINTERFACE) 2584 MIDL_INTERFACE("000214e4-0000-0000-c000-000000000046") 2585 IContextMenu : public IUnknown 2586 { 2587 virtual HRESULT STDMETHODCALLTYPE QueryContextMenu( 2588 HMENU hmenu, 2589 UINT indexMenu, 2590 UINT idCmdFirst, 2591 UINT idCmdLast, 2592 UINT uFlags) = 0; 2593 2594 virtual HRESULT STDMETHODCALLTYPE InvokeCommand( 2595 CMINVOKECOMMANDINFO *pici) = 0; 2596 2597 virtual HRESULT STDMETHODCALLTYPE GetCommandString( 2598 UINT_PTR idCmd, 2599 UINT uType, 2600 UINT *pReserved, 2601 CHAR *pszName, 2602 UINT cchMax) = 0; 2603 2604 }; 2605 #ifdef __CRT_UUID_DECL 2606 __CRT_UUID_DECL(IContextMenu, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 2607 #endif 2608 #else 2609 typedef struct IContextMenuVtbl { 2610 BEGIN_INTERFACE 2611 2612 /*** IUnknown methods ***/ 2613 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2614 IContextMenu *This, 2615 REFIID riid, 2616 void **ppvObject); 2617 2618 ULONG (STDMETHODCALLTYPE *AddRef)( 2619 IContextMenu *This); 2620 2621 ULONG (STDMETHODCALLTYPE *Release)( 2622 IContextMenu *This); 2623 2624 /*** IContextMenu methods ***/ 2625 HRESULT (STDMETHODCALLTYPE *QueryContextMenu)( 2626 IContextMenu *This, 2627 HMENU hmenu, 2628 UINT indexMenu, 2629 UINT idCmdFirst, 2630 UINT idCmdLast, 2631 UINT uFlags); 2632 2633 HRESULT (STDMETHODCALLTYPE *InvokeCommand)( 2634 IContextMenu *This, 2635 CMINVOKECOMMANDINFO *pici); 2636 2637 HRESULT (STDMETHODCALLTYPE *GetCommandString)( 2638 IContextMenu *This, 2639 UINT_PTR idCmd, 2640 UINT uType, 2641 UINT *pReserved, 2642 CHAR *pszName, 2643 UINT cchMax); 2644 2645 END_INTERFACE 2646 } IContextMenuVtbl; 2647 2648 interface IContextMenu { 2649 CONST_VTBL IContextMenuVtbl* lpVtbl; 2650 }; 2651 2652 #ifdef COBJMACROS 2653 #ifndef WIDL_C_INLINE_WRAPPERS 2654 /*** IUnknown methods ***/ 2655 #define IContextMenu_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2656 #define IContextMenu_AddRef(This) (This)->lpVtbl->AddRef(This) 2657 #define IContextMenu_Release(This) (This)->lpVtbl->Release(This) 2658 /*** IContextMenu methods ***/ 2659 #define IContextMenu_QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) (This)->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) 2660 #define IContextMenu_InvokeCommand(This,pici) (This)->lpVtbl->InvokeCommand(This,pici) 2661 #define IContextMenu_GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) (This)->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) 2662 #else 2663 /*** IUnknown methods ***/ 2664 static inline HRESULT IContextMenu_QueryInterface(IContextMenu* This,REFIID riid,void **ppvObject) { 2665 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2666 } 2667 static inline ULONG IContextMenu_AddRef(IContextMenu* This) { 2668 return This->lpVtbl->AddRef(This); 2669 } 2670 static inline ULONG IContextMenu_Release(IContextMenu* This) { 2671 return This->lpVtbl->Release(This); 2672 } 2673 /*** IContextMenu methods ***/ 2674 static inline HRESULT IContextMenu_QueryContextMenu(IContextMenu* This,HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) { 2675 return This->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags); 2676 } 2677 static inline HRESULT IContextMenu_InvokeCommand(IContextMenu* This,CMINVOKECOMMANDINFO *pici) { 2678 return This->lpVtbl->InvokeCommand(This,pici); 2679 } 2680 static inline HRESULT IContextMenu_GetCommandString(IContextMenu* This,UINT_PTR idCmd,UINT uType,UINT *pReserved,CHAR *pszName,UINT cchMax) { 2681 return This->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax); 2682 } 2683 #endif 2684 #endif 2685 2686 #endif 2687 2688 2689 #endif /* __IContextMenu_INTERFACE_DEFINED__ */ 2690 2691 typedef IContextMenu *LPCONTEXTMENU; 2692 2693 /***************************************************************************** 2694 * IContextMenu2 interface 2695 */ 2696 #ifndef __IContextMenu2_INTERFACE_DEFINED__ 2697 #define __IContextMenu2_INTERFACE_DEFINED__ 2698 2699 DEFINE_GUID(IID_IContextMenu2, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 2700 #if defined(__cplusplus) && !defined(CINTERFACE) 2701 MIDL_INTERFACE("000214f4-0000-0000-c000-000000000046") 2702 IContextMenu2 : public IContextMenu 2703 { 2704 virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg( 2705 UINT uMsg, 2706 WPARAM wParam, 2707 LPARAM lParam) = 0; 2708 2709 }; 2710 #ifdef __CRT_UUID_DECL 2711 __CRT_UUID_DECL(IContextMenu2, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 2712 #endif 2713 #else 2714 typedef struct IContextMenu2Vtbl { 2715 BEGIN_INTERFACE 2716 2717 /*** IUnknown methods ***/ 2718 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2719 IContextMenu2 *This, 2720 REFIID riid, 2721 void **ppvObject); 2722 2723 ULONG (STDMETHODCALLTYPE *AddRef)( 2724 IContextMenu2 *This); 2725 2726 ULONG (STDMETHODCALLTYPE *Release)( 2727 IContextMenu2 *This); 2728 2729 /*** IContextMenu methods ***/ 2730 HRESULT (STDMETHODCALLTYPE *QueryContextMenu)( 2731 IContextMenu2 *This, 2732 HMENU hmenu, 2733 UINT indexMenu, 2734 UINT idCmdFirst, 2735 UINT idCmdLast, 2736 UINT uFlags); 2737 2738 HRESULT (STDMETHODCALLTYPE *InvokeCommand)( 2739 IContextMenu2 *This, 2740 CMINVOKECOMMANDINFO *pici); 2741 2742 HRESULT (STDMETHODCALLTYPE *GetCommandString)( 2743 IContextMenu2 *This, 2744 UINT_PTR idCmd, 2745 UINT uType, 2746 UINT *pReserved, 2747 CHAR *pszName, 2748 UINT cchMax); 2749 2750 /*** IContextMenu2 methods ***/ 2751 HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)( 2752 IContextMenu2 *This, 2753 UINT uMsg, 2754 WPARAM wParam, 2755 LPARAM lParam); 2756 2757 END_INTERFACE 2758 } IContextMenu2Vtbl; 2759 2760 interface IContextMenu2 { 2761 CONST_VTBL IContextMenu2Vtbl* lpVtbl; 2762 }; 2763 2764 #ifdef COBJMACROS 2765 #ifndef WIDL_C_INLINE_WRAPPERS 2766 /*** IUnknown methods ***/ 2767 #define IContextMenu2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2768 #define IContextMenu2_AddRef(This) (This)->lpVtbl->AddRef(This) 2769 #define IContextMenu2_Release(This) (This)->lpVtbl->Release(This) 2770 /*** IContextMenu methods ***/ 2771 #define IContextMenu2_QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) (This)->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) 2772 #define IContextMenu2_InvokeCommand(This,pici) (This)->lpVtbl->InvokeCommand(This,pici) 2773 #define IContextMenu2_GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) (This)->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) 2774 /*** IContextMenu2 methods ***/ 2775 #define IContextMenu2_HandleMenuMsg(This,uMsg,wParam,lParam) (This)->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam) 2776 #else 2777 /*** IUnknown methods ***/ 2778 static inline HRESULT IContextMenu2_QueryInterface(IContextMenu2* This,REFIID riid,void **ppvObject) { 2779 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2780 } 2781 static inline ULONG IContextMenu2_AddRef(IContextMenu2* This) { 2782 return This->lpVtbl->AddRef(This); 2783 } 2784 static inline ULONG IContextMenu2_Release(IContextMenu2* This) { 2785 return This->lpVtbl->Release(This); 2786 } 2787 /*** IContextMenu methods ***/ 2788 static inline HRESULT IContextMenu2_QueryContextMenu(IContextMenu2* This,HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) { 2789 return This->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags); 2790 } 2791 static inline HRESULT IContextMenu2_InvokeCommand(IContextMenu2* This,CMINVOKECOMMANDINFO *pici) { 2792 return This->lpVtbl->InvokeCommand(This,pici); 2793 } 2794 static inline HRESULT IContextMenu2_GetCommandString(IContextMenu2* This,UINT_PTR idCmd,UINT uType,UINT *pReserved,CHAR *pszName,UINT cchMax) { 2795 return This->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax); 2796 } 2797 /*** IContextMenu2 methods ***/ 2798 static inline HRESULT IContextMenu2_HandleMenuMsg(IContextMenu2* This,UINT uMsg,WPARAM wParam,LPARAM lParam) { 2799 return This->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam); 2800 } 2801 #endif 2802 #endif 2803 2804 #endif 2805 2806 2807 #endif /* __IContextMenu2_INTERFACE_DEFINED__ */ 2808 2809 typedef IContextMenu2 *LPCONTEXTMENU2; 2810 2811 /***************************************************************************** 2812 * IContextMenu3 interface 2813 */ 2814 #ifndef __IContextMenu3_INTERFACE_DEFINED__ 2815 #define __IContextMenu3_INTERFACE_DEFINED__ 2816 2817 DEFINE_GUID(IID_IContextMenu3, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19); 2818 #if defined(__cplusplus) && !defined(CINTERFACE) 2819 MIDL_INTERFACE("bcfce0a0-ec17-11d0-8d10-00a0c90f2719") 2820 IContextMenu3 : public IContextMenu2 2821 { 2822 virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg2( 2823 UINT uMsg, 2824 WPARAM wParam, 2825 LPARAM lParam, 2826 LRESULT *plResult) = 0; 2827 2828 }; 2829 #ifdef __CRT_UUID_DECL 2830 __CRT_UUID_DECL(IContextMenu3, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19) 2831 #endif 2832 #else 2833 typedef struct IContextMenu3Vtbl { 2834 BEGIN_INTERFACE 2835 2836 /*** IUnknown methods ***/ 2837 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2838 IContextMenu3 *This, 2839 REFIID riid, 2840 void **ppvObject); 2841 2842 ULONG (STDMETHODCALLTYPE *AddRef)( 2843 IContextMenu3 *This); 2844 2845 ULONG (STDMETHODCALLTYPE *Release)( 2846 IContextMenu3 *This); 2847 2848 /*** IContextMenu methods ***/ 2849 HRESULT (STDMETHODCALLTYPE *QueryContextMenu)( 2850 IContextMenu3 *This, 2851 HMENU hmenu, 2852 UINT indexMenu, 2853 UINT idCmdFirst, 2854 UINT idCmdLast, 2855 UINT uFlags); 2856 2857 HRESULT (STDMETHODCALLTYPE *InvokeCommand)( 2858 IContextMenu3 *This, 2859 CMINVOKECOMMANDINFO *pici); 2860 2861 HRESULT (STDMETHODCALLTYPE *GetCommandString)( 2862 IContextMenu3 *This, 2863 UINT_PTR idCmd, 2864 UINT uType, 2865 UINT *pReserved, 2866 CHAR *pszName, 2867 UINT cchMax); 2868 2869 /*** IContextMenu2 methods ***/ 2870 HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)( 2871 IContextMenu3 *This, 2872 UINT uMsg, 2873 WPARAM wParam, 2874 LPARAM lParam); 2875 2876 /*** IContextMenu3 methods ***/ 2877 HRESULT (STDMETHODCALLTYPE *HandleMenuMsg2)( 2878 IContextMenu3 *This, 2879 UINT uMsg, 2880 WPARAM wParam, 2881 LPARAM lParam, 2882 LRESULT *plResult); 2883 2884 END_INTERFACE 2885 } IContextMenu3Vtbl; 2886 2887 interface IContextMenu3 { 2888 CONST_VTBL IContextMenu3Vtbl* lpVtbl; 2889 }; 2890 2891 #ifdef COBJMACROS 2892 #ifndef WIDL_C_INLINE_WRAPPERS 2893 /*** IUnknown methods ***/ 2894 #define IContextMenu3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2895 #define IContextMenu3_AddRef(This) (This)->lpVtbl->AddRef(This) 2896 #define IContextMenu3_Release(This) (This)->lpVtbl->Release(This) 2897 /*** IContextMenu methods ***/ 2898 #define IContextMenu3_QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) (This)->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) 2899 #define IContextMenu3_InvokeCommand(This,pici) (This)->lpVtbl->InvokeCommand(This,pici) 2900 #define IContextMenu3_GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) (This)->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) 2901 /*** IContextMenu2 methods ***/ 2902 #define IContextMenu3_HandleMenuMsg(This,uMsg,wParam,lParam) (This)->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam) 2903 /*** IContextMenu3 methods ***/ 2904 #define IContextMenu3_HandleMenuMsg2(This,uMsg,wParam,lParam,plResult) (This)->lpVtbl->HandleMenuMsg2(This,uMsg,wParam,lParam,plResult) 2905 #else 2906 /*** IUnknown methods ***/ 2907 static inline HRESULT IContextMenu3_QueryInterface(IContextMenu3* This,REFIID riid,void **ppvObject) { 2908 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2909 } 2910 static inline ULONG IContextMenu3_AddRef(IContextMenu3* This) { 2911 return This->lpVtbl->AddRef(This); 2912 } 2913 static inline ULONG IContextMenu3_Release(IContextMenu3* This) { 2914 return This->lpVtbl->Release(This); 2915 } 2916 /*** IContextMenu methods ***/ 2917 static inline HRESULT IContextMenu3_QueryContextMenu(IContextMenu3* This,HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) { 2918 return This->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags); 2919 } 2920 static inline HRESULT IContextMenu3_InvokeCommand(IContextMenu3* This,CMINVOKECOMMANDINFO *pici) { 2921 return This->lpVtbl->InvokeCommand(This,pici); 2922 } 2923 static inline HRESULT IContextMenu3_GetCommandString(IContextMenu3* This,UINT_PTR idCmd,UINT uType,UINT *pReserved,CHAR *pszName,UINT cchMax) { 2924 return This->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax); 2925 } 2926 /*** IContextMenu2 methods ***/ 2927 static inline HRESULT IContextMenu3_HandleMenuMsg(IContextMenu3* This,UINT uMsg,WPARAM wParam,LPARAM lParam) { 2928 return This->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam); 2929 } 2930 /*** IContextMenu3 methods ***/ 2931 static inline HRESULT IContextMenu3_HandleMenuMsg2(IContextMenu3* This,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) { 2932 return This->lpVtbl->HandleMenuMsg2(This,uMsg,wParam,lParam,plResult); 2933 } 2934 #endif 2935 #endif 2936 2937 #endif 2938 2939 2940 #endif /* __IContextMenu3_INTERFACE_DEFINED__ */ 2941 2942 typedef IContextMenu3 *LPCONTEXTMENU3; 2943 2944 /***************************************************************************** 2945 * IExecuteCommand interface 2946 */ 2947 #ifndef __IExecuteCommand_INTERFACE_DEFINED__ 2948 #define __IExecuteCommand_INTERFACE_DEFINED__ 2949 2950 DEFINE_GUID(IID_IExecuteCommand, 0x7f9185b0, 0xcb92, 0x43c5, 0x80,0xa9, 0x92,0x27,0x7a,0x4f,0x7b,0x54); 2951 #if defined(__cplusplus) && !defined(CINTERFACE) 2952 MIDL_INTERFACE("7f9185b0-cb92-43c5-80a9-92277a4f7b54") 2953 IExecuteCommand : public IUnknown 2954 { 2955 virtual HRESULT STDMETHODCALLTYPE SetKeyState( 2956 DWORD grfKeyState) = 0; 2957 2958 virtual HRESULT STDMETHODCALLTYPE SetParameters( 2959 LPCWSTR pszParameters) = 0; 2960 2961 virtual HRESULT STDMETHODCALLTYPE SetPosition( 2962 POINT pt) = 0; 2963 2964 virtual HRESULT STDMETHODCALLTYPE SetShowWindow( 2965 int nShow) = 0; 2966 2967 virtual HRESULT STDMETHODCALLTYPE SetNoShowUI( 2968 WINBOOL fNoShowUI) = 0; 2969 2970 virtual HRESULT STDMETHODCALLTYPE SetDirectory( 2971 LPCWSTR pszDirectory) = 0; 2972 2973 virtual HRESULT STDMETHODCALLTYPE Execute( 2974 ) = 0; 2975 2976 }; 2977 #ifdef __CRT_UUID_DECL 2978 __CRT_UUID_DECL(IExecuteCommand, 0x7f9185b0, 0xcb92, 0x43c5, 0x80,0xa9, 0x92,0x27,0x7a,0x4f,0x7b,0x54) 2979 #endif 2980 #else 2981 typedef struct IExecuteCommandVtbl { 2982 BEGIN_INTERFACE 2983 2984 /*** IUnknown methods ***/ 2985 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2986 IExecuteCommand *This, 2987 REFIID riid, 2988 void **ppvObject); 2989 2990 ULONG (STDMETHODCALLTYPE *AddRef)( 2991 IExecuteCommand *This); 2992 2993 ULONG (STDMETHODCALLTYPE *Release)( 2994 IExecuteCommand *This); 2995 2996 /*** IExecuteCommand methods ***/ 2997 HRESULT (STDMETHODCALLTYPE *SetKeyState)( 2998 IExecuteCommand *This, 2999 DWORD grfKeyState); 3000 3001 HRESULT (STDMETHODCALLTYPE *SetParameters)( 3002 IExecuteCommand *This, 3003 LPCWSTR pszParameters); 3004 3005 HRESULT (STDMETHODCALLTYPE *SetPosition)( 3006 IExecuteCommand *This, 3007 POINT pt); 3008 3009 HRESULT (STDMETHODCALLTYPE *SetShowWindow)( 3010 IExecuteCommand *This, 3011 int nShow); 3012 3013 HRESULT (STDMETHODCALLTYPE *SetNoShowUI)( 3014 IExecuteCommand *This, 3015 WINBOOL fNoShowUI); 3016 3017 HRESULT (STDMETHODCALLTYPE *SetDirectory)( 3018 IExecuteCommand *This, 3019 LPCWSTR pszDirectory); 3020 3021 HRESULT (STDMETHODCALLTYPE *Execute)( 3022 IExecuteCommand *This); 3023 3024 END_INTERFACE 3025 } IExecuteCommandVtbl; 3026 3027 interface IExecuteCommand { 3028 CONST_VTBL IExecuteCommandVtbl* lpVtbl; 3029 }; 3030 3031 #ifdef COBJMACROS 3032 #ifndef WIDL_C_INLINE_WRAPPERS 3033 /*** IUnknown methods ***/ 3034 #define IExecuteCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3035 #define IExecuteCommand_AddRef(This) (This)->lpVtbl->AddRef(This) 3036 #define IExecuteCommand_Release(This) (This)->lpVtbl->Release(This) 3037 /*** IExecuteCommand methods ***/ 3038 #define IExecuteCommand_SetKeyState(This,grfKeyState) (This)->lpVtbl->SetKeyState(This,grfKeyState) 3039 #define IExecuteCommand_SetParameters(This,pszParameters) (This)->lpVtbl->SetParameters(This,pszParameters) 3040 #define IExecuteCommand_SetPosition(This,pt) (This)->lpVtbl->SetPosition(This,pt) 3041 #define IExecuteCommand_SetShowWindow(This,nShow) (This)->lpVtbl->SetShowWindow(This,nShow) 3042 #define IExecuteCommand_SetNoShowUI(This,fNoShowUI) (This)->lpVtbl->SetNoShowUI(This,fNoShowUI) 3043 #define IExecuteCommand_SetDirectory(This,pszDirectory) (This)->lpVtbl->SetDirectory(This,pszDirectory) 3044 #define IExecuteCommand_Execute(This) (This)->lpVtbl->Execute(This) 3045 #else 3046 /*** IUnknown methods ***/ 3047 static inline HRESULT IExecuteCommand_QueryInterface(IExecuteCommand* This,REFIID riid,void **ppvObject) { 3048 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3049 } 3050 static inline ULONG IExecuteCommand_AddRef(IExecuteCommand* This) { 3051 return This->lpVtbl->AddRef(This); 3052 } 3053 static inline ULONG IExecuteCommand_Release(IExecuteCommand* This) { 3054 return This->lpVtbl->Release(This); 3055 } 3056 /*** IExecuteCommand methods ***/ 3057 static inline HRESULT IExecuteCommand_SetKeyState(IExecuteCommand* This,DWORD grfKeyState) { 3058 return This->lpVtbl->SetKeyState(This,grfKeyState); 3059 } 3060 static inline HRESULT IExecuteCommand_SetParameters(IExecuteCommand* This,LPCWSTR pszParameters) { 3061 return This->lpVtbl->SetParameters(This,pszParameters); 3062 } 3063 static inline HRESULT IExecuteCommand_SetPosition(IExecuteCommand* This,POINT pt) { 3064 return This->lpVtbl->SetPosition(This,pt); 3065 } 3066 static inline HRESULT IExecuteCommand_SetShowWindow(IExecuteCommand* This,int nShow) { 3067 return This->lpVtbl->SetShowWindow(This,nShow); 3068 } 3069 static inline HRESULT IExecuteCommand_SetNoShowUI(IExecuteCommand* This,WINBOOL fNoShowUI) { 3070 return This->lpVtbl->SetNoShowUI(This,fNoShowUI); 3071 } 3072 static inline HRESULT IExecuteCommand_SetDirectory(IExecuteCommand* This,LPCWSTR pszDirectory) { 3073 return This->lpVtbl->SetDirectory(This,pszDirectory); 3074 } 3075 static inline HRESULT IExecuteCommand_Execute(IExecuteCommand* This) { 3076 return This->lpVtbl->Execute(This); 3077 } 3078 #endif 3079 #endif 3080 3081 #endif 3082 3083 3084 #endif /* __IExecuteCommand_INTERFACE_DEFINED__ */ 3085 3086 3087 /***************************************************************************** 3088 * IPersistFolder interface 3089 */ 3090 #ifndef __IPersistFolder_INTERFACE_DEFINED__ 3091 #define __IPersistFolder_INTERFACE_DEFINED__ 3092 3093 DEFINE_GUID(IID_IPersistFolder, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 3094 #if defined(__cplusplus) && !defined(CINTERFACE) 3095 MIDL_INTERFACE("000214ea-0000-0000-c000-000000000046") 3096 IPersistFolder : public IPersist 3097 { 3098 virtual HRESULT STDMETHODCALLTYPE Initialize( 3099 PCIDLIST_ABSOLUTE pidl) = 0; 3100 3101 }; 3102 #ifdef __CRT_UUID_DECL 3103 __CRT_UUID_DECL(IPersistFolder, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 3104 #endif 3105 #else 3106 typedef struct IPersistFolderVtbl { 3107 BEGIN_INTERFACE 3108 3109 /*** IUnknown methods ***/ 3110 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3111 IPersistFolder *This, 3112 REFIID riid, 3113 void **ppvObject); 3114 3115 ULONG (STDMETHODCALLTYPE *AddRef)( 3116 IPersistFolder *This); 3117 3118 ULONG (STDMETHODCALLTYPE *Release)( 3119 IPersistFolder *This); 3120 3121 /*** IPersist methods ***/ 3122 HRESULT (STDMETHODCALLTYPE *GetClassID)( 3123 IPersistFolder *This, 3124 CLSID *pClassID); 3125 3126 /*** IPersistFolder methods ***/ 3127 HRESULT (STDMETHODCALLTYPE *Initialize)( 3128 IPersistFolder *This, 3129 PCIDLIST_ABSOLUTE pidl); 3130 3131 END_INTERFACE 3132 } IPersistFolderVtbl; 3133 3134 interface IPersistFolder { 3135 CONST_VTBL IPersistFolderVtbl* lpVtbl; 3136 }; 3137 3138 #ifdef COBJMACROS 3139 #ifndef WIDL_C_INLINE_WRAPPERS 3140 /*** IUnknown methods ***/ 3141 #define IPersistFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3142 #define IPersistFolder_AddRef(This) (This)->lpVtbl->AddRef(This) 3143 #define IPersistFolder_Release(This) (This)->lpVtbl->Release(This) 3144 /*** IPersist methods ***/ 3145 #define IPersistFolder_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 3146 /*** IPersistFolder methods ***/ 3147 #define IPersistFolder_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl) 3148 #else 3149 /*** IUnknown methods ***/ 3150 static inline HRESULT IPersistFolder_QueryInterface(IPersistFolder* This,REFIID riid,void **ppvObject) { 3151 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3152 } 3153 static inline ULONG IPersistFolder_AddRef(IPersistFolder* This) { 3154 return This->lpVtbl->AddRef(This); 3155 } 3156 static inline ULONG IPersistFolder_Release(IPersistFolder* This) { 3157 return This->lpVtbl->Release(This); 3158 } 3159 /*** IPersist methods ***/ 3160 static inline HRESULT IPersistFolder_GetClassID(IPersistFolder* This,CLSID *pClassID) { 3161 return This->lpVtbl->GetClassID(This,pClassID); 3162 } 3163 /*** IPersistFolder methods ***/ 3164 static inline HRESULT IPersistFolder_Initialize(IPersistFolder* This,PCIDLIST_ABSOLUTE pidl) { 3165 return This->lpVtbl->Initialize(This,pidl); 3166 } 3167 #endif 3168 #endif 3169 3170 #endif 3171 3172 3173 #endif /* __IPersistFolder_INTERFACE_DEFINED__ */ 3174 3175 typedef IPersistFolder *LPPERSISTFOLDER; 3176 3177 #define IRTIR_TASK_NOT_RUNNING 0 3178 #define IRTIR_TASK_RUNNING 1 3179 #define IRTIR_TASK_SUSPENDED 2 3180 #define IRTIR_TASK_PENDING 3 3181 #define IRTIR_TASK_FINISHED 4 3182 3183 /***************************************************************************** 3184 * IRunnableTask interface 3185 */ 3186 #ifndef __IRunnableTask_INTERFACE_DEFINED__ 3187 #define __IRunnableTask_INTERFACE_DEFINED__ 3188 3189 DEFINE_GUID(IID_IRunnableTask, 0x85788d00, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec); 3190 #if defined(__cplusplus) && !defined(CINTERFACE) 3191 MIDL_INTERFACE("85788d00-6807-11d0-b810-00c04fd706ec") 3192 IRunnableTask : public IUnknown 3193 { 3194 virtual HRESULT STDMETHODCALLTYPE Run( 3195 ) = 0; 3196 3197 virtual HRESULT STDMETHODCALLTYPE Kill( 3198 WINBOOL bWait) = 0; 3199 3200 virtual HRESULT STDMETHODCALLTYPE Suspend( 3201 ) = 0; 3202 3203 virtual HRESULT STDMETHODCALLTYPE Resume( 3204 ) = 0; 3205 3206 virtual ULONG STDMETHODCALLTYPE IsRunning( 3207 ) = 0; 3208 3209 }; 3210 #ifdef __CRT_UUID_DECL 3211 __CRT_UUID_DECL(IRunnableTask, 0x85788d00, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec) 3212 #endif 3213 #else 3214 typedef struct IRunnableTaskVtbl { 3215 BEGIN_INTERFACE 3216 3217 /*** IUnknown methods ***/ 3218 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3219 IRunnableTask *This, 3220 REFIID riid, 3221 void **ppvObject); 3222 3223 ULONG (STDMETHODCALLTYPE *AddRef)( 3224 IRunnableTask *This); 3225 3226 ULONG (STDMETHODCALLTYPE *Release)( 3227 IRunnableTask *This); 3228 3229 /*** IRunnableTask methods ***/ 3230 HRESULT (STDMETHODCALLTYPE *Run)( 3231 IRunnableTask *This); 3232 3233 HRESULT (STDMETHODCALLTYPE *Kill)( 3234 IRunnableTask *This, 3235 WINBOOL bWait); 3236 3237 HRESULT (STDMETHODCALLTYPE *Suspend)( 3238 IRunnableTask *This); 3239 3240 HRESULT (STDMETHODCALLTYPE *Resume)( 3241 IRunnableTask *This); 3242 3243 ULONG (STDMETHODCALLTYPE *IsRunning)( 3244 IRunnableTask *This); 3245 3246 END_INTERFACE 3247 } IRunnableTaskVtbl; 3248 3249 interface IRunnableTask { 3250 CONST_VTBL IRunnableTaskVtbl* lpVtbl; 3251 }; 3252 3253 #ifdef COBJMACROS 3254 #ifndef WIDL_C_INLINE_WRAPPERS 3255 /*** IUnknown methods ***/ 3256 #define IRunnableTask_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3257 #define IRunnableTask_AddRef(This) (This)->lpVtbl->AddRef(This) 3258 #define IRunnableTask_Release(This) (This)->lpVtbl->Release(This) 3259 /*** IRunnableTask methods ***/ 3260 #define IRunnableTask_Run(This) (This)->lpVtbl->Run(This) 3261 #define IRunnableTask_Kill(This,bWait) (This)->lpVtbl->Kill(This,bWait) 3262 #define IRunnableTask_Suspend(This) (This)->lpVtbl->Suspend(This) 3263 #define IRunnableTask_Resume(This) (This)->lpVtbl->Resume(This) 3264 #define IRunnableTask_IsRunning(This) (This)->lpVtbl->IsRunning(This) 3265 #else 3266 /*** IUnknown methods ***/ 3267 static inline HRESULT IRunnableTask_QueryInterface(IRunnableTask* This,REFIID riid,void **ppvObject) { 3268 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3269 } 3270 static inline ULONG IRunnableTask_AddRef(IRunnableTask* This) { 3271 return This->lpVtbl->AddRef(This); 3272 } 3273 static inline ULONG IRunnableTask_Release(IRunnableTask* This) { 3274 return This->lpVtbl->Release(This); 3275 } 3276 /*** IRunnableTask methods ***/ 3277 static inline HRESULT IRunnableTask_Run(IRunnableTask* This) { 3278 return This->lpVtbl->Run(This); 3279 } 3280 static inline HRESULT IRunnableTask_Kill(IRunnableTask* This,WINBOOL bWait) { 3281 return This->lpVtbl->Kill(This,bWait); 3282 } 3283 static inline HRESULT IRunnableTask_Suspend(IRunnableTask* This) { 3284 return This->lpVtbl->Suspend(This); 3285 } 3286 static inline HRESULT IRunnableTask_Resume(IRunnableTask* This) { 3287 return This->lpVtbl->Resume(This); 3288 } 3289 static inline ULONG IRunnableTask_IsRunning(IRunnableTask* This) { 3290 return This->lpVtbl->IsRunning(This); 3291 } 3292 #endif 3293 #endif 3294 3295 #endif 3296 3297 3298 #endif /* __IRunnableTask_INTERFACE_DEFINED__ */ 3299 3300 3301 #define TOID_NULL GUID_NULL 3302 #define ITSAT_DEFAULT_LPARAM ((DWORD_PTR)-1) 3303 3304 #define ITSAT_DEFAULT_PRIORITY 0x10000000 3305 #define ITSAT_MAX_PRIORITY 0x7fffffff 3306 #define ITSAT_MIN_PRIORITY 0x00000000 3307 3308 #define ITSSFLAG_COMPLETE_ON_DESTROY 0x0 3309 #define ITSSFLAG_KILL_ON_DESTROY 0x1 3310 3311 #define ITSSFLAG_FLAGS_MASK 0x3 3312 3313 #define ITSS_THREAD_DESTROY_DEFAULT_TIMEOUT (10 * 1000) 3314 #define ITSS_THREAD_TERMINATE_TIMEOUT (INFINITE) 3315 #define ITSS_THREAD_TIMEOUT_NO_CHANGE (INFINITE - 1) 3316 3317 /***************************************************************************** 3318 * IShellTaskScheduler interface 3319 */ 3320 #ifndef __IShellTaskScheduler_INTERFACE_DEFINED__ 3321 #define __IShellTaskScheduler_INTERFACE_DEFINED__ 3322 3323 DEFINE_GUID(IID_IShellTaskScheduler, 0x6ccb7be0, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec); 3324 #if defined(__cplusplus) && !defined(CINTERFACE) 3325 MIDL_INTERFACE("6ccb7be0-6807-11d0-b810-00c04fd706ec") 3326 IShellTaskScheduler : public IUnknown 3327 { 3328 virtual HRESULT STDMETHODCALLTYPE AddTask( 3329 IRunnableTask *prt, 3330 REFTASKOWNERID rtoid, 3331 DWORD_PTR lParam, 3332 DWORD dwPriority) = 0; 3333 3334 virtual HRESULT STDMETHODCALLTYPE RemoveTasks( 3335 REFTASKOWNERID rtoid, 3336 DWORD_PTR lParam, 3337 WINBOOL bWaitIfRunning) = 0; 3338 3339 virtual UINT STDMETHODCALLTYPE CountTasks( 3340 REFTASKOWNERID rtoid) = 0; 3341 3342 virtual HRESULT STDMETHODCALLTYPE Status( 3343 DWORD dwReleaseStatus, 3344 DWORD dwThreadTimeout) = 0; 3345 3346 }; 3347 #ifdef __CRT_UUID_DECL 3348 __CRT_UUID_DECL(IShellTaskScheduler, 0x6ccb7be0, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec) 3349 #endif 3350 #else 3351 typedef struct IShellTaskSchedulerVtbl { 3352 BEGIN_INTERFACE 3353 3354 /*** IUnknown methods ***/ 3355 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3356 IShellTaskScheduler *This, 3357 REFIID riid, 3358 void **ppvObject); 3359 3360 ULONG (STDMETHODCALLTYPE *AddRef)( 3361 IShellTaskScheduler *This); 3362 3363 ULONG (STDMETHODCALLTYPE *Release)( 3364 IShellTaskScheduler *This); 3365 3366 /*** IShellTaskScheduler methods ***/ 3367 HRESULT (STDMETHODCALLTYPE *AddTask)( 3368 IShellTaskScheduler *This, 3369 IRunnableTask *prt, 3370 REFTASKOWNERID rtoid, 3371 DWORD_PTR lParam, 3372 DWORD dwPriority); 3373 3374 HRESULT (STDMETHODCALLTYPE *RemoveTasks)( 3375 IShellTaskScheduler *This, 3376 REFTASKOWNERID rtoid, 3377 DWORD_PTR lParam, 3378 WINBOOL bWaitIfRunning); 3379 3380 UINT (STDMETHODCALLTYPE *CountTasks)( 3381 IShellTaskScheduler *This, 3382 REFTASKOWNERID rtoid); 3383 3384 HRESULT (STDMETHODCALLTYPE *Status)( 3385 IShellTaskScheduler *This, 3386 DWORD dwReleaseStatus, 3387 DWORD dwThreadTimeout); 3388 3389 END_INTERFACE 3390 } IShellTaskSchedulerVtbl; 3391 3392 interface IShellTaskScheduler { 3393 CONST_VTBL IShellTaskSchedulerVtbl* lpVtbl; 3394 }; 3395 3396 #ifdef COBJMACROS 3397 #ifndef WIDL_C_INLINE_WRAPPERS 3398 /*** IUnknown methods ***/ 3399 #define IShellTaskScheduler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3400 #define IShellTaskScheduler_AddRef(This) (This)->lpVtbl->AddRef(This) 3401 #define IShellTaskScheduler_Release(This) (This)->lpVtbl->Release(This) 3402 /*** IShellTaskScheduler methods ***/ 3403 #define IShellTaskScheduler_AddTask(This,prt,rtoid,lParam,dwPriority) (This)->lpVtbl->AddTask(This,prt,rtoid,lParam,dwPriority) 3404 #define IShellTaskScheduler_RemoveTasks(This,rtoid,lParam,bWaitIfRunning) (This)->lpVtbl->RemoveTasks(This,rtoid,lParam,bWaitIfRunning) 3405 #define IShellTaskScheduler_CountTasks(This,rtoid) (This)->lpVtbl->CountTasks(This,rtoid) 3406 #define IShellTaskScheduler_Status(This,dwReleaseStatus,dwThreadTimeout) (This)->lpVtbl->Status(This,dwReleaseStatus,dwThreadTimeout) 3407 #else 3408 /*** IUnknown methods ***/ 3409 static inline HRESULT IShellTaskScheduler_QueryInterface(IShellTaskScheduler* This,REFIID riid,void **ppvObject) { 3410 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3411 } 3412 static inline ULONG IShellTaskScheduler_AddRef(IShellTaskScheduler* This) { 3413 return This->lpVtbl->AddRef(This); 3414 } 3415 static inline ULONG IShellTaskScheduler_Release(IShellTaskScheduler* This) { 3416 return This->lpVtbl->Release(This); 3417 } 3418 /*** IShellTaskScheduler methods ***/ 3419 static inline HRESULT IShellTaskScheduler_AddTask(IShellTaskScheduler* This,IRunnableTask *prt,REFTASKOWNERID rtoid,DWORD_PTR lParam,DWORD dwPriority) { 3420 return This->lpVtbl->AddTask(This,prt,rtoid,lParam,dwPriority); 3421 } 3422 static inline HRESULT IShellTaskScheduler_RemoveTasks(IShellTaskScheduler* This,REFTASKOWNERID rtoid,DWORD_PTR lParam,WINBOOL bWaitIfRunning) { 3423 return This->lpVtbl->RemoveTasks(This,rtoid,lParam,bWaitIfRunning); 3424 } 3425 static inline UINT IShellTaskScheduler_CountTasks(IShellTaskScheduler* This,REFTASKOWNERID rtoid) { 3426 return This->lpVtbl->CountTasks(This,rtoid); 3427 } 3428 static inline HRESULT IShellTaskScheduler_Status(IShellTaskScheduler* This,DWORD dwReleaseStatus,DWORD dwThreadTimeout) { 3429 return This->lpVtbl->Status(This,dwReleaseStatus,dwThreadTimeout); 3430 } 3431 #endif 3432 #endif 3433 3434 #endif 3435 3436 3437 #endif /* __IShellTaskScheduler_INTERFACE_DEFINED__ */ 3438 3439 3440 #define SID_ShellTaskScheduler IID_IShellTaskScheduler 3441 3442 /***************************************************************************** 3443 * IQueryCodePage interface 3444 */ 3445 #ifndef __IQueryCodePage_INTERFACE_DEFINED__ 3446 #define __IQueryCodePage_INTERFACE_DEFINED__ 3447 3448 DEFINE_GUID(IID_IQueryCodePage, 0xc7b236ce, 0xee80, 0x11d0, 0x98,0x5f, 0x00,0x60,0x08,0x05,0x93,0x82); 3449 #if defined(__cplusplus) && !defined(CINTERFACE) 3450 MIDL_INTERFACE("c7b236ce-ee80-11d0-985f-006008059382") 3451 IQueryCodePage : public IUnknown 3452 { 3453 virtual HRESULT STDMETHODCALLTYPE GetCodePage( 3454 UINT *puiCodePage) = 0; 3455 3456 virtual HRESULT STDMETHODCALLTYPE SetCodePage( 3457 UINT uiCodePage) = 0; 3458 3459 }; 3460 #ifdef __CRT_UUID_DECL 3461 __CRT_UUID_DECL(IQueryCodePage, 0xc7b236ce, 0xee80, 0x11d0, 0x98,0x5f, 0x00,0x60,0x08,0x05,0x93,0x82) 3462 #endif 3463 #else 3464 typedef struct IQueryCodePageVtbl { 3465 BEGIN_INTERFACE 3466 3467 /*** IUnknown methods ***/ 3468 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3469 IQueryCodePage *This, 3470 REFIID riid, 3471 void **ppvObject); 3472 3473 ULONG (STDMETHODCALLTYPE *AddRef)( 3474 IQueryCodePage *This); 3475 3476 ULONG (STDMETHODCALLTYPE *Release)( 3477 IQueryCodePage *This); 3478 3479 /*** IQueryCodePage methods ***/ 3480 HRESULT (STDMETHODCALLTYPE *GetCodePage)( 3481 IQueryCodePage *This, 3482 UINT *puiCodePage); 3483 3484 HRESULT (STDMETHODCALLTYPE *SetCodePage)( 3485 IQueryCodePage *This, 3486 UINT uiCodePage); 3487 3488 END_INTERFACE 3489 } IQueryCodePageVtbl; 3490 3491 interface IQueryCodePage { 3492 CONST_VTBL IQueryCodePageVtbl* lpVtbl; 3493 }; 3494 3495 #ifdef COBJMACROS 3496 #ifndef WIDL_C_INLINE_WRAPPERS 3497 /*** IUnknown methods ***/ 3498 #define IQueryCodePage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3499 #define IQueryCodePage_AddRef(This) (This)->lpVtbl->AddRef(This) 3500 #define IQueryCodePage_Release(This) (This)->lpVtbl->Release(This) 3501 /*** IQueryCodePage methods ***/ 3502 #define IQueryCodePage_GetCodePage(This,puiCodePage) (This)->lpVtbl->GetCodePage(This,puiCodePage) 3503 #define IQueryCodePage_SetCodePage(This,uiCodePage) (This)->lpVtbl->SetCodePage(This,uiCodePage) 3504 #else 3505 /*** IUnknown methods ***/ 3506 static inline HRESULT IQueryCodePage_QueryInterface(IQueryCodePage* This,REFIID riid,void **ppvObject) { 3507 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3508 } 3509 static inline ULONG IQueryCodePage_AddRef(IQueryCodePage* This) { 3510 return This->lpVtbl->AddRef(This); 3511 } 3512 static inline ULONG IQueryCodePage_Release(IQueryCodePage* This) { 3513 return This->lpVtbl->Release(This); 3514 } 3515 /*** IQueryCodePage methods ***/ 3516 static inline HRESULT IQueryCodePage_GetCodePage(IQueryCodePage* This,UINT *puiCodePage) { 3517 return This->lpVtbl->GetCodePage(This,puiCodePage); 3518 } 3519 static inline HRESULT IQueryCodePage_SetCodePage(IQueryCodePage* This,UINT uiCodePage) { 3520 return This->lpVtbl->SetCodePage(This,uiCodePage); 3521 } 3522 #endif 3523 #endif 3524 3525 #endif 3526 3527 3528 #endif /* __IQueryCodePage_INTERFACE_DEFINED__ */ 3529 3530 3531 /***************************************************************************** 3532 * IPersistFolder2 interface 3533 */ 3534 #ifndef __IPersistFolder2_INTERFACE_DEFINED__ 3535 #define __IPersistFolder2_INTERFACE_DEFINED__ 3536 3537 DEFINE_GUID(IID_IPersistFolder2, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f); 3538 #if defined(__cplusplus) && !defined(CINTERFACE) 3539 MIDL_INTERFACE("1ac3d9f0-175c-11d1-95be-00609797ea4f") 3540 IPersistFolder2 : public IPersistFolder 3541 { 3542 virtual HRESULT STDMETHODCALLTYPE GetCurFolder( 3543 PIDLIST_ABSOLUTE *ppidl) = 0; 3544 3545 }; 3546 #ifdef __CRT_UUID_DECL 3547 __CRT_UUID_DECL(IPersistFolder2, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f) 3548 #endif 3549 #else 3550 typedef struct IPersistFolder2Vtbl { 3551 BEGIN_INTERFACE 3552 3553 /*** IUnknown methods ***/ 3554 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3555 IPersistFolder2 *This, 3556 REFIID riid, 3557 void **ppvObject); 3558 3559 ULONG (STDMETHODCALLTYPE *AddRef)( 3560 IPersistFolder2 *This); 3561 3562 ULONG (STDMETHODCALLTYPE *Release)( 3563 IPersistFolder2 *This); 3564 3565 /*** IPersist methods ***/ 3566 HRESULT (STDMETHODCALLTYPE *GetClassID)( 3567 IPersistFolder2 *This, 3568 CLSID *pClassID); 3569 3570 /*** IPersistFolder methods ***/ 3571 HRESULT (STDMETHODCALLTYPE *Initialize)( 3572 IPersistFolder2 *This, 3573 PCIDLIST_ABSOLUTE pidl); 3574 3575 /*** IPersistFolder2 methods ***/ 3576 HRESULT (STDMETHODCALLTYPE *GetCurFolder)( 3577 IPersistFolder2 *This, 3578 PIDLIST_ABSOLUTE *ppidl); 3579 3580 END_INTERFACE 3581 } IPersistFolder2Vtbl; 3582 3583 interface IPersistFolder2 { 3584 CONST_VTBL IPersistFolder2Vtbl* lpVtbl; 3585 }; 3586 3587 #ifdef COBJMACROS 3588 #ifndef WIDL_C_INLINE_WRAPPERS 3589 /*** IUnknown methods ***/ 3590 #define IPersistFolder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3591 #define IPersistFolder2_AddRef(This) (This)->lpVtbl->AddRef(This) 3592 #define IPersistFolder2_Release(This) (This)->lpVtbl->Release(This) 3593 /*** IPersist methods ***/ 3594 #define IPersistFolder2_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 3595 /*** IPersistFolder methods ***/ 3596 #define IPersistFolder2_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl) 3597 /*** IPersistFolder2 methods ***/ 3598 #define IPersistFolder2_GetCurFolder(This,ppidl) (This)->lpVtbl->GetCurFolder(This,ppidl) 3599 #else 3600 /*** IUnknown methods ***/ 3601 static inline HRESULT IPersistFolder2_QueryInterface(IPersistFolder2* This,REFIID riid,void **ppvObject) { 3602 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3603 } 3604 static inline ULONG IPersistFolder2_AddRef(IPersistFolder2* This) { 3605 return This->lpVtbl->AddRef(This); 3606 } 3607 static inline ULONG IPersistFolder2_Release(IPersistFolder2* This) { 3608 return This->lpVtbl->Release(This); 3609 } 3610 /*** IPersist methods ***/ 3611 static inline HRESULT IPersistFolder2_GetClassID(IPersistFolder2* This,CLSID *pClassID) { 3612 return This->lpVtbl->GetClassID(This,pClassID); 3613 } 3614 /*** IPersistFolder methods ***/ 3615 static inline HRESULT IPersistFolder2_Initialize(IPersistFolder2* This,PCIDLIST_ABSOLUTE pidl) { 3616 return This->lpVtbl->Initialize(This,pidl); 3617 } 3618 /*** IPersistFolder2 methods ***/ 3619 static inline HRESULT IPersistFolder2_GetCurFolder(IPersistFolder2* This,PIDLIST_ABSOLUTE *ppidl) { 3620 return This->lpVtbl->GetCurFolder(This,ppidl); 3621 } 3622 #endif 3623 #endif 3624 3625 #endif 3626 3627 3628 #endif /* __IPersistFolder2_INTERFACE_DEFINED__ */ 3629 3630 3631 #define CSIDL_FLAG_PFTI_TRACKTARGET CSIDL_FLAG_DONT_VERIFY 3632 3633 #include <pshpack8.h> 3634 typedef struct _PERSIST_FOLDER_TARGET_INFO { 3635 PIDLIST_ABSOLUTE pidlTargetFolder; 3636 WCHAR szTargetParsingName[260]; 3637 WCHAR szNetworkProvider[260]; 3638 DWORD dwAttributes; 3639 int csidl; 3640 } PERSIST_FOLDER_TARGET_INFO; 3641 #include <poppack.h> 3642 3643 /***************************************************************************** 3644 * IPersistFolder3 interface 3645 */ 3646 #ifndef __IPersistFolder3_INTERFACE_DEFINED__ 3647 #define __IPersistFolder3_INTERFACE_DEFINED__ 3648 3649 DEFINE_GUID(IID_IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf); 3650 #if defined(__cplusplus) && !defined(CINTERFACE) 3651 MIDL_INTERFACE("cef04fdf-fe72-11d2-87a5-00c04f6837cf") 3652 IPersistFolder3 : public IPersistFolder2 3653 { 3654 virtual HRESULT STDMETHODCALLTYPE InitializeEx( 3655 IBindCtx *pbc, 3656 PCIDLIST_ABSOLUTE pidlRoot, 3657 const PERSIST_FOLDER_TARGET_INFO *ppfti) = 0; 3658 3659 virtual HRESULT STDMETHODCALLTYPE GetFolderTargetInfo( 3660 PERSIST_FOLDER_TARGET_INFO *ppfti) = 0; 3661 3662 }; 3663 #ifdef __CRT_UUID_DECL 3664 __CRT_UUID_DECL(IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf) 3665 #endif 3666 #else 3667 typedef struct IPersistFolder3Vtbl { 3668 BEGIN_INTERFACE 3669 3670 /*** IUnknown methods ***/ 3671 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3672 IPersistFolder3 *This, 3673 REFIID riid, 3674 void **ppvObject); 3675 3676 ULONG (STDMETHODCALLTYPE *AddRef)( 3677 IPersistFolder3 *This); 3678 3679 ULONG (STDMETHODCALLTYPE *Release)( 3680 IPersistFolder3 *This); 3681 3682 /*** IPersist methods ***/ 3683 HRESULT (STDMETHODCALLTYPE *GetClassID)( 3684 IPersistFolder3 *This, 3685 CLSID *pClassID); 3686 3687 /*** IPersistFolder methods ***/ 3688 HRESULT (STDMETHODCALLTYPE *Initialize)( 3689 IPersistFolder3 *This, 3690 PCIDLIST_ABSOLUTE pidl); 3691 3692 /*** IPersistFolder2 methods ***/ 3693 HRESULT (STDMETHODCALLTYPE *GetCurFolder)( 3694 IPersistFolder3 *This, 3695 PIDLIST_ABSOLUTE *ppidl); 3696 3697 /*** IPersistFolder3 methods ***/ 3698 HRESULT (STDMETHODCALLTYPE *InitializeEx)( 3699 IPersistFolder3 *This, 3700 IBindCtx *pbc, 3701 PCIDLIST_ABSOLUTE pidlRoot, 3702 const PERSIST_FOLDER_TARGET_INFO *ppfti); 3703 3704 HRESULT (STDMETHODCALLTYPE *GetFolderTargetInfo)( 3705 IPersistFolder3 *This, 3706 PERSIST_FOLDER_TARGET_INFO *ppfti); 3707 3708 END_INTERFACE 3709 } IPersistFolder3Vtbl; 3710 3711 interface IPersistFolder3 { 3712 CONST_VTBL IPersistFolder3Vtbl* lpVtbl; 3713 }; 3714 3715 #ifdef COBJMACROS 3716 #ifndef WIDL_C_INLINE_WRAPPERS 3717 /*** IUnknown methods ***/ 3718 #define IPersistFolder3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3719 #define IPersistFolder3_AddRef(This) (This)->lpVtbl->AddRef(This) 3720 #define IPersistFolder3_Release(This) (This)->lpVtbl->Release(This) 3721 /*** IPersist methods ***/ 3722 #define IPersistFolder3_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 3723 /*** IPersistFolder methods ***/ 3724 #define IPersistFolder3_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl) 3725 /*** IPersistFolder2 methods ***/ 3726 #define IPersistFolder3_GetCurFolder(This,ppidl) (This)->lpVtbl->GetCurFolder(This,ppidl) 3727 /*** IPersistFolder3 methods ***/ 3728 #define IPersistFolder3_InitializeEx(This,pbc,pidlRoot,ppfti) (This)->lpVtbl->InitializeEx(This,pbc,pidlRoot,ppfti) 3729 #define IPersistFolder3_GetFolderTargetInfo(This,ppfti) (This)->lpVtbl->GetFolderTargetInfo(This,ppfti) 3730 #else 3731 /*** IUnknown methods ***/ 3732 static inline HRESULT IPersistFolder3_QueryInterface(IPersistFolder3* This,REFIID riid,void **ppvObject) { 3733 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3734 } 3735 static inline ULONG IPersistFolder3_AddRef(IPersistFolder3* This) { 3736 return This->lpVtbl->AddRef(This); 3737 } 3738 static inline ULONG IPersistFolder3_Release(IPersistFolder3* This) { 3739 return This->lpVtbl->Release(This); 3740 } 3741 /*** IPersist methods ***/ 3742 static inline HRESULT IPersistFolder3_GetClassID(IPersistFolder3* This,CLSID *pClassID) { 3743 return This->lpVtbl->GetClassID(This,pClassID); 3744 } 3745 /*** IPersistFolder methods ***/ 3746 static inline HRESULT IPersistFolder3_Initialize(IPersistFolder3* This,PCIDLIST_ABSOLUTE pidl) { 3747 return This->lpVtbl->Initialize(This,pidl); 3748 } 3749 /*** IPersistFolder2 methods ***/ 3750 static inline HRESULT IPersistFolder3_GetCurFolder(IPersistFolder3* This,PIDLIST_ABSOLUTE *ppidl) { 3751 return This->lpVtbl->GetCurFolder(This,ppidl); 3752 } 3753 /*** IPersistFolder3 methods ***/ 3754 static inline HRESULT IPersistFolder3_InitializeEx(IPersistFolder3* This,IBindCtx *pbc,PCIDLIST_ABSOLUTE pidlRoot,const PERSIST_FOLDER_TARGET_INFO *ppfti) { 3755 return This->lpVtbl->InitializeEx(This,pbc,pidlRoot,ppfti); 3756 } 3757 static inline HRESULT IPersistFolder3_GetFolderTargetInfo(IPersistFolder3* This,PERSIST_FOLDER_TARGET_INFO *ppfti) { 3758 return This->lpVtbl->GetFolderTargetInfo(This,ppfti); 3759 } 3760 #endif 3761 #endif 3762 3763 #endif 3764 3765 3766 #endif /* __IPersistFolder3_INTERFACE_DEFINED__ */ 3767 3768 3769 /***************************************************************************** 3770 * IPersistIDList interface 3771 */ 3772 #ifndef __IPersistIDList_INTERFACE_DEFINED__ 3773 #define __IPersistIDList_INTERFACE_DEFINED__ 3774 3775 DEFINE_GUID(IID_IPersistIDList, 0x1079acfc, 0x29bd, 0x11d3, 0x8e,0x0d, 0x00,0xc0,0x4f,0x68,0x37,0xd5); 3776 #if defined(__cplusplus) && !defined(CINTERFACE) 3777 MIDL_INTERFACE("1079acfc-29bd-11d3-8e0d-00c04f6837d5") 3778 IPersistIDList : public IPersist 3779 { 3780 virtual HRESULT STDMETHODCALLTYPE SetIDList( 3781 PCIDLIST_ABSOLUTE pidl) = 0; 3782 3783 virtual HRESULT STDMETHODCALLTYPE GetIDList( 3784 PIDLIST_ABSOLUTE *ppidl) = 0; 3785 3786 }; 3787 #ifdef __CRT_UUID_DECL 3788 __CRT_UUID_DECL(IPersistIDList, 0x1079acfc, 0x29bd, 0x11d3, 0x8e,0x0d, 0x00,0xc0,0x4f,0x68,0x37,0xd5) 3789 #endif 3790 #else 3791 typedef struct IPersistIDListVtbl { 3792 BEGIN_INTERFACE 3793 3794 /*** IUnknown methods ***/ 3795 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3796 IPersistIDList *This, 3797 REFIID riid, 3798 void **ppvObject); 3799 3800 ULONG (STDMETHODCALLTYPE *AddRef)( 3801 IPersistIDList *This); 3802 3803 ULONG (STDMETHODCALLTYPE *Release)( 3804 IPersistIDList *This); 3805 3806 /*** IPersist methods ***/ 3807 HRESULT (STDMETHODCALLTYPE *GetClassID)( 3808 IPersistIDList *This, 3809 CLSID *pClassID); 3810 3811 /*** IPersistIDList methods ***/ 3812 HRESULT (STDMETHODCALLTYPE *SetIDList)( 3813 IPersistIDList *This, 3814 PCIDLIST_ABSOLUTE pidl); 3815 3816 HRESULT (STDMETHODCALLTYPE *GetIDList)( 3817 IPersistIDList *This, 3818 PIDLIST_ABSOLUTE *ppidl); 3819 3820 END_INTERFACE 3821 } IPersistIDListVtbl; 3822 3823 interface IPersistIDList { 3824 CONST_VTBL IPersistIDListVtbl* lpVtbl; 3825 }; 3826 3827 #ifdef COBJMACROS 3828 #ifndef WIDL_C_INLINE_WRAPPERS 3829 /*** IUnknown methods ***/ 3830 #define IPersistIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3831 #define IPersistIDList_AddRef(This) (This)->lpVtbl->AddRef(This) 3832 #define IPersistIDList_Release(This) (This)->lpVtbl->Release(This) 3833 /*** IPersist methods ***/ 3834 #define IPersistIDList_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 3835 /*** IPersistIDList methods ***/ 3836 #define IPersistIDList_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl) 3837 #define IPersistIDList_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl) 3838 #else 3839 /*** IUnknown methods ***/ 3840 static inline HRESULT IPersistIDList_QueryInterface(IPersistIDList* This,REFIID riid,void **ppvObject) { 3841 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3842 } 3843 static inline ULONG IPersistIDList_AddRef(IPersistIDList* This) { 3844 return This->lpVtbl->AddRef(This); 3845 } 3846 static inline ULONG IPersistIDList_Release(IPersistIDList* This) { 3847 return This->lpVtbl->Release(This); 3848 } 3849 /*** IPersist methods ***/ 3850 static inline HRESULT IPersistIDList_GetClassID(IPersistIDList* This,CLSID *pClassID) { 3851 return This->lpVtbl->GetClassID(This,pClassID); 3852 } 3853 /*** IPersistIDList methods ***/ 3854 static inline HRESULT IPersistIDList_SetIDList(IPersistIDList* This,PCIDLIST_ABSOLUTE pidl) { 3855 return This->lpVtbl->SetIDList(This,pidl); 3856 } 3857 static inline HRESULT IPersistIDList_GetIDList(IPersistIDList* This,PIDLIST_ABSOLUTE *ppidl) { 3858 return This->lpVtbl->GetIDList(This,ppidl); 3859 } 3860 #endif 3861 #endif 3862 3863 #endif 3864 3865 3866 #endif /* __IPersistIDList_INTERFACE_DEFINED__ */ 3867 3868 3869 /***************************************************************************** 3870 * IEnumIDList interface 3871 */ 3872 #ifndef __IEnumIDList_INTERFACE_DEFINED__ 3873 #define __IEnumIDList_INTERFACE_DEFINED__ 3874 3875 DEFINE_GUID(IID_IEnumIDList, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 3876 #if defined(__cplusplus) && !defined(CINTERFACE) 3877 MIDL_INTERFACE("000214f2-0000-0000-c000-000000000046") 3878 IEnumIDList : public IUnknown 3879 { 3880 virtual HRESULT STDMETHODCALLTYPE Next( 3881 ULONG celt, 3882 PITEMID_CHILD *rgelt, 3883 ULONG *pceltFetched) = 0; 3884 3885 virtual HRESULT STDMETHODCALLTYPE Skip( 3886 ULONG celt) = 0; 3887 3888 virtual HRESULT STDMETHODCALLTYPE Reset( 3889 ) = 0; 3890 3891 virtual HRESULT STDMETHODCALLTYPE Clone( 3892 IEnumIDList **ppenum) = 0; 3893 3894 }; 3895 #ifdef __CRT_UUID_DECL 3896 __CRT_UUID_DECL(IEnumIDList, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 3897 #endif 3898 #else 3899 typedef struct IEnumIDListVtbl { 3900 BEGIN_INTERFACE 3901 3902 /*** IUnknown methods ***/ 3903 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3904 IEnumIDList *This, 3905 REFIID riid, 3906 void **ppvObject); 3907 3908 ULONG (STDMETHODCALLTYPE *AddRef)( 3909 IEnumIDList *This); 3910 3911 ULONG (STDMETHODCALLTYPE *Release)( 3912 IEnumIDList *This); 3913 3914 /*** IEnumIDList methods ***/ 3915 HRESULT (STDMETHODCALLTYPE *Next)( 3916 IEnumIDList *This, 3917 ULONG celt, 3918 PITEMID_CHILD *rgelt, 3919 ULONG *pceltFetched); 3920 3921 HRESULT (STDMETHODCALLTYPE *Skip)( 3922 IEnumIDList *This, 3923 ULONG celt); 3924 3925 HRESULT (STDMETHODCALLTYPE *Reset)( 3926 IEnumIDList *This); 3927 3928 HRESULT (STDMETHODCALLTYPE *Clone)( 3929 IEnumIDList *This, 3930 IEnumIDList **ppenum); 3931 3932 END_INTERFACE 3933 } IEnumIDListVtbl; 3934 3935 interface IEnumIDList { 3936 CONST_VTBL IEnumIDListVtbl* lpVtbl; 3937 }; 3938 3939 #ifdef COBJMACROS 3940 #ifndef WIDL_C_INLINE_WRAPPERS 3941 /*** IUnknown methods ***/ 3942 #define IEnumIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3943 #define IEnumIDList_AddRef(This) (This)->lpVtbl->AddRef(This) 3944 #define IEnumIDList_Release(This) (This)->lpVtbl->Release(This) 3945 /*** IEnumIDList methods ***/ 3946 #define IEnumIDList_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 3947 #define IEnumIDList_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 3948 #define IEnumIDList_Reset(This) (This)->lpVtbl->Reset(This) 3949 #define IEnumIDList_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 3950 #else 3951 /*** IUnknown methods ***/ 3952 static inline HRESULT IEnumIDList_QueryInterface(IEnumIDList* This,REFIID riid,void **ppvObject) { 3953 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3954 } 3955 static inline ULONG IEnumIDList_AddRef(IEnumIDList* This) { 3956 return This->lpVtbl->AddRef(This); 3957 } 3958 static inline ULONG IEnumIDList_Release(IEnumIDList* This) { 3959 return This->lpVtbl->Release(This); 3960 } 3961 /*** IEnumIDList methods ***/ 3962 static inline HRESULT IEnumIDList_Next(IEnumIDList* This,ULONG celt,PITEMID_CHILD *rgelt,ULONG *pceltFetched) { 3963 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 3964 } 3965 static inline HRESULT IEnumIDList_Skip(IEnumIDList* This,ULONG celt) { 3966 return This->lpVtbl->Skip(This,celt); 3967 } 3968 static inline HRESULT IEnumIDList_Reset(IEnumIDList* This) { 3969 return This->lpVtbl->Reset(This); 3970 } 3971 static inline HRESULT IEnumIDList_Clone(IEnumIDList* This,IEnumIDList **ppenum) { 3972 return This->lpVtbl->Clone(This,ppenum); 3973 } 3974 #endif 3975 #endif 3976 3977 #endif 3978 3979 HRESULT STDMETHODCALLTYPE IEnumIDList_RemoteNext_Proxy( 3980 IEnumIDList* This, 3981 ULONG celt, 3982 PITEMID_CHILD *rgelt, 3983 ULONG *pceltFetched); 3984 void __RPC_STUB IEnumIDList_RemoteNext_Stub( 3985 IRpcStubBuffer* This, 3986 IRpcChannelBuffer* pRpcChannelBuffer, 3987 PRPC_MESSAGE pRpcMessage, 3988 DWORD* pdwStubPhase); 3989 HRESULT CALLBACK IEnumIDList_Next_Proxy( 3990 IEnumIDList* This, 3991 ULONG celt, 3992 PITEMID_CHILD *rgelt, 3993 ULONG *pceltFetched); 3994 HRESULT __RPC_STUB IEnumIDList_Next_Stub( 3995 IEnumIDList* This, 3996 ULONG celt, 3997 PITEMID_CHILD *rgelt, 3998 ULONG *pceltFetched); 3999 4000 #endif /* __IEnumIDList_INTERFACE_DEFINED__ */ 4001 4002 typedef IEnumIDList *LPENUMIDLIST; 4003 4004 /***************************************************************************** 4005 * IEnumFullIDList interface 4006 */ 4007 #ifndef __IEnumFullIDList_INTERFACE_DEFINED__ 4008 #define __IEnumFullIDList_INTERFACE_DEFINED__ 4009 4010 DEFINE_GUID(IID_IEnumFullIDList, 0xd0191542, 0x7954, 0x4908, 0xbc,0x06, 0xb2,0x36,0x0b,0xbe,0x45,0xba); 4011 #if defined(__cplusplus) && !defined(CINTERFACE) 4012 MIDL_INTERFACE("d0191542-7954-4908-bc06-b2360bbe45ba") 4013 IEnumFullIDList : public IUnknown 4014 { 4015 virtual HRESULT STDMETHODCALLTYPE Next( 4016 ULONG celt, 4017 PIDLIST_ABSOLUTE *rgelt, 4018 ULONG *pceltFetched) = 0; 4019 4020 virtual HRESULT STDMETHODCALLTYPE Skip( 4021 ULONG celt) = 0; 4022 4023 virtual HRESULT STDMETHODCALLTYPE Reset( 4024 ) = 0; 4025 4026 virtual HRESULT STDMETHODCALLTYPE Clone( 4027 IEnumFullIDList **ppenum) = 0; 4028 4029 }; 4030 #ifdef __CRT_UUID_DECL 4031 __CRT_UUID_DECL(IEnumFullIDList, 0xd0191542, 0x7954, 0x4908, 0xbc,0x06, 0xb2,0x36,0x0b,0xbe,0x45,0xba) 4032 #endif 4033 #else 4034 typedef struct IEnumFullIDListVtbl { 4035 BEGIN_INTERFACE 4036 4037 /*** IUnknown methods ***/ 4038 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4039 IEnumFullIDList *This, 4040 REFIID riid, 4041 void **ppvObject); 4042 4043 ULONG (STDMETHODCALLTYPE *AddRef)( 4044 IEnumFullIDList *This); 4045 4046 ULONG (STDMETHODCALLTYPE *Release)( 4047 IEnumFullIDList *This); 4048 4049 /*** IEnumFullIDList methods ***/ 4050 HRESULT (STDMETHODCALLTYPE *Next)( 4051 IEnumFullIDList *This, 4052 ULONG celt, 4053 PIDLIST_ABSOLUTE *rgelt, 4054 ULONG *pceltFetched); 4055 4056 HRESULT (STDMETHODCALLTYPE *Skip)( 4057 IEnumFullIDList *This, 4058 ULONG celt); 4059 4060 HRESULT (STDMETHODCALLTYPE *Reset)( 4061 IEnumFullIDList *This); 4062 4063 HRESULT (STDMETHODCALLTYPE *Clone)( 4064 IEnumFullIDList *This, 4065 IEnumFullIDList **ppenum); 4066 4067 END_INTERFACE 4068 } IEnumFullIDListVtbl; 4069 4070 interface IEnumFullIDList { 4071 CONST_VTBL IEnumFullIDListVtbl* lpVtbl; 4072 }; 4073 4074 #ifdef COBJMACROS 4075 #ifndef WIDL_C_INLINE_WRAPPERS 4076 /*** IUnknown methods ***/ 4077 #define IEnumFullIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4078 #define IEnumFullIDList_AddRef(This) (This)->lpVtbl->AddRef(This) 4079 #define IEnumFullIDList_Release(This) (This)->lpVtbl->Release(This) 4080 /*** IEnumFullIDList methods ***/ 4081 #define IEnumFullIDList_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 4082 #define IEnumFullIDList_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 4083 #define IEnumFullIDList_Reset(This) (This)->lpVtbl->Reset(This) 4084 #define IEnumFullIDList_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 4085 #else 4086 /*** IUnknown methods ***/ 4087 static inline HRESULT IEnumFullIDList_QueryInterface(IEnumFullIDList* This,REFIID riid,void **ppvObject) { 4088 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4089 } 4090 static inline ULONG IEnumFullIDList_AddRef(IEnumFullIDList* This) { 4091 return This->lpVtbl->AddRef(This); 4092 } 4093 static inline ULONG IEnumFullIDList_Release(IEnumFullIDList* This) { 4094 return This->lpVtbl->Release(This); 4095 } 4096 /*** IEnumFullIDList methods ***/ 4097 static inline HRESULT IEnumFullIDList_Next(IEnumFullIDList* This,ULONG celt,PIDLIST_ABSOLUTE *rgelt,ULONG *pceltFetched) { 4098 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 4099 } 4100 static inline HRESULT IEnumFullIDList_Skip(IEnumFullIDList* This,ULONG celt) { 4101 return This->lpVtbl->Skip(This,celt); 4102 } 4103 static inline HRESULT IEnumFullIDList_Reset(IEnumFullIDList* This) { 4104 return This->lpVtbl->Reset(This); 4105 } 4106 static inline HRESULT IEnumFullIDList_Clone(IEnumFullIDList* This,IEnumFullIDList **ppenum) { 4107 return This->lpVtbl->Clone(This,ppenum); 4108 } 4109 #endif 4110 #endif 4111 4112 #endif 4113 4114 HRESULT STDMETHODCALLTYPE IEnumFullIDList_RemoteNext_Proxy( 4115 IEnumFullIDList* This, 4116 ULONG celt, 4117 PIDLIST_ABSOLUTE *rgelt, 4118 ULONG *pceltFetched); 4119 void __RPC_STUB IEnumFullIDList_RemoteNext_Stub( 4120 IRpcStubBuffer* This, 4121 IRpcChannelBuffer* pRpcChannelBuffer, 4122 PRPC_MESSAGE pRpcMessage, 4123 DWORD* pdwStubPhase); 4124 HRESULT CALLBACK IEnumFullIDList_Next_Proxy( 4125 IEnumFullIDList* This, 4126 ULONG celt, 4127 PIDLIST_ABSOLUTE *rgelt, 4128 ULONG *pceltFetched); 4129 HRESULT __RPC_STUB IEnumFullIDList_Next_Stub( 4130 IEnumFullIDList* This, 4131 ULONG celt, 4132 PIDLIST_ABSOLUTE *rgelt, 4133 ULONG *pceltFetched); 4134 4135 #endif /* __IEnumFullIDList_INTERFACE_DEFINED__ */ 4136 4137 4138 enum _SHGDNF { 4139 SHGDN_NORMAL = 0x0, 4140 SHGDN_INFOLDER = 0x1, 4141 SHGDN_FOREDITING = 0x1000, 4142 SHGDN_FORADDRESSBAR = 0x4000, 4143 SHGDN_FORPARSING = 0x8000 4144 }; 4145 4146 typedef DWORD SHGDNF; 4147 4148 enum _SHCONTF { 4149 SHCONTF_CHECKING_FOR_CHILDREN = 0x10, 4150 SHCONTF_FOLDERS = 0x20, 4151 SHCONTF_NONFOLDERS = 0x40, 4152 SHCONTF_INCLUDEHIDDEN = 0x80, 4153 SHCONTF_INIT_ON_FIRST_NEXT = 0x100, 4154 SHCONTF_NETPRINTERSRCH = 0x200, 4155 SHCONTF_SHAREABLE = 0x400, 4156 SHCONTF_STORAGE = 0x800, 4157 SHCONTF_NAVIGATION_ENUM = 0x1000, 4158 SHCONTF_FASTITEMS = 0x2000, 4159 SHCONTF_FLATLIST = 0x4000, 4160 SHCONTF_ENABLE_ASYNC = 0x8000, 4161 SHCONTF_INCLUDESUPERHIDDEN = 0x10000 4162 }; 4163 4164 typedef DWORD SHCONTF; 4165 4166 #define SHCIDS_ALLFIELDS __MSABI_LONG(0x80000000) 4167 #define SHCIDS_CANONICALONLY __MSABI_LONG(0x10000000) 4168 #define SHCIDS_BITMASK __MSABI_LONG(0xffff0000) 4169 #define SHCIDS_COLUMNMASK __MSABI_LONG(0x0000ffff) 4170 4171 #define SFGAO_CANCOPY DROPEFFECT_COPY 4172 #define SFGAO_CANMOVE DROPEFFECT_MOVE 4173 #define SFGAO_CANLINK DROPEFFECT_LINK 4174 #define SFGAO_STORAGE __MSABI_LONG(0x8) 4175 #define SFGAO_CANRENAME __MSABI_LONG(0x10) 4176 #define SFGAO_CANDELETE __MSABI_LONG(0x20) 4177 #define SFGAO_HASPROPSHEET __MSABI_LONG(0x40) 4178 #define SFGAO_DROPTARGET __MSABI_LONG(0x100) 4179 4180 #define SFGAO_CAPABILITYMASK __MSABI_LONG(0x177) 4181 4182 #define SFGAO_SYSTEM __MSABI_LONG(0x1000) 4183 #define SFGAO_ENCRYPTED __MSABI_LONG(0x2000) 4184 #define SFGAO_ISSLOW __MSABI_LONG(0x4000) 4185 #define SFGAO_GHOSTED __MSABI_LONG(0x8000) 4186 #define SFGAO_LINK __MSABI_LONG(0x10000) 4187 #define SFGAO_SHARE __MSABI_LONG(0x20000) 4188 #define SFGAO_READONLY __MSABI_LONG(0x40000) 4189 #define SFGAO_HIDDEN __MSABI_LONG(0x80000) 4190 4191 #define SFGAO_DISPLAYATTRMASK __MSABI_LONG(0xfc000) 4192 4193 #define SFGAO_FILESYSANCESTOR __MSABI_LONG(0x10000000) 4194 #define SFGAO_FOLDER __MSABI_LONG(0x20000000) 4195 #define SFGAO_FILESYSTEM __MSABI_LONG(0x40000000) 4196 #define SFGAO_HASSUBFOLDER __MSABI_LONG(0x80000000) 4197 4198 #define SFGAO_CONTENTSMASK __MSABI_LONG(0x80000000) 4199 4200 #define SFGAO_VALIDATE __MSABI_LONG(0x1000000) 4201 #define SFGAO_REMOVABLE __MSABI_LONG(0x2000000) 4202 #define SFGAO_COMPRESSED __MSABI_LONG(0x4000000) 4203 #define SFGAO_BROWSABLE __MSABI_LONG(0x8000000) 4204 #define SFGAO_NONENUMERATED __MSABI_LONG(0x100000) 4205 #define SFGAO_NEWCONTENT __MSABI_LONG(0x200000) 4206 #define SFGAO_CANMONIKER __MSABI_LONG(0x400000) 4207 #define SFGAO_HASSTORAGE __MSABI_LONG(0x400000) 4208 #define SFGAO_STREAM __MSABI_LONG(0x400000) 4209 #define SFGAO_STORAGEANCESTOR __MSABI_LONG(0x00800000) 4210 4211 #define SFGAO_STORAGECAPMASK __MSABI_LONG(0x70c50008) 4212 #define SFGAO_PKEYSFGAOMASK __MSABI_LONG(0x81044000) 4213 4214 typedef ULONG SFGAOF; 4215 4216 #define STR_BIND_FORCE_FOLDER_SHORTCUT_RESOLVE L"Force Folder Shortcut Resolve" 4217 #define STR_AVOID_DRIVE_RESTRICTION_POLICY L"Avoid Drive Restriction Policy" 4218 #define STR_AVOID_DRIVE_RESTRICTION_POLICY L"Avoid Drive Restriction Policy" 4219 #define STR_SKIP_BINDING_CLSID L"Skip Binding CLSID" 4220 #define STR_PARSE_PREFER_FOLDER_BROWSING L"Parse Prefer Folder Browsing" 4221 #define STR_DONT_PARSE_RELATIVE L"Don't Parse Relative" 4222 #define STR_PARSE_TRANSLATE_ALIASES L"Parse Translate Aliases" 4223 #define STR_PARSE_SKIP_NET_CACHE L"Skip Net Resource Cache" 4224 #define STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS L"Parse Shell Protocol To File Objects" 4225 #if _WIN32_IE >= 0x0700 4226 #define STR_TRACK_CLSID L"Track the CLSID" 4227 #define STR_INTERNAL_NAVIGATE L"Internal Navigation" 4228 #define STR_PARSE_PROPERTYSTORE L"DelegateNamedProperties" 4229 #define STR_NO_VALIDATE_FILENAME_CHARS L"NoValidateFilenameChars" 4230 #define STR_BIND_DELEGATE_CREATE_OBJECT L"Delegate Object Creation" 4231 #define STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS L"Allow binding to Internet shell folder handlers and negate STR_PARSE_PREFER_WEB_BROWSING" 4232 #define STR_PARSE_PREFER_WEB_BROWSING L"Do not bind to Internet shell folder handlers" 4233 #define STR_PARSE_SHOW_NET_DIAGNOSTICS_UI L"Show network diagnostics UI" 4234 #define STR_PARSE_DONT_REQUIRE_VALIDATED_URLS L"Do not require validated URLs" 4235 #define STR_INTERNETFOLDER_PARSE_ONLY_URLMON_BINDABLE L"Validate URL" 4236 #endif 4237 4238 #if NTDDI_VERSION >= NTDDI_WIN8 4239 #define BIND_INTERRUPTABLE 0xffffffff 4240 #endif 4241 4242 #if NTDDI_VERSION >= NTDDI_WIN7 4243 #define STR_BIND_FOLDERS_READ_ONLY L"Folders As Read Only" 4244 #define STR_BIND_FOLDER_ENUM_MODE L"Folder Enum Mode" 4245 4246 typedef enum FOLDER_ENUM_MODE { 4247 FEM_VIEWRESULT = 0, 4248 FEM_NAVIGATION = 1 4249 } FOLDER_ENUM_MODE; 4250 4251 /***************************************************************************** 4252 * IObjectWithFolderEnumMode interface 4253 */ 4254 #ifndef __IObjectWithFolderEnumMode_INTERFACE_DEFINED__ 4255 #define __IObjectWithFolderEnumMode_INTERFACE_DEFINED__ 4256 4257 DEFINE_GUID(IID_IObjectWithFolderEnumMode, 0x6a9d9026, 0x0e6e, 0x464c, 0xb0,0x00, 0x42,0xec,0xc0,0x7d,0xe6,0x73); 4258 #if defined(__cplusplus) && !defined(CINTERFACE) 4259 MIDL_INTERFACE("6a9d9026-0e6e-464c-b000-42ecc07de673") 4260 IObjectWithFolderEnumMode : public IUnknown 4261 { 4262 virtual HRESULT STDMETHODCALLTYPE SetMode( 4263 FOLDER_ENUM_MODE feMode) = 0; 4264 4265 virtual HRESULT STDMETHODCALLTYPE GetMode( 4266 FOLDER_ENUM_MODE *pfeMode) = 0; 4267 4268 }; 4269 #ifdef __CRT_UUID_DECL 4270 __CRT_UUID_DECL(IObjectWithFolderEnumMode, 0x6a9d9026, 0x0e6e, 0x464c, 0xb0,0x00, 0x42,0xec,0xc0,0x7d,0xe6,0x73) 4271 #endif 4272 #else 4273 typedef struct IObjectWithFolderEnumModeVtbl { 4274 BEGIN_INTERFACE 4275 4276 /*** IUnknown methods ***/ 4277 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4278 IObjectWithFolderEnumMode *This, 4279 REFIID riid, 4280 void **ppvObject); 4281 4282 ULONG (STDMETHODCALLTYPE *AddRef)( 4283 IObjectWithFolderEnumMode *This); 4284 4285 ULONG (STDMETHODCALLTYPE *Release)( 4286 IObjectWithFolderEnumMode *This); 4287 4288 /*** IObjectWithFolderEnumMode methods ***/ 4289 HRESULT (STDMETHODCALLTYPE *SetMode)( 4290 IObjectWithFolderEnumMode *This, 4291 FOLDER_ENUM_MODE feMode); 4292 4293 HRESULT (STDMETHODCALLTYPE *GetMode)( 4294 IObjectWithFolderEnumMode *This, 4295 FOLDER_ENUM_MODE *pfeMode); 4296 4297 END_INTERFACE 4298 } IObjectWithFolderEnumModeVtbl; 4299 4300 interface IObjectWithFolderEnumMode { 4301 CONST_VTBL IObjectWithFolderEnumModeVtbl* lpVtbl; 4302 }; 4303 4304 #ifdef COBJMACROS 4305 #ifndef WIDL_C_INLINE_WRAPPERS 4306 /*** IUnknown methods ***/ 4307 #define IObjectWithFolderEnumMode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4308 #define IObjectWithFolderEnumMode_AddRef(This) (This)->lpVtbl->AddRef(This) 4309 #define IObjectWithFolderEnumMode_Release(This) (This)->lpVtbl->Release(This) 4310 /*** IObjectWithFolderEnumMode methods ***/ 4311 #define IObjectWithFolderEnumMode_SetMode(This,feMode) (This)->lpVtbl->SetMode(This,feMode) 4312 #define IObjectWithFolderEnumMode_GetMode(This,pfeMode) (This)->lpVtbl->GetMode(This,pfeMode) 4313 #else 4314 /*** IUnknown methods ***/ 4315 static inline HRESULT IObjectWithFolderEnumMode_QueryInterface(IObjectWithFolderEnumMode* This,REFIID riid,void **ppvObject) { 4316 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4317 } 4318 static inline ULONG IObjectWithFolderEnumMode_AddRef(IObjectWithFolderEnumMode* This) { 4319 return This->lpVtbl->AddRef(This); 4320 } 4321 static inline ULONG IObjectWithFolderEnumMode_Release(IObjectWithFolderEnumMode* This) { 4322 return This->lpVtbl->Release(This); 4323 } 4324 /*** IObjectWithFolderEnumMode methods ***/ 4325 static inline HRESULT IObjectWithFolderEnumMode_SetMode(IObjectWithFolderEnumMode* This,FOLDER_ENUM_MODE feMode) { 4326 return This->lpVtbl->SetMode(This,feMode); 4327 } 4328 static inline HRESULT IObjectWithFolderEnumMode_GetMode(IObjectWithFolderEnumMode* This,FOLDER_ENUM_MODE *pfeMode) { 4329 return This->lpVtbl->GetMode(This,pfeMode); 4330 } 4331 #endif 4332 #endif 4333 4334 #endif 4335 4336 4337 #endif /* __IObjectWithFolderEnumMode_INTERFACE_DEFINED__ */ 4338 4339 4340 #define STR_PARSE_WITH_EXPLICIT_PROGID L"ExplicitProgid" 4341 #define STR_PARSE_WITH_EXPLICIT_ASSOCAPP L"ExplicitAssociationApp" 4342 #define STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL L"ExplicitAssociationSuccessful" 4343 #define STR_PARSE_AND_CREATE_ITEM L"ParseAndCreateItem" 4344 #define STR_PROPERTYBAG_PARAM L"SHBindCtxPropertyBag" 4345 #define STR_ENUM_ITEMS_FLAGS L"SHCONTF" 4346 4347 #ifndef __IShellItem_FWD_DEFINED__ 4348 #define __IShellItem_FWD_DEFINED__ 4349 typedef interface IShellItem IShellItem; 4350 #ifdef __cplusplus 4351 interface IShellItem; 4352 #endif /* __cplusplus */ 4353 #endif 4354 4355 4356 /***************************************************************************** 4357 * IParseAndCreateItem interface 4358 */ 4359 #ifndef __IParseAndCreateItem_INTERFACE_DEFINED__ 4360 #define __IParseAndCreateItem_INTERFACE_DEFINED__ 4361 4362 DEFINE_GUID(IID_IParseAndCreateItem, 0x67efed0e, 0xe827, 0x4408, 0xb4,0x93, 0x78,0xf3,0x98,0x2b,0x68,0x5c); 4363 #if defined(__cplusplus) && !defined(CINTERFACE) 4364 MIDL_INTERFACE("67efed0e-e827-4408-b493-78f3982b685c") 4365 IParseAndCreateItem : public IUnknown 4366 { 4367 virtual HRESULT STDMETHODCALLTYPE SetItem( 4368 IShellItem *psi) = 0; 4369 4370 virtual HRESULT STDMETHODCALLTYPE GetItem( 4371 REFIID riid, 4372 void **ppv) = 0; 4373 4374 }; 4375 #ifdef __CRT_UUID_DECL 4376 __CRT_UUID_DECL(IParseAndCreateItem, 0x67efed0e, 0xe827, 0x4408, 0xb4,0x93, 0x78,0xf3,0x98,0x2b,0x68,0x5c) 4377 #endif 4378 #else 4379 typedef struct IParseAndCreateItemVtbl { 4380 BEGIN_INTERFACE 4381 4382 /*** IUnknown methods ***/ 4383 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4384 IParseAndCreateItem *This, 4385 REFIID riid, 4386 void **ppvObject); 4387 4388 ULONG (STDMETHODCALLTYPE *AddRef)( 4389 IParseAndCreateItem *This); 4390 4391 ULONG (STDMETHODCALLTYPE *Release)( 4392 IParseAndCreateItem *This); 4393 4394 /*** IParseAndCreateItem methods ***/ 4395 HRESULT (STDMETHODCALLTYPE *SetItem)( 4396 IParseAndCreateItem *This, 4397 IShellItem *psi); 4398 4399 HRESULT (STDMETHODCALLTYPE *GetItem)( 4400 IParseAndCreateItem *This, 4401 REFIID riid, 4402 void **ppv); 4403 4404 END_INTERFACE 4405 } IParseAndCreateItemVtbl; 4406 4407 interface IParseAndCreateItem { 4408 CONST_VTBL IParseAndCreateItemVtbl* lpVtbl; 4409 }; 4410 4411 #ifdef COBJMACROS 4412 #ifndef WIDL_C_INLINE_WRAPPERS 4413 /*** IUnknown methods ***/ 4414 #define IParseAndCreateItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4415 #define IParseAndCreateItem_AddRef(This) (This)->lpVtbl->AddRef(This) 4416 #define IParseAndCreateItem_Release(This) (This)->lpVtbl->Release(This) 4417 /*** IParseAndCreateItem methods ***/ 4418 #define IParseAndCreateItem_SetItem(This,psi) (This)->lpVtbl->SetItem(This,psi) 4419 #define IParseAndCreateItem_GetItem(This,riid,ppv) (This)->lpVtbl->GetItem(This,riid,ppv) 4420 #else 4421 /*** IUnknown methods ***/ 4422 static inline HRESULT IParseAndCreateItem_QueryInterface(IParseAndCreateItem* This,REFIID riid,void **ppvObject) { 4423 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4424 } 4425 static inline ULONG IParseAndCreateItem_AddRef(IParseAndCreateItem* This) { 4426 return This->lpVtbl->AddRef(This); 4427 } 4428 static inline ULONG IParseAndCreateItem_Release(IParseAndCreateItem* This) { 4429 return This->lpVtbl->Release(This); 4430 } 4431 /*** IParseAndCreateItem methods ***/ 4432 static inline HRESULT IParseAndCreateItem_SetItem(IParseAndCreateItem* This,IShellItem *psi) { 4433 return This->lpVtbl->SetItem(This,psi); 4434 } 4435 static inline HRESULT IParseAndCreateItem_GetItem(IParseAndCreateItem* This,REFIID riid,void **ppv) { 4436 return This->lpVtbl->GetItem(This,riid,ppv); 4437 } 4438 #endif 4439 #endif 4440 4441 #endif 4442 4443 4444 #endif /* __IParseAndCreateItem_INTERFACE_DEFINED__ */ 4445 4446 4447 #define STR_ITEM_CACHE_CONTEXT L"ItemCacheContext" 4448 #endif 4449 4450 #ifndef __IShellFolder_FWD_DEFINED__ 4451 #define __IShellFolder_FWD_DEFINED__ 4452 typedef interface IShellFolder IShellFolder; 4453 #ifdef __cplusplus 4454 interface IShellFolder; 4455 #endif /* __cplusplus */ 4456 #endif 4457 4458 4459 /***************************************************************************** 4460 * IShellFolder interface 4461 */ 4462 #ifndef __IShellFolder_INTERFACE_DEFINED__ 4463 #define __IShellFolder_INTERFACE_DEFINED__ 4464 4465 DEFINE_GUID(IID_IShellFolder, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4466 #if defined(__cplusplus) && !defined(CINTERFACE) 4467 MIDL_INTERFACE("000214e6-0000-0000-c000-000000000046") 4468 IShellFolder : public IUnknown 4469 { 4470 virtual HRESULT STDMETHODCALLTYPE ParseDisplayName( 4471 HWND hwnd, 4472 IBindCtx *pbc, 4473 LPWSTR pszDisplayName, 4474 ULONG *pchEaten, 4475 PIDLIST_RELATIVE *ppidl, 4476 ULONG *pdwAttributes) = 0; 4477 4478 virtual HRESULT STDMETHODCALLTYPE EnumObjects( 4479 HWND hwnd, 4480 SHCONTF grfFlags, 4481 IEnumIDList **ppenumIDList) = 0; 4482 4483 virtual HRESULT STDMETHODCALLTYPE BindToObject( 4484 PCUIDLIST_RELATIVE pidl, 4485 IBindCtx *pbc, 4486 REFIID riid, 4487 void **ppv) = 0; 4488 4489 virtual HRESULT STDMETHODCALLTYPE BindToStorage( 4490 PCUIDLIST_RELATIVE pidl, 4491 IBindCtx *pbc, 4492 REFIID riid, 4493 void **ppv) = 0; 4494 4495 virtual HRESULT STDMETHODCALLTYPE CompareIDs( 4496 LPARAM lParam, 4497 PCUIDLIST_RELATIVE pidl1, 4498 PCUIDLIST_RELATIVE pidl2) = 0; 4499 4500 virtual HRESULT STDMETHODCALLTYPE CreateViewObject( 4501 HWND hwndOwner, 4502 REFIID riid, 4503 void **ppv) = 0; 4504 4505 virtual HRESULT STDMETHODCALLTYPE GetAttributesOf( 4506 UINT cidl, 4507 PCUITEMID_CHILD_ARRAY apidl, 4508 SFGAOF *rgfInOut) = 0; 4509 4510 virtual HRESULT STDMETHODCALLTYPE GetUIObjectOf( 4511 HWND hwndOwner, 4512 UINT cidl, 4513 PCUITEMID_CHILD_ARRAY apidl, 4514 REFIID riid, 4515 UINT *rgfReserved, 4516 void **ppv) = 0; 4517 4518 virtual HRESULT STDMETHODCALLTYPE GetDisplayNameOf( 4519 PCUITEMID_CHILD pidl, 4520 SHGDNF uFlags, 4521 STRRET *pName) = 0; 4522 4523 virtual HRESULT STDMETHODCALLTYPE SetNameOf( 4524 HWND hwnd, 4525 PCUITEMID_CHILD pidl, 4526 LPCWSTR pszName, 4527 SHGDNF uFlags, 4528 PITEMID_CHILD *ppidlOut) = 0; 4529 4530 }; 4531 #ifdef __CRT_UUID_DECL 4532 __CRT_UUID_DECL(IShellFolder, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4533 #endif 4534 #else 4535 typedef struct IShellFolderVtbl { 4536 BEGIN_INTERFACE 4537 4538 /*** IUnknown methods ***/ 4539 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4540 IShellFolder *This, 4541 REFIID riid, 4542 void **ppvObject); 4543 4544 ULONG (STDMETHODCALLTYPE *AddRef)( 4545 IShellFolder *This); 4546 4547 ULONG (STDMETHODCALLTYPE *Release)( 4548 IShellFolder *This); 4549 4550 /*** IShellFolder methods ***/ 4551 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)( 4552 IShellFolder *This, 4553 HWND hwnd, 4554 IBindCtx *pbc, 4555 LPWSTR pszDisplayName, 4556 ULONG *pchEaten, 4557 PIDLIST_RELATIVE *ppidl, 4558 ULONG *pdwAttributes); 4559 4560 HRESULT (STDMETHODCALLTYPE *EnumObjects)( 4561 IShellFolder *This, 4562 HWND hwnd, 4563 SHCONTF grfFlags, 4564 IEnumIDList **ppenumIDList); 4565 4566 HRESULT (STDMETHODCALLTYPE *BindToObject)( 4567 IShellFolder *This, 4568 PCUIDLIST_RELATIVE pidl, 4569 IBindCtx *pbc, 4570 REFIID riid, 4571 void **ppv); 4572 4573 HRESULT (STDMETHODCALLTYPE *BindToStorage)( 4574 IShellFolder *This, 4575 PCUIDLIST_RELATIVE pidl, 4576 IBindCtx *pbc, 4577 REFIID riid, 4578 void **ppv); 4579 4580 HRESULT (STDMETHODCALLTYPE *CompareIDs)( 4581 IShellFolder *This, 4582 LPARAM lParam, 4583 PCUIDLIST_RELATIVE pidl1, 4584 PCUIDLIST_RELATIVE pidl2); 4585 4586 HRESULT (STDMETHODCALLTYPE *CreateViewObject)( 4587 IShellFolder *This, 4588 HWND hwndOwner, 4589 REFIID riid, 4590 void **ppv); 4591 4592 HRESULT (STDMETHODCALLTYPE *GetAttributesOf)( 4593 IShellFolder *This, 4594 UINT cidl, 4595 PCUITEMID_CHILD_ARRAY apidl, 4596 SFGAOF *rgfInOut); 4597 4598 HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)( 4599 IShellFolder *This, 4600 HWND hwndOwner, 4601 UINT cidl, 4602 PCUITEMID_CHILD_ARRAY apidl, 4603 REFIID riid, 4604 UINT *rgfReserved, 4605 void **ppv); 4606 4607 HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)( 4608 IShellFolder *This, 4609 PCUITEMID_CHILD pidl, 4610 SHGDNF uFlags, 4611 STRRET *pName); 4612 4613 HRESULT (STDMETHODCALLTYPE *SetNameOf)( 4614 IShellFolder *This, 4615 HWND hwnd, 4616 PCUITEMID_CHILD pidl, 4617 LPCWSTR pszName, 4618 SHGDNF uFlags, 4619 PITEMID_CHILD *ppidlOut); 4620 4621 END_INTERFACE 4622 } IShellFolderVtbl; 4623 4624 interface IShellFolder { 4625 CONST_VTBL IShellFolderVtbl* lpVtbl; 4626 }; 4627 4628 #ifdef COBJMACROS 4629 #ifndef WIDL_C_INLINE_WRAPPERS 4630 /*** IUnknown methods ***/ 4631 #define IShellFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4632 #define IShellFolder_AddRef(This) (This)->lpVtbl->AddRef(This) 4633 #define IShellFolder_Release(This) (This)->lpVtbl->Release(This) 4634 /*** IShellFolder methods ***/ 4635 #define IShellFolder_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) (This)->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) 4636 #define IShellFolder_EnumObjects(This,hwnd,grfFlags,ppenumIDList) (This)->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList) 4637 #define IShellFolder_BindToObject(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv) 4638 #define IShellFolder_BindToStorage(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv) 4639 #define IShellFolder_CompareIDs(This,lParam,pidl1,pidl2) (This)->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2) 4640 #define IShellFolder_CreateViewObject(This,hwndOwner,riid,ppv) (This)->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv) 4641 #define IShellFolder_GetAttributesOf(This,cidl,apidl,rgfInOut) (This)->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut) 4642 #define IShellFolder_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) (This)->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) 4643 #define IShellFolder_GetDisplayNameOf(This,pidl,uFlags,pName) (This)->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName) 4644 #define IShellFolder_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) (This)->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) 4645 #else 4646 /*** IUnknown methods ***/ 4647 static inline HRESULT IShellFolder_QueryInterface(IShellFolder* This,REFIID riid,void **ppvObject) { 4648 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4649 } 4650 static inline ULONG IShellFolder_AddRef(IShellFolder* This) { 4651 return This->lpVtbl->AddRef(This); 4652 } 4653 static inline ULONG IShellFolder_Release(IShellFolder* This) { 4654 return This->lpVtbl->Release(This); 4655 } 4656 /*** IShellFolder methods ***/ 4657 static inline HRESULT IShellFolder_ParseDisplayName(IShellFolder* This,HWND hwnd,IBindCtx *pbc,LPWSTR pszDisplayName,ULONG *pchEaten,PIDLIST_RELATIVE *ppidl,ULONG *pdwAttributes) { 4658 return This->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes); 4659 } 4660 static inline HRESULT IShellFolder_EnumObjects(IShellFolder* This,HWND hwnd,SHCONTF grfFlags,IEnumIDList **ppenumIDList) { 4661 return This->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList); 4662 } 4663 static inline HRESULT IShellFolder_BindToObject(IShellFolder* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) { 4664 return This->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv); 4665 } 4666 static inline HRESULT IShellFolder_BindToStorage(IShellFolder* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) { 4667 return This->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv); 4668 } 4669 static inline HRESULT IShellFolder_CompareIDs(IShellFolder* This,LPARAM lParam,PCUIDLIST_RELATIVE pidl1,PCUIDLIST_RELATIVE pidl2) { 4670 return This->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2); 4671 } 4672 static inline HRESULT IShellFolder_CreateViewObject(IShellFolder* This,HWND hwndOwner,REFIID riid,void **ppv) { 4673 return This->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv); 4674 } 4675 static inline HRESULT IShellFolder_GetAttributesOf(IShellFolder* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,SFGAOF *rgfInOut) { 4676 return This->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut); 4677 } 4678 static inline HRESULT IShellFolder_GetUIObjectOf(IShellFolder* This,HWND hwndOwner,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,REFIID riid,UINT *rgfReserved,void **ppv) { 4679 return This->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv); 4680 } 4681 static inline HRESULT IShellFolder_GetDisplayNameOf(IShellFolder* This,PCUITEMID_CHILD pidl,SHGDNF uFlags,STRRET *pName) { 4682 return This->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName); 4683 } 4684 static inline HRESULT IShellFolder_SetNameOf(IShellFolder* This,HWND hwnd,PCUITEMID_CHILD pidl,LPCWSTR pszName,SHGDNF uFlags,PITEMID_CHILD *ppidlOut) { 4685 return This->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut); 4686 } 4687 #endif 4688 #endif 4689 4690 #endif 4691 4692 HRESULT STDMETHODCALLTYPE IShellFolder_RemoteSetNameOf_Proxy( 4693 IShellFolder* This, 4694 HWND hwnd, 4695 PCUITEMID_CHILD pidl, 4696 LPCWSTR pszName, 4697 SHGDNF uFlags, 4698 PITEMID_CHILD *ppidlOut); 4699 void __RPC_STUB IShellFolder_RemoteSetNameOf_Stub( 4700 IRpcStubBuffer* This, 4701 IRpcChannelBuffer* pRpcChannelBuffer, 4702 PRPC_MESSAGE pRpcMessage, 4703 DWORD* pdwStubPhase); 4704 HRESULT CALLBACK IShellFolder_SetNameOf_Proxy( 4705 IShellFolder* This, 4706 HWND hwnd, 4707 PCUITEMID_CHILD pidl, 4708 LPCWSTR pszName, 4709 SHGDNF uFlags, 4710 PITEMID_CHILD *ppidlOut); 4711 HRESULT __RPC_STUB IShellFolder_SetNameOf_Stub( 4712 IShellFolder* This, 4713 HWND hwnd, 4714 PCUITEMID_CHILD pidl, 4715 LPCWSTR pszName, 4716 SHGDNF uFlags, 4717 PITEMID_CHILD *ppidlOut); 4718 4719 #endif /* __IShellFolder_INTERFACE_DEFINED__ */ 4720 4721 typedef IShellFolder *LPSHELLFOLDER; 4722 4723 typedef struct EXTRASEARCH { 4724 GUID guidSearch; 4725 WCHAR wszFriendlyName[80]; 4726 WCHAR wszUrl[2084]; 4727 } EXTRASEARCH; 4728 typedef struct EXTRASEARCH *LPEXTRASEARCH; 4729 4730 /***************************************************************************** 4731 * IEnumExtraSearch interface 4732 */ 4733 #ifndef __IEnumExtraSearch_INTERFACE_DEFINED__ 4734 #define __IEnumExtraSearch_INTERFACE_DEFINED__ 4735 4736 DEFINE_GUID(IID_IEnumExtraSearch, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13); 4737 #if defined(__cplusplus) && !defined(CINTERFACE) 4738 MIDL_INTERFACE("0e700be1-9db6-11d1-a1ce-00c04fd75d13") 4739 IEnumExtraSearch : public IUnknown 4740 { 4741 virtual HRESULT STDMETHODCALLTYPE Next( 4742 ULONG celt, 4743 EXTRASEARCH *rgelt, 4744 ULONG *pceltFetched) = 0; 4745 4746 virtual HRESULT STDMETHODCALLTYPE Skip( 4747 ULONG celt) = 0; 4748 4749 virtual HRESULT STDMETHODCALLTYPE Reset( 4750 ) = 0; 4751 4752 virtual HRESULT STDMETHODCALLTYPE Clone( 4753 IEnumExtraSearch **ppenum) = 0; 4754 4755 }; 4756 #ifdef __CRT_UUID_DECL 4757 __CRT_UUID_DECL(IEnumExtraSearch, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13) 4758 #endif 4759 #else 4760 typedef struct IEnumExtraSearchVtbl { 4761 BEGIN_INTERFACE 4762 4763 /*** IUnknown methods ***/ 4764 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4765 IEnumExtraSearch *This, 4766 REFIID riid, 4767 void **ppvObject); 4768 4769 ULONG (STDMETHODCALLTYPE *AddRef)( 4770 IEnumExtraSearch *This); 4771 4772 ULONG (STDMETHODCALLTYPE *Release)( 4773 IEnumExtraSearch *This); 4774 4775 /*** IEnumExtraSearch methods ***/ 4776 HRESULT (STDMETHODCALLTYPE *Next)( 4777 IEnumExtraSearch *This, 4778 ULONG celt, 4779 EXTRASEARCH *rgelt, 4780 ULONG *pceltFetched); 4781 4782 HRESULT (STDMETHODCALLTYPE *Skip)( 4783 IEnumExtraSearch *This, 4784 ULONG celt); 4785 4786 HRESULT (STDMETHODCALLTYPE *Reset)( 4787 IEnumExtraSearch *This); 4788 4789 HRESULT (STDMETHODCALLTYPE *Clone)( 4790 IEnumExtraSearch *This, 4791 IEnumExtraSearch **ppenum); 4792 4793 END_INTERFACE 4794 } IEnumExtraSearchVtbl; 4795 4796 interface IEnumExtraSearch { 4797 CONST_VTBL IEnumExtraSearchVtbl* lpVtbl; 4798 }; 4799 4800 #ifdef COBJMACROS 4801 #ifndef WIDL_C_INLINE_WRAPPERS 4802 /*** IUnknown methods ***/ 4803 #define IEnumExtraSearch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4804 #define IEnumExtraSearch_AddRef(This) (This)->lpVtbl->AddRef(This) 4805 #define IEnumExtraSearch_Release(This) (This)->lpVtbl->Release(This) 4806 /*** IEnumExtraSearch methods ***/ 4807 #define IEnumExtraSearch_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 4808 #define IEnumExtraSearch_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 4809 #define IEnumExtraSearch_Reset(This) (This)->lpVtbl->Reset(This) 4810 #define IEnumExtraSearch_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 4811 #else 4812 /*** IUnknown methods ***/ 4813 static inline HRESULT IEnumExtraSearch_QueryInterface(IEnumExtraSearch* This,REFIID riid,void **ppvObject) { 4814 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4815 } 4816 static inline ULONG IEnumExtraSearch_AddRef(IEnumExtraSearch* This) { 4817 return This->lpVtbl->AddRef(This); 4818 } 4819 static inline ULONG IEnumExtraSearch_Release(IEnumExtraSearch* This) { 4820 return This->lpVtbl->Release(This); 4821 } 4822 /*** IEnumExtraSearch methods ***/ 4823 static inline HRESULT IEnumExtraSearch_Next(IEnumExtraSearch* This,ULONG celt,EXTRASEARCH *rgelt,ULONG *pceltFetched) { 4824 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 4825 } 4826 static inline HRESULT IEnumExtraSearch_Skip(IEnumExtraSearch* This,ULONG celt) { 4827 return This->lpVtbl->Skip(This,celt); 4828 } 4829 static inline HRESULT IEnumExtraSearch_Reset(IEnumExtraSearch* This) { 4830 return This->lpVtbl->Reset(This); 4831 } 4832 static inline HRESULT IEnumExtraSearch_Clone(IEnumExtraSearch* This,IEnumExtraSearch **ppenum) { 4833 return This->lpVtbl->Clone(This,ppenum); 4834 } 4835 #endif 4836 #endif 4837 4838 #endif 4839 4840 4841 #endif /* __IEnumExtraSearch_INTERFACE_DEFINED__ */ 4842 4843 typedef IEnumExtraSearch *LPENUMEXTRASEARCH; 4844 4845 /***************************************************************************** 4846 * IShellFolder2 interface 4847 */ 4848 #ifndef __IShellFolder2_INTERFACE_DEFINED__ 4849 #define __IShellFolder2_INTERFACE_DEFINED__ 4850 4851 DEFINE_GUID(IID_IShellFolder2, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1); 4852 #if defined(__cplusplus) && !defined(CINTERFACE) 4853 MIDL_INTERFACE("93f2f68c-1d1b-11d3-a30e-00c04f79abd1") 4854 IShellFolder2 : public IShellFolder 4855 { 4856 virtual HRESULT STDMETHODCALLTYPE GetDefaultSearchGUID( 4857 GUID *pguid) = 0; 4858 4859 virtual HRESULT STDMETHODCALLTYPE EnumSearches( 4860 IEnumExtraSearch **ppenum) = 0; 4861 4862 virtual HRESULT STDMETHODCALLTYPE GetDefaultColumn( 4863 DWORD dwRes, 4864 ULONG *pSort, 4865 ULONG *pDisplay) = 0; 4866 4867 virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnState( 4868 UINT iColumn, 4869 SHCOLSTATEF *pcsFlags) = 0; 4870 4871 virtual HRESULT STDMETHODCALLTYPE GetDetailsEx( 4872 PCUITEMID_CHILD pidl, 4873 const SHCOLUMNID *pscid, 4874 VARIANT *pv) = 0; 4875 4876 virtual HRESULT STDMETHODCALLTYPE GetDetailsOf( 4877 PCUITEMID_CHILD pidl, 4878 UINT iColumn, 4879 SHELLDETAILS *psd) = 0; 4880 4881 virtual HRESULT STDMETHODCALLTYPE MapColumnToSCID( 4882 UINT iColumn, 4883 SHCOLUMNID *pscid) = 0; 4884 4885 }; 4886 #ifdef __CRT_UUID_DECL 4887 __CRT_UUID_DECL(IShellFolder2, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1) 4888 #endif 4889 #else 4890 typedef struct IShellFolder2Vtbl { 4891 BEGIN_INTERFACE 4892 4893 /*** IUnknown methods ***/ 4894 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4895 IShellFolder2 *This, 4896 REFIID riid, 4897 void **ppvObject); 4898 4899 ULONG (STDMETHODCALLTYPE *AddRef)( 4900 IShellFolder2 *This); 4901 4902 ULONG (STDMETHODCALLTYPE *Release)( 4903 IShellFolder2 *This); 4904 4905 /*** IShellFolder methods ***/ 4906 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)( 4907 IShellFolder2 *This, 4908 HWND hwnd, 4909 IBindCtx *pbc, 4910 LPWSTR pszDisplayName, 4911 ULONG *pchEaten, 4912 PIDLIST_RELATIVE *ppidl, 4913 ULONG *pdwAttributes); 4914 4915 HRESULT (STDMETHODCALLTYPE *EnumObjects)( 4916 IShellFolder2 *This, 4917 HWND hwnd, 4918 SHCONTF grfFlags, 4919 IEnumIDList **ppenumIDList); 4920 4921 HRESULT (STDMETHODCALLTYPE *BindToObject)( 4922 IShellFolder2 *This, 4923 PCUIDLIST_RELATIVE pidl, 4924 IBindCtx *pbc, 4925 REFIID riid, 4926 void **ppv); 4927 4928 HRESULT (STDMETHODCALLTYPE *BindToStorage)( 4929 IShellFolder2 *This, 4930 PCUIDLIST_RELATIVE pidl, 4931 IBindCtx *pbc, 4932 REFIID riid, 4933 void **ppv); 4934 4935 HRESULT (STDMETHODCALLTYPE *CompareIDs)( 4936 IShellFolder2 *This, 4937 LPARAM lParam, 4938 PCUIDLIST_RELATIVE pidl1, 4939 PCUIDLIST_RELATIVE pidl2); 4940 4941 HRESULT (STDMETHODCALLTYPE *CreateViewObject)( 4942 IShellFolder2 *This, 4943 HWND hwndOwner, 4944 REFIID riid, 4945 void **ppv); 4946 4947 HRESULT (STDMETHODCALLTYPE *GetAttributesOf)( 4948 IShellFolder2 *This, 4949 UINT cidl, 4950 PCUITEMID_CHILD_ARRAY apidl, 4951 SFGAOF *rgfInOut); 4952 4953 HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)( 4954 IShellFolder2 *This, 4955 HWND hwndOwner, 4956 UINT cidl, 4957 PCUITEMID_CHILD_ARRAY apidl, 4958 REFIID riid, 4959 UINT *rgfReserved, 4960 void **ppv); 4961 4962 HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)( 4963 IShellFolder2 *This, 4964 PCUITEMID_CHILD pidl, 4965 SHGDNF uFlags, 4966 STRRET *pName); 4967 4968 HRESULT (STDMETHODCALLTYPE *SetNameOf)( 4969 IShellFolder2 *This, 4970 HWND hwnd, 4971 PCUITEMID_CHILD pidl, 4972 LPCWSTR pszName, 4973 SHGDNF uFlags, 4974 PITEMID_CHILD *ppidlOut); 4975 4976 /*** IShellFolder2 methods ***/ 4977 HRESULT (STDMETHODCALLTYPE *GetDefaultSearchGUID)( 4978 IShellFolder2 *This, 4979 GUID *pguid); 4980 4981 HRESULT (STDMETHODCALLTYPE *EnumSearches)( 4982 IShellFolder2 *This, 4983 IEnumExtraSearch **ppenum); 4984 4985 HRESULT (STDMETHODCALLTYPE *GetDefaultColumn)( 4986 IShellFolder2 *This, 4987 DWORD dwRes, 4988 ULONG *pSort, 4989 ULONG *pDisplay); 4990 4991 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnState)( 4992 IShellFolder2 *This, 4993 UINT iColumn, 4994 SHCOLSTATEF *pcsFlags); 4995 4996 HRESULT (STDMETHODCALLTYPE *GetDetailsEx)( 4997 IShellFolder2 *This, 4998 PCUITEMID_CHILD pidl, 4999 const SHCOLUMNID *pscid, 5000 VARIANT *pv); 5001 5002 HRESULT (STDMETHODCALLTYPE *GetDetailsOf)( 5003 IShellFolder2 *This, 5004 PCUITEMID_CHILD pidl, 5005 UINT iColumn, 5006 SHELLDETAILS *psd); 5007 5008 HRESULT (STDMETHODCALLTYPE *MapColumnToSCID)( 5009 IShellFolder2 *This, 5010 UINT iColumn, 5011 SHCOLUMNID *pscid); 5012 5013 END_INTERFACE 5014 } IShellFolder2Vtbl; 5015 5016 interface IShellFolder2 { 5017 CONST_VTBL IShellFolder2Vtbl* lpVtbl; 5018 }; 5019 5020 #ifdef COBJMACROS 5021 #ifndef WIDL_C_INLINE_WRAPPERS 5022 /*** IUnknown methods ***/ 5023 #define IShellFolder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5024 #define IShellFolder2_AddRef(This) (This)->lpVtbl->AddRef(This) 5025 #define IShellFolder2_Release(This) (This)->lpVtbl->Release(This) 5026 /*** IShellFolder methods ***/ 5027 #define IShellFolder2_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) (This)->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) 5028 #define IShellFolder2_EnumObjects(This,hwnd,grfFlags,ppenumIDList) (This)->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList) 5029 #define IShellFolder2_BindToObject(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv) 5030 #define IShellFolder2_BindToStorage(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv) 5031 #define IShellFolder2_CompareIDs(This,lParam,pidl1,pidl2) (This)->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2) 5032 #define IShellFolder2_CreateViewObject(This,hwndOwner,riid,ppv) (This)->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv) 5033 #define IShellFolder2_GetAttributesOf(This,cidl,apidl,rgfInOut) (This)->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut) 5034 #define IShellFolder2_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) (This)->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) 5035 #define IShellFolder2_GetDisplayNameOf(This,pidl,uFlags,pName) (This)->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName) 5036 #define IShellFolder2_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) (This)->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) 5037 /*** IShellFolder2 methods ***/ 5038 #define IShellFolder2_GetDefaultSearchGUID(This,pguid) (This)->lpVtbl->GetDefaultSearchGUID(This,pguid) 5039 #define IShellFolder2_EnumSearches(This,ppenum) (This)->lpVtbl->EnumSearches(This,ppenum) 5040 #define IShellFolder2_GetDefaultColumn(This,dwRes,pSort,pDisplay) (This)->lpVtbl->GetDefaultColumn(This,dwRes,pSort,pDisplay) 5041 #define IShellFolder2_GetDefaultColumnState(This,iColumn,pcsFlags) (This)->lpVtbl->GetDefaultColumnState(This,iColumn,pcsFlags) 5042 #define IShellFolder2_GetDetailsEx(This,pidl,pscid,pv) (This)->lpVtbl->GetDetailsEx(This,pidl,pscid,pv) 5043 #define IShellFolder2_GetDetailsOf(This,pidl,iColumn,psd) (This)->lpVtbl->GetDetailsOf(This,pidl,iColumn,psd) 5044 #define IShellFolder2_MapColumnToSCID(This,iColumn,pscid) (This)->lpVtbl->MapColumnToSCID(This,iColumn,pscid) 5045 #else 5046 /*** IUnknown methods ***/ 5047 static inline HRESULT IShellFolder2_QueryInterface(IShellFolder2* This,REFIID riid,void **ppvObject) { 5048 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5049 } 5050 static inline ULONG IShellFolder2_AddRef(IShellFolder2* This) { 5051 return This->lpVtbl->AddRef(This); 5052 } 5053 static inline ULONG IShellFolder2_Release(IShellFolder2* This) { 5054 return This->lpVtbl->Release(This); 5055 } 5056 /*** IShellFolder methods ***/ 5057 static inline HRESULT IShellFolder2_ParseDisplayName(IShellFolder2* This,HWND hwnd,IBindCtx *pbc,LPWSTR pszDisplayName,ULONG *pchEaten,PIDLIST_RELATIVE *ppidl,ULONG *pdwAttributes) { 5058 return This->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes); 5059 } 5060 static inline HRESULT IShellFolder2_EnumObjects(IShellFolder2* This,HWND hwnd,SHCONTF grfFlags,IEnumIDList **ppenumIDList) { 5061 return This->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList); 5062 } 5063 static inline HRESULT IShellFolder2_BindToObject(IShellFolder2* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) { 5064 return This->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv); 5065 } 5066 static inline HRESULT IShellFolder2_BindToStorage(IShellFolder2* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) { 5067 return This->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv); 5068 } 5069 static inline HRESULT IShellFolder2_CompareIDs(IShellFolder2* This,LPARAM lParam,PCUIDLIST_RELATIVE pidl1,PCUIDLIST_RELATIVE pidl2) { 5070 return This->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2); 5071 } 5072 static inline HRESULT IShellFolder2_CreateViewObject(IShellFolder2* This,HWND hwndOwner,REFIID riid,void **ppv) { 5073 return This->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv); 5074 } 5075 static inline HRESULT IShellFolder2_GetAttributesOf(IShellFolder2* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,SFGAOF *rgfInOut) { 5076 return This->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut); 5077 } 5078 static inline HRESULT IShellFolder2_GetUIObjectOf(IShellFolder2* This,HWND hwndOwner,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,REFIID riid,UINT *rgfReserved,void **ppv) { 5079 return This->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv); 5080 } 5081 static inline HRESULT IShellFolder2_GetDisplayNameOf(IShellFolder2* This,PCUITEMID_CHILD pidl,SHGDNF uFlags,STRRET *pName) { 5082 return This->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName); 5083 } 5084 static inline HRESULT IShellFolder2_SetNameOf(IShellFolder2* This,HWND hwnd,PCUITEMID_CHILD pidl,LPCWSTR pszName,SHGDNF uFlags,PITEMID_CHILD *ppidlOut) { 5085 return This->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut); 5086 } 5087 /*** IShellFolder2 methods ***/ 5088 static inline HRESULT IShellFolder2_GetDefaultSearchGUID(IShellFolder2* This,GUID *pguid) { 5089 return This->lpVtbl->GetDefaultSearchGUID(This,pguid); 5090 } 5091 static inline HRESULT IShellFolder2_EnumSearches(IShellFolder2* This,IEnumExtraSearch **ppenum) { 5092 return This->lpVtbl->EnumSearches(This,ppenum); 5093 } 5094 static inline HRESULT IShellFolder2_GetDefaultColumn(IShellFolder2* This,DWORD dwRes,ULONG *pSort,ULONG *pDisplay) { 5095 return This->lpVtbl->GetDefaultColumn(This,dwRes,pSort,pDisplay); 5096 } 5097 static inline HRESULT IShellFolder2_GetDefaultColumnState(IShellFolder2* This,UINT iColumn,SHCOLSTATEF *pcsFlags) { 5098 return This->lpVtbl->GetDefaultColumnState(This,iColumn,pcsFlags); 5099 } 5100 static inline HRESULT IShellFolder2_GetDetailsEx(IShellFolder2* This,PCUITEMID_CHILD pidl,const SHCOLUMNID *pscid,VARIANT *pv) { 5101 return This->lpVtbl->GetDetailsEx(This,pidl,pscid,pv); 5102 } 5103 static inline HRESULT IShellFolder2_GetDetailsOf(IShellFolder2* This,PCUITEMID_CHILD pidl,UINT iColumn,SHELLDETAILS *psd) { 5104 return This->lpVtbl->GetDetailsOf(This,pidl,iColumn,psd); 5105 } 5106 static inline HRESULT IShellFolder2_MapColumnToSCID(IShellFolder2* This,UINT iColumn,SHCOLUMNID *pscid) { 5107 return This->lpVtbl->MapColumnToSCID(This,iColumn,pscid); 5108 } 5109 #endif 5110 #endif 5111 5112 #endif 5113 5114 5115 #endif /* __IShellFolder2_INTERFACE_DEFINED__ */ 5116 5117 typedef char *LPVIEWSETTINGS; 5118 5119 typedef enum FOLDERFLAGS { 5120 FWF_NONE = 0x0, 5121 FWF_AUTOARRANGE = 0x1, 5122 FWF_ABBREVIATEDNAMES = 0x2, 5123 FWF_SNAPTOGRID = 0x4, 5124 FWF_OWNERDATA = 0x8, 5125 FWF_BESTFITWINDOW = 0x10, 5126 FWF_DESKTOP = 0x20, 5127 FWF_SINGLESEL = 0x40, 5128 FWF_NOSUBFOLDERS = 0x80, 5129 FWF_TRANSPARENT = 0x100, 5130 FWF_NOCLIENTEDGE = 0x200, 5131 FWF_NOSCROLL = 0x400, 5132 FWF_ALIGNLEFT = 0x800, 5133 FWF_NOICONS = 0x1000, 5134 FWF_SHOWSELALWAYS = 0x2000, 5135 FWF_NOVISIBLE = 0x4000, 5136 FWF_SINGLECLICKACTIVATE = 0x8000, 5137 FWF_NOWEBVIEW = 0x10000, 5138 FWF_HIDEFILENAMES = 0x20000, 5139 FWF_CHECKSELECT = 0x40000, 5140 FWF_NOENUMREFRESH = 0x80000, 5141 FWF_NOGROUPING = 0x100000, 5142 FWF_FULLROWSELECT = 0x200000, 5143 FWF_NOFILTERS = 0x400000, 5144 FWF_NOCOLUMNHEADER = 0x800000, 5145 FWF_NOHEADERINALLVIEWS = 0x1000000, 5146 FWF_EXTENDEDTILES = 0x2000000, 5147 FWF_TRICHECKSELECT = 0x4000000, 5148 FWF_AUTOCHECKSELECT = 0x8000000, 5149 FWF_NOBROWSERVIEWSTATE = 0x10000000, 5150 FWF_SUBSETGROUPS = 0x20000000, 5151 FWF_USESEARCHFOLDER = 0x40000000, 5152 FWF_ALLOWRTLREADING = 0x80000000 5153 } FOLDERFLAGS; 5154 5155 DEFINE_ENUM_FLAG_OPERATORS(FOLDERFLAGS) 5156 5157 typedef enum FOLDERVIEWMODE { 5158 FVM_AUTO = -1, 5159 FVM_FIRST = 1, 5160 FVM_ICON = 1, 5161 FVM_SMALLICON = 2, 5162 FVM_LIST = 3, 5163 FVM_DETAILS = 4, 5164 FVM_THUMBNAIL = 5, 5165 FVM_TILE = 6, 5166 FVM_THUMBSTRIP = 7, 5167 FVM_CONTENT = 8, 5168 FVM_LAST = 8 5169 } FOLDERVIEWMODE; 5170 5171 #if NTDDI_VERSION >= NTDDI_VISTA 5172 typedef enum FOLDERLOGICALVIEWMODE { 5173 FLVM_UNSPECIFIED = -1, 5174 FLVM_FIRST = 1, 5175 FLVM_DETAILS = 1, 5176 FLVM_TILES = 2, 5177 FLVM_ICONS = 3, 5178 FLVM_LIST = 4, 5179 FLVM_CONTENT = 5, 5180 FLVM_LAST = 5 5181 } FOLDERLOGICALVIEWMODE; 5182 #endif 5183 typedef struct FOLDERSETTINGS { 5184 UINT ViewMode; 5185 UINT fFlags; 5186 } FOLDERSETTINGS; 5187 5188 typedef FOLDERSETTINGS *LPFOLDERSETTINGS; 5189 typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS; 5190 typedef FOLDERSETTINGS *PFOLDERSETTINGS; 5191 5192 /***************************************************************************** 5193 * IFolderViewOptions interface 5194 */ 5195 #ifndef __IFolderViewOptions_INTERFACE_DEFINED__ 5196 #define __IFolderViewOptions_INTERFACE_DEFINED__ 5197 5198 typedef enum FOLDERVIEWOPTIONS { 5199 FVO_DEFAULT = 0x0, 5200 FVO_VISTALAYOUT = 0x1, 5201 FVO_CUSTOMPOSITION = 0x2, 5202 FVO_CUSTOMORDERING = 0x4, 5203 FVO_SUPPORTHYPERLINKS = 0x8, 5204 FVO_NOANIMATIONS = 0x10, 5205 FVO_NOSCROLLTIPS = 0x20 5206 } FOLDERVIEWOPTIONS; 5207 5208 DEFINE_ENUM_FLAG_OPERATORS(FOLDERVIEWOPTIONS) 5209 5210 DEFINE_GUID(IID_IFolderViewOptions, 0x3cc974d2, 0xb302, 0x4d36, 0xad,0x3e, 0x06,0xd9,0x3f,0x69,0x5d,0x3f); 5211 #if defined(__cplusplus) && !defined(CINTERFACE) 5212 MIDL_INTERFACE("3cc974d2-b302-4d36-ad3e-06d93f695d3f") 5213 IFolderViewOptions : public IUnknown 5214 { 5215 virtual HRESULT STDMETHODCALLTYPE SetFolderViewOptions( 5216 FOLDERVIEWOPTIONS fvoMask, 5217 FOLDERVIEWOPTIONS fvoFlags) = 0; 5218 5219 virtual HRESULT STDMETHODCALLTYPE GetFolderViewOptions( 5220 FOLDERVIEWOPTIONS *pfvoFlags) = 0; 5221 5222 }; 5223 #ifdef __CRT_UUID_DECL 5224 __CRT_UUID_DECL(IFolderViewOptions, 0x3cc974d2, 0xb302, 0x4d36, 0xad,0x3e, 0x06,0xd9,0x3f,0x69,0x5d,0x3f) 5225 #endif 5226 #else 5227 typedef struct IFolderViewOptionsVtbl { 5228 BEGIN_INTERFACE 5229 5230 /*** IUnknown methods ***/ 5231 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5232 IFolderViewOptions *This, 5233 REFIID riid, 5234 void **ppvObject); 5235 5236 ULONG (STDMETHODCALLTYPE *AddRef)( 5237 IFolderViewOptions *This); 5238 5239 ULONG (STDMETHODCALLTYPE *Release)( 5240 IFolderViewOptions *This); 5241 5242 /*** IFolderViewOptions methods ***/ 5243 HRESULT (STDMETHODCALLTYPE *SetFolderViewOptions)( 5244 IFolderViewOptions *This, 5245 FOLDERVIEWOPTIONS fvoMask, 5246 FOLDERVIEWOPTIONS fvoFlags); 5247 5248 HRESULT (STDMETHODCALLTYPE *GetFolderViewOptions)( 5249 IFolderViewOptions *This, 5250 FOLDERVIEWOPTIONS *pfvoFlags); 5251 5252 END_INTERFACE 5253 } IFolderViewOptionsVtbl; 5254 5255 interface IFolderViewOptions { 5256 CONST_VTBL IFolderViewOptionsVtbl* lpVtbl; 5257 }; 5258 5259 #ifdef COBJMACROS 5260 #ifndef WIDL_C_INLINE_WRAPPERS 5261 /*** IUnknown methods ***/ 5262 #define IFolderViewOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5263 #define IFolderViewOptions_AddRef(This) (This)->lpVtbl->AddRef(This) 5264 #define IFolderViewOptions_Release(This) (This)->lpVtbl->Release(This) 5265 /*** IFolderViewOptions methods ***/ 5266 #define IFolderViewOptions_SetFolderViewOptions(This,fvoMask,fvoFlags) (This)->lpVtbl->SetFolderViewOptions(This,fvoMask,fvoFlags) 5267 #define IFolderViewOptions_GetFolderViewOptions(This,pfvoFlags) (This)->lpVtbl->GetFolderViewOptions(This,pfvoFlags) 5268 #else 5269 /*** IUnknown methods ***/ 5270 static inline HRESULT IFolderViewOptions_QueryInterface(IFolderViewOptions* This,REFIID riid,void **ppvObject) { 5271 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5272 } 5273 static inline ULONG IFolderViewOptions_AddRef(IFolderViewOptions* This) { 5274 return This->lpVtbl->AddRef(This); 5275 } 5276 static inline ULONG IFolderViewOptions_Release(IFolderViewOptions* This) { 5277 return This->lpVtbl->Release(This); 5278 } 5279 /*** IFolderViewOptions methods ***/ 5280 static inline HRESULT IFolderViewOptions_SetFolderViewOptions(IFolderViewOptions* This,FOLDERVIEWOPTIONS fvoMask,FOLDERVIEWOPTIONS fvoFlags) { 5281 return This->lpVtbl->SetFolderViewOptions(This,fvoMask,fvoFlags); 5282 } 5283 static inline HRESULT IFolderViewOptions_GetFolderViewOptions(IFolderViewOptions* This,FOLDERVIEWOPTIONS *pfvoFlags) { 5284 return This->lpVtbl->GetFolderViewOptions(This,pfvoFlags); 5285 } 5286 #endif 5287 #endif 5288 5289 #endif 5290 5291 5292 #endif /* __IFolderViewOptions_INTERFACE_DEFINED__ */ 5293 5294 typedef enum _SVSIF { 5295 SVSI_DESELECT = 0x0, 5296 SVSI_SELECT = 0x1, 5297 SVSI_EDIT = 0x3, 5298 SVSI_DESELECTOTHERS = 0x4, 5299 SVSI_ENSUREVISIBLE = 0x8, 5300 SVSI_FOCUSED = 0x10, 5301 SVSI_TRANSLATEPT = 0x20, 5302 SVSI_SELECTIONMARK = 0x40, 5303 SVSI_POSITIONITEM = 0x80, 5304 SVSI_CHECK = 0x100, 5305 SVSI_CHECK2 = 0x200, 5306 SVSI_KEYBOARDSELECT = 0x401, 5307 SVSI_NOTAKEFOCUS = 0x40000000 5308 } _SVSIF; 5309 5310 #define SVSI_NOSTATECHANGE ((UINT)0x80000000) 5311 5312 typedef UINT SVSIF; 5313 5314 typedef enum _SVGIO { 5315 SVGIO_BACKGROUND = 0x0, 5316 SVGIO_SELECTION = 0x1, 5317 SVGIO_ALLVIEW = 0x2, 5318 SVGIO_CHECKED = 0x3, 5319 SVGIO_TYPE_MASK = 0xf, 5320 SVGIO_FLAG_VIEWORDER = 0x80000000 5321 } _SVGIO; 5322 5323 DEFINE_ENUM_FLAG_OPERATORS(_SVGIO) 5324 5325 typedef int SVGIO; 5326 5327 typedef enum SVUIA_STATUS { 5328 SVUIA_DEACTIVATE = 0, 5329 SVUIA_ACTIVATE_NOFOCUS = 1, 5330 SVUIA_ACTIVATE_FOCUS = 2, 5331 SVUIA_INPLACEACTIVATE = 3 5332 } SVUIA_STATUS; 5333 5334 #ifdef _FIX_ENABLEMODELESS_CONFLICT 5335 #define EnableModeless EnableModelessSV 5336 #endif 5337 5338 #if 0 5339 typedef LPARAM LPFNSVADDPROPSHEETPAGE; 5340 #else 5341 #include <prsht.h> 5342 typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE; 5343 #endif 5344 5345 #ifndef __IShellBrowser_FWD_DEFINED__ 5346 #define __IShellBrowser_FWD_DEFINED__ 5347 typedef interface IShellBrowser IShellBrowser; 5348 #ifdef __cplusplus 5349 interface IShellBrowser; 5350 #endif /* __cplusplus */ 5351 #endif 5352 5353 5354 /***************************************************************************** 5355 * IShellView interface 5356 */ 5357 #ifndef __IShellView_INTERFACE_DEFINED__ 5358 #define __IShellView_INTERFACE_DEFINED__ 5359 5360 DEFINE_GUID(IID_IShellView, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5361 #if defined(__cplusplus) && !defined(CINTERFACE) 5362 MIDL_INTERFACE("000214e3-0000-0000-c000-000000000046") 5363 IShellView : public IOleWindow 5364 { 5365 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator( 5366 MSG *pmsg) = 0; 5367 5368 virtual HRESULT STDMETHODCALLTYPE EnableModeless( 5369 WINBOOL fEnable) = 0; 5370 5371 virtual HRESULT STDMETHODCALLTYPE UIActivate( 5372 UINT uState) = 0; 5373 5374 virtual HRESULT STDMETHODCALLTYPE Refresh( 5375 ) = 0; 5376 5377 virtual HRESULT STDMETHODCALLTYPE CreateViewWindow( 5378 IShellView *psvPrevious, 5379 LPCFOLDERSETTINGS pfs, 5380 IShellBrowser *psb, 5381 RECT *prcView, 5382 HWND *phWnd) = 0; 5383 5384 virtual HRESULT STDMETHODCALLTYPE DestroyViewWindow( 5385 ) = 0; 5386 5387 virtual HRESULT STDMETHODCALLTYPE GetCurrentInfo( 5388 LPFOLDERSETTINGS pfs) = 0; 5389 5390 virtual HRESULT STDMETHODCALLTYPE AddPropertySheetPages( 5391 DWORD dwReserved, 5392 LPFNSVADDPROPSHEETPAGE pfn, 5393 LPARAM lparam) = 0; 5394 5395 virtual HRESULT STDMETHODCALLTYPE SaveViewState( 5396 ) = 0; 5397 5398 virtual HRESULT STDMETHODCALLTYPE SelectItem( 5399 PCUITEMID_CHILD pidlItem, 5400 SVSIF uFlags) = 0; 5401 5402 virtual HRESULT STDMETHODCALLTYPE GetItemObject( 5403 UINT uItem, 5404 REFIID riid, 5405 void **ppv) = 0; 5406 5407 }; 5408 #ifdef __CRT_UUID_DECL 5409 __CRT_UUID_DECL(IShellView, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5410 #endif 5411 #else 5412 typedef struct IShellViewVtbl { 5413 BEGIN_INTERFACE 5414 5415 /*** IUnknown methods ***/ 5416 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5417 IShellView *This, 5418 REFIID riid, 5419 void **ppvObject); 5420 5421 ULONG (STDMETHODCALLTYPE *AddRef)( 5422 IShellView *This); 5423 5424 ULONG (STDMETHODCALLTYPE *Release)( 5425 IShellView *This); 5426 5427 /*** IOleWindow methods ***/ 5428 HRESULT (STDMETHODCALLTYPE *GetWindow)( 5429 IShellView *This, 5430 HWND *phwnd); 5431 5432 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 5433 IShellView *This, 5434 WINBOOL fEnterMode); 5435 5436 /*** IShellView methods ***/ 5437 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)( 5438 IShellView *This, 5439 MSG *pmsg); 5440 5441 HRESULT (STDMETHODCALLTYPE *EnableModeless)( 5442 IShellView *This, 5443 WINBOOL fEnable); 5444 5445 HRESULT (STDMETHODCALLTYPE *UIActivate)( 5446 IShellView *This, 5447 UINT uState); 5448 5449 HRESULT (STDMETHODCALLTYPE *Refresh)( 5450 IShellView *This); 5451 5452 HRESULT (STDMETHODCALLTYPE *CreateViewWindow)( 5453 IShellView *This, 5454 IShellView *psvPrevious, 5455 LPCFOLDERSETTINGS pfs, 5456 IShellBrowser *psb, 5457 RECT *prcView, 5458 HWND *phWnd); 5459 5460 HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)( 5461 IShellView *This); 5462 5463 HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)( 5464 IShellView *This, 5465 LPFOLDERSETTINGS pfs); 5466 5467 HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)( 5468 IShellView *This, 5469 DWORD dwReserved, 5470 LPFNSVADDPROPSHEETPAGE pfn, 5471 LPARAM lparam); 5472 5473 HRESULT (STDMETHODCALLTYPE *SaveViewState)( 5474 IShellView *This); 5475 5476 HRESULT (STDMETHODCALLTYPE *SelectItem)( 5477 IShellView *This, 5478 PCUITEMID_CHILD pidlItem, 5479 SVSIF uFlags); 5480 5481 HRESULT (STDMETHODCALLTYPE *GetItemObject)( 5482 IShellView *This, 5483 UINT uItem, 5484 REFIID riid, 5485 void **ppv); 5486 5487 END_INTERFACE 5488 } IShellViewVtbl; 5489 5490 interface IShellView { 5491 CONST_VTBL IShellViewVtbl* lpVtbl; 5492 }; 5493 5494 #ifdef COBJMACROS 5495 #ifndef WIDL_C_INLINE_WRAPPERS 5496 /*** IUnknown methods ***/ 5497 #define IShellView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5498 #define IShellView_AddRef(This) (This)->lpVtbl->AddRef(This) 5499 #define IShellView_Release(This) (This)->lpVtbl->Release(This) 5500 /*** IOleWindow methods ***/ 5501 #define IShellView_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 5502 #define IShellView_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 5503 /*** IShellView methods ***/ 5504 #define IShellView_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg) 5505 #define IShellView_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable) 5506 #define IShellView_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState) 5507 #define IShellView_Refresh(This) (This)->lpVtbl->Refresh(This) 5508 #define IShellView_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) 5509 #define IShellView_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This) 5510 #define IShellView_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs) 5511 #define IShellView_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam) 5512 #define IShellView_SaveViewState(This) (This)->lpVtbl->SaveViewState(This) 5513 #define IShellView_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags) 5514 #define IShellView_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv) 5515 #else 5516 /*** IUnknown methods ***/ 5517 static inline HRESULT IShellView_QueryInterface(IShellView* This,REFIID riid,void **ppvObject) { 5518 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5519 } 5520 static inline ULONG IShellView_AddRef(IShellView* This) { 5521 return This->lpVtbl->AddRef(This); 5522 } 5523 static inline ULONG IShellView_Release(IShellView* This) { 5524 return This->lpVtbl->Release(This); 5525 } 5526 /*** IOleWindow methods ***/ 5527 static inline HRESULT IShellView_GetWindow(IShellView* This,HWND *phwnd) { 5528 return This->lpVtbl->GetWindow(This,phwnd); 5529 } 5530 static inline HRESULT IShellView_ContextSensitiveHelp(IShellView* This,WINBOOL fEnterMode) { 5531 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 5532 } 5533 /*** IShellView methods ***/ 5534 static inline HRESULT IShellView_TranslateAccelerator(IShellView* This,MSG *pmsg) { 5535 return This->lpVtbl->TranslateAccelerator(This,pmsg); 5536 } 5537 static inline HRESULT IShellView_EnableModeless(IShellView* This,WINBOOL fEnable) { 5538 return This->lpVtbl->EnableModeless(This,fEnable); 5539 } 5540 static inline HRESULT IShellView_UIActivate(IShellView* This,UINT uState) { 5541 return This->lpVtbl->UIActivate(This,uState); 5542 } 5543 static inline HRESULT IShellView_Refresh(IShellView* This) { 5544 return This->lpVtbl->Refresh(This); 5545 } 5546 static inline HRESULT IShellView_CreateViewWindow(IShellView* This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) { 5547 return This->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd); 5548 } 5549 static inline HRESULT IShellView_DestroyViewWindow(IShellView* This) { 5550 return This->lpVtbl->DestroyViewWindow(This); 5551 } 5552 static inline HRESULT IShellView_GetCurrentInfo(IShellView* This,LPFOLDERSETTINGS pfs) { 5553 return This->lpVtbl->GetCurrentInfo(This,pfs); 5554 } 5555 static inline HRESULT IShellView_AddPropertySheetPages(IShellView* This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) { 5556 return This->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam); 5557 } 5558 static inline HRESULT IShellView_SaveViewState(IShellView* This) { 5559 return This->lpVtbl->SaveViewState(This); 5560 } 5561 static inline HRESULT IShellView_SelectItem(IShellView* This,PCUITEMID_CHILD pidlItem,SVSIF uFlags) { 5562 return This->lpVtbl->SelectItem(This,pidlItem,uFlags); 5563 } 5564 static inline HRESULT IShellView_GetItemObject(IShellView* This,UINT uItem,REFIID riid,void **ppv) { 5565 return This->lpVtbl->GetItemObject(This,uItem,riid,ppv); 5566 } 5567 #endif 5568 #endif 5569 5570 #endif 5571 5572 5573 #endif /* __IShellView_INTERFACE_DEFINED__ */ 5574 5575 typedef IShellView *LPSHELLVIEW; 5576 5577 /***************************************************************************** 5578 * IShellView2 interface 5579 */ 5580 #ifndef __IShellView2_INTERFACE_DEFINED__ 5581 #define __IShellView2_INTERFACE_DEFINED__ 5582 5583 typedef GUID SHELLVIEWID; 5584 5585 #define SV2GV_CURRENTVIEW ((UINT)-1) 5586 #define SV2GV_DEFAULTVIEW ((UINT)-2) 5587 5588 #include <pshpack8.h> 5589 typedef struct _SV2CVW2_PARAMS { 5590 DWORD cbSize; 5591 IShellView *psvPrev; 5592 LPCFOLDERSETTINGS pfs; 5593 IShellBrowser *psbOwner; 5594 RECT *prcView; 5595 const SHELLVIEWID *pvid; 5596 HWND hwndView; 5597 } SV2CVW2_PARAMS; 5598 typedef struct _SV2CVW2_PARAMS *LPSV2CVW2_PARAMS; 5599 #include <poppack.h> 5600 5601 DEFINE_GUID(IID_IShellView2, 0x88e39e80, 0x3578, 0x11cf, 0xae,0x69, 0x08,0x00,0x2b,0x2e,0x12,0x62); 5602 #if defined(__cplusplus) && !defined(CINTERFACE) 5603 MIDL_INTERFACE("88e39e80-3578-11cf-ae69-08002b2e1262") 5604 IShellView2 : public IShellView 5605 { 5606 virtual HRESULT STDMETHODCALLTYPE GetView( 5607 SHELLVIEWID *pvid, 5608 ULONG uView) = 0; 5609 5610 virtual HRESULT STDMETHODCALLTYPE CreateViewWindow2( 5611 LPSV2CVW2_PARAMS lpParams) = 0; 5612 5613 virtual HRESULT STDMETHODCALLTYPE HandleRename( 5614 PCUITEMID_CHILD pidlNew) = 0; 5615 5616 virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItem( 5617 PCUITEMID_CHILD pidlItem, 5618 UINT uFlags, 5619 POINT *ppt) = 0; 5620 5621 }; 5622 #ifdef __CRT_UUID_DECL 5623 __CRT_UUID_DECL(IShellView2, 0x88e39e80, 0x3578, 0x11cf, 0xae,0x69, 0x08,0x00,0x2b,0x2e,0x12,0x62) 5624 #endif 5625 #else 5626 typedef struct IShellView2Vtbl { 5627 BEGIN_INTERFACE 5628 5629 /*** IUnknown methods ***/ 5630 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5631 IShellView2 *This, 5632 REFIID riid, 5633 void **ppvObject); 5634 5635 ULONG (STDMETHODCALLTYPE *AddRef)( 5636 IShellView2 *This); 5637 5638 ULONG (STDMETHODCALLTYPE *Release)( 5639 IShellView2 *This); 5640 5641 /*** IOleWindow methods ***/ 5642 HRESULT (STDMETHODCALLTYPE *GetWindow)( 5643 IShellView2 *This, 5644 HWND *phwnd); 5645 5646 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 5647 IShellView2 *This, 5648 WINBOOL fEnterMode); 5649 5650 /*** IShellView methods ***/ 5651 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)( 5652 IShellView2 *This, 5653 MSG *pmsg); 5654 5655 HRESULT (STDMETHODCALLTYPE *EnableModeless)( 5656 IShellView2 *This, 5657 WINBOOL fEnable); 5658 5659 HRESULT (STDMETHODCALLTYPE *UIActivate)( 5660 IShellView2 *This, 5661 UINT uState); 5662 5663 HRESULT (STDMETHODCALLTYPE *Refresh)( 5664 IShellView2 *This); 5665 5666 HRESULT (STDMETHODCALLTYPE *CreateViewWindow)( 5667 IShellView2 *This, 5668 IShellView *psvPrevious, 5669 LPCFOLDERSETTINGS pfs, 5670 IShellBrowser *psb, 5671 RECT *prcView, 5672 HWND *phWnd); 5673 5674 HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)( 5675 IShellView2 *This); 5676 5677 HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)( 5678 IShellView2 *This, 5679 LPFOLDERSETTINGS pfs); 5680 5681 HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)( 5682 IShellView2 *This, 5683 DWORD dwReserved, 5684 LPFNSVADDPROPSHEETPAGE pfn, 5685 LPARAM lparam); 5686 5687 HRESULT (STDMETHODCALLTYPE *SaveViewState)( 5688 IShellView2 *This); 5689 5690 HRESULT (STDMETHODCALLTYPE *SelectItem)( 5691 IShellView2 *This, 5692 PCUITEMID_CHILD pidlItem, 5693 SVSIF uFlags); 5694 5695 HRESULT (STDMETHODCALLTYPE *GetItemObject)( 5696 IShellView2 *This, 5697 UINT uItem, 5698 REFIID riid, 5699 void **ppv); 5700 5701 /*** IShellView2 methods ***/ 5702 HRESULT (STDMETHODCALLTYPE *GetView)( 5703 IShellView2 *This, 5704 SHELLVIEWID *pvid, 5705 ULONG uView); 5706 5707 HRESULT (STDMETHODCALLTYPE *CreateViewWindow2)( 5708 IShellView2 *This, 5709 LPSV2CVW2_PARAMS lpParams); 5710 5711 HRESULT (STDMETHODCALLTYPE *HandleRename)( 5712 IShellView2 *This, 5713 PCUITEMID_CHILD pidlNew); 5714 5715 HRESULT (STDMETHODCALLTYPE *SelectAndPositionItem)( 5716 IShellView2 *This, 5717 PCUITEMID_CHILD pidlItem, 5718 UINT uFlags, 5719 POINT *ppt); 5720 5721 END_INTERFACE 5722 } IShellView2Vtbl; 5723 5724 interface IShellView2 { 5725 CONST_VTBL IShellView2Vtbl* lpVtbl; 5726 }; 5727 5728 #ifdef COBJMACROS 5729 #ifndef WIDL_C_INLINE_WRAPPERS 5730 /*** IUnknown methods ***/ 5731 #define IShellView2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5732 #define IShellView2_AddRef(This) (This)->lpVtbl->AddRef(This) 5733 #define IShellView2_Release(This) (This)->lpVtbl->Release(This) 5734 /*** IOleWindow methods ***/ 5735 #define IShellView2_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 5736 #define IShellView2_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 5737 /*** IShellView methods ***/ 5738 #define IShellView2_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg) 5739 #define IShellView2_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable) 5740 #define IShellView2_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState) 5741 #define IShellView2_Refresh(This) (This)->lpVtbl->Refresh(This) 5742 #define IShellView2_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) 5743 #define IShellView2_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This) 5744 #define IShellView2_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs) 5745 #define IShellView2_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam) 5746 #define IShellView2_SaveViewState(This) (This)->lpVtbl->SaveViewState(This) 5747 #define IShellView2_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags) 5748 #define IShellView2_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv) 5749 /*** IShellView2 methods ***/ 5750 #define IShellView2_GetView(This,pvid,uView) (This)->lpVtbl->GetView(This,pvid,uView) 5751 #define IShellView2_CreateViewWindow2(This,lpParams) (This)->lpVtbl->CreateViewWindow2(This,lpParams) 5752 #define IShellView2_HandleRename(This,pidlNew) (This)->lpVtbl->HandleRename(This,pidlNew) 5753 #define IShellView2_SelectAndPositionItem(This,pidlItem,uFlags,ppt) (This)->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt) 5754 #else 5755 /*** IUnknown methods ***/ 5756 static inline HRESULT IShellView2_QueryInterface(IShellView2* This,REFIID riid,void **ppvObject) { 5757 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5758 } 5759 static inline ULONG IShellView2_AddRef(IShellView2* This) { 5760 return This->lpVtbl->AddRef(This); 5761 } 5762 static inline ULONG IShellView2_Release(IShellView2* This) { 5763 return This->lpVtbl->Release(This); 5764 } 5765 /*** IOleWindow methods ***/ 5766 static inline HRESULT IShellView2_GetWindow(IShellView2* This,HWND *phwnd) { 5767 return This->lpVtbl->GetWindow(This,phwnd); 5768 } 5769 static inline HRESULT IShellView2_ContextSensitiveHelp(IShellView2* This,WINBOOL fEnterMode) { 5770 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 5771 } 5772 /*** IShellView methods ***/ 5773 static inline HRESULT IShellView2_TranslateAccelerator(IShellView2* This,MSG *pmsg) { 5774 return This->lpVtbl->TranslateAccelerator(This,pmsg); 5775 } 5776 static inline HRESULT IShellView2_EnableModeless(IShellView2* This,WINBOOL fEnable) { 5777 return This->lpVtbl->EnableModeless(This,fEnable); 5778 } 5779 static inline HRESULT IShellView2_UIActivate(IShellView2* This,UINT uState) { 5780 return This->lpVtbl->UIActivate(This,uState); 5781 } 5782 static inline HRESULT IShellView2_Refresh(IShellView2* This) { 5783 return This->lpVtbl->Refresh(This); 5784 } 5785 static inline HRESULT IShellView2_CreateViewWindow(IShellView2* This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) { 5786 return This->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd); 5787 } 5788 static inline HRESULT IShellView2_DestroyViewWindow(IShellView2* This) { 5789 return This->lpVtbl->DestroyViewWindow(This); 5790 } 5791 static inline HRESULT IShellView2_GetCurrentInfo(IShellView2* This,LPFOLDERSETTINGS pfs) { 5792 return This->lpVtbl->GetCurrentInfo(This,pfs); 5793 } 5794 static inline HRESULT IShellView2_AddPropertySheetPages(IShellView2* This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) { 5795 return This->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam); 5796 } 5797 static inline HRESULT IShellView2_SaveViewState(IShellView2* This) { 5798 return This->lpVtbl->SaveViewState(This); 5799 } 5800 static inline HRESULT IShellView2_SelectItem(IShellView2* This,PCUITEMID_CHILD pidlItem,SVSIF uFlags) { 5801 return This->lpVtbl->SelectItem(This,pidlItem,uFlags); 5802 } 5803 static inline HRESULT IShellView2_GetItemObject(IShellView2* This,UINT uItem,REFIID riid,void **ppv) { 5804 return This->lpVtbl->GetItemObject(This,uItem,riid,ppv); 5805 } 5806 /*** IShellView2 methods ***/ 5807 static inline HRESULT IShellView2_GetView(IShellView2* This,SHELLVIEWID *pvid,ULONG uView) { 5808 return This->lpVtbl->GetView(This,pvid,uView); 5809 } 5810 static inline HRESULT IShellView2_CreateViewWindow2(IShellView2* This,LPSV2CVW2_PARAMS lpParams) { 5811 return This->lpVtbl->CreateViewWindow2(This,lpParams); 5812 } 5813 static inline HRESULT IShellView2_HandleRename(IShellView2* This,PCUITEMID_CHILD pidlNew) { 5814 return This->lpVtbl->HandleRename(This,pidlNew); 5815 } 5816 static inline HRESULT IShellView2_SelectAndPositionItem(IShellView2* This,PCUITEMID_CHILD pidlItem,UINT uFlags,POINT *ppt) { 5817 return This->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt); 5818 } 5819 #endif 5820 #endif 5821 5822 #endif 5823 5824 5825 #endif /* __IShellView2_INTERFACE_DEFINED__ */ 5826 5827 5828 #if NTDDI_VERSION >= NTDDI_VISTA 5829 /***************************************************************************** 5830 * IShellView3 interface 5831 */ 5832 #ifndef __IShellView3_INTERFACE_DEFINED__ 5833 #define __IShellView3_INTERFACE_DEFINED__ 5834 5835 enum _SV3CVW3_FLAGS { 5836 SV3CVW3_DEFAULT = 0x0, 5837 SV3CVW3_NONINTERACTIVE = 0x1, 5838 SV3CVW3_FORCEVIEWMODE = 0x2, 5839 SV3CVW3_FORCEFOLDERFLAGS = 0x4 5840 }; 5841 5842 typedef DWORD SV3CVW3_FLAGS; 5843 5844 DEFINE_GUID(IID_IShellView3, 0xec39fa88, 0xf8af, 0x41c5, 0x84,0x21, 0x38,0xbe,0xd2,0x8f,0x46,0x73); 5845 #if defined(__cplusplus) && !defined(CINTERFACE) 5846 MIDL_INTERFACE("ec39fa88-f8af-41c5-8421-38bed28f4673") 5847 IShellView3 : public IShellView2 5848 { 5849 virtual HRESULT STDMETHODCALLTYPE CreateViewWindow3( 5850 IShellBrowser *psbOwner, 5851 IShellView *psvPrev, 5852 SV3CVW3_FLAGS dwViewFlags, 5853 FOLDERFLAGS dwMask, 5854 FOLDERFLAGS dwFlags, 5855 FOLDERVIEWMODE fvMode, 5856 const SHELLVIEWID *pvid, 5857 const RECT *prcView, 5858 HWND *phwndView) = 0; 5859 5860 }; 5861 #ifdef __CRT_UUID_DECL 5862 __CRT_UUID_DECL(IShellView3, 0xec39fa88, 0xf8af, 0x41c5, 0x84,0x21, 0x38,0xbe,0xd2,0x8f,0x46,0x73) 5863 #endif 5864 #else 5865 typedef struct IShellView3Vtbl { 5866 BEGIN_INTERFACE 5867 5868 /*** IUnknown methods ***/ 5869 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5870 IShellView3 *This, 5871 REFIID riid, 5872 void **ppvObject); 5873 5874 ULONG (STDMETHODCALLTYPE *AddRef)( 5875 IShellView3 *This); 5876 5877 ULONG (STDMETHODCALLTYPE *Release)( 5878 IShellView3 *This); 5879 5880 /*** IOleWindow methods ***/ 5881 HRESULT (STDMETHODCALLTYPE *GetWindow)( 5882 IShellView3 *This, 5883 HWND *phwnd); 5884 5885 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 5886 IShellView3 *This, 5887 WINBOOL fEnterMode); 5888 5889 /*** IShellView methods ***/ 5890 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)( 5891 IShellView3 *This, 5892 MSG *pmsg); 5893 5894 HRESULT (STDMETHODCALLTYPE *EnableModeless)( 5895 IShellView3 *This, 5896 WINBOOL fEnable); 5897 5898 HRESULT (STDMETHODCALLTYPE *UIActivate)( 5899 IShellView3 *This, 5900 UINT uState); 5901 5902 HRESULT (STDMETHODCALLTYPE *Refresh)( 5903 IShellView3 *This); 5904 5905 HRESULT (STDMETHODCALLTYPE *CreateViewWindow)( 5906 IShellView3 *This, 5907 IShellView *psvPrevious, 5908 LPCFOLDERSETTINGS pfs, 5909 IShellBrowser *psb, 5910 RECT *prcView, 5911 HWND *phWnd); 5912 5913 HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)( 5914 IShellView3 *This); 5915 5916 HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)( 5917 IShellView3 *This, 5918 LPFOLDERSETTINGS pfs); 5919 5920 HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)( 5921 IShellView3 *This, 5922 DWORD dwReserved, 5923 LPFNSVADDPROPSHEETPAGE pfn, 5924 LPARAM lparam); 5925 5926 HRESULT (STDMETHODCALLTYPE *SaveViewState)( 5927 IShellView3 *This); 5928 5929 HRESULT (STDMETHODCALLTYPE *SelectItem)( 5930 IShellView3 *This, 5931 PCUITEMID_CHILD pidlItem, 5932 SVSIF uFlags); 5933 5934 HRESULT (STDMETHODCALLTYPE *GetItemObject)( 5935 IShellView3 *This, 5936 UINT uItem, 5937 REFIID riid, 5938 void **ppv); 5939 5940 /*** IShellView2 methods ***/ 5941 HRESULT (STDMETHODCALLTYPE *GetView)( 5942 IShellView3 *This, 5943 SHELLVIEWID *pvid, 5944 ULONG uView); 5945 5946 HRESULT (STDMETHODCALLTYPE *CreateViewWindow2)( 5947 IShellView3 *This, 5948 LPSV2CVW2_PARAMS lpParams); 5949 5950 HRESULT (STDMETHODCALLTYPE *HandleRename)( 5951 IShellView3 *This, 5952 PCUITEMID_CHILD pidlNew); 5953 5954 HRESULT (STDMETHODCALLTYPE *SelectAndPositionItem)( 5955 IShellView3 *This, 5956 PCUITEMID_CHILD pidlItem, 5957 UINT uFlags, 5958 POINT *ppt); 5959 5960 /*** IShellView3 methods ***/ 5961 HRESULT (STDMETHODCALLTYPE *CreateViewWindow3)( 5962 IShellView3 *This, 5963 IShellBrowser *psbOwner, 5964 IShellView *psvPrev, 5965 SV3CVW3_FLAGS dwViewFlags, 5966 FOLDERFLAGS dwMask, 5967 FOLDERFLAGS dwFlags, 5968 FOLDERVIEWMODE fvMode, 5969 const SHELLVIEWID *pvid, 5970 const RECT *prcView, 5971 HWND *phwndView); 5972 5973 END_INTERFACE 5974 } IShellView3Vtbl; 5975 5976 interface IShellView3 { 5977 CONST_VTBL IShellView3Vtbl* lpVtbl; 5978 }; 5979 5980 #ifdef COBJMACROS 5981 #ifndef WIDL_C_INLINE_WRAPPERS 5982 /*** IUnknown methods ***/ 5983 #define IShellView3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5984 #define IShellView3_AddRef(This) (This)->lpVtbl->AddRef(This) 5985 #define IShellView3_Release(This) (This)->lpVtbl->Release(This) 5986 /*** IOleWindow methods ***/ 5987 #define IShellView3_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 5988 #define IShellView3_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 5989 /*** IShellView methods ***/ 5990 #define IShellView3_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg) 5991 #define IShellView3_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable) 5992 #define IShellView3_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState) 5993 #define IShellView3_Refresh(This) (This)->lpVtbl->Refresh(This) 5994 #define IShellView3_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) 5995 #define IShellView3_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This) 5996 #define IShellView3_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs) 5997 #define IShellView3_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam) 5998 #define IShellView3_SaveViewState(This) (This)->lpVtbl->SaveViewState(This) 5999 #define IShellView3_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags) 6000 #define IShellView3_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv) 6001 /*** IShellView2 methods ***/ 6002 #define IShellView3_GetView(This,pvid,uView) (This)->lpVtbl->GetView(This,pvid,uView) 6003 #define IShellView3_CreateViewWindow2(This,lpParams) (This)->lpVtbl->CreateViewWindow2(This,lpParams) 6004 #define IShellView3_HandleRename(This,pidlNew) (This)->lpVtbl->HandleRename(This,pidlNew) 6005 #define IShellView3_SelectAndPositionItem(This,pidlItem,uFlags,ppt) (This)->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt) 6006 /*** IShellView3 methods ***/ 6007 #define IShellView3_CreateViewWindow3(This,psbOwner,psvPrev,dwViewFlags,dwMask,dwFlags,fvMode,pvid,prcView,phwndView) (This)->lpVtbl->CreateViewWindow3(This,psbOwner,psvPrev,dwViewFlags,dwMask,dwFlags,fvMode,pvid,prcView,phwndView) 6008 #else 6009 /*** IUnknown methods ***/ 6010 static inline HRESULT IShellView3_QueryInterface(IShellView3* This,REFIID riid,void **ppvObject) { 6011 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6012 } 6013 static inline ULONG IShellView3_AddRef(IShellView3* This) { 6014 return This->lpVtbl->AddRef(This); 6015 } 6016 static inline ULONG IShellView3_Release(IShellView3* This) { 6017 return This->lpVtbl->Release(This); 6018 } 6019 /*** IOleWindow methods ***/ 6020 static inline HRESULT IShellView3_GetWindow(IShellView3* This,HWND *phwnd) { 6021 return This->lpVtbl->GetWindow(This,phwnd); 6022 } 6023 static inline HRESULT IShellView3_ContextSensitiveHelp(IShellView3* This,WINBOOL fEnterMode) { 6024 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 6025 } 6026 /*** IShellView methods ***/ 6027 static inline HRESULT IShellView3_TranslateAccelerator(IShellView3* This,MSG *pmsg) { 6028 return This->lpVtbl->TranslateAccelerator(This,pmsg); 6029 } 6030 static inline HRESULT IShellView3_EnableModeless(IShellView3* This,WINBOOL fEnable) { 6031 return This->lpVtbl->EnableModeless(This,fEnable); 6032 } 6033 static inline HRESULT IShellView3_UIActivate(IShellView3* This,UINT uState) { 6034 return This->lpVtbl->UIActivate(This,uState); 6035 } 6036 static inline HRESULT IShellView3_Refresh(IShellView3* This) { 6037 return This->lpVtbl->Refresh(This); 6038 } 6039 static inline HRESULT IShellView3_CreateViewWindow(IShellView3* This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) { 6040 return This->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd); 6041 } 6042 static inline HRESULT IShellView3_DestroyViewWindow(IShellView3* This) { 6043 return This->lpVtbl->DestroyViewWindow(This); 6044 } 6045 static inline HRESULT IShellView3_GetCurrentInfo(IShellView3* This,LPFOLDERSETTINGS pfs) { 6046 return This->lpVtbl->GetCurrentInfo(This,pfs); 6047 } 6048 static inline HRESULT IShellView3_AddPropertySheetPages(IShellView3* This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) { 6049 return This->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam); 6050 } 6051 static inline HRESULT IShellView3_SaveViewState(IShellView3* This) { 6052 return This->lpVtbl->SaveViewState(This); 6053 } 6054 static inline HRESULT IShellView3_SelectItem(IShellView3* This,PCUITEMID_CHILD pidlItem,SVSIF uFlags) { 6055 return This->lpVtbl->SelectItem(This,pidlItem,uFlags); 6056 } 6057 static inline HRESULT IShellView3_GetItemObject(IShellView3* This,UINT uItem,REFIID riid,void **ppv) { 6058 return This->lpVtbl->GetItemObject(This,uItem,riid,ppv); 6059 } 6060 /*** IShellView2 methods ***/ 6061 static inline HRESULT IShellView3_GetView(IShellView3* This,SHELLVIEWID *pvid,ULONG uView) { 6062 return This->lpVtbl->GetView(This,pvid,uView); 6063 } 6064 static inline HRESULT IShellView3_CreateViewWindow2(IShellView3* This,LPSV2CVW2_PARAMS lpParams) { 6065 return This->lpVtbl->CreateViewWindow2(This,lpParams); 6066 } 6067 static inline HRESULT IShellView3_HandleRename(IShellView3* This,PCUITEMID_CHILD pidlNew) { 6068 return This->lpVtbl->HandleRename(This,pidlNew); 6069 } 6070 static inline HRESULT IShellView3_SelectAndPositionItem(IShellView3* This,PCUITEMID_CHILD pidlItem,UINT uFlags,POINT *ppt) { 6071 return This->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt); 6072 } 6073 /*** IShellView3 methods ***/ 6074 static inline HRESULT IShellView3_CreateViewWindow3(IShellView3* This,IShellBrowser *psbOwner,IShellView *psvPrev,SV3CVW3_FLAGS dwViewFlags,FOLDERFLAGS dwMask,FOLDERFLAGS dwFlags,FOLDERVIEWMODE fvMode,const SHELLVIEWID *pvid,const RECT *prcView,HWND *phwndView) { 6075 return This->lpVtbl->CreateViewWindow3(This,psbOwner,psvPrev,dwViewFlags,dwMask,dwFlags,fvMode,pvid,prcView,phwndView); 6076 } 6077 #endif 6078 #endif 6079 6080 #endif 6081 6082 6083 #endif /* __IShellView3_INTERFACE_DEFINED__ */ 6084 6085 #endif 6086 #ifdef _FIX_ENABLEMODELESS_CONFLICT 6087 #undef EnableModeless 6088 #endif 6089 6090 /***************************************************************************** 6091 * IFolderView interface 6092 */ 6093 #ifndef __IFolderView_INTERFACE_DEFINED__ 6094 #define __IFolderView_INTERFACE_DEFINED__ 6095 6096 DEFINE_GUID(IID_IFolderView, 0xcde725b0, 0xccc9, 0x4519, 0x91,0x7e, 0x32,0x5d,0x72,0xfa,0xb4,0xce); 6097 #if defined(__cplusplus) && !defined(CINTERFACE) 6098 MIDL_INTERFACE("cde725b0-ccc9-4519-917e-325d72fab4ce") 6099 IFolderView : public IUnknown 6100 { 6101 virtual HRESULT STDMETHODCALLTYPE GetCurrentViewMode( 6102 UINT *pViewMode) = 0; 6103 6104 virtual HRESULT STDMETHODCALLTYPE SetCurrentViewMode( 6105 UINT ViewMode) = 0; 6106 6107 virtual HRESULT STDMETHODCALLTYPE GetFolder( 6108 REFIID riid, 6109 void **ppv) = 0; 6110 6111 virtual HRESULT STDMETHODCALLTYPE Item( 6112 int iItemIndex, 6113 PITEMID_CHILD *ppidl) = 0; 6114 6115 virtual HRESULT STDMETHODCALLTYPE ItemCount( 6116 UINT uFlags, 6117 int *pcItems) = 0; 6118 6119 virtual HRESULT STDMETHODCALLTYPE Items( 6120 UINT uFlags, 6121 REFIID riid, 6122 void **ppv) = 0; 6123 6124 virtual HRESULT STDMETHODCALLTYPE GetSelectionMarkedItem( 6125 int *piItem) = 0; 6126 6127 virtual HRESULT STDMETHODCALLTYPE GetFocusedItem( 6128 int *piItem) = 0; 6129 6130 virtual HRESULT STDMETHODCALLTYPE GetItemPosition( 6131 PCUITEMID_CHILD pidl, 6132 POINT *ppt) = 0; 6133 6134 virtual HRESULT STDMETHODCALLTYPE GetSpacing( 6135 POINT *ppt) = 0; 6136 6137 virtual HRESULT STDMETHODCALLTYPE GetDefaultSpacing( 6138 POINT *ppt) = 0; 6139 6140 virtual HRESULT STDMETHODCALLTYPE GetAutoArrange( 6141 ) = 0; 6142 6143 virtual HRESULT STDMETHODCALLTYPE SelectItem( 6144 int iItem, 6145 DWORD dwFlags) = 0; 6146 6147 virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItems( 6148 UINT cidl, 6149 PCUITEMID_CHILD_ARRAY apidl, 6150 POINT *apt, 6151 DWORD dwFlags) = 0; 6152 6153 }; 6154 #ifdef __CRT_UUID_DECL 6155 __CRT_UUID_DECL(IFolderView, 0xcde725b0, 0xccc9, 0x4519, 0x91,0x7e, 0x32,0x5d,0x72,0xfa,0xb4,0xce) 6156 #endif 6157 #else 6158 typedef struct IFolderViewVtbl { 6159 BEGIN_INTERFACE 6160 6161 /*** IUnknown methods ***/ 6162 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6163 IFolderView *This, 6164 REFIID riid, 6165 void **ppvObject); 6166 6167 ULONG (STDMETHODCALLTYPE *AddRef)( 6168 IFolderView *This); 6169 6170 ULONG (STDMETHODCALLTYPE *Release)( 6171 IFolderView *This); 6172 6173 /*** IFolderView methods ***/ 6174 HRESULT (STDMETHODCALLTYPE *GetCurrentViewMode)( 6175 IFolderView *This, 6176 UINT *pViewMode); 6177 6178 HRESULT (STDMETHODCALLTYPE *SetCurrentViewMode)( 6179 IFolderView *This, 6180 UINT ViewMode); 6181 6182 HRESULT (STDMETHODCALLTYPE *GetFolder)( 6183 IFolderView *This, 6184 REFIID riid, 6185 void **ppv); 6186 6187 HRESULT (STDMETHODCALLTYPE *Item)( 6188 IFolderView *This, 6189 int iItemIndex, 6190 PITEMID_CHILD *ppidl); 6191 6192 HRESULT (STDMETHODCALLTYPE *ItemCount)( 6193 IFolderView *This, 6194 UINT uFlags, 6195 int *pcItems); 6196 6197 HRESULT (STDMETHODCALLTYPE *Items)( 6198 IFolderView *This, 6199 UINT uFlags, 6200 REFIID riid, 6201 void **ppv); 6202 6203 HRESULT (STDMETHODCALLTYPE *GetSelectionMarkedItem)( 6204 IFolderView *This, 6205 int *piItem); 6206 6207 HRESULT (STDMETHODCALLTYPE *GetFocusedItem)( 6208 IFolderView *This, 6209 int *piItem); 6210 6211 HRESULT (STDMETHODCALLTYPE *GetItemPosition)( 6212 IFolderView *This, 6213 PCUITEMID_CHILD pidl, 6214 POINT *ppt); 6215 6216 HRESULT (STDMETHODCALLTYPE *GetSpacing)( 6217 IFolderView *This, 6218 POINT *ppt); 6219 6220 HRESULT (STDMETHODCALLTYPE *GetDefaultSpacing)( 6221 IFolderView *This, 6222 POINT *ppt); 6223 6224 HRESULT (STDMETHODCALLTYPE *GetAutoArrange)( 6225 IFolderView *This); 6226 6227 HRESULT (STDMETHODCALLTYPE *SelectItem)( 6228 IFolderView *This, 6229 int iItem, 6230 DWORD dwFlags); 6231 6232 HRESULT (STDMETHODCALLTYPE *SelectAndPositionItems)( 6233 IFolderView *This, 6234 UINT cidl, 6235 PCUITEMID_CHILD_ARRAY apidl, 6236 POINT *apt, 6237 DWORD dwFlags); 6238 6239 END_INTERFACE 6240 } IFolderViewVtbl; 6241 6242 interface IFolderView { 6243 CONST_VTBL IFolderViewVtbl* lpVtbl; 6244 }; 6245 6246 #ifdef COBJMACROS 6247 #ifndef WIDL_C_INLINE_WRAPPERS 6248 /*** IUnknown methods ***/ 6249 #define IFolderView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6250 #define IFolderView_AddRef(This) (This)->lpVtbl->AddRef(This) 6251 #define IFolderView_Release(This) (This)->lpVtbl->Release(This) 6252 /*** IFolderView methods ***/ 6253 #define IFolderView_GetCurrentViewMode(This,pViewMode) (This)->lpVtbl->GetCurrentViewMode(This,pViewMode) 6254 #define IFolderView_SetCurrentViewMode(This,ViewMode) (This)->lpVtbl->SetCurrentViewMode(This,ViewMode) 6255 #define IFolderView_GetFolder(This,riid,ppv) (This)->lpVtbl->GetFolder(This,riid,ppv) 6256 #define IFolderView_Item(This,iItemIndex,ppidl) (This)->lpVtbl->Item(This,iItemIndex,ppidl) 6257 #define IFolderView_ItemCount(This,uFlags,pcItems) (This)->lpVtbl->ItemCount(This,uFlags,pcItems) 6258 #define IFolderView_Items(This,uFlags,riid,ppv) (This)->lpVtbl->Items(This,uFlags,riid,ppv) 6259 #define IFolderView_GetSelectionMarkedItem(This,piItem) (This)->lpVtbl->GetSelectionMarkedItem(This,piItem) 6260 #define IFolderView_GetFocusedItem(This,piItem) (This)->lpVtbl->GetFocusedItem(This,piItem) 6261 #define IFolderView_GetItemPosition(This,pidl,ppt) (This)->lpVtbl->GetItemPosition(This,pidl,ppt) 6262 #define IFolderView_GetSpacing(This,ppt) (This)->lpVtbl->GetSpacing(This,ppt) 6263 #define IFolderView_GetDefaultSpacing(This,ppt) (This)->lpVtbl->GetDefaultSpacing(This,ppt) 6264 #define IFolderView_GetAutoArrange(This) (This)->lpVtbl->GetAutoArrange(This) 6265 #define IFolderView_SelectItem(This,iItem,dwFlags) (This)->lpVtbl->SelectItem(This,iItem,dwFlags) 6266 #define IFolderView_SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) (This)->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) 6267 #else 6268 /*** IUnknown methods ***/ 6269 static inline HRESULT IFolderView_QueryInterface(IFolderView* This,REFIID riid,void **ppvObject) { 6270 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6271 } 6272 static inline ULONG IFolderView_AddRef(IFolderView* This) { 6273 return This->lpVtbl->AddRef(This); 6274 } 6275 static inline ULONG IFolderView_Release(IFolderView* This) { 6276 return This->lpVtbl->Release(This); 6277 } 6278 /*** IFolderView methods ***/ 6279 static inline HRESULT IFolderView_GetCurrentViewMode(IFolderView* This,UINT *pViewMode) { 6280 return This->lpVtbl->GetCurrentViewMode(This,pViewMode); 6281 } 6282 static inline HRESULT IFolderView_SetCurrentViewMode(IFolderView* This,UINT ViewMode) { 6283 return This->lpVtbl->SetCurrentViewMode(This,ViewMode); 6284 } 6285 static inline HRESULT IFolderView_GetFolder(IFolderView* This,REFIID riid,void **ppv) { 6286 return This->lpVtbl->GetFolder(This,riid,ppv); 6287 } 6288 static inline HRESULT IFolderView_Item(IFolderView* This,int iItemIndex,PITEMID_CHILD *ppidl) { 6289 return This->lpVtbl->Item(This,iItemIndex,ppidl); 6290 } 6291 static inline HRESULT IFolderView_ItemCount(IFolderView* This,UINT uFlags,int *pcItems) { 6292 return This->lpVtbl->ItemCount(This,uFlags,pcItems); 6293 } 6294 static inline HRESULT IFolderView_Items(IFolderView* This,UINT uFlags,REFIID riid,void **ppv) { 6295 return This->lpVtbl->Items(This,uFlags,riid,ppv); 6296 } 6297 static inline HRESULT IFolderView_GetSelectionMarkedItem(IFolderView* This,int *piItem) { 6298 return This->lpVtbl->GetSelectionMarkedItem(This,piItem); 6299 } 6300 static inline HRESULT IFolderView_GetFocusedItem(IFolderView* This,int *piItem) { 6301 return This->lpVtbl->GetFocusedItem(This,piItem); 6302 } 6303 static inline HRESULT IFolderView_GetItemPosition(IFolderView* This,PCUITEMID_CHILD pidl,POINT *ppt) { 6304 return This->lpVtbl->GetItemPosition(This,pidl,ppt); 6305 } 6306 static inline HRESULT IFolderView_GetSpacing(IFolderView* This,POINT *ppt) { 6307 return This->lpVtbl->GetSpacing(This,ppt); 6308 } 6309 static inline HRESULT IFolderView_GetDefaultSpacing(IFolderView* This,POINT *ppt) { 6310 return This->lpVtbl->GetDefaultSpacing(This,ppt); 6311 } 6312 static inline HRESULT IFolderView_GetAutoArrange(IFolderView* This) { 6313 return This->lpVtbl->GetAutoArrange(This); 6314 } 6315 static inline HRESULT IFolderView_SelectItem(IFolderView* This,int iItem,DWORD dwFlags) { 6316 return This->lpVtbl->SelectItem(This,iItem,dwFlags); 6317 } 6318 static inline HRESULT IFolderView_SelectAndPositionItems(IFolderView* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,POINT *apt,DWORD dwFlags) { 6319 return This->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags); 6320 } 6321 #endif 6322 #endif 6323 6324 #endif 6325 6326 6327 #endif /* __IFolderView_INTERFACE_DEFINED__ */ 6328 6329 6330 #define SID_SFolderView IID_IFolderView 6331 6332 #if NTDDI_VERSION >= NTDDI_WIN7 6333 /***************************************************************************** 6334 * ISearchBoxInfo interface 6335 */ 6336 #ifndef __ISearchBoxInfo_INTERFACE_DEFINED__ 6337 #define __ISearchBoxInfo_INTERFACE_DEFINED__ 6338 6339 DEFINE_GUID(IID_ISearchBoxInfo, 0x6af6e03f, 0xd664, 0x4ef4, 0x96,0x26, 0xf7,0xe0,0xed,0x36,0x75,0x5e); 6340 #if defined(__cplusplus) && !defined(CINTERFACE) 6341 MIDL_INTERFACE("6af6e03f-d664-4ef4-9626-f7e0ed36755e") 6342 ISearchBoxInfo : public IUnknown 6343 { 6344 virtual HRESULT STDMETHODCALLTYPE GetCondition( 6345 REFIID riid, 6346 void **ppv) = 0; 6347 6348 virtual HRESULT STDMETHODCALLTYPE GetText( 6349 LPWSTR *ppsz) = 0; 6350 6351 }; 6352 #ifdef __CRT_UUID_DECL 6353 __CRT_UUID_DECL(ISearchBoxInfo, 0x6af6e03f, 0xd664, 0x4ef4, 0x96,0x26, 0xf7,0xe0,0xed,0x36,0x75,0x5e) 6354 #endif 6355 #else 6356 typedef struct ISearchBoxInfoVtbl { 6357 BEGIN_INTERFACE 6358 6359 /*** IUnknown methods ***/ 6360 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6361 ISearchBoxInfo *This, 6362 REFIID riid, 6363 void **ppvObject); 6364 6365 ULONG (STDMETHODCALLTYPE *AddRef)( 6366 ISearchBoxInfo *This); 6367 6368 ULONG (STDMETHODCALLTYPE *Release)( 6369 ISearchBoxInfo *This); 6370 6371 /*** ISearchBoxInfo methods ***/ 6372 HRESULT (STDMETHODCALLTYPE *GetCondition)( 6373 ISearchBoxInfo *This, 6374 REFIID riid, 6375 void **ppv); 6376 6377 HRESULT (STDMETHODCALLTYPE *GetText)( 6378 ISearchBoxInfo *This, 6379 LPWSTR *ppsz); 6380 6381 END_INTERFACE 6382 } ISearchBoxInfoVtbl; 6383 6384 interface ISearchBoxInfo { 6385 CONST_VTBL ISearchBoxInfoVtbl* lpVtbl; 6386 }; 6387 6388 #ifdef COBJMACROS 6389 #ifndef WIDL_C_INLINE_WRAPPERS 6390 /*** IUnknown methods ***/ 6391 #define ISearchBoxInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6392 #define ISearchBoxInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 6393 #define ISearchBoxInfo_Release(This) (This)->lpVtbl->Release(This) 6394 /*** ISearchBoxInfo methods ***/ 6395 #define ISearchBoxInfo_GetCondition(This,riid,ppv) (This)->lpVtbl->GetCondition(This,riid,ppv) 6396 #define ISearchBoxInfo_GetText(This,ppsz) (This)->lpVtbl->GetText(This,ppsz) 6397 #else 6398 /*** IUnknown methods ***/ 6399 static inline HRESULT ISearchBoxInfo_QueryInterface(ISearchBoxInfo* This,REFIID riid,void **ppvObject) { 6400 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6401 } 6402 static inline ULONG ISearchBoxInfo_AddRef(ISearchBoxInfo* This) { 6403 return This->lpVtbl->AddRef(This); 6404 } 6405 static inline ULONG ISearchBoxInfo_Release(ISearchBoxInfo* This) { 6406 return This->lpVtbl->Release(This); 6407 } 6408 /*** ISearchBoxInfo methods ***/ 6409 static inline HRESULT ISearchBoxInfo_GetCondition(ISearchBoxInfo* This,REFIID riid,void **ppv) { 6410 return This->lpVtbl->GetCondition(This,riid,ppv); 6411 } 6412 static inline HRESULT ISearchBoxInfo_GetText(ISearchBoxInfo* This,LPWSTR *ppsz) { 6413 return This->lpVtbl->GetText(This,ppsz); 6414 } 6415 #endif 6416 #endif 6417 6418 #endif 6419 6420 6421 #endif /* __ISearchBoxInfo_INTERFACE_DEFINED__ */ 6422 6423 #endif 6424 6425 #if NTDDI_VERSION >= NTDDI_VISTA || _WIN32_IE >= _WIN32_IE_IE70 6426 #ifndef NO_SHOBJIDL_SORTDIRECTION 6427 enum tagSORTDIRECTION { 6428 SORT_DESCENDING = -1, 6429 SORT_ASCENDING = 1 6430 }; 6431 #endif 6432 6433 typedef int SORTDIRECTION; 6434 6435 typedef struct SORTCOLUMN { 6436 PROPERTYKEY propkey; 6437 SORTDIRECTION direction; 6438 } SORTCOLUMN; 6439 6440 typedef enum FVTEXTTYPE { 6441 FVST_EMPTYTEXT = 0 6442 } FVTEXTTYPE; 6443 6444 #ifndef __IShellItemArray_FWD_DEFINED__ 6445 #define __IShellItemArray_FWD_DEFINED__ 6446 typedef interface IShellItemArray IShellItemArray; 6447 #ifdef __cplusplus 6448 interface IShellItemArray; 6449 #endif /* __cplusplus */ 6450 #endif 6451 6452 6453 typedef HRESULT DEPRECATED_HRESULT; 6454 6455 #ifdef __cplusplus 6456 #define DEPRECATED_HRESULT HRESULT 6457 #endif 6458 6459 /***************************************************************************** 6460 * IFolderView2 interface 6461 */ 6462 #ifndef __IFolderView2_INTERFACE_DEFINED__ 6463 #define __IFolderView2_INTERFACE_DEFINED__ 6464 6465 DEFINE_GUID(IID_IFolderView2, 0x1af3a467, 0x214f, 0x4298, 0x90,0x8e, 0x06,0xb0,0x3e,0x0b,0x39,0xf9); 6466 #if defined(__cplusplus) && !defined(CINTERFACE) 6467 MIDL_INTERFACE("1af3a467-214f-4298-908e-06b03e0b39f9") 6468 IFolderView2 : public IFolderView 6469 { 6470 virtual HRESULT STDMETHODCALLTYPE SetGroupBy( 6471 REFPROPERTYKEY key, 6472 WINBOOL fAscending) = 0; 6473 6474 virtual HRESULT STDMETHODCALLTYPE GetGroupBy( 6475 PROPERTYKEY *pkey, 6476 WINBOOL *pfAscending) = 0; 6477 6478 virtual HRESULT STDMETHODCALLTYPE SetViewProperty( 6479 PCUITEMID_CHILD pidl, 6480 REFPROPERTYKEY propkey, 6481 REFPROPVARIANT propvar) = 0; 6482 6483 virtual HRESULT STDMETHODCALLTYPE GetViewProperty( 6484 PCUITEMID_CHILD pidl, 6485 REFPROPERTYKEY propkey, 6486 PROPVARIANT *ppropvar) = 0; 6487 6488 virtual HRESULT STDMETHODCALLTYPE SetTileViewProperties( 6489 PCUITEMID_CHILD pidl, 6490 LPCWSTR pszPropList) = 0; 6491 6492 virtual HRESULT STDMETHODCALLTYPE SetExtendedTileViewProperties( 6493 PCUITEMID_CHILD pidl, 6494 LPCWSTR pszPropList) = 0; 6495 6496 virtual HRESULT STDMETHODCALLTYPE SetText( 6497 FVTEXTTYPE iType, 6498 LPCWSTR pwszText) = 0; 6499 6500 virtual HRESULT STDMETHODCALLTYPE SetCurrentFolderFlags( 6501 DWORD dwMask, 6502 DWORD dwFlags) = 0; 6503 6504 virtual HRESULT STDMETHODCALLTYPE GetCurrentFolderFlags( 6505 DWORD *pdwFlags) = 0; 6506 6507 virtual HRESULT STDMETHODCALLTYPE GetSortColumnCount( 6508 int *pcColumns) = 0; 6509 6510 virtual HRESULT STDMETHODCALLTYPE SetSortColumns( 6511 const SORTCOLUMN *rgSortColumns, 6512 int cColumns) = 0; 6513 6514 virtual HRESULT STDMETHODCALLTYPE GetSortColumns( 6515 SORTCOLUMN *rgSortColumns, 6516 int cColumns) = 0; 6517 6518 virtual HRESULT STDMETHODCALLTYPE GetItem( 6519 int iItem, 6520 REFIID riid, 6521 void **ppv) = 0; 6522 6523 virtual HRESULT STDMETHODCALLTYPE GetVisibleItem( 6524 int iStart, 6525 WINBOOL fPrevious, 6526 int *piItem) = 0; 6527 6528 virtual HRESULT STDMETHODCALLTYPE GetSelectedItem( 6529 int iStart, 6530 int *piItem) = 0; 6531 6532 virtual HRESULT STDMETHODCALLTYPE GetSelection( 6533 WINBOOL fNoneImpliesFolder, 6534 IShellItemArray **ppsia) = 0; 6535 6536 virtual HRESULT STDMETHODCALLTYPE GetSelectionState( 6537 PCUITEMID_CHILD pidl, 6538 DWORD *pdwFlags) = 0; 6539 6540 virtual HRESULT STDMETHODCALLTYPE InvokeVerbOnSelection( 6541 LPCSTR pszVerb) = 0; 6542 6543 virtual HRESULT STDMETHODCALLTYPE SetViewModeAndIconSize( 6544 FOLDERVIEWMODE uViewMode, 6545 int iImageSize) = 0; 6546 6547 virtual HRESULT STDMETHODCALLTYPE GetViewModeAndIconSize( 6548 FOLDERVIEWMODE *puViewMode, 6549 int *piImageSize) = 0; 6550 6551 virtual HRESULT STDMETHODCALLTYPE SetGroupSubsetCount( 6552 UINT cVisibleRows) = 0; 6553 6554 virtual HRESULT STDMETHODCALLTYPE GetGroupSubsetCount( 6555 UINT *pcVisibleRows) = 0; 6556 6557 virtual HRESULT STDMETHODCALLTYPE SetRedraw( 6558 WINBOOL fRedrawOn) = 0; 6559 6560 virtual HRESULT STDMETHODCALLTYPE IsMoveInSameFolder( 6561 ) = 0; 6562 6563 virtual HRESULT STDMETHODCALLTYPE DoRename( 6564 ) = 0; 6565 6566 }; 6567 #ifdef __CRT_UUID_DECL 6568 __CRT_UUID_DECL(IFolderView2, 0x1af3a467, 0x214f, 0x4298, 0x90,0x8e, 0x06,0xb0,0x3e,0x0b,0x39,0xf9) 6569 #endif 6570 #else 6571 typedef struct IFolderView2Vtbl { 6572 BEGIN_INTERFACE 6573 6574 /*** IUnknown methods ***/ 6575 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6576 IFolderView2 *This, 6577 REFIID riid, 6578 void **ppvObject); 6579 6580 ULONG (STDMETHODCALLTYPE *AddRef)( 6581 IFolderView2 *This); 6582 6583 ULONG (STDMETHODCALLTYPE *Release)( 6584 IFolderView2 *This); 6585 6586 /*** IFolderView methods ***/ 6587 HRESULT (STDMETHODCALLTYPE *GetCurrentViewMode)( 6588 IFolderView2 *This, 6589 UINT *pViewMode); 6590 6591 HRESULT (STDMETHODCALLTYPE *SetCurrentViewMode)( 6592 IFolderView2 *This, 6593 UINT ViewMode); 6594 6595 HRESULT (STDMETHODCALLTYPE *GetFolder)( 6596 IFolderView2 *This, 6597 REFIID riid, 6598 void **ppv); 6599 6600 HRESULT (STDMETHODCALLTYPE *Item)( 6601 IFolderView2 *This, 6602 int iItemIndex, 6603 PITEMID_CHILD *ppidl); 6604 6605 HRESULT (STDMETHODCALLTYPE *ItemCount)( 6606 IFolderView2 *This, 6607 UINT uFlags, 6608 int *pcItems); 6609 6610 HRESULT (STDMETHODCALLTYPE *Items)( 6611 IFolderView2 *This, 6612 UINT uFlags, 6613 REFIID riid, 6614 void **ppv); 6615 6616 HRESULT (STDMETHODCALLTYPE *GetSelectionMarkedItem)( 6617 IFolderView2 *This, 6618 int *piItem); 6619 6620 HRESULT (STDMETHODCALLTYPE *GetFocusedItem)( 6621 IFolderView2 *This, 6622 int *piItem); 6623 6624 HRESULT (STDMETHODCALLTYPE *GetItemPosition)( 6625 IFolderView2 *This, 6626 PCUITEMID_CHILD pidl, 6627 POINT *ppt); 6628 6629 HRESULT (STDMETHODCALLTYPE *GetSpacing)( 6630 IFolderView2 *This, 6631 POINT *ppt); 6632 6633 HRESULT (STDMETHODCALLTYPE *GetDefaultSpacing)( 6634 IFolderView2 *This, 6635 POINT *ppt); 6636 6637 HRESULT (STDMETHODCALLTYPE *GetAutoArrange)( 6638 IFolderView2 *This); 6639 6640 HRESULT (STDMETHODCALLTYPE *SelectItem)( 6641 IFolderView2 *This, 6642 int iItem, 6643 DWORD dwFlags); 6644 6645 HRESULT (STDMETHODCALLTYPE *SelectAndPositionItems)( 6646 IFolderView2 *This, 6647 UINT cidl, 6648 PCUITEMID_CHILD_ARRAY apidl, 6649 POINT *apt, 6650 DWORD dwFlags); 6651 6652 /*** IFolderView2 methods ***/ 6653 HRESULT (STDMETHODCALLTYPE *SetGroupBy)( 6654 IFolderView2 *This, 6655 REFPROPERTYKEY key, 6656 WINBOOL fAscending); 6657 6658 HRESULT (STDMETHODCALLTYPE *GetGroupBy)( 6659 IFolderView2 *This, 6660 PROPERTYKEY *pkey, 6661 WINBOOL *pfAscending); 6662 6663 HRESULT (STDMETHODCALLTYPE *SetViewProperty)( 6664 IFolderView2 *This, 6665 PCUITEMID_CHILD pidl, 6666 REFPROPERTYKEY propkey, 6667 REFPROPVARIANT propvar); 6668 6669 HRESULT (STDMETHODCALLTYPE *GetViewProperty)( 6670 IFolderView2 *This, 6671 PCUITEMID_CHILD pidl, 6672 REFPROPERTYKEY propkey, 6673 PROPVARIANT *ppropvar); 6674 6675 HRESULT (STDMETHODCALLTYPE *SetTileViewProperties)( 6676 IFolderView2 *This, 6677 PCUITEMID_CHILD pidl, 6678 LPCWSTR pszPropList); 6679 6680 HRESULT (STDMETHODCALLTYPE *SetExtendedTileViewProperties)( 6681 IFolderView2 *This, 6682 PCUITEMID_CHILD pidl, 6683 LPCWSTR pszPropList); 6684 6685 HRESULT (STDMETHODCALLTYPE *SetText)( 6686 IFolderView2 *This, 6687 FVTEXTTYPE iType, 6688 LPCWSTR pwszText); 6689 6690 HRESULT (STDMETHODCALLTYPE *SetCurrentFolderFlags)( 6691 IFolderView2 *This, 6692 DWORD dwMask, 6693 DWORD dwFlags); 6694 6695 HRESULT (STDMETHODCALLTYPE *GetCurrentFolderFlags)( 6696 IFolderView2 *This, 6697 DWORD *pdwFlags); 6698 6699 HRESULT (STDMETHODCALLTYPE *GetSortColumnCount)( 6700 IFolderView2 *This, 6701 int *pcColumns); 6702 6703 HRESULT (STDMETHODCALLTYPE *SetSortColumns)( 6704 IFolderView2 *This, 6705 const SORTCOLUMN *rgSortColumns, 6706 int cColumns); 6707 6708 HRESULT (STDMETHODCALLTYPE *GetSortColumns)( 6709 IFolderView2 *This, 6710 SORTCOLUMN *rgSortColumns, 6711 int cColumns); 6712 6713 HRESULT (STDMETHODCALLTYPE *GetItem)( 6714 IFolderView2 *This, 6715 int iItem, 6716 REFIID riid, 6717 void **ppv); 6718 6719 HRESULT (STDMETHODCALLTYPE *GetVisibleItem)( 6720 IFolderView2 *This, 6721 int iStart, 6722 WINBOOL fPrevious, 6723 int *piItem); 6724 6725 HRESULT (STDMETHODCALLTYPE *GetSelectedItem)( 6726 IFolderView2 *This, 6727 int iStart, 6728 int *piItem); 6729 6730 HRESULT (STDMETHODCALLTYPE *GetSelection)( 6731 IFolderView2 *This, 6732 WINBOOL fNoneImpliesFolder, 6733 IShellItemArray **ppsia); 6734 6735 HRESULT (STDMETHODCALLTYPE *GetSelectionState)( 6736 IFolderView2 *This, 6737 PCUITEMID_CHILD pidl, 6738 DWORD *pdwFlags); 6739 6740 HRESULT (STDMETHODCALLTYPE *InvokeVerbOnSelection)( 6741 IFolderView2 *This, 6742 LPCSTR pszVerb); 6743 6744 HRESULT (STDMETHODCALLTYPE *SetViewModeAndIconSize)( 6745 IFolderView2 *This, 6746 FOLDERVIEWMODE uViewMode, 6747 int iImageSize); 6748 6749 HRESULT (STDMETHODCALLTYPE *GetViewModeAndIconSize)( 6750 IFolderView2 *This, 6751 FOLDERVIEWMODE *puViewMode, 6752 int *piImageSize); 6753 6754 HRESULT (STDMETHODCALLTYPE *SetGroupSubsetCount)( 6755 IFolderView2 *This, 6756 UINT cVisibleRows); 6757 6758 HRESULT (STDMETHODCALLTYPE *GetGroupSubsetCount)( 6759 IFolderView2 *This, 6760 UINT *pcVisibleRows); 6761 6762 HRESULT (STDMETHODCALLTYPE *SetRedraw)( 6763 IFolderView2 *This, 6764 WINBOOL fRedrawOn); 6765 6766 HRESULT (STDMETHODCALLTYPE *IsMoveInSameFolder)( 6767 IFolderView2 *This); 6768 6769 HRESULT (STDMETHODCALLTYPE *DoRename)( 6770 IFolderView2 *This); 6771 6772 END_INTERFACE 6773 } IFolderView2Vtbl; 6774 6775 interface IFolderView2 { 6776 CONST_VTBL IFolderView2Vtbl* lpVtbl; 6777 }; 6778 6779 #ifdef COBJMACROS 6780 #ifndef WIDL_C_INLINE_WRAPPERS 6781 /*** IUnknown methods ***/ 6782 #define IFolderView2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6783 #define IFolderView2_AddRef(This) (This)->lpVtbl->AddRef(This) 6784 #define IFolderView2_Release(This) (This)->lpVtbl->Release(This) 6785 /*** IFolderView methods ***/ 6786 #define IFolderView2_GetCurrentViewMode(This,pViewMode) (This)->lpVtbl->GetCurrentViewMode(This,pViewMode) 6787 #define IFolderView2_SetCurrentViewMode(This,ViewMode) (This)->lpVtbl->SetCurrentViewMode(This,ViewMode) 6788 #define IFolderView2_GetFolder(This,riid,ppv) (This)->lpVtbl->GetFolder(This,riid,ppv) 6789 #define IFolderView2_Item(This,iItemIndex,ppidl) (This)->lpVtbl->Item(This,iItemIndex,ppidl) 6790 #define IFolderView2_ItemCount(This,uFlags,pcItems) (This)->lpVtbl->ItemCount(This,uFlags,pcItems) 6791 #define IFolderView2_Items(This,uFlags,riid,ppv) (This)->lpVtbl->Items(This,uFlags,riid,ppv) 6792 #define IFolderView2_GetSelectionMarkedItem(This,piItem) (This)->lpVtbl->GetSelectionMarkedItem(This,piItem) 6793 #define IFolderView2_GetFocusedItem(This,piItem) (This)->lpVtbl->GetFocusedItem(This,piItem) 6794 #define IFolderView2_GetItemPosition(This,pidl,ppt) (This)->lpVtbl->GetItemPosition(This,pidl,ppt) 6795 #define IFolderView2_GetSpacing(This,ppt) (This)->lpVtbl->GetSpacing(This,ppt) 6796 #define IFolderView2_GetDefaultSpacing(This,ppt) (This)->lpVtbl->GetDefaultSpacing(This,ppt) 6797 #define IFolderView2_GetAutoArrange(This) (This)->lpVtbl->GetAutoArrange(This) 6798 #define IFolderView2_SelectItem(This,iItem,dwFlags) (This)->lpVtbl->SelectItem(This,iItem,dwFlags) 6799 #define IFolderView2_SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) (This)->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) 6800 /*** IFolderView2 methods ***/ 6801 #define IFolderView2_SetGroupBy(This,key,fAscending) (This)->lpVtbl->SetGroupBy(This,key,fAscending) 6802 #define IFolderView2_GetGroupBy(This,pkey,pfAscending) (This)->lpVtbl->GetGroupBy(This,pkey,pfAscending) 6803 #define IFolderView2_SetViewProperty(This,pidl,propkey,propvar) (This)->lpVtbl->SetViewProperty(This,pidl,propkey,propvar) 6804 #define IFolderView2_GetViewProperty(This,pidl,propkey,ppropvar) (This)->lpVtbl->GetViewProperty(This,pidl,propkey,ppropvar) 6805 #define IFolderView2_SetTileViewProperties(This,pidl,pszPropList) (This)->lpVtbl->SetTileViewProperties(This,pidl,pszPropList) 6806 #define IFolderView2_SetExtendedTileViewProperties(This,pidl,pszPropList) (This)->lpVtbl->SetExtendedTileViewProperties(This,pidl,pszPropList) 6807 #define IFolderView2_SetText(This,iType,pwszText) (This)->lpVtbl->SetText(This,iType,pwszText) 6808 #define IFolderView2_SetCurrentFolderFlags(This,dwMask,dwFlags) (This)->lpVtbl->SetCurrentFolderFlags(This,dwMask,dwFlags) 6809 #define IFolderView2_GetCurrentFolderFlags(This,pdwFlags) (This)->lpVtbl->GetCurrentFolderFlags(This,pdwFlags) 6810 #define IFolderView2_GetSortColumnCount(This,pcColumns) (This)->lpVtbl->GetSortColumnCount(This,pcColumns) 6811 #define IFolderView2_SetSortColumns(This,rgSortColumns,cColumns) (This)->lpVtbl->SetSortColumns(This,rgSortColumns,cColumns) 6812 #define IFolderView2_GetSortColumns(This,rgSortColumns,cColumns) (This)->lpVtbl->GetSortColumns(This,rgSortColumns,cColumns) 6813 #define IFolderView2_GetItem(This,iItem,riid,ppv) (This)->lpVtbl->GetItem(This,iItem,riid,ppv) 6814 #define IFolderView2_GetVisibleItem(This,iStart,fPrevious,piItem) (This)->lpVtbl->GetVisibleItem(This,iStart,fPrevious,piItem) 6815 #define IFolderView2_GetSelectedItem(This,iStart,piItem) (This)->lpVtbl->GetSelectedItem(This,iStart,piItem) 6816 #define IFolderView2_GetSelection(This,fNoneImpliesFolder,ppsia) (This)->lpVtbl->GetSelection(This,fNoneImpliesFolder,ppsia) 6817 #define IFolderView2_GetSelectionState(This,pidl,pdwFlags) (This)->lpVtbl->GetSelectionState(This,pidl,pdwFlags) 6818 #define IFolderView2_InvokeVerbOnSelection(This,pszVerb) (This)->lpVtbl->InvokeVerbOnSelection(This,pszVerb) 6819 #define IFolderView2_SetViewModeAndIconSize(This,uViewMode,iImageSize) (This)->lpVtbl->SetViewModeAndIconSize(This,uViewMode,iImageSize) 6820 #define IFolderView2_GetViewModeAndIconSize(This,puViewMode,piImageSize) (This)->lpVtbl->GetViewModeAndIconSize(This,puViewMode,piImageSize) 6821 #define IFolderView2_SetGroupSubsetCount(This,cVisibleRows) (This)->lpVtbl->SetGroupSubsetCount(This,cVisibleRows) 6822 #define IFolderView2_GetGroupSubsetCount(This,pcVisibleRows) (This)->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows) 6823 #define IFolderView2_SetRedraw(This,fRedrawOn) (This)->lpVtbl->SetRedraw(This,fRedrawOn) 6824 #define IFolderView2_IsMoveInSameFolder(This) (This)->lpVtbl->IsMoveInSameFolder(This) 6825 #define IFolderView2_DoRename(This) (This)->lpVtbl->DoRename(This) 6826 #else 6827 /*** IUnknown methods ***/ 6828 static inline HRESULT IFolderView2_QueryInterface(IFolderView2* This,REFIID riid,void **ppvObject) { 6829 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6830 } 6831 static inline ULONG IFolderView2_AddRef(IFolderView2* This) { 6832 return This->lpVtbl->AddRef(This); 6833 } 6834 static inline ULONG IFolderView2_Release(IFolderView2* This) { 6835 return This->lpVtbl->Release(This); 6836 } 6837 /*** IFolderView methods ***/ 6838 static inline HRESULT IFolderView2_GetCurrentViewMode(IFolderView2* This,UINT *pViewMode) { 6839 return This->lpVtbl->GetCurrentViewMode(This,pViewMode); 6840 } 6841 static inline HRESULT IFolderView2_SetCurrentViewMode(IFolderView2* This,UINT ViewMode) { 6842 return This->lpVtbl->SetCurrentViewMode(This,ViewMode); 6843 } 6844 static inline HRESULT IFolderView2_GetFolder(IFolderView2* This,REFIID riid,void **ppv) { 6845 return This->lpVtbl->GetFolder(This,riid,ppv); 6846 } 6847 static inline HRESULT IFolderView2_Item(IFolderView2* This,int iItemIndex,PITEMID_CHILD *ppidl) { 6848 return This->lpVtbl->Item(This,iItemIndex,ppidl); 6849 } 6850 static inline HRESULT IFolderView2_ItemCount(IFolderView2* This,UINT uFlags,int *pcItems) { 6851 return This->lpVtbl->ItemCount(This,uFlags,pcItems); 6852 } 6853 static inline HRESULT IFolderView2_Items(IFolderView2* This,UINT uFlags,REFIID riid,void **ppv) { 6854 return This->lpVtbl->Items(This,uFlags,riid,ppv); 6855 } 6856 static inline HRESULT IFolderView2_GetSelectionMarkedItem(IFolderView2* This,int *piItem) { 6857 return This->lpVtbl->GetSelectionMarkedItem(This,piItem); 6858 } 6859 static inline HRESULT IFolderView2_GetFocusedItem(IFolderView2* This,int *piItem) { 6860 return This->lpVtbl->GetFocusedItem(This,piItem); 6861 } 6862 static inline HRESULT IFolderView2_GetItemPosition(IFolderView2* This,PCUITEMID_CHILD pidl,POINT *ppt) { 6863 return This->lpVtbl->GetItemPosition(This,pidl,ppt); 6864 } 6865 static inline HRESULT IFolderView2_GetSpacing(IFolderView2* This,POINT *ppt) { 6866 return This->lpVtbl->GetSpacing(This,ppt); 6867 } 6868 static inline HRESULT IFolderView2_GetDefaultSpacing(IFolderView2* This,POINT *ppt) { 6869 return This->lpVtbl->GetDefaultSpacing(This,ppt); 6870 } 6871 static inline HRESULT IFolderView2_GetAutoArrange(IFolderView2* This) { 6872 return This->lpVtbl->GetAutoArrange(This); 6873 } 6874 static inline HRESULT IFolderView2_SelectItem(IFolderView2* This,int iItem,DWORD dwFlags) { 6875 return This->lpVtbl->SelectItem(This,iItem,dwFlags); 6876 } 6877 static inline HRESULT IFolderView2_SelectAndPositionItems(IFolderView2* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,POINT *apt,DWORD dwFlags) { 6878 return This->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags); 6879 } 6880 /*** IFolderView2 methods ***/ 6881 static inline HRESULT IFolderView2_SetGroupBy(IFolderView2* This,REFPROPERTYKEY key,WINBOOL fAscending) { 6882 return This->lpVtbl->SetGroupBy(This,key,fAscending); 6883 } 6884 static inline HRESULT IFolderView2_GetGroupBy(IFolderView2* This,PROPERTYKEY *pkey,WINBOOL *pfAscending) { 6885 return This->lpVtbl->GetGroupBy(This,pkey,pfAscending); 6886 } 6887 static inline HRESULT IFolderView2_SetViewProperty(IFolderView2* This,PCUITEMID_CHILD pidl,REFPROPERTYKEY propkey,REFPROPVARIANT propvar) { 6888 return This->lpVtbl->SetViewProperty(This,pidl,propkey,propvar); 6889 } 6890 static inline HRESULT IFolderView2_GetViewProperty(IFolderView2* This,PCUITEMID_CHILD pidl,REFPROPERTYKEY propkey,PROPVARIANT *ppropvar) { 6891 return This->lpVtbl->GetViewProperty(This,pidl,propkey,ppropvar); 6892 } 6893 static inline HRESULT IFolderView2_SetTileViewProperties(IFolderView2* This,PCUITEMID_CHILD pidl,LPCWSTR pszPropList) { 6894 return This->lpVtbl->SetTileViewProperties(This,pidl,pszPropList); 6895 } 6896 static inline HRESULT IFolderView2_SetExtendedTileViewProperties(IFolderView2* This,PCUITEMID_CHILD pidl,LPCWSTR pszPropList) { 6897 return This->lpVtbl->SetExtendedTileViewProperties(This,pidl,pszPropList); 6898 } 6899 static inline HRESULT IFolderView2_SetText(IFolderView2* This,FVTEXTTYPE iType,LPCWSTR pwszText) { 6900 return This->lpVtbl->SetText(This,iType,pwszText); 6901 } 6902 static inline HRESULT IFolderView2_SetCurrentFolderFlags(IFolderView2* This,DWORD dwMask,DWORD dwFlags) { 6903 return This->lpVtbl->SetCurrentFolderFlags(This,dwMask,dwFlags); 6904 } 6905 static inline HRESULT IFolderView2_GetCurrentFolderFlags(IFolderView2* This,DWORD *pdwFlags) { 6906 return This->lpVtbl->GetCurrentFolderFlags(This,pdwFlags); 6907 } 6908 static inline HRESULT IFolderView2_GetSortColumnCount(IFolderView2* This,int *pcColumns) { 6909 return This->lpVtbl->GetSortColumnCount(This,pcColumns); 6910 } 6911 static inline HRESULT IFolderView2_SetSortColumns(IFolderView2* This,const SORTCOLUMN *rgSortColumns,int cColumns) { 6912 return This->lpVtbl->SetSortColumns(This,rgSortColumns,cColumns); 6913 } 6914 static inline HRESULT IFolderView2_GetSortColumns(IFolderView2* This,SORTCOLUMN *rgSortColumns,int cColumns) { 6915 return This->lpVtbl->GetSortColumns(This,rgSortColumns,cColumns); 6916 } 6917 static inline HRESULT IFolderView2_GetItem(IFolderView2* This,int iItem,REFIID riid,void **ppv) { 6918 return This->lpVtbl->GetItem(This,iItem,riid,ppv); 6919 } 6920 static inline HRESULT IFolderView2_GetVisibleItem(IFolderView2* This,int iStart,WINBOOL fPrevious,int *piItem) { 6921 return This->lpVtbl->GetVisibleItem(This,iStart,fPrevious,piItem); 6922 } 6923 static inline HRESULT IFolderView2_GetSelectedItem(IFolderView2* This,int iStart,int *piItem) { 6924 return This->lpVtbl->GetSelectedItem(This,iStart,piItem); 6925 } 6926 static inline HRESULT IFolderView2_GetSelection(IFolderView2* This,WINBOOL fNoneImpliesFolder,IShellItemArray **ppsia) { 6927 return This->lpVtbl->GetSelection(This,fNoneImpliesFolder,ppsia); 6928 } 6929 static inline HRESULT IFolderView2_GetSelectionState(IFolderView2* This,PCUITEMID_CHILD pidl,DWORD *pdwFlags) { 6930 return This->lpVtbl->GetSelectionState(This,pidl,pdwFlags); 6931 } 6932 static inline HRESULT IFolderView2_InvokeVerbOnSelection(IFolderView2* This,LPCSTR pszVerb) { 6933 return This->lpVtbl->InvokeVerbOnSelection(This,pszVerb); 6934 } 6935 static inline HRESULT IFolderView2_SetViewModeAndIconSize(IFolderView2* This,FOLDERVIEWMODE uViewMode,int iImageSize) { 6936 return This->lpVtbl->SetViewModeAndIconSize(This,uViewMode,iImageSize); 6937 } 6938 static inline HRESULT IFolderView2_GetViewModeAndIconSize(IFolderView2* This,FOLDERVIEWMODE *puViewMode,int *piImageSize) { 6939 return This->lpVtbl->GetViewModeAndIconSize(This,puViewMode,piImageSize); 6940 } 6941 static inline HRESULT IFolderView2_SetGroupSubsetCount(IFolderView2* This,UINT cVisibleRows) { 6942 return This->lpVtbl->SetGroupSubsetCount(This,cVisibleRows); 6943 } 6944 static inline HRESULT IFolderView2_GetGroupSubsetCount(IFolderView2* This,UINT *pcVisibleRows) { 6945 return This->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows); 6946 } 6947 static inline HRESULT IFolderView2_SetRedraw(IFolderView2* This,WINBOOL fRedrawOn) { 6948 return This->lpVtbl->SetRedraw(This,fRedrawOn); 6949 } 6950 static inline HRESULT IFolderView2_IsMoveInSameFolder(IFolderView2* This) { 6951 return This->lpVtbl->IsMoveInSameFolder(This); 6952 } 6953 static inline HRESULT IFolderView2_DoRename(IFolderView2* This) { 6954 return This->lpVtbl->DoRename(This); 6955 } 6956 #endif 6957 #endif 6958 6959 #endif 6960 6961 HRESULT STDMETHODCALLTYPE IFolderView2_RemoteGetGroupBy_Proxy( 6962 IFolderView2* This, 6963 PROPERTYKEY *pkey, 6964 WINBOOL *pfAscending); 6965 void __RPC_STUB IFolderView2_RemoteGetGroupBy_Stub( 6966 IRpcStubBuffer* This, 6967 IRpcChannelBuffer* pRpcChannelBuffer, 6968 PRPC_MESSAGE pRpcMessage, 6969 DWORD* pdwStubPhase); 6970 HRESULT CALLBACK IFolderView2_GetGroupBy_Proxy( 6971 IFolderView2* This, 6972 PROPERTYKEY *pkey, 6973 WINBOOL *pfAscending); 6974 HRESULT __RPC_STUB IFolderView2_GetGroupBy_Stub( 6975 IFolderView2* This, 6976 PROPERTYKEY *pkey, 6977 WINBOOL *pfAscending); 6978 6979 #endif /* __IFolderView2_INTERFACE_DEFINED__ */ 6980 6981 6982 #if NTDDI_VERSION >= NTDDI_VISTA 6983 /***************************************************************************** 6984 * IFolderViewSettings interface 6985 */ 6986 #ifndef __IFolderViewSettings_INTERFACE_DEFINED__ 6987 #define __IFolderViewSettings_INTERFACE_DEFINED__ 6988 6989 DEFINE_GUID(IID_IFolderViewSettings, 0xae8c987d, 0x8797, 0x4ed3, 0xbe,0x72, 0x2a,0x47,0xdd,0x93,0x8d,0xb0); 6990 #if defined(__cplusplus) && !defined(CINTERFACE) 6991 MIDL_INTERFACE("ae8c987d-8797-4ed3-be72-2a47dd938db0") 6992 IFolderViewSettings : public IUnknown 6993 { 6994 virtual HRESULT STDMETHODCALLTYPE GetColumnPropertyList( 6995 REFIID riid, 6996 void **ppv) = 0; 6997 6998 virtual HRESULT STDMETHODCALLTYPE GetGroupByProperty( 6999 PROPERTYKEY *pkey, 7000 WINBOOL *pfGroupAscending) = 0; 7001 7002 virtual HRESULT STDMETHODCALLTYPE GetViewMode( 7003 FOLDERLOGICALVIEWMODE *plvm) = 0; 7004 7005 virtual HRESULT STDMETHODCALLTYPE GetIconSize( 7006 UINT *puIconSize) = 0; 7007 7008 virtual HRESULT STDMETHODCALLTYPE GetFolderFlags( 7009 FOLDERFLAGS *pfolderMask, 7010 FOLDERFLAGS *pfolderFlags) = 0; 7011 7012 virtual HRESULT STDMETHODCALLTYPE GetSortColumns( 7013 SORTCOLUMN *rgSortColumns, 7014 UINT cColumnsIn, 7015 UINT *pcColumnsOut) = 0; 7016 7017 virtual HRESULT STDMETHODCALLTYPE GetGroupSubsetCount( 7018 UINT *pcVisibleRows) = 0; 7019 7020 }; 7021 #ifdef __CRT_UUID_DECL 7022 __CRT_UUID_DECL(IFolderViewSettings, 0xae8c987d, 0x8797, 0x4ed3, 0xbe,0x72, 0x2a,0x47,0xdd,0x93,0x8d,0xb0) 7023 #endif 7024 #else 7025 typedef struct IFolderViewSettingsVtbl { 7026 BEGIN_INTERFACE 7027 7028 /*** IUnknown methods ***/ 7029 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7030 IFolderViewSettings *This, 7031 REFIID riid, 7032 void **ppvObject); 7033 7034 ULONG (STDMETHODCALLTYPE *AddRef)( 7035 IFolderViewSettings *This); 7036 7037 ULONG (STDMETHODCALLTYPE *Release)( 7038 IFolderViewSettings *This); 7039 7040 /*** IFolderViewSettings methods ***/ 7041 HRESULT (STDMETHODCALLTYPE *GetColumnPropertyList)( 7042 IFolderViewSettings *This, 7043 REFIID riid, 7044 void **ppv); 7045 7046 HRESULT (STDMETHODCALLTYPE *GetGroupByProperty)( 7047 IFolderViewSettings *This, 7048 PROPERTYKEY *pkey, 7049 WINBOOL *pfGroupAscending); 7050 7051 HRESULT (STDMETHODCALLTYPE *GetViewMode)( 7052 IFolderViewSettings *This, 7053 FOLDERLOGICALVIEWMODE *plvm); 7054 7055 HRESULT (STDMETHODCALLTYPE *GetIconSize)( 7056 IFolderViewSettings *This, 7057 UINT *puIconSize); 7058 7059 HRESULT (STDMETHODCALLTYPE *GetFolderFlags)( 7060 IFolderViewSettings *This, 7061 FOLDERFLAGS *pfolderMask, 7062 FOLDERFLAGS *pfolderFlags); 7063 7064 HRESULT (STDMETHODCALLTYPE *GetSortColumns)( 7065 IFolderViewSettings *This, 7066 SORTCOLUMN *rgSortColumns, 7067 UINT cColumnsIn, 7068 UINT *pcColumnsOut); 7069 7070 HRESULT (STDMETHODCALLTYPE *GetGroupSubsetCount)( 7071 IFolderViewSettings *This, 7072 UINT *pcVisibleRows); 7073 7074 END_INTERFACE 7075 } IFolderViewSettingsVtbl; 7076 7077 interface IFolderViewSettings { 7078 CONST_VTBL IFolderViewSettingsVtbl* lpVtbl; 7079 }; 7080 7081 #ifdef COBJMACROS 7082 #ifndef WIDL_C_INLINE_WRAPPERS 7083 /*** IUnknown methods ***/ 7084 #define IFolderViewSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7085 #define IFolderViewSettings_AddRef(This) (This)->lpVtbl->AddRef(This) 7086 #define IFolderViewSettings_Release(This) (This)->lpVtbl->Release(This) 7087 /*** IFolderViewSettings methods ***/ 7088 #define IFolderViewSettings_GetColumnPropertyList(This,riid,ppv) (This)->lpVtbl->GetColumnPropertyList(This,riid,ppv) 7089 #define IFolderViewSettings_GetGroupByProperty(This,pkey,pfGroupAscending) (This)->lpVtbl->GetGroupByProperty(This,pkey,pfGroupAscending) 7090 #define IFolderViewSettings_GetViewMode(This,plvm) (This)->lpVtbl->GetViewMode(This,plvm) 7091 #define IFolderViewSettings_GetIconSize(This,puIconSize) (This)->lpVtbl->GetIconSize(This,puIconSize) 7092 #define IFolderViewSettings_GetFolderFlags(This,pfolderMask,pfolderFlags) (This)->lpVtbl->GetFolderFlags(This,pfolderMask,pfolderFlags) 7093 #define IFolderViewSettings_GetSortColumns(This,rgSortColumns,cColumnsIn,pcColumnsOut) (This)->lpVtbl->GetSortColumns(This,rgSortColumns,cColumnsIn,pcColumnsOut) 7094 #define IFolderViewSettings_GetGroupSubsetCount(This,pcVisibleRows) (This)->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows) 7095 #else 7096 /*** IUnknown methods ***/ 7097 static inline HRESULT IFolderViewSettings_QueryInterface(IFolderViewSettings* This,REFIID riid,void **ppvObject) { 7098 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7099 } 7100 static inline ULONG IFolderViewSettings_AddRef(IFolderViewSettings* This) { 7101 return This->lpVtbl->AddRef(This); 7102 } 7103 static inline ULONG IFolderViewSettings_Release(IFolderViewSettings* This) { 7104 return This->lpVtbl->Release(This); 7105 } 7106 /*** IFolderViewSettings methods ***/ 7107 static inline HRESULT IFolderViewSettings_GetColumnPropertyList(IFolderViewSettings* This,REFIID riid,void **ppv) { 7108 return This->lpVtbl->GetColumnPropertyList(This,riid,ppv); 7109 } 7110 static inline HRESULT IFolderViewSettings_GetGroupByProperty(IFolderViewSettings* This,PROPERTYKEY *pkey,WINBOOL *pfGroupAscending) { 7111 return This->lpVtbl->GetGroupByProperty(This,pkey,pfGroupAscending); 7112 } 7113 static inline HRESULT IFolderViewSettings_GetViewMode(IFolderViewSettings* This,FOLDERLOGICALVIEWMODE *plvm) { 7114 return This->lpVtbl->GetViewMode(This,plvm); 7115 } 7116 static inline HRESULT IFolderViewSettings_GetIconSize(IFolderViewSettings* This,UINT *puIconSize) { 7117 return This->lpVtbl->GetIconSize(This,puIconSize); 7118 } 7119 static inline HRESULT IFolderViewSettings_GetFolderFlags(IFolderViewSettings* This,FOLDERFLAGS *pfolderMask,FOLDERFLAGS *pfolderFlags) { 7120 return This->lpVtbl->GetFolderFlags(This,pfolderMask,pfolderFlags); 7121 } 7122 static inline HRESULT IFolderViewSettings_GetSortColumns(IFolderViewSettings* This,SORTCOLUMN *rgSortColumns,UINT cColumnsIn,UINT *pcColumnsOut) { 7123 return This->lpVtbl->GetSortColumns(This,rgSortColumns,cColumnsIn,pcColumnsOut); 7124 } 7125 static inline HRESULT IFolderViewSettings_GetGroupSubsetCount(IFolderViewSettings* This,UINT *pcVisibleRows) { 7126 return This->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows); 7127 } 7128 #endif 7129 #endif 7130 7131 #endif 7132 7133 7134 #endif /* __IFolderViewSettings_INTERFACE_DEFINED__ */ 7135 7136 #endif 7137 #endif 7138 7139 #if _WIN32_IE >= _WIN32_IE_IE70 7140 /***************************************************************************** 7141 * IPreviewHandlerVisuals interface 7142 */ 7143 #ifndef __IPreviewHandlerVisuals_INTERFACE_DEFINED__ 7144 #define __IPreviewHandlerVisuals_INTERFACE_DEFINED__ 7145 7146 DEFINE_GUID(IID_IPreviewHandlerVisuals, 0x196bf9a5, 0xb346, 0x4ef0, 0xaa,0x1e, 0x5d,0xcd,0xb7,0x67,0x68,0xb1); 7147 #if defined(__cplusplus) && !defined(CINTERFACE) 7148 MIDL_INTERFACE("196bf9a5-b346-4ef0-aa1e-5dcdb76768b1") 7149 IPreviewHandlerVisuals : public IUnknown 7150 { 7151 virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor( 7152 COLORREF color) = 0; 7153 7154 virtual HRESULT STDMETHODCALLTYPE SetFont( 7155 const LOGFONTW *plf) = 0; 7156 7157 virtual HRESULT STDMETHODCALLTYPE SetTextColor( 7158 COLORREF color) = 0; 7159 7160 }; 7161 #ifdef __CRT_UUID_DECL 7162 __CRT_UUID_DECL(IPreviewHandlerVisuals, 0x196bf9a5, 0xb346, 0x4ef0, 0xaa,0x1e, 0x5d,0xcd,0xb7,0x67,0x68,0xb1) 7163 #endif 7164 #else 7165 typedef struct IPreviewHandlerVisualsVtbl { 7166 BEGIN_INTERFACE 7167 7168 /*** IUnknown methods ***/ 7169 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7170 IPreviewHandlerVisuals *This, 7171 REFIID riid, 7172 void **ppvObject); 7173 7174 ULONG (STDMETHODCALLTYPE *AddRef)( 7175 IPreviewHandlerVisuals *This); 7176 7177 ULONG (STDMETHODCALLTYPE *Release)( 7178 IPreviewHandlerVisuals *This); 7179 7180 /*** IPreviewHandlerVisuals methods ***/ 7181 HRESULT (STDMETHODCALLTYPE *SetBackgroundColor)( 7182 IPreviewHandlerVisuals *This, 7183 COLORREF color); 7184 7185 HRESULT (STDMETHODCALLTYPE *SetFont)( 7186 IPreviewHandlerVisuals *This, 7187 const LOGFONTW *plf); 7188 7189 HRESULT (STDMETHODCALLTYPE *SetTextColor)( 7190 IPreviewHandlerVisuals *This, 7191 COLORREF color); 7192 7193 END_INTERFACE 7194 } IPreviewHandlerVisualsVtbl; 7195 7196 interface IPreviewHandlerVisuals { 7197 CONST_VTBL IPreviewHandlerVisualsVtbl* lpVtbl; 7198 }; 7199 7200 #ifdef COBJMACROS 7201 #ifndef WIDL_C_INLINE_WRAPPERS 7202 /*** IUnknown methods ***/ 7203 #define IPreviewHandlerVisuals_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7204 #define IPreviewHandlerVisuals_AddRef(This) (This)->lpVtbl->AddRef(This) 7205 #define IPreviewHandlerVisuals_Release(This) (This)->lpVtbl->Release(This) 7206 /*** IPreviewHandlerVisuals methods ***/ 7207 #define IPreviewHandlerVisuals_SetBackgroundColor(This,color) (This)->lpVtbl->SetBackgroundColor(This,color) 7208 #define IPreviewHandlerVisuals_SetFont(This,plf) (This)->lpVtbl->SetFont(This,plf) 7209 #define IPreviewHandlerVisuals_SetTextColor(This,color) (This)->lpVtbl->SetTextColor(This,color) 7210 #else 7211 /*** IUnknown methods ***/ 7212 static inline HRESULT IPreviewHandlerVisuals_QueryInterface(IPreviewHandlerVisuals* This,REFIID riid,void **ppvObject) { 7213 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7214 } 7215 static inline ULONG IPreviewHandlerVisuals_AddRef(IPreviewHandlerVisuals* This) { 7216 return This->lpVtbl->AddRef(This); 7217 } 7218 static inline ULONG IPreviewHandlerVisuals_Release(IPreviewHandlerVisuals* This) { 7219 return This->lpVtbl->Release(This); 7220 } 7221 /*** IPreviewHandlerVisuals methods ***/ 7222 static inline HRESULT IPreviewHandlerVisuals_SetBackgroundColor(IPreviewHandlerVisuals* This,COLORREF color) { 7223 return This->lpVtbl->SetBackgroundColor(This,color); 7224 } 7225 static inline HRESULT IPreviewHandlerVisuals_SetFont(IPreviewHandlerVisuals* This,const LOGFONTW *plf) { 7226 return This->lpVtbl->SetFont(This,plf); 7227 } 7228 static inline HRESULT IPreviewHandlerVisuals_SetTextColor(IPreviewHandlerVisuals* This,COLORREF color) { 7229 return This->lpVtbl->SetTextColor(This,color); 7230 } 7231 #endif 7232 #endif 7233 7234 #endif 7235 7236 7237 #endif /* __IPreviewHandlerVisuals_INTERFACE_DEFINED__ */ 7238 7239 7240 /***************************************************************************** 7241 * IVisualProperties interface 7242 */ 7243 #ifndef __IVisualProperties_INTERFACE_DEFINED__ 7244 #define __IVisualProperties_INTERFACE_DEFINED__ 7245 7246 typedef enum VPWATERMARKFLAGS { 7247 VPWF_DEFAULT = 0x0, 7248 VPWF_ALPHABLEND = 0x1 7249 } VPWATERMARKFLAGS; 7250 7251 typedef enum VPCOLORFLAGS { 7252 VPCF_TEXT = 1, 7253 VPCF_BACKGROUND = 2, 7254 VPCF_SORTCOLUMN = 3, 7255 VPCF_SUBTEXT = 4, 7256 VPCF_TEXTBACKGROUND = 5 7257 } VPCOLORFLAGS; 7258 7259 DEFINE_ENUM_FLAG_OPERATORS(VPWATERMARKFLAGS) 7260 7261 DEFINE_GUID(IID_IVisualProperties, 0xe693cf68, 0xd967, 0x4112, 0x87,0x63, 0x99,0x17,0x2a,0xee,0x5e,0x5a); 7262 #if defined(__cplusplus) && !defined(CINTERFACE) 7263 MIDL_INTERFACE("e693cf68-d967-4112-8763-99172aee5e5a") 7264 IVisualProperties : public IUnknown 7265 { 7266 virtual HRESULT STDMETHODCALLTYPE SetWatermark( 7267 HBITMAP hbmp, 7268 VPWATERMARKFLAGS vpwf) = 0; 7269 7270 virtual HRESULT STDMETHODCALLTYPE SetColor( 7271 VPCOLORFLAGS vpcf, 7272 COLORREF cr) = 0; 7273 7274 virtual HRESULT STDMETHODCALLTYPE GetColor( 7275 VPCOLORFLAGS vpcf, 7276 COLORREF *pcr) = 0; 7277 7278 virtual HRESULT STDMETHODCALLTYPE SetItemHeight( 7279 int cyItemInPixels) = 0; 7280 7281 virtual HRESULT STDMETHODCALLTYPE GetItemHeight( 7282 int *cyItemInPixels) = 0; 7283 7284 virtual HRESULT STDMETHODCALLTYPE SetFont( 7285 const LOGFONTW *plf, 7286 WINBOOL bRedraw) = 0; 7287 7288 virtual HRESULT STDMETHODCALLTYPE GetFont( 7289 LOGFONTW *plf) = 0; 7290 7291 virtual HRESULT STDMETHODCALLTYPE SetTheme( 7292 LPCWSTR pszSubAppName, 7293 LPCWSTR pszSubIdList) = 0; 7294 7295 }; 7296 #ifdef __CRT_UUID_DECL 7297 __CRT_UUID_DECL(IVisualProperties, 0xe693cf68, 0xd967, 0x4112, 0x87,0x63, 0x99,0x17,0x2a,0xee,0x5e,0x5a) 7298 #endif 7299 #else 7300 typedef struct IVisualPropertiesVtbl { 7301 BEGIN_INTERFACE 7302 7303 /*** IUnknown methods ***/ 7304 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7305 IVisualProperties *This, 7306 REFIID riid, 7307 void **ppvObject); 7308 7309 ULONG (STDMETHODCALLTYPE *AddRef)( 7310 IVisualProperties *This); 7311 7312 ULONG (STDMETHODCALLTYPE *Release)( 7313 IVisualProperties *This); 7314 7315 /*** IVisualProperties methods ***/ 7316 HRESULT (STDMETHODCALLTYPE *SetWatermark)( 7317 IVisualProperties *This, 7318 HBITMAP hbmp, 7319 VPWATERMARKFLAGS vpwf); 7320 7321 HRESULT (STDMETHODCALLTYPE *SetColor)( 7322 IVisualProperties *This, 7323 VPCOLORFLAGS vpcf, 7324 COLORREF cr); 7325 7326 HRESULT (STDMETHODCALLTYPE *GetColor)( 7327 IVisualProperties *This, 7328 VPCOLORFLAGS vpcf, 7329 COLORREF *pcr); 7330 7331 HRESULT (STDMETHODCALLTYPE *SetItemHeight)( 7332 IVisualProperties *This, 7333 int cyItemInPixels); 7334 7335 HRESULT (STDMETHODCALLTYPE *GetItemHeight)( 7336 IVisualProperties *This, 7337 int *cyItemInPixels); 7338 7339 HRESULT (STDMETHODCALLTYPE *SetFont)( 7340 IVisualProperties *This, 7341 const LOGFONTW *plf, 7342 WINBOOL bRedraw); 7343 7344 HRESULT (STDMETHODCALLTYPE *GetFont)( 7345 IVisualProperties *This, 7346 LOGFONTW *plf); 7347 7348 HRESULT (STDMETHODCALLTYPE *SetTheme)( 7349 IVisualProperties *This, 7350 LPCWSTR pszSubAppName, 7351 LPCWSTR pszSubIdList); 7352 7353 END_INTERFACE 7354 } IVisualPropertiesVtbl; 7355 7356 interface IVisualProperties { 7357 CONST_VTBL IVisualPropertiesVtbl* lpVtbl; 7358 }; 7359 7360 #ifdef COBJMACROS 7361 #ifndef WIDL_C_INLINE_WRAPPERS 7362 /*** IUnknown methods ***/ 7363 #define IVisualProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7364 #define IVisualProperties_AddRef(This) (This)->lpVtbl->AddRef(This) 7365 #define IVisualProperties_Release(This) (This)->lpVtbl->Release(This) 7366 /*** IVisualProperties methods ***/ 7367 #define IVisualProperties_SetWatermark(This,hbmp,vpwf) (This)->lpVtbl->SetWatermark(This,hbmp,vpwf) 7368 #define IVisualProperties_SetColor(This,vpcf,cr) (This)->lpVtbl->SetColor(This,vpcf,cr) 7369 #define IVisualProperties_GetColor(This,vpcf,pcr) (This)->lpVtbl->GetColor(This,vpcf,pcr) 7370 #define IVisualProperties_SetItemHeight(This,cyItemInPixels) (This)->lpVtbl->SetItemHeight(This,cyItemInPixels) 7371 #define IVisualProperties_GetItemHeight(This,cyItemInPixels) (This)->lpVtbl->GetItemHeight(This,cyItemInPixels) 7372 #define IVisualProperties_SetFont(This,plf,bRedraw) (This)->lpVtbl->SetFont(This,plf,bRedraw) 7373 #define IVisualProperties_GetFont(This,plf) (This)->lpVtbl->GetFont(This,plf) 7374 #define IVisualProperties_SetTheme(This,pszSubAppName,pszSubIdList) (This)->lpVtbl->SetTheme(This,pszSubAppName,pszSubIdList) 7375 #else 7376 /*** IUnknown methods ***/ 7377 static inline HRESULT IVisualProperties_QueryInterface(IVisualProperties* This,REFIID riid,void **ppvObject) { 7378 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7379 } 7380 static inline ULONG IVisualProperties_AddRef(IVisualProperties* This) { 7381 return This->lpVtbl->AddRef(This); 7382 } 7383 static inline ULONG IVisualProperties_Release(IVisualProperties* This) { 7384 return This->lpVtbl->Release(This); 7385 } 7386 /*** IVisualProperties methods ***/ 7387 static inline HRESULT IVisualProperties_SetWatermark(IVisualProperties* This,HBITMAP hbmp,VPWATERMARKFLAGS vpwf) { 7388 return This->lpVtbl->SetWatermark(This,hbmp,vpwf); 7389 } 7390 static inline HRESULT IVisualProperties_SetColor(IVisualProperties* This,VPCOLORFLAGS vpcf,COLORREF cr) { 7391 return This->lpVtbl->SetColor(This,vpcf,cr); 7392 } 7393 static inline HRESULT IVisualProperties_GetColor(IVisualProperties* This,VPCOLORFLAGS vpcf,COLORREF *pcr) { 7394 return This->lpVtbl->GetColor(This,vpcf,pcr); 7395 } 7396 static inline HRESULT IVisualProperties_SetItemHeight(IVisualProperties* This,int cyItemInPixels) { 7397 return This->lpVtbl->SetItemHeight(This,cyItemInPixels); 7398 } 7399 static inline HRESULT IVisualProperties_GetItemHeight(IVisualProperties* This,int *cyItemInPixels) { 7400 return This->lpVtbl->GetItemHeight(This,cyItemInPixels); 7401 } 7402 static inline HRESULT IVisualProperties_SetFont(IVisualProperties* This,const LOGFONTW *plf,WINBOOL bRedraw) { 7403 return This->lpVtbl->SetFont(This,plf,bRedraw); 7404 } 7405 static inline HRESULT IVisualProperties_GetFont(IVisualProperties* This,LOGFONTW *plf) { 7406 return This->lpVtbl->GetFont(This,plf); 7407 } 7408 static inline HRESULT IVisualProperties_SetTheme(IVisualProperties* This,LPCWSTR pszSubAppName,LPCWSTR pszSubIdList) { 7409 return This->lpVtbl->SetTheme(This,pszSubAppName,pszSubIdList); 7410 } 7411 #endif 7412 #endif 7413 7414 #endif 7415 7416 7417 #endif /* __IVisualProperties_INTERFACE_DEFINED__ */ 7418 7419 #endif 7420 7421 #define CDBOSC_SETFOCUS 0x00000000 7422 #define CDBOSC_KILLFOCUS 0x00000001 7423 #define CDBOSC_SELCHANGE 0x00000002 7424 #define CDBOSC_RENAME 0x00000003 7425 #define CDBOSC_STATECHANGE 0x00000004 7426 7427 /***************************************************************************** 7428 * ICommDlgBrowser interface 7429 */ 7430 #ifndef __ICommDlgBrowser_INTERFACE_DEFINED__ 7431 #define __ICommDlgBrowser_INTERFACE_DEFINED__ 7432 7433 DEFINE_GUID(IID_ICommDlgBrowser, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 7434 #if defined(__cplusplus) && !defined(CINTERFACE) 7435 MIDL_INTERFACE("000214f1-0000-0000-c000-000000000046") 7436 ICommDlgBrowser : public IUnknown 7437 { 7438 virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand( 7439 IShellView *ppshv) = 0; 7440 7441 virtual HRESULT STDMETHODCALLTYPE OnStateChange( 7442 IShellView *ppshv, 7443 ULONG uChange) = 0; 7444 7445 virtual HRESULT STDMETHODCALLTYPE IncludeObject( 7446 IShellView *ppshv, 7447 PCUITEMID_CHILD pidl) = 0; 7448 7449 }; 7450 #ifdef __CRT_UUID_DECL 7451 __CRT_UUID_DECL(ICommDlgBrowser, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 7452 #endif 7453 #else 7454 typedef struct ICommDlgBrowserVtbl { 7455 BEGIN_INTERFACE 7456 7457 /*** IUnknown methods ***/ 7458 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7459 ICommDlgBrowser *This, 7460 REFIID riid, 7461 void **ppvObject); 7462 7463 ULONG (STDMETHODCALLTYPE *AddRef)( 7464 ICommDlgBrowser *This); 7465 7466 ULONG (STDMETHODCALLTYPE *Release)( 7467 ICommDlgBrowser *This); 7468 7469 /*** ICommDlgBrowser methods ***/ 7470 HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)( 7471 ICommDlgBrowser *This, 7472 IShellView *ppshv); 7473 7474 HRESULT (STDMETHODCALLTYPE *OnStateChange)( 7475 ICommDlgBrowser *This, 7476 IShellView *ppshv, 7477 ULONG uChange); 7478 7479 HRESULT (STDMETHODCALLTYPE *IncludeObject)( 7480 ICommDlgBrowser *This, 7481 IShellView *ppshv, 7482 PCUITEMID_CHILD pidl); 7483 7484 END_INTERFACE 7485 } ICommDlgBrowserVtbl; 7486 7487 interface ICommDlgBrowser { 7488 CONST_VTBL ICommDlgBrowserVtbl* lpVtbl; 7489 }; 7490 7491 #ifdef COBJMACROS 7492 #ifndef WIDL_C_INLINE_WRAPPERS 7493 /*** IUnknown methods ***/ 7494 #define ICommDlgBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7495 #define ICommDlgBrowser_AddRef(This) (This)->lpVtbl->AddRef(This) 7496 #define ICommDlgBrowser_Release(This) (This)->lpVtbl->Release(This) 7497 /*** ICommDlgBrowser methods ***/ 7498 #define ICommDlgBrowser_OnDefaultCommand(This,ppshv) (This)->lpVtbl->OnDefaultCommand(This,ppshv) 7499 #define ICommDlgBrowser_OnStateChange(This,ppshv,uChange) (This)->lpVtbl->OnStateChange(This,ppshv,uChange) 7500 #define ICommDlgBrowser_IncludeObject(This,ppshv,pidl) (This)->lpVtbl->IncludeObject(This,ppshv,pidl) 7501 #else 7502 /*** IUnknown methods ***/ 7503 static inline HRESULT ICommDlgBrowser_QueryInterface(ICommDlgBrowser* This,REFIID riid,void **ppvObject) { 7504 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7505 } 7506 static inline ULONG ICommDlgBrowser_AddRef(ICommDlgBrowser* This) { 7507 return This->lpVtbl->AddRef(This); 7508 } 7509 static inline ULONG ICommDlgBrowser_Release(ICommDlgBrowser* This) { 7510 return This->lpVtbl->Release(This); 7511 } 7512 /*** ICommDlgBrowser methods ***/ 7513 static inline HRESULT ICommDlgBrowser_OnDefaultCommand(ICommDlgBrowser* This,IShellView *ppshv) { 7514 return This->lpVtbl->OnDefaultCommand(This,ppshv); 7515 } 7516 static inline HRESULT ICommDlgBrowser_OnStateChange(ICommDlgBrowser* This,IShellView *ppshv,ULONG uChange) { 7517 return This->lpVtbl->OnStateChange(This,ppshv,uChange); 7518 } 7519 static inline HRESULT ICommDlgBrowser_IncludeObject(ICommDlgBrowser* This,IShellView *ppshv,PCUITEMID_CHILD pidl) { 7520 return This->lpVtbl->IncludeObject(This,ppshv,pidl); 7521 } 7522 #endif 7523 #endif 7524 7525 #endif 7526 7527 7528 #endif /* __ICommDlgBrowser_INTERFACE_DEFINED__ */ 7529 7530 typedef ICommDlgBrowser *LPCOMMDLGBROWSER; 7531 7532 #define SID_SExplorerBrowserFrame IID_ICommDlgBrowser 7533 7534 #define CDB2N_CONTEXTMENU_DONE 0x00000001 7535 #define CDB2N_CONTEXTMENU_START 0x00000002 7536 7537 #define CDB2GVF_SHOWALLFILES 0x1 7538 #if NTDDI_VERSION >= NTDDI_VISTA 7539 #define CDB2GVF_ISFILESAVE 0x2 7540 #define CDB2GVF_ALLOWPREVIEWPANE 0x4 7541 #define CDB2GVF_NOSELECTVERB 0x8 7542 #define CDB2GVF_NOINCLUDEITEM 0x10 7543 #define CDB2GVF_ISFOLDERPICKER 0x20 7544 #define CDB2GVF_ADDSHIELD 0x40 7545 #endif 7546 7547 /***************************************************************************** 7548 * ICommDlgBrowser2 interface 7549 */ 7550 #ifndef __ICommDlgBrowser2_INTERFACE_DEFINED__ 7551 #define __ICommDlgBrowser2_INTERFACE_DEFINED__ 7552 7553 DEFINE_GUID(IID_ICommDlgBrowser2, 0x10339516, 0x2894, 0x11d2, 0x90,0x39, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e); 7554 #if defined(__cplusplus) && !defined(CINTERFACE) 7555 MIDL_INTERFACE("10339516-2894-11d2-9039-00c04f8eeb3e") 7556 ICommDlgBrowser2 : public ICommDlgBrowser 7557 { 7558 virtual HRESULT STDMETHODCALLTYPE Notify( 7559 IShellView *ppshv, 7560 DWORD dwNotifyType) = 0; 7561 7562 virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuText( 7563 IShellView *ppshv, 7564 LPWSTR pszText, 7565 int cchMax) = 0; 7566 7567 virtual HRESULT STDMETHODCALLTYPE GetViewFlags( 7568 DWORD *pdwFlags) = 0; 7569 7570 }; 7571 #ifdef __CRT_UUID_DECL 7572 __CRT_UUID_DECL(ICommDlgBrowser2, 0x10339516, 0x2894, 0x11d2, 0x90,0x39, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e) 7573 #endif 7574 #else 7575 typedef struct ICommDlgBrowser2Vtbl { 7576 BEGIN_INTERFACE 7577 7578 /*** IUnknown methods ***/ 7579 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7580 ICommDlgBrowser2 *This, 7581 REFIID riid, 7582 void **ppvObject); 7583 7584 ULONG (STDMETHODCALLTYPE *AddRef)( 7585 ICommDlgBrowser2 *This); 7586 7587 ULONG (STDMETHODCALLTYPE *Release)( 7588 ICommDlgBrowser2 *This); 7589 7590 /*** ICommDlgBrowser methods ***/ 7591 HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)( 7592 ICommDlgBrowser2 *This, 7593 IShellView *ppshv); 7594 7595 HRESULT (STDMETHODCALLTYPE *OnStateChange)( 7596 ICommDlgBrowser2 *This, 7597 IShellView *ppshv, 7598 ULONG uChange); 7599 7600 HRESULT (STDMETHODCALLTYPE *IncludeObject)( 7601 ICommDlgBrowser2 *This, 7602 IShellView *ppshv, 7603 PCUITEMID_CHILD pidl); 7604 7605 /*** ICommDlgBrowser2 methods ***/ 7606 HRESULT (STDMETHODCALLTYPE *Notify)( 7607 ICommDlgBrowser2 *This, 7608 IShellView *ppshv, 7609 DWORD dwNotifyType); 7610 7611 HRESULT (STDMETHODCALLTYPE *GetDefaultMenuText)( 7612 ICommDlgBrowser2 *This, 7613 IShellView *ppshv, 7614 LPWSTR pszText, 7615 int cchMax); 7616 7617 HRESULT (STDMETHODCALLTYPE *GetViewFlags)( 7618 ICommDlgBrowser2 *This, 7619 DWORD *pdwFlags); 7620 7621 END_INTERFACE 7622 } ICommDlgBrowser2Vtbl; 7623 7624 interface ICommDlgBrowser2 { 7625 CONST_VTBL ICommDlgBrowser2Vtbl* lpVtbl; 7626 }; 7627 7628 #ifdef COBJMACROS 7629 #ifndef WIDL_C_INLINE_WRAPPERS 7630 /*** IUnknown methods ***/ 7631 #define ICommDlgBrowser2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7632 #define ICommDlgBrowser2_AddRef(This) (This)->lpVtbl->AddRef(This) 7633 #define ICommDlgBrowser2_Release(This) (This)->lpVtbl->Release(This) 7634 /*** ICommDlgBrowser methods ***/ 7635 #define ICommDlgBrowser2_OnDefaultCommand(This,ppshv) (This)->lpVtbl->OnDefaultCommand(This,ppshv) 7636 #define ICommDlgBrowser2_OnStateChange(This,ppshv,uChange) (This)->lpVtbl->OnStateChange(This,ppshv,uChange) 7637 #define ICommDlgBrowser2_IncludeObject(This,ppshv,pidl) (This)->lpVtbl->IncludeObject(This,ppshv,pidl) 7638 /*** ICommDlgBrowser2 methods ***/ 7639 #define ICommDlgBrowser2_Notify(This,ppshv,dwNotifyType) (This)->lpVtbl->Notify(This,ppshv,dwNotifyType) 7640 #define ICommDlgBrowser2_GetDefaultMenuText(This,ppshv,pszText,cchMax) (This)->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax) 7641 #define ICommDlgBrowser2_GetViewFlags(This,pdwFlags) (This)->lpVtbl->GetViewFlags(This,pdwFlags) 7642 #else 7643 /*** IUnknown methods ***/ 7644 static inline HRESULT ICommDlgBrowser2_QueryInterface(ICommDlgBrowser2* This,REFIID riid,void **ppvObject) { 7645 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7646 } 7647 static inline ULONG ICommDlgBrowser2_AddRef(ICommDlgBrowser2* This) { 7648 return This->lpVtbl->AddRef(This); 7649 } 7650 static inline ULONG ICommDlgBrowser2_Release(ICommDlgBrowser2* This) { 7651 return This->lpVtbl->Release(This); 7652 } 7653 /*** ICommDlgBrowser methods ***/ 7654 static inline HRESULT ICommDlgBrowser2_OnDefaultCommand(ICommDlgBrowser2* This,IShellView *ppshv) { 7655 return This->lpVtbl->OnDefaultCommand(This,ppshv); 7656 } 7657 static inline HRESULT ICommDlgBrowser2_OnStateChange(ICommDlgBrowser2* This,IShellView *ppshv,ULONG uChange) { 7658 return This->lpVtbl->OnStateChange(This,ppshv,uChange); 7659 } 7660 static inline HRESULT ICommDlgBrowser2_IncludeObject(ICommDlgBrowser2* This,IShellView *ppshv,PCUITEMID_CHILD pidl) { 7661 return This->lpVtbl->IncludeObject(This,ppshv,pidl); 7662 } 7663 /*** ICommDlgBrowser2 methods ***/ 7664 static inline HRESULT ICommDlgBrowser2_Notify(ICommDlgBrowser2* This,IShellView *ppshv,DWORD dwNotifyType) { 7665 return This->lpVtbl->Notify(This,ppshv,dwNotifyType); 7666 } 7667 static inline HRESULT ICommDlgBrowser2_GetDefaultMenuText(ICommDlgBrowser2* This,IShellView *ppshv,LPWSTR pszText,int cchMax) { 7668 return This->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax); 7669 } 7670 static inline HRESULT ICommDlgBrowser2_GetViewFlags(ICommDlgBrowser2* This,DWORD *pdwFlags) { 7671 return This->lpVtbl->GetViewFlags(This,pdwFlags); 7672 } 7673 #endif 7674 #endif 7675 7676 #endif 7677 7678 7679 #endif /* __ICommDlgBrowser2_INTERFACE_DEFINED__ */ 7680 7681 typedef ICommDlgBrowser2 *LPCOMMDLGBROWSER2; 7682 7683 #if _WIN32_IE >= _WIN32_IE_IE70 7684 /***************************************************************************** 7685 * ICommDlgBrowser3 interface 7686 */ 7687 #ifndef __ICommDlgBrowser3_INTERFACE_DEFINED__ 7688 #define __ICommDlgBrowser3_INTERFACE_DEFINED__ 7689 7690 DEFINE_GUID(IID_ICommDlgBrowser3, 0xc8ad25a1, 0x3294, 0x41ee, 0x81,0x65, 0x71,0x17,0x4b,0xd0,0x1c,0x57); 7691 #if defined(__cplusplus) && !defined(CINTERFACE) 7692 MIDL_INTERFACE("c8ad25a1-3294-41ee-8165-71174bd01c57") 7693 ICommDlgBrowser3 : public ICommDlgBrowser2 7694 { 7695 virtual HRESULT STDMETHODCALLTYPE OnColumnClicked( 7696 IShellView *ppshv, 7697 int iColumn) = 0; 7698 7699 virtual HRESULT STDMETHODCALLTYPE GetCurrentFilter( 7700 LPWSTR pszFileSpec, 7701 int cchFileSpec) = 0; 7702 7703 virtual HRESULT STDMETHODCALLTYPE OnPreViewCreated( 7704 IShellView *ppshv) = 0; 7705 7706 }; 7707 #ifdef __CRT_UUID_DECL 7708 __CRT_UUID_DECL(ICommDlgBrowser3, 0xc8ad25a1, 0x3294, 0x41ee, 0x81,0x65, 0x71,0x17,0x4b,0xd0,0x1c,0x57) 7709 #endif 7710 #else 7711 typedef struct ICommDlgBrowser3Vtbl { 7712 BEGIN_INTERFACE 7713 7714 /*** IUnknown methods ***/ 7715 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7716 ICommDlgBrowser3 *This, 7717 REFIID riid, 7718 void **ppvObject); 7719 7720 ULONG (STDMETHODCALLTYPE *AddRef)( 7721 ICommDlgBrowser3 *This); 7722 7723 ULONG (STDMETHODCALLTYPE *Release)( 7724 ICommDlgBrowser3 *This); 7725 7726 /*** ICommDlgBrowser methods ***/ 7727 HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)( 7728 ICommDlgBrowser3 *This, 7729 IShellView *ppshv); 7730 7731 HRESULT (STDMETHODCALLTYPE *OnStateChange)( 7732 ICommDlgBrowser3 *This, 7733 IShellView *ppshv, 7734 ULONG uChange); 7735 7736 HRESULT (STDMETHODCALLTYPE *IncludeObject)( 7737 ICommDlgBrowser3 *This, 7738 IShellView *ppshv, 7739 PCUITEMID_CHILD pidl); 7740 7741 /*** ICommDlgBrowser2 methods ***/ 7742 HRESULT (STDMETHODCALLTYPE *Notify)( 7743 ICommDlgBrowser3 *This, 7744 IShellView *ppshv, 7745 DWORD dwNotifyType); 7746 7747 HRESULT (STDMETHODCALLTYPE *GetDefaultMenuText)( 7748 ICommDlgBrowser3 *This, 7749 IShellView *ppshv, 7750 LPWSTR pszText, 7751 int cchMax); 7752 7753 HRESULT (STDMETHODCALLTYPE *GetViewFlags)( 7754 ICommDlgBrowser3 *This, 7755 DWORD *pdwFlags); 7756 7757 /*** ICommDlgBrowser3 methods ***/ 7758 HRESULT (STDMETHODCALLTYPE *OnColumnClicked)( 7759 ICommDlgBrowser3 *This, 7760 IShellView *ppshv, 7761 int iColumn); 7762 7763 HRESULT (STDMETHODCALLTYPE *GetCurrentFilter)( 7764 ICommDlgBrowser3 *This, 7765 LPWSTR pszFileSpec, 7766 int cchFileSpec); 7767 7768 HRESULT (STDMETHODCALLTYPE *OnPreViewCreated)( 7769 ICommDlgBrowser3 *This, 7770 IShellView *ppshv); 7771 7772 END_INTERFACE 7773 } ICommDlgBrowser3Vtbl; 7774 7775 interface ICommDlgBrowser3 { 7776 CONST_VTBL ICommDlgBrowser3Vtbl* lpVtbl; 7777 }; 7778 7779 #ifdef COBJMACROS 7780 #ifndef WIDL_C_INLINE_WRAPPERS 7781 /*** IUnknown methods ***/ 7782 #define ICommDlgBrowser3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7783 #define ICommDlgBrowser3_AddRef(This) (This)->lpVtbl->AddRef(This) 7784 #define ICommDlgBrowser3_Release(This) (This)->lpVtbl->Release(This) 7785 /*** ICommDlgBrowser methods ***/ 7786 #define ICommDlgBrowser3_OnDefaultCommand(This,ppshv) (This)->lpVtbl->OnDefaultCommand(This,ppshv) 7787 #define ICommDlgBrowser3_OnStateChange(This,ppshv,uChange) (This)->lpVtbl->OnStateChange(This,ppshv,uChange) 7788 #define ICommDlgBrowser3_IncludeObject(This,ppshv,pidl) (This)->lpVtbl->IncludeObject(This,ppshv,pidl) 7789 /*** ICommDlgBrowser2 methods ***/ 7790 #define ICommDlgBrowser3_Notify(This,ppshv,dwNotifyType) (This)->lpVtbl->Notify(This,ppshv,dwNotifyType) 7791 #define ICommDlgBrowser3_GetDefaultMenuText(This,ppshv,pszText,cchMax) (This)->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax) 7792 #define ICommDlgBrowser3_GetViewFlags(This,pdwFlags) (This)->lpVtbl->GetViewFlags(This,pdwFlags) 7793 /*** ICommDlgBrowser3 methods ***/ 7794 #define ICommDlgBrowser3_OnColumnClicked(This,ppshv,iColumn) (This)->lpVtbl->OnColumnClicked(This,ppshv,iColumn) 7795 #define ICommDlgBrowser3_GetCurrentFilter(This,pszFileSpec,cchFileSpec) (This)->lpVtbl->GetCurrentFilter(This,pszFileSpec,cchFileSpec) 7796 #define ICommDlgBrowser3_OnPreViewCreated(This,ppshv) (This)->lpVtbl->OnPreViewCreated(This,ppshv) 7797 #else 7798 /*** IUnknown methods ***/ 7799 static inline HRESULT ICommDlgBrowser3_QueryInterface(ICommDlgBrowser3* This,REFIID riid,void **ppvObject) { 7800 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7801 } 7802 static inline ULONG ICommDlgBrowser3_AddRef(ICommDlgBrowser3* This) { 7803 return This->lpVtbl->AddRef(This); 7804 } 7805 static inline ULONG ICommDlgBrowser3_Release(ICommDlgBrowser3* This) { 7806 return This->lpVtbl->Release(This); 7807 } 7808 /*** ICommDlgBrowser methods ***/ 7809 static inline HRESULT ICommDlgBrowser3_OnDefaultCommand(ICommDlgBrowser3* This,IShellView *ppshv) { 7810 return This->lpVtbl->OnDefaultCommand(This,ppshv); 7811 } 7812 static inline HRESULT ICommDlgBrowser3_OnStateChange(ICommDlgBrowser3* This,IShellView *ppshv,ULONG uChange) { 7813 return This->lpVtbl->OnStateChange(This,ppshv,uChange); 7814 } 7815 static inline HRESULT ICommDlgBrowser3_IncludeObject(ICommDlgBrowser3* This,IShellView *ppshv,PCUITEMID_CHILD pidl) { 7816 return This->lpVtbl->IncludeObject(This,ppshv,pidl); 7817 } 7818 /*** ICommDlgBrowser2 methods ***/ 7819 static inline HRESULT ICommDlgBrowser3_Notify(ICommDlgBrowser3* This,IShellView *ppshv,DWORD dwNotifyType) { 7820 return This->lpVtbl->Notify(This,ppshv,dwNotifyType); 7821 } 7822 static inline HRESULT ICommDlgBrowser3_GetDefaultMenuText(ICommDlgBrowser3* This,IShellView *ppshv,LPWSTR pszText,int cchMax) { 7823 return This->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax); 7824 } 7825 static inline HRESULT ICommDlgBrowser3_GetViewFlags(ICommDlgBrowser3* This,DWORD *pdwFlags) { 7826 return This->lpVtbl->GetViewFlags(This,pdwFlags); 7827 } 7828 /*** ICommDlgBrowser3 methods ***/ 7829 static inline HRESULT ICommDlgBrowser3_OnColumnClicked(ICommDlgBrowser3* This,IShellView *ppshv,int iColumn) { 7830 return This->lpVtbl->OnColumnClicked(This,ppshv,iColumn); 7831 } 7832 static inline HRESULT ICommDlgBrowser3_GetCurrentFilter(ICommDlgBrowser3* This,LPWSTR pszFileSpec,int cchFileSpec) { 7833 return This->lpVtbl->GetCurrentFilter(This,pszFileSpec,cchFileSpec); 7834 } 7835 static inline HRESULT ICommDlgBrowser3_OnPreViewCreated(ICommDlgBrowser3* This,IShellView *ppshv) { 7836 return This->lpVtbl->OnPreViewCreated(This,ppshv); 7837 } 7838 #endif 7839 #endif 7840 7841 #endif 7842 7843 7844 #endif /* __ICommDlgBrowser3_INTERFACE_DEFINED__ */ 7845 7846 7847 typedef enum CM_MASK { 7848 CM_MASK_WIDTH = 0x1, 7849 CM_MASK_DEFAULTWIDTH = 0x2, 7850 CM_MASK_IDEALWIDTH = 0x4, 7851 CM_MASK_NAME = 0x8, 7852 CM_MASK_STATE = 0x10 7853 } CM_MASK; 7854 7855 DEFINE_ENUM_FLAG_OPERATORS(CM_MASK) 7856 7857 typedef enum CM_STATE { 7858 CM_STATE_NONE = 0x0, 7859 CM_STATE_VISIBLE = 0x1, 7860 CM_STATE_FIXEDWIDTH = 0x2, 7861 CM_STATE_NOSORTBYFOLDERNESS = 0x4, 7862 CM_STATE_ALWAYSVISIBLE = 0x8 7863 } CM_STATE; 7864 7865 DEFINE_ENUM_FLAG_OPERATORS(CM_STATE) 7866 7867 typedef enum CM_ENUM_FLAGS { 7868 CM_ENUM_ALL = 0x1, 7869 CM_ENUM_VISIBLE = 0x2 7870 } CM_ENUM_FLAGS; 7871 7872 DEFINE_ENUM_FLAG_OPERATORS(CM_ENUM_FLAGS) 7873 7874 typedef enum CM_SET_WIDTH_VALUE { 7875 CM_WIDTH_USEDEFAULT = -1, 7876 CM_WIDTH_AUTOSIZE = -2 7877 } CM_SET_WIDTH_VALUE; 7878 7879 typedef struct CM_COLUMNINFO { 7880 DWORD cbSize; 7881 DWORD dwMask; 7882 DWORD dwState; 7883 UINT uWidth; 7884 UINT uDefaultWidth; 7885 UINT uIdealWidth; 7886 WCHAR wszName[80]; 7887 } CM_COLUMNINFO; 7888 7889 /***************************************************************************** 7890 * IColumnManager interface 7891 */ 7892 #ifndef __IColumnManager_INTERFACE_DEFINED__ 7893 #define __IColumnManager_INTERFACE_DEFINED__ 7894 7895 DEFINE_GUID(IID_IColumnManager, 0xd8ec27bb, 0x3f3b, 0x4042, 0xb1,0x0a, 0x4a,0xcf,0xd9,0x24,0xd4,0x53); 7896 #if defined(__cplusplus) && !defined(CINTERFACE) 7897 MIDL_INTERFACE("d8ec27bb-3f3b-4042-b10a-4acfd924d453") 7898 IColumnManager : public IUnknown 7899 { 7900 virtual HRESULT STDMETHODCALLTYPE SetColumnInfo( 7901 REFPROPERTYKEY propkey, 7902 const CM_COLUMNINFO *pcmci) = 0; 7903 7904 virtual HRESULT STDMETHODCALLTYPE GetColumnInfo( 7905 REFPROPERTYKEY propkey, 7906 CM_COLUMNINFO *pcmci) = 0; 7907 7908 virtual HRESULT STDMETHODCALLTYPE GetColumnCount( 7909 CM_ENUM_FLAGS dwFlags, 7910 UINT *puCount) = 0; 7911 7912 virtual HRESULT STDMETHODCALLTYPE GetColumns( 7913 CM_ENUM_FLAGS dwFlags, 7914 PROPERTYKEY *rgkeyOrder, 7915 UINT cColumns) = 0; 7916 7917 virtual HRESULT STDMETHODCALLTYPE SetColumns( 7918 const PROPERTYKEY *rgkeyOrder, 7919 UINT cVisible) = 0; 7920 7921 }; 7922 #ifdef __CRT_UUID_DECL 7923 __CRT_UUID_DECL(IColumnManager, 0xd8ec27bb, 0x3f3b, 0x4042, 0xb1,0x0a, 0x4a,0xcf,0xd9,0x24,0xd4,0x53) 7924 #endif 7925 #else 7926 typedef struct IColumnManagerVtbl { 7927 BEGIN_INTERFACE 7928 7929 /*** IUnknown methods ***/ 7930 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7931 IColumnManager *This, 7932 REFIID riid, 7933 void **ppvObject); 7934 7935 ULONG (STDMETHODCALLTYPE *AddRef)( 7936 IColumnManager *This); 7937 7938 ULONG (STDMETHODCALLTYPE *Release)( 7939 IColumnManager *This); 7940 7941 /*** IColumnManager methods ***/ 7942 HRESULT (STDMETHODCALLTYPE *SetColumnInfo)( 7943 IColumnManager *This, 7944 REFPROPERTYKEY propkey, 7945 const CM_COLUMNINFO *pcmci); 7946 7947 HRESULT (STDMETHODCALLTYPE *GetColumnInfo)( 7948 IColumnManager *This, 7949 REFPROPERTYKEY propkey, 7950 CM_COLUMNINFO *pcmci); 7951 7952 HRESULT (STDMETHODCALLTYPE *GetColumnCount)( 7953 IColumnManager *This, 7954 CM_ENUM_FLAGS dwFlags, 7955 UINT *puCount); 7956 7957 HRESULT (STDMETHODCALLTYPE *GetColumns)( 7958 IColumnManager *This, 7959 CM_ENUM_FLAGS dwFlags, 7960 PROPERTYKEY *rgkeyOrder, 7961 UINT cColumns); 7962 7963 HRESULT (STDMETHODCALLTYPE *SetColumns)( 7964 IColumnManager *This, 7965 const PROPERTYKEY *rgkeyOrder, 7966 UINT cVisible); 7967 7968 END_INTERFACE 7969 } IColumnManagerVtbl; 7970 7971 interface IColumnManager { 7972 CONST_VTBL IColumnManagerVtbl* lpVtbl; 7973 }; 7974 7975 #ifdef COBJMACROS 7976 #ifndef WIDL_C_INLINE_WRAPPERS 7977 /*** IUnknown methods ***/ 7978 #define IColumnManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7979 #define IColumnManager_AddRef(This) (This)->lpVtbl->AddRef(This) 7980 #define IColumnManager_Release(This) (This)->lpVtbl->Release(This) 7981 /*** IColumnManager methods ***/ 7982 #define IColumnManager_SetColumnInfo(This,propkey,pcmci) (This)->lpVtbl->SetColumnInfo(This,propkey,pcmci) 7983 #define IColumnManager_GetColumnInfo(This,propkey,pcmci) (This)->lpVtbl->GetColumnInfo(This,propkey,pcmci) 7984 #define IColumnManager_GetColumnCount(This,dwFlags,puCount) (This)->lpVtbl->GetColumnCount(This,dwFlags,puCount) 7985 #define IColumnManager_GetColumns(This,dwFlags,rgkeyOrder,cColumns) (This)->lpVtbl->GetColumns(This,dwFlags,rgkeyOrder,cColumns) 7986 #define IColumnManager_SetColumns(This,rgkeyOrder,cVisible) (This)->lpVtbl->SetColumns(This,rgkeyOrder,cVisible) 7987 #else 7988 /*** IUnknown methods ***/ 7989 static inline HRESULT IColumnManager_QueryInterface(IColumnManager* This,REFIID riid,void **ppvObject) { 7990 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7991 } 7992 static inline ULONG IColumnManager_AddRef(IColumnManager* This) { 7993 return This->lpVtbl->AddRef(This); 7994 } 7995 static inline ULONG IColumnManager_Release(IColumnManager* This) { 7996 return This->lpVtbl->Release(This); 7997 } 7998 /*** IColumnManager methods ***/ 7999 static inline HRESULT IColumnManager_SetColumnInfo(IColumnManager* This,REFPROPERTYKEY propkey,const CM_COLUMNINFO *pcmci) { 8000 return This->lpVtbl->SetColumnInfo(This,propkey,pcmci); 8001 } 8002 static inline HRESULT IColumnManager_GetColumnInfo(IColumnManager* This,REFPROPERTYKEY propkey,CM_COLUMNINFO *pcmci) { 8003 return This->lpVtbl->GetColumnInfo(This,propkey,pcmci); 8004 } 8005 static inline HRESULT IColumnManager_GetColumnCount(IColumnManager* This,CM_ENUM_FLAGS dwFlags,UINT *puCount) { 8006 return This->lpVtbl->GetColumnCount(This,dwFlags,puCount); 8007 } 8008 static inline HRESULT IColumnManager_GetColumns(IColumnManager* This,CM_ENUM_FLAGS dwFlags,PROPERTYKEY *rgkeyOrder,UINT cColumns) { 8009 return This->lpVtbl->GetColumns(This,dwFlags,rgkeyOrder,cColumns); 8010 } 8011 static inline HRESULT IColumnManager_SetColumns(IColumnManager* This,const PROPERTYKEY *rgkeyOrder,UINT cVisible) { 8012 return This->lpVtbl->SetColumns(This,rgkeyOrder,cVisible); 8013 } 8014 #endif 8015 #endif 8016 8017 #endif 8018 8019 8020 #endif /* __IColumnManager_INTERFACE_DEFINED__ */ 8021 8022 #endif 8023 8024 /***************************************************************************** 8025 * IFolderFilterSite interface 8026 */ 8027 #ifndef __IFolderFilterSite_INTERFACE_DEFINED__ 8028 #define __IFolderFilterSite_INTERFACE_DEFINED__ 8029 8030 DEFINE_GUID(IID_IFolderFilterSite, 0xc0a651f5, 0xb48b, 0x11d2, 0xb5,0xed, 0x00,0x60,0x97,0xc6,0x86,0xf6); 8031 #if defined(__cplusplus) && !defined(CINTERFACE) 8032 MIDL_INTERFACE("c0a651f5-b48b-11d2-b5ed-006097c686f6") 8033 IFolderFilterSite : public IUnknown 8034 { 8035 virtual HRESULT STDMETHODCALLTYPE SetFilter( 8036 IUnknown *punk) = 0; 8037 8038 }; 8039 #ifdef __CRT_UUID_DECL 8040 __CRT_UUID_DECL(IFolderFilterSite, 0xc0a651f5, 0xb48b, 0x11d2, 0xb5,0xed, 0x00,0x60,0x97,0xc6,0x86,0xf6) 8041 #endif 8042 #else 8043 typedef struct IFolderFilterSiteVtbl { 8044 BEGIN_INTERFACE 8045 8046 /*** IUnknown methods ***/ 8047 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8048 IFolderFilterSite *This, 8049 REFIID riid, 8050 void **ppvObject); 8051 8052 ULONG (STDMETHODCALLTYPE *AddRef)( 8053 IFolderFilterSite *This); 8054 8055 ULONG (STDMETHODCALLTYPE *Release)( 8056 IFolderFilterSite *This); 8057 8058 /*** IFolderFilterSite methods ***/ 8059 HRESULT (STDMETHODCALLTYPE *SetFilter)( 8060 IFolderFilterSite *This, 8061 IUnknown *punk); 8062 8063 END_INTERFACE 8064 } IFolderFilterSiteVtbl; 8065 8066 interface IFolderFilterSite { 8067 CONST_VTBL IFolderFilterSiteVtbl* lpVtbl; 8068 }; 8069 8070 #ifdef COBJMACROS 8071 #ifndef WIDL_C_INLINE_WRAPPERS 8072 /*** IUnknown methods ***/ 8073 #define IFolderFilterSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8074 #define IFolderFilterSite_AddRef(This) (This)->lpVtbl->AddRef(This) 8075 #define IFolderFilterSite_Release(This) (This)->lpVtbl->Release(This) 8076 /*** IFolderFilterSite methods ***/ 8077 #define IFolderFilterSite_SetFilter(This,punk) (This)->lpVtbl->SetFilter(This,punk) 8078 #else 8079 /*** IUnknown methods ***/ 8080 static inline HRESULT IFolderFilterSite_QueryInterface(IFolderFilterSite* This,REFIID riid,void **ppvObject) { 8081 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8082 } 8083 static inline ULONG IFolderFilterSite_AddRef(IFolderFilterSite* This) { 8084 return This->lpVtbl->AddRef(This); 8085 } 8086 static inline ULONG IFolderFilterSite_Release(IFolderFilterSite* This) { 8087 return This->lpVtbl->Release(This); 8088 } 8089 /*** IFolderFilterSite methods ***/ 8090 static inline HRESULT IFolderFilterSite_SetFilter(IFolderFilterSite* This,IUnknown *punk) { 8091 return This->lpVtbl->SetFilter(This,punk); 8092 } 8093 #endif 8094 #endif 8095 8096 #endif 8097 8098 8099 #endif /* __IFolderFilterSite_INTERFACE_DEFINED__ */ 8100 8101 8102 /***************************************************************************** 8103 * IFolderFilter interface 8104 */ 8105 #ifndef __IFolderFilter_INTERFACE_DEFINED__ 8106 #define __IFolderFilter_INTERFACE_DEFINED__ 8107 8108 DEFINE_GUID(IID_IFolderFilter, 0x9cc22886, 0xdc8e, 0x11d2, 0xb1,0xd0, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e); 8109 #if defined(__cplusplus) && !defined(CINTERFACE) 8110 MIDL_INTERFACE("9cc22886-dc8e-11d2-b1d0-00c04f8eeb3e") 8111 IFolderFilter : public IUnknown 8112 { 8113 virtual HRESULT STDMETHODCALLTYPE ShouldShow( 8114 IShellFolder *psf, 8115 PCIDLIST_ABSOLUTE pidlFolder, 8116 PCUITEMID_CHILD pidlItem) = 0; 8117 8118 virtual HRESULT STDMETHODCALLTYPE GetEnumFlags( 8119 IShellFolder *psf, 8120 PCIDLIST_ABSOLUTE pidlFolder, 8121 HWND *phwnd, 8122 DWORD *pgrfFlags) = 0; 8123 8124 }; 8125 #ifdef __CRT_UUID_DECL 8126 __CRT_UUID_DECL(IFolderFilter, 0x9cc22886, 0xdc8e, 0x11d2, 0xb1,0xd0, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e) 8127 #endif 8128 #else 8129 typedef struct IFolderFilterVtbl { 8130 BEGIN_INTERFACE 8131 8132 /*** IUnknown methods ***/ 8133 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8134 IFolderFilter *This, 8135 REFIID riid, 8136 void **ppvObject); 8137 8138 ULONG (STDMETHODCALLTYPE *AddRef)( 8139 IFolderFilter *This); 8140 8141 ULONG (STDMETHODCALLTYPE *Release)( 8142 IFolderFilter *This); 8143 8144 /*** IFolderFilter methods ***/ 8145 HRESULT (STDMETHODCALLTYPE *ShouldShow)( 8146 IFolderFilter *This, 8147 IShellFolder *psf, 8148 PCIDLIST_ABSOLUTE pidlFolder, 8149 PCUITEMID_CHILD pidlItem); 8150 8151 HRESULT (STDMETHODCALLTYPE *GetEnumFlags)( 8152 IFolderFilter *This, 8153 IShellFolder *psf, 8154 PCIDLIST_ABSOLUTE pidlFolder, 8155 HWND *phwnd, 8156 DWORD *pgrfFlags); 8157 8158 END_INTERFACE 8159 } IFolderFilterVtbl; 8160 8161 interface IFolderFilter { 8162 CONST_VTBL IFolderFilterVtbl* lpVtbl; 8163 }; 8164 8165 #ifdef COBJMACROS 8166 #ifndef WIDL_C_INLINE_WRAPPERS 8167 /*** IUnknown methods ***/ 8168 #define IFolderFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8169 #define IFolderFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 8170 #define IFolderFilter_Release(This) (This)->lpVtbl->Release(This) 8171 /*** IFolderFilter methods ***/ 8172 #define IFolderFilter_ShouldShow(This,psf,pidlFolder,pidlItem) (This)->lpVtbl->ShouldShow(This,psf,pidlFolder,pidlItem) 8173 #define IFolderFilter_GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags) (This)->lpVtbl->GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags) 8174 #else 8175 /*** IUnknown methods ***/ 8176 static inline HRESULT IFolderFilter_QueryInterface(IFolderFilter* This,REFIID riid,void **ppvObject) { 8177 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8178 } 8179 static inline ULONG IFolderFilter_AddRef(IFolderFilter* This) { 8180 return This->lpVtbl->AddRef(This); 8181 } 8182 static inline ULONG IFolderFilter_Release(IFolderFilter* This) { 8183 return This->lpVtbl->Release(This); 8184 } 8185 /*** IFolderFilter methods ***/ 8186 static inline HRESULT IFolderFilter_ShouldShow(IFolderFilter* This,IShellFolder *psf,PCIDLIST_ABSOLUTE pidlFolder,PCUITEMID_CHILD pidlItem) { 8187 return This->lpVtbl->ShouldShow(This,psf,pidlFolder,pidlItem); 8188 } 8189 static inline HRESULT IFolderFilter_GetEnumFlags(IFolderFilter* This,IShellFolder *psf,PCIDLIST_ABSOLUTE pidlFolder,HWND *phwnd,DWORD *pgrfFlags) { 8190 return This->lpVtbl->GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags); 8191 } 8192 #endif 8193 #endif 8194 8195 #endif 8196 8197 8198 #endif /* __IFolderFilter_INTERFACE_DEFINED__ */ 8199 8200 8201 /***************************************************************************** 8202 * IInputObjectSite interface 8203 */ 8204 #ifndef __IInputObjectSite_INTERFACE_DEFINED__ 8205 #define __IInputObjectSite_INTERFACE_DEFINED__ 8206 8207 DEFINE_GUID(IID_IInputObjectSite, 0xf1db8392, 0x7331, 0x11d0, 0x8c,0x99, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8); 8208 #if defined(__cplusplus) && !defined(CINTERFACE) 8209 MIDL_INTERFACE("f1db8392-7331-11d0-8c99-00a0c92dbfe8") 8210 IInputObjectSite : public IUnknown 8211 { 8212 virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS( 8213 IUnknown *punkObj, 8214 WINBOOL fSetFocus) = 0; 8215 8216 }; 8217 #ifdef __CRT_UUID_DECL 8218 __CRT_UUID_DECL(IInputObjectSite, 0xf1db8392, 0x7331, 0x11d0, 0x8c,0x99, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8) 8219 #endif 8220 #else 8221 typedef struct IInputObjectSiteVtbl { 8222 BEGIN_INTERFACE 8223 8224 /*** IUnknown methods ***/ 8225 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8226 IInputObjectSite *This, 8227 REFIID riid, 8228 void **ppvObject); 8229 8230 ULONG (STDMETHODCALLTYPE *AddRef)( 8231 IInputObjectSite *This); 8232 8233 ULONG (STDMETHODCALLTYPE *Release)( 8234 IInputObjectSite *This); 8235 8236 /*** IInputObjectSite methods ***/ 8237 HRESULT (STDMETHODCALLTYPE *OnFocusChangeIS)( 8238 IInputObjectSite *This, 8239 IUnknown *punkObj, 8240 WINBOOL fSetFocus); 8241 8242 END_INTERFACE 8243 } IInputObjectSiteVtbl; 8244 8245 interface IInputObjectSite { 8246 CONST_VTBL IInputObjectSiteVtbl* lpVtbl; 8247 }; 8248 8249 #ifdef COBJMACROS 8250 #ifndef WIDL_C_INLINE_WRAPPERS 8251 /*** IUnknown methods ***/ 8252 #define IInputObjectSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8253 #define IInputObjectSite_AddRef(This) (This)->lpVtbl->AddRef(This) 8254 #define IInputObjectSite_Release(This) (This)->lpVtbl->Release(This) 8255 /*** IInputObjectSite methods ***/ 8256 #define IInputObjectSite_OnFocusChangeIS(This,punkObj,fSetFocus) (This)->lpVtbl->OnFocusChangeIS(This,punkObj,fSetFocus) 8257 #else 8258 /*** IUnknown methods ***/ 8259 static inline HRESULT IInputObjectSite_QueryInterface(IInputObjectSite* This,REFIID riid,void **ppvObject) { 8260 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8261 } 8262 static inline ULONG IInputObjectSite_AddRef(IInputObjectSite* This) { 8263 return This->lpVtbl->AddRef(This); 8264 } 8265 static inline ULONG IInputObjectSite_Release(IInputObjectSite* This) { 8266 return This->lpVtbl->Release(This); 8267 } 8268 /*** IInputObjectSite methods ***/ 8269 static inline HRESULT IInputObjectSite_OnFocusChangeIS(IInputObjectSite* This,IUnknown *punkObj,WINBOOL fSetFocus) { 8270 return This->lpVtbl->OnFocusChangeIS(This,punkObj,fSetFocus); 8271 } 8272 #endif 8273 #endif 8274 8275 #endif 8276 8277 8278 #endif /* __IInputObjectSite_INTERFACE_DEFINED__ */ 8279 8280 8281 /***************************************************************************** 8282 * IInputObject interface 8283 */ 8284 #ifndef __IInputObject_INTERFACE_DEFINED__ 8285 #define __IInputObject_INTERFACE_DEFINED__ 8286 8287 DEFINE_GUID(IID_IInputObject, 0x68284faa, 0x6a48, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4); 8288 #if defined(__cplusplus) && !defined(CINTERFACE) 8289 MIDL_INTERFACE("68284faa-6a48-11d0-8c78-00c04fd918b4") 8290 IInputObject : public IUnknown 8291 { 8292 virtual HRESULT STDMETHODCALLTYPE UIActivateIO( 8293 WINBOOL fActivate, 8294 MSG *pMsg) = 0; 8295 8296 virtual HRESULT STDMETHODCALLTYPE HasFocusIO( 8297 ) = 0; 8298 8299 virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO( 8300 MSG *pMsg) = 0; 8301 8302 }; 8303 #ifdef __CRT_UUID_DECL 8304 __CRT_UUID_DECL(IInputObject, 0x68284faa, 0x6a48, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4) 8305 #endif 8306 #else 8307 typedef struct IInputObjectVtbl { 8308 BEGIN_INTERFACE 8309 8310 /*** IUnknown methods ***/ 8311 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8312 IInputObject *This, 8313 REFIID riid, 8314 void **ppvObject); 8315 8316 ULONG (STDMETHODCALLTYPE *AddRef)( 8317 IInputObject *This); 8318 8319 ULONG (STDMETHODCALLTYPE *Release)( 8320 IInputObject *This); 8321 8322 /*** IInputObject methods ***/ 8323 HRESULT (STDMETHODCALLTYPE *UIActivateIO)( 8324 IInputObject *This, 8325 WINBOOL fActivate, 8326 MSG *pMsg); 8327 8328 HRESULT (STDMETHODCALLTYPE *HasFocusIO)( 8329 IInputObject *This); 8330 8331 HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorIO)( 8332 IInputObject *This, 8333 MSG *pMsg); 8334 8335 END_INTERFACE 8336 } IInputObjectVtbl; 8337 8338 interface IInputObject { 8339 CONST_VTBL IInputObjectVtbl* lpVtbl; 8340 }; 8341 8342 #ifdef COBJMACROS 8343 #ifndef WIDL_C_INLINE_WRAPPERS 8344 /*** IUnknown methods ***/ 8345 #define IInputObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8346 #define IInputObject_AddRef(This) (This)->lpVtbl->AddRef(This) 8347 #define IInputObject_Release(This) (This)->lpVtbl->Release(This) 8348 /*** IInputObject methods ***/ 8349 #define IInputObject_UIActivateIO(This,fActivate,pMsg) (This)->lpVtbl->UIActivateIO(This,fActivate,pMsg) 8350 #define IInputObject_HasFocusIO(This) (This)->lpVtbl->HasFocusIO(This) 8351 #define IInputObject_TranslateAcceleratorIO(This,pMsg) (This)->lpVtbl->TranslateAcceleratorIO(This,pMsg) 8352 #else 8353 /*** IUnknown methods ***/ 8354 static inline HRESULT IInputObject_QueryInterface(IInputObject* This,REFIID riid,void **ppvObject) { 8355 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8356 } 8357 static inline ULONG IInputObject_AddRef(IInputObject* This) { 8358 return This->lpVtbl->AddRef(This); 8359 } 8360 static inline ULONG IInputObject_Release(IInputObject* This) { 8361 return This->lpVtbl->Release(This); 8362 } 8363 /*** IInputObject methods ***/ 8364 static inline HRESULT IInputObject_UIActivateIO(IInputObject* This,WINBOOL fActivate,MSG *pMsg) { 8365 return This->lpVtbl->UIActivateIO(This,fActivate,pMsg); 8366 } 8367 static inline HRESULT IInputObject_HasFocusIO(IInputObject* This) { 8368 return This->lpVtbl->HasFocusIO(This); 8369 } 8370 static inline HRESULT IInputObject_TranslateAcceleratorIO(IInputObject* This,MSG *pMsg) { 8371 return This->lpVtbl->TranslateAcceleratorIO(This,pMsg); 8372 } 8373 #endif 8374 #endif 8375 8376 #endif 8377 8378 8379 #endif /* __IInputObject_INTERFACE_DEFINED__ */ 8380 8381 8382 /***************************************************************************** 8383 * IInputObject2 interface 8384 */ 8385 #ifndef __IInputObject2_INTERFACE_DEFINED__ 8386 #define __IInputObject2_INTERFACE_DEFINED__ 8387 8388 DEFINE_GUID(IID_IInputObject2, 0x6915c085, 0x510b, 0x44cd, 0x94,0xaf, 0x28,0xdf,0xa5,0x6c,0xf9,0x2b); 8389 #if defined(__cplusplus) && !defined(CINTERFACE) 8390 MIDL_INTERFACE("6915c085-510b-44cd-94af-28dfa56cf92b") 8391 IInputObject2 : public IInputObject 8392 { 8393 virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorGlobal( 8394 MSG *pMsg) = 0; 8395 8396 }; 8397 #ifdef __CRT_UUID_DECL 8398 __CRT_UUID_DECL(IInputObject2, 0x6915c085, 0x510b, 0x44cd, 0x94,0xaf, 0x28,0xdf,0xa5,0x6c,0xf9,0x2b) 8399 #endif 8400 #else 8401 typedef struct IInputObject2Vtbl { 8402 BEGIN_INTERFACE 8403 8404 /*** IUnknown methods ***/ 8405 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8406 IInputObject2 *This, 8407 REFIID riid, 8408 void **ppvObject); 8409 8410 ULONG (STDMETHODCALLTYPE *AddRef)( 8411 IInputObject2 *This); 8412 8413 ULONG (STDMETHODCALLTYPE *Release)( 8414 IInputObject2 *This); 8415 8416 /*** IInputObject methods ***/ 8417 HRESULT (STDMETHODCALLTYPE *UIActivateIO)( 8418 IInputObject2 *This, 8419 WINBOOL fActivate, 8420 MSG *pMsg); 8421 8422 HRESULT (STDMETHODCALLTYPE *HasFocusIO)( 8423 IInputObject2 *This); 8424 8425 HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorIO)( 8426 IInputObject2 *This, 8427 MSG *pMsg); 8428 8429 /*** IInputObject2 methods ***/ 8430 HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorGlobal)( 8431 IInputObject2 *This, 8432 MSG *pMsg); 8433 8434 END_INTERFACE 8435 } IInputObject2Vtbl; 8436 8437 interface IInputObject2 { 8438 CONST_VTBL IInputObject2Vtbl* lpVtbl; 8439 }; 8440 8441 #ifdef COBJMACROS 8442 #ifndef WIDL_C_INLINE_WRAPPERS 8443 /*** IUnknown methods ***/ 8444 #define IInputObject2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8445 #define IInputObject2_AddRef(This) (This)->lpVtbl->AddRef(This) 8446 #define IInputObject2_Release(This) (This)->lpVtbl->Release(This) 8447 /*** IInputObject methods ***/ 8448 #define IInputObject2_UIActivateIO(This,fActivate,pMsg) (This)->lpVtbl->UIActivateIO(This,fActivate,pMsg) 8449 #define IInputObject2_HasFocusIO(This) (This)->lpVtbl->HasFocusIO(This) 8450 #define IInputObject2_TranslateAcceleratorIO(This,pMsg) (This)->lpVtbl->TranslateAcceleratorIO(This,pMsg) 8451 /*** IInputObject2 methods ***/ 8452 #define IInputObject2_TranslateAcceleratorGlobal(This,pMsg) (This)->lpVtbl->TranslateAcceleratorGlobal(This,pMsg) 8453 #else 8454 /*** IUnknown methods ***/ 8455 static inline HRESULT IInputObject2_QueryInterface(IInputObject2* This,REFIID riid,void **ppvObject) { 8456 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8457 } 8458 static inline ULONG IInputObject2_AddRef(IInputObject2* This) { 8459 return This->lpVtbl->AddRef(This); 8460 } 8461 static inline ULONG IInputObject2_Release(IInputObject2* This) { 8462 return This->lpVtbl->Release(This); 8463 } 8464 /*** IInputObject methods ***/ 8465 static inline HRESULT IInputObject2_UIActivateIO(IInputObject2* This,WINBOOL fActivate,MSG *pMsg) { 8466 return This->lpVtbl->UIActivateIO(This,fActivate,pMsg); 8467 } 8468 static inline HRESULT IInputObject2_HasFocusIO(IInputObject2* This) { 8469 return This->lpVtbl->HasFocusIO(This); 8470 } 8471 static inline HRESULT IInputObject2_TranslateAcceleratorIO(IInputObject2* This,MSG *pMsg) { 8472 return This->lpVtbl->TranslateAcceleratorIO(This,pMsg); 8473 } 8474 /*** IInputObject2 methods ***/ 8475 static inline HRESULT IInputObject2_TranslateAcceleratorGlobal(IInputObject2* This,MSG *pMsg) { 8476 return This->lpVtbl->TranslateAcceleratorGlobal(This,pMsg); 8477 } 8478 #endif 8479 #endif 8480 8481 #endif 8482 8483 8484 #endif /* __IInputObject2_INTERFACE_DEFINED__ */ 8485 8486 8487 /***************************************************************************** 8488 * IShellIcon interface 8489 */ 8490 #ifndef __IShellIcon_INTERFACE_DEFINED__ 8491 #define __IShellIcon_INTERFACE_DEFINED__ 8492 8493 DEFINE_GUID(IID_IShellIcon, 0x000214e5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 8494 #if defined(__cplusplus) && !defined(CINTERFACE) 8495 MIDL_INTERFACE("000214e5-0000-0000-c000-000000000046") 8496 IShellIcon : public IUnknown 8497 { 8498 virtual HRESULT STDMETHODCALLTYPE GetIconOf( 8499 PCUITEMID_CHILD pidl, 8500 UINT flags, 8501 int *pIconIndex) = 0; 8502 8503 }; 8504 #ifdef __CRT_UUID_DECL 8505 __CRT_UUID_DECL(IShellIcon, 0x000214e5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 8506 #endif 8507 #else 8508 typedef struct IShellIconVtbl { 8509 BEGIN_INTERFACE 8510 8511 /*** IUnknown methods ***/ 8512 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8513 IShellIcon *This, 8514 REFIID riid, 8515 void **ppvObject); 8516 8517 ULONG (STDMETHODCALLTYPE *AddRef)( 8518 IShellIcon *This); 8519 8520 ULONG (STDMETHODCALLTYPE *Release)( 8521 IShellIcon *This); 8522 8523 /*** IShellIcon methods ***/ 8524 HRESULT (STDMETHODCALLTYPE *GetIconOf)( 8525 IShellIcon *This, 8526 PCUITEMID_CHILD pidl, 8527 UINT flags, 8528 int *pIconIndex); 8529 8530 END_INTERFACE 8531 } IShellIconVtbl; 8532 8533 interface IShellIcon { 8534 CONST_VTBL IShellIconVtbl* lpVtbl; 8535 }; 8536 8537 #ifdef COBJMACROS 8538 #ifndef WIDL_C_INLINE_WRAPPERS 8539 /*** IUnknown methods ***/ 8540 #define IShellIcon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8541 #define IShellIcon_AddRef(This) (This)->lpVtbl->AddRef(This) 8542 #define IShellIcon_Release(This) (This)->lpVtbl->Release(This) 8543 /*** IShellIcon methods ***/ 8544 #define IShellIcon_GetIconOf(This,pidl,flags,pIconIndex) (This)->lpVtbl->GetIconOf(This,pidl,flags,pIconIndex) 8545 #else 8546 /*** IUnknown methods ***/ 8547 static inline HRESULT IShellIcon_QueryInterface(IShellIcon* This,REFIID riid,void **ppvObject) { 8548 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8549 } 8550 static inline ULONG IShellIcon_AddRef(IShellIcon* This) { 8551 return This->lpVtbl->AddRef(This); 8552 } 8553 static inline ULONG IShellIcon_Release(IShellIcon* This) { 8554 return This->lpVtbl->Release(This); 8555 } 8556 /*** IShellIcon methods ***/ 8557 static inline HRESULT IShellIcon_GetIconOf(IShellIcon* This,PCUITEMID_CHILD pidl,UINT flags,int *pIconIndex) { 8558 return This->lpVtbl->GetIconOf(This,pidl,flags,pIconIndex); 8559 } 8560 #endif 8561 #endif 8562 8563 #endif 8564 8565 8566 #endif /* __IShellIcon_INTERFACE_DEFINED__ */ 8567 8568 8569 #define SBSP_DEFBROWSER 0x0000 8570 #define SBSP_SAMEBROWSER 0x0001 8571 #define SBSP_NEWBROWSER 0x0002 8572 8573 #define SBSP_DEFMODE 0x0000 8574 #define SBSP_OPENMODE 0x0010 8575 #define SBSP_EXPLOREMODE 0x0020 8576 #define SBSP_HELPMODE 0x0040 8577 #define SBSP_NOTRANSFERHIST 0x0080 8578 8579 #define SBSP_ABSOLUTE 0x0000 8580 #define SBSP_RELATIVE 0x1000 8581 #define SBSP_PARENT 0x2000 8582 #define SBSP_NAVIGATEBACK 0x4000 8583 #define SBSP_NAVIGATEFORWARD 0x8000 8584 #define SBSP_ALLOW_AUTONAVIGATE 0x00010000 8585 #if NTDDI_VERSION >= NTDDI_VISTA 8586 #define SBSP_KEEPSAMETEMPLATE 0x00020000 8587 #define SBSP_KEEPWORDWHEELTEXT 0x00040000 8588 #define SBSP_ACTIVATE_NOFOCUS 0x00080000 8589 #define SBSP_CREATENOHISTORY 0x00100000 8590 #define SBSP_PLAYNOSOUND 0x00200000 8591 #endif 8592 #if _WIN32_IE >= _WIN32_IE_IE60SP2 8593 #define SBSP_CALLERUNTRUSTED 0x00800000 8594 #define SBSP_TRUSTFIRSTDOWNLOAD 0x01000000 8595 #define SBSP_UNTRUSTEDFORDOWNLOAD 0x02000000 8596 #endif 8597 #define SBSP_NOAUTOSELECT 0x04000000 8598 #define SBSP_WRITENOHISTORY 0x08000000 8599 #if _WIN32_IE >= _WIN32_IE_IE60SP2 8600 #define SBSP_TRUSTEDFORACTIVEX 0x10000000 8601 #endif 8602 #if _WIN32_IE >= _WIN32_IE_IE70 8603 #define SBSP_FEEDNAVIGATION 0x20000000 8604 #endif 8605 #define SBSP_REDIRECT 0x40000000 8606 #define SBSP_INITIATEDBYHLINKFRAME 0x80000000 8607 8608 #define FCW_STATUS 0x0001 8609 #define FCW_TOOLBAR 0x0002 8610 #define FCW_TREE 0x0003 8611 #define FCW_INTERNETBAR 0x0006 8612 #define FCW_PROGRESS 0x0008 8613 8614 #define FCT_MERGE 0x0001 8615 #define FCT_CONFIGABLE 0x0002 8616 #define FCT_ADDTOEND 0x0004 8617 8618 #if 0 8619 typedef LPARAM LPTBBUTTONSB; 8620 #else 8621 #include <commctrl.h> 8622 8623 typedef LPTBBUTTON LPTBBUTTONSB; 8624 #endif 8625 8626 /***************************************************************************** 8627 * IShellBrowser interface 8628 */ 8629 #ifndef __IShellBrowser_INTERFACE_DEFINED__ 8630 #define __IShellBrowser_INTERFACE_DEFINED__ 8631 8632 DEFINE_GUID(IID_IShellBrowser, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 8633 #if defined(__cplusplus) && !defined(CINTERFACE) 8634 MIDL_INTERFACE("000214e2-0000-0000-c000-000000000046") 8635 IShellBrowser : public IOleWindow 8636 { 8637 virtual HRESULT STDMETHODCALLTYPE InsertMenusSB( 8638 HMENU hmenuShared, 8639 LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0; 8640 8641 virtual HRESULT STDMETHODCALLTYPE SetMenuSB( 8642 HMENU hmenuShared, 8643 HOLEMENU holemenuRes, 8644 HWND hwndActiveObject) = 0; 8645 8646 virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB( 8647 HMENU hmenuShared) = 0; 8648 8649 virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB( 8650 LPCWSTR pszStatusText) = 0; 8651 8652 virtual HRESULT STDMETHODCALLTYPE EnableModelessSB( 8653 WINBOOL fEnable) = 0; 8654 8655 virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB( 8656 MSG *pmsg, 8657 WORD wID) = 0; 8658 8659 virtual HRESULT STDMETHODCALLTYPE BrowseObject( 8660 PCUIDLIST_RELATIVE pidl, 8661 UINT wFlags) = 0; 8662 8663 virtual HRESULT STDMETHODCALLTYPE GetViewStateStream( 8664 DWORD grfMode, 8665 IStream **ppStrm) = 0; 8666 8667 virtual HRESULT STDMETHODCALLTYPE GetControlWindow( 8668 UINT id, 8669 HWND *phwnd) = 0; 8670 8671 virtual HRESULT STDMETHODCALLTYPE SendControlMsg( 8672 UINT id, 8673 UINT uMsg, 8674 WPARAM wParam, 8675 LPARAM lParam, 8676 LRESULT *pret) = 0; 8677 8678 virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView( 8679 IShellView **ppshv) = 0; 8680 8681 virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive( 8682 IShellView *pshv) = 0; 8683 8684 virtual HRESULT STDMETHODCALLTYPE SetToolbarItems( 8685 LPTBBUTTONSB lpButtons, 8686 UINT nButtons, 8687 UINT uFlags) = 0; 8688 8689 }; 8690 #ifdef __CRT_UUID_DECL 8691 __CRT_UUID_DECL(IShellBrowser, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 8692 #endif 8693 #else 8694 typedef struct IShellBrowserVtbl { 8695 BEGIN_INTERFACE 8696 8697 /*** IUnknown methods ***/ 8698 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8699 IShellBrowser *This, 8700 REFIID riid, 8701 void **ppvObject); 8702 8703 ULONG (STDMETHODCALLTYPE *AddRef)( 8704 IShellBrowser *This); 8705 8706 ULONG (STDMETHODCALLTYPE *Release)( 8707 IShellBrowser *This); 8708 8709 /*** IOleWindow methods ***/ 8710 HRESULT (STDMETHODCALLTYPE *GetWindow)( 8711 IShellBrowser *This, 8712 HWND *phwnd); 8713 8714 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 8715 IShellBrowser *This, 8716 WINBOOL fEnterMode); 8717 8718 /*** IShellBrowser methods ***/ 8719 HRESULT (STDMETHODCALLTYPE *InsertMenusSB)( 8720 IShellBrowser *This, 8721 HMENU hmenuShared, 8722 LPOLEMENUGROUPWIDTHS lpMenuWidths); 8723 8724 HRESULT (STDMETHODCALLTYPE *SetMenuSB)( 8725 IShellBrowser *This, 8726 HMENU hmenuShared, 8727 HOLEMENU holemenuRes, 8728 HWND hwndActiveObject); 8729 8730 HRESULT (STDMETHODCALLTYPE *RemoveMenusSB)( 8731 IShellBrowser *This, 8732 HMENU hmenuShared); 8733 8734 HRESULT (STDMETHODCALLTYPE *SetStatusTextSB)( 8735 IShellBrowser *This, 8736 LPCWSTR pszStatusText); 8737 8738 HRESULT (STDMETHODCALLTYPE *EnableModelessSB)( 8739 IShellBrowser *This, 8740 WINBOOL fEnable); 8741 8742 HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorSB)( 8743 IShellBrowser *This, 8744 MSG *pmsg, 8745 WORD wID); 8746 8747 HRESULT (STDMETHODCALLTYPE *BrowseObject)( 8748 IShellBrowser *This, 8749 PCUIDLIST_RELATIVE pidl, 8750 UINT wFlags); 8751 8752 HRESULT (STDMETHODCALLTYPE *GetViewStateStream)( 8753 IShellBrowser *This, 8754 DWORD grfMode, 8755 IStream **ppStrm); 8756 8757 HRESULT (STDMETHODCALLTYPE *GetControlWindow)( 8758 IShellBrowser *This, 8759 UINT id, 8760 HWND *phwnd); 8761 8762 HRESULT (STDMETHODCALLTYPE *SendControlMsg)( 8763 IShellBrowser *This, 8764 UINT id, 8765 UINT uMsg, 8766 WPARAM wParam, 8767 LPARAM lParam, 8768 LRESULT *pret); 8769 8770 HRESULT (STDMETHODCALLTYPE *QueryActiveShellView)( 8771 IShellBrowser *This, 8772 IShellView **ppshv); 8773 8774 HRESULT (STDMETHODCALLTYPE *OnViewWindowActive)( 8775 IShellBrowser *This, 8776 IShellView *pshv); 8777 8778 HRESULT (STDMETHODCALLTYPE *SetToolbarItems)( 8779 IShellBrowser *This, 8780 LPTBBUTTONSB lpButtons, 8781 UINT nButtons, 8782 UINT uFlags); 8783 8784 END_INTERFACE 8785 } IShellBrowserVtbl; 8786 8787 interface IShellBrowser { 8788 CONST_VTBL IShellBrowserVtbl* lpVtbl; 8789 }; 8790 8791 #ifdef COBJMACROS 8792 #ifndef WIDL_C_INLINE_WRAPPERS 8793 /*** IUnknown methods ***/ 8794 #define IShellBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8795 #define IShellBrowser_AddRef(This) (This)->lpVtbl->AddRef(This) 8796 #define IShellBrowser_Release(This) (This)->lpVtbl->Release(This) 8797 /*** IOleWindow methods ***/ 8798 #define IShellBrowser_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 8799 #define IShellBrowser_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 8800 /*** IShellBrowser methods ***/ 8801 #define IShellBrowser_InsertMenusSB(This,hmenuShared,lpMenuWidths) (This)->lpVtbl->InsertMenusSB(This,hmenuShared,lpMenuWidths) 8802 #define IShellBrowser_SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject) (This)->lpVtbl->SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject) 8803 #define IShellBrowser_RemoveMenusSB(This,hmenuShared) (This)->lpVtbl->RemoveMenusSB(This,hmenuShared) 8804 #define IShellBrowser_SetStatusTextSB(This,pszStatusText) (This)->lpVtbl->SetStatusTextSB(This,pszStatusText) 8805 #define IShellBrowser_EnableModelessSB(This,fEnable) (This)->lpVtbl->EnableModelessSB(This,fEnable) 8806 #define IShellBrowser_TranslateAcceleratorSB(This,pmsg,wID) (This)->lpVtbl->TranslateAcceleratorSB(This,pmsg,wID) 8807 #define IShellBrowser_BrowseObject(This,pidl,wFlags) (This)->lpVtbl->BrowseObject(This,pidl,wFlags) 8808 #define IShellBrowser_GetViewStateStream(This,grfMode,ppStrm) (This)->lpVtbl->GetViewStateStream(This,grfMode,ppStrm) 8809 #define IShellBrowser_GetControlWindow(This,id,phwnd) (This)->lpVtbl->GetControlWindow(This,id,phwnd) 8810 #define IShellBrowser_SendControlMsg(This,id,uMsg,wParam,lParam,pret) (This)->lpVtbl->SendControlMsg(This,id,uMsg,wParam,lParam,pret) 8811 #define IShellBrowser_QueryActiveShellView(This,ppshv) (This)->lpVtbl->QueryActiveShellView(This,ppshv) 8812 #define IShellBrowser_OnViewWindowActive(This,pshv) (This)->lpVtbl->OnViewWindowActive(This,pshv) 8813 #define IShellBrowser_SetToolbarItems(This,lpButtons,nButtons,uFlags) (This)->lpVtbl->SetToolbarItems(This,lpButtons,nButtons,uFlags) 8814 #else 8815 /*** IUnknown methods ***/ 8816 static inline HRESULT IShellBrowser_QueryInterface(IShellBrowser* This,REFIID riid,void **ppvObject) { 8817 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8818 } 8819 static inline ULONG IShellBrowser_AddRef(IShellBrowser* This) { 8820 return This->lpVtbl->AddRef(This); 8821 } 8822 static inline ULONG IShellBrowser_Release(IShellBrowser* This) { 8823 return This->lpVtbl->Release(This); 8824 } 8825 /*** IOleWindow methods ***/ 8826 static inline HRESULT IShellBrowser_GetWindow(IShellBrowser* This,HWND *phwnd) { 8827 return This->lpVtbl->GetWindow(This,phwnd); 8828 } 8829 static inline HRESULT IShellBrowser_ContextSensitiveHelp(IShellBrowser* This,WINBOOL fEnterMode) { 8830 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 8831 } 8832 /*** IShellBrowser methods ***/ 8833 static inline HRESULT IShellBrowser_InsertMenusSB(IShellBrowser* This,HMENU hmenuShared,LPOLEMENUGROUPWIDTHS lpMenuWidths) { 8834 return This->lpVtbl->InsertMenusSB(This,hmenuShared,lpMenuWidths); 8835 } 8836 static inline HRESULT IShellBrowser_SetMenuSB(IShellBrowser* This,HMENU hmenuShared,HOLEMENU holemenuRes,HWND hwndActiveObject) { 8837 return This->lpVtbl->SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject); 8838 } 8839 static inline HRESULT IShellBrowser_RemoveMenusSB(IShellBrowser* This,HMENU hmenuShared) { 8840 return This->lpVtbl->RemoveMenusSB(This,hmenuShared); 8841 } 8842 static inline HRESULT IShellBrowser_SetStatusTextSB(IShellBrowser* This,LPCWSTR pszStatusText) { 8843 return This->lpVtbl->SetStatusTextSB(This,pszStatusText); 8844 } 8845 static inline HRESULT IShellBrowser_EnableModelessSB(IShellBrowser* This,WINBOOL fEnable) { 8846 return This->lpVtbl->EnableModelessSB(This,fEnable); 8847 } 8848 static inline HRESULT IShellBrowser_TranslateAcceleratorSB(IShellBrowser* This,MSG *pmsg,WORD wID) { 8849 return This->lpVtbl->TranslateAcceleratorSB(This,pmsg,wID); 8850 } 8851 static inline HRESULT IShellBrowser_BrowseObject(IShellBrowser* This,PCUIDLIST_RELATIVE pidl,UINT wFlags) { 8852 return This->lpVtbl->BrowseObject(This,pidl,wFlags); 8853 } 8854 static inline HRESULT IShellBrowser_GetViewStateStream(IShellBrowser* This,DWORD grfMode,IStream **ppStrm) { 8855 return This->lpVtbl->GetViewStateStream(This,grfMode,ppStrm); 8856 } 8857 static inline HRESULT IShellBrowser_GetControlWindow(IShellBrowser* This,UINT id,HWND *phwnd) { 8858 return This->lpVtbl->GetControlWindow(This,id,phwnd); 8859 } 8860 static inline HRESULT IShellBrowser_SendControlMsg(IShellBrowser* This,UINT id,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *pret) { 8861 return This->lpVtbl->SendControlMsg(This,id,uMsg,wParam,lParam,pret); 8862 } 8863 static inline HRESULT IShellBrowser_QueryActiveShellView(IShellBrowser* This,IShellView **ppshv) { 8864 return This->lpVtbl->QueryActiveShellView(This,ppshv); 8865 } 8866 static inline HRESULT IShellBrowser_OnViewWindowActive(IShellBrowser* This,IShellView *pshv) { 8867 return This->lpVtbl->OnViewWindowActive(This,pshv); 8868 } 8869 static inline HRESULT IShellBrowser_SetToolbarItems(IShellBrowser* This,LPTBBUTTONSB lpButtons,UINT nButtons,UINT uFlags) { 8870 return This->lpVtbl->SetToolbarItems(This,lpButtons,nButtons,uFlags); 8871 } 8872 #endif 8873 #endif 8874 8875 #endif 8876 8877 8878 #endif /* __IShellBrowser_INTERFACE_DEFINED__ */ 8879 8880 8881 typedef IShellBrowser *LPSHELLBROWSER; 8882 8883 /***************************************************************************** 8884 * IProfferService interface 8885 */ 8886 #ifndef __IProfferService_INTERFACE_DEFINED__ 8887 #define __IProfferService_INTERFACE_DEFINED__ 8888 8889 DEFINE_GUID(IID_IProfferService, 0xcb728b20, 0xf786, 0x11ce, 0x92,0xad, 0x00,0xaa,0x00,0xa7,0x4c,0xd0); 8890 #if defined(__cplusplus) && !defined(CINTERFACE) 8891 MIDL_INTERFACE("cb728b20-f786-11ce-92ad-00aa00a74cd0") 8892 IProfferService : public IUnknown 8893 { 8894 virtual HRESULT STDMETHODCALLTYPE ProfferService( 8895 REFGUID guidService, 8896 IServiceProvider *psp, 8897 DWORD *pdwCookie) = 0; 8898 8899 virtual HRESULT STDMETHODCALLTYPE RevokeService( 8900 DWORD dwCookie) = 0; 8901 8902 }; 8903 #ifdef __CRT_UUID_DECL 8904 __CRT_UUID_DECL(IProfferService, 0xcb728b20, 0xf786, 0x11ce, 0x92,0xad, 0x00,0xaa,0x00,0xa7,0x4c,0xd0) 8905 #endif 8906 #else 8907 typedef struct IProfferServiceVtbl { 8908 BEGIN_INTERFACE 8909 8910 /*** IUnknown methods ***/ 8911 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8912 IProfferService *This, 8913 REFIID riid, 8914 void **ppvObject); 8915 8916 ULONG (STDMETHODCALLTYPE *AddRef)( 8917 IProfferService *This); 8918 8919 ULONG (STDMETHODCALLTYPE *Release)( 8920 IProfferService *This); 8921 8922 /*** IProfferService methods ***/ 8923 HRESULT (STDMETHODCALLTYPE *ProfferService)( 8924 IProfferService *This, 8925 REFGUID guidService, 8926 IServiceProvider *psp, 8927 DWORD *pdwCookie); 8928 8929 HRESULT (STDMETHODCALLTYPE *RevokeService)( 8930 IProfferService *This, 8931 DWORD dwCookie); 8932 8933 END_INTERFACE 8934 } IProfferServiceVtbl; 8935 8936 interface IProfferService { 8937 CONST_VTBL IProfferServiceVtbl* lpVtbl; 8938 }; 8939 8940 #ifdef COBJMACROS 8941 #ifndef WIDL_C_INLINE_WRAPPERS 8942 /*** IUnknown methods ***/ 8943 #define IProfferService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8944 #define IProfferService_AddRef(This) (This)->lpVtbl->AddRef(This) 8945 #define IProfferService_Release(This) (This)->lpVtbl->Release(This) 8946 /*** IProfferService methods ***/ 8947 #define IProfferService_ProfferService(This,guidService,psp,pdwCookie) (This)->lpVtbl->ProfferService(This,guidService,psp,pdwCookie) 8948 #define IProfferService_RevokeService(This,dwCookie) (This)->lpVtbl->RevokeService(This,dwCookie) 8949 #else 8950 /*** IUnknown methods ***/ 8951 static inline HRESULT IProfferService_QueryInterface(IProfferService* This,REFIID riid,void **ppvObject) { 8952 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8953 } 8954 static inline ULONG IProfferService_AddRef(IProfferService* This) { 8955 return This->lpVtbl->AddRef(This); 8956 } 8957 static inline ULONG IProfferService_Release(IProfferService* This) { 8958 return This->lpVtbl->Release(This); 8959 } 8960 /*** IProfferService methods ***/ 8961 static inline HRESULT IProfferService_ProfferService(IProfferService* This,REFGUID guidService,IServiceProvider *psp,DWORD *pdwCookie) { 8962 return This->lpVtbl->ProfferService(This,guidService,psp,pdwCookie); 8963 } 8964 static inline HRESULT IProfferService_RevokeService(IProfferService* This,DWORD dwCookie) { 8965 return This->lpVtbl->RevokeService(This,dwCookie); 8966 } 8967 #endif 8968 #endif 8969 8970 #endif 8971 8972 8973 #endif /* __IProfferService_INTERFACE_DEFINED__ */ 8974 8975 8976 #define SID_SProfferService IID_IProfferService 8977 #define STR_DONT_RESOLVE_LINK L"Don't Resolve Link" 8978 #define STR_GET_ASYNC_HANDLER L"GetAsyncHandler" 8979 8980 /***************************************************************************** 8981 * IShellItem interface 8982 */ 8983 #ifndef __IShellItem_INTERFACE_DEFINED__ 8984 #define __IShellItem_INTERFACE_DEFINED__ 8985 8986 typedef enum _SIGDN { 8987 SIGDN_NORMALDISPLAY = 0x0, 8988 SIGDN_PARENTRELATIVEPARSING = (int)0x80018001, 8989 SIGDN_DESKTOPABSOLUTEPARSING = (int)0x80028000, 8990 SIGDN_PARENTRELATIVEEDITING = (int)0x80031001, 8991 SIGDN_DESKTOPABSOLUTEEDITING = (int)0x8004c000, 8992 SIGDN_FILESYSPATH = (int)0x80058000, 8993 SIGDN_URL = (int)0x80068000, 8994 SIGDN_PARENTRELATIVEFORADDRESSBAR = (int)0x8007c001, 8995 SIGDN_PARENTRELATIVE = (int)0x80080001, 8996 SIGDN_PARENTRELATIVEFORUI = (int)0x80094001 8997 } SIGDN; 8998 8999 enum _SICHINTF { 9000 SICHINT_DISPLAY = 0x0, 9001 SICHINT_ALLFIELDS = (int)0x80000000, 9002 SICHINT_CANONICAL = 0x10000000, 9003 SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000 9004 }; 9005 9006 typedef DWORD SICHINTF; 9007 9008 DEFINE_GUID(IID_IShellItem, 0x43826d1e, 0xe718, 0x42ee, 0xbc,0x55, 0xa1,0xe2,0x61,0xc3,0x7b,0xfe); 9009 #if defined(__cplusplus) && !defined(CINTERFACE) 9010 MIDL_INTERFACE("43826d1e-e718-42ee-bc55-a1e261c37bfe") 9011 IShellItem : public IUnknown 9012 { 9013 virtual HRESULT STDMETHODCALLTYPE BindToHandler( 9014 IBindCtx *pbc, 9015 REFGUID bhid, 9016 REFIID riid, 9017 void **ppv) = 0; 9018 9019 virtual HRESULT STDMETHODCALLTYPE GetParent( 9020 IShellItem **ppsi) = 0; 9021 9022 virtual HRESULT STDMETHODCALLTYPE GetDisplayName( 9023 SIGDN sigdnName, 9024 LPWSTR *ppszName) = 0; 9025 9026 virtual HRESULT STDMETHODCALLTYPE GetAttributes( 9027 SFGAOF sfgaoMask, 9028 SFGAOF *psfgaoAttribs) = 0; 9029 9030 virtual HRESULT STDMETHODCALLTYPE Compare( 9031 IShellItem *psi, 9032 SICHINTF hint, 9033 int *piOrder) = 0; 9034 9035 }; 9036 #ifdef __CRT_UUID_DECL 9037 __CRT_UUID_DECL(IShellItem, 0x43826d1e, 0xe718, 0x42ee, 0xbc,0x55, 0xa1,0xe2,0x61,0xc3,0x7b,0xfe) 9038 #endif 9039 #else 9040 typedef struct IShellItemVtbl { 9041 BEGIN_INTERFACE 9042 9043 /*** IUnknown methods ***/ 9044 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9045 IShellItem *This, 9046 REFIID riid, 9047 void **ppvObject); 9048 9049 ULONG (STDMETHODCALLTYPE *AddRef)( 9050 IShellItem *This); 9051 9052 ULONG (STDMETHODCALLTYPE *Release)( 9053 IShellItem *This); 9054 9055 /*** IShellItem methods ***/ 9056 HRESULT (STDMETHODCALLTYPE *BindToHandler)( 9057 IShellItem *This, 9058 IBindCtx *pbc, 9059 REFGUID bhid, 9060 REFIID riid, 9061 void **ppv); 9062 9063 HRESULT (STDMETHODCALLTYPE *GetParent)( 9064 IShellItem *This, 9065 IShellItem **ppsi); 9066 9067 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 9068 IShellItem *This, 9069 SIGDN sigdnName, 9070 LPWSTR *ppszName); 9071 9072 HRESULT (STDMETHODCALLTYPE *GetAttributes)( 9073 IShellItem *This, 9074 SFGAOF sfgaoMask, 9075 SFGAOF *psfgaoAttribs); 9076 9077 HRESULT (STDMETHODCALLTYPE *Compare)( 9078 IShellItem *This, 9079 IShellItem *psi, 9080 SICHINTF hint, 9081 int *piOrder); 9082 9083 END_INTERFACE 9084 } IShellItemVtbl; 9085 9086 interface IShellItem { 9087 CONST_VTBL IShellItemVtbl* lpVtbl; 9088 }; 9089 9090 #ifdef COBJMACROS 9091 #ifndef WIDL_C_INLINE_WRAPPERS 9092 /*** IUnknown methods ***/ 9093 #define IShellItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9094 #define IShellItem_AddRef(This) (This)->lpVtbl->AddRef(This) 9095 #define IShellItem_Release(This) (This)->lpVtbl->Release(This) 9096 /*** IShellItem methods ***/ 9097 #define IShellItem_BindToHandler(This,pbc,bhid,riid,ppv) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv) 9098 #define IShellItem_GetParent(This,ppsi) (This)->lpVtbl->GetParent(This,ppsi) 9099 #define IShellItem_GetDisplayName(This,sigdnName,ppszName) (This)->lpVtbl->GetDisplayName(This,sigdnName,ppszName) 9100 #define IShellItem_GetAttributes(This,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs) 9101 #define IShellItem_Compare(This,psi,hint,piOrder) (This)->lpVtbl->Compare(This,psi,hint,piOrder) 9102 #else 9103 /*** IUnknown methods ***/ 9104 static inline HRESULT IShellItem_QueryInterface(IShellItem* This,REFIID riid,void **ppvObject) { 9105 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9106 } 9107 static inline ULONG IShellItem_AddRef(IShellItem* This) { 9108 return This->lpVtbl->AddRef(This); 9109 } 9110 static inline ULONG IShellItem_Release(IShellItem* This) { 9111 return This->lpVtbl->Release(This); 9112 } 9113 /*** IShellItem methods ***/ 9114 static inline HRESULT IShellItem_BindToHandler(IShellItem* This,IBindCtx *pbc,REFGUID bhid,REFIID riid,void **ppv) { 9115 return This->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv); 9116 } 9117 static inline HRESULT IShellItem_GetParent(IShellItem* This,IShellItem **ppsi) { 9118 return This->lpVtbl->GetParent(This,ppsi); 9119 } 9120 static inline HRESULT IShellItem_GetDisplayName(IShellItem* This,SIGDN sigdnName,LPWSTR *ppszName) { 9121 return This->lpVtbl->GetDisplayName(This,sigdnName,ppszName); 9122 } 9123 static inline HRESULT IShellItem_GetAttributes(IShellItem* This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) { 9124 return This->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs); 9125 } 9126 static inline HRESULT IShellItem_Compare(IShellItem* This,IShellItem *psi,SICHINTF hint,int *piOrder) { 9127 return This->lpVtbl->Compare(This,psi,hint,piOrder); 9128 } 9129 #endif 9130 #endif 9131 9132 #endif 9133 9134 9135 #endif /* __IShellItem_INTERFACE_DEFINED__ */ 9136 9137 9138 SHSTDAPI_(PIDLIST_ABSOLUTE) SHSimpleIDListFromPath(PCWSTR pszPath); 9139 9140 #if _WIN32_IE >= _WIN32_IE_IE70 9141 SHSTDAPI SHCreateItemFromIDList(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv); 9142 SHSTDAPI SHCreateItemFromParsingName(PCWSTR pszPath, IBindCtx *pbc, REFIID riid, void **ppv); 9143 SHSTDAPI SHCreateItemWithParent(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psfParent, PCUITEMID_CHILD pidl, REFIID riid, void **ppvItem); 9144 SHSTDAPI SHCreateItemFromRelativeName(IShellItem *psiParent, PCWSTR pszName, IBindCtx *pbc, REFIID riid, void **ppv); 9145 #endif 9146 #if NTDDI_VERSION >= NTDDI_VISTA 9147 SHSTDAPI SHCreateItemInKnownFolder(REFKNOWNFOLDERID kfid, DWORD dwKFFlags, PCWSTR pszItem, REFIID riid, void **ppv); 9148 SHSTDAPI SHGetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl); 9149 SHSTDAPI SHGetItemFromObject(IUnknown *punk, REFIID riid, void **ppv); 9150 SHSTDAPI SHGetPropertyStoreFromIDList(PCIDLIST_ABSOLUTE pidl, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv); 9151 SHSTDAPI SHGetPropertyStoreFromParsingName(PCWSTR pszPath, IBindCtx *pbc, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv); 9152 SHSTDAPI SHGetNameFromIDList(PCIDLIST_ABSOLUTE pidl, SIGDN sigdnName, PWSTR *ppszName); 9153 #endif 9154 #if NTDDI_VERSION >= NTDDI_WIN7 9155 typedef enum DATAOBJ_GET_ITEM_FLAGS { 9156 DOGIF_DEFAULT = 0x0, 9157 DOGIF_TRAVERSE_LINK = 0x1, 9158 DOGIF_NO_HDROP = 0x2, 9159 DOGIF_NO_URL = 0x4, 9160 DOGIF_ONLY_IF_ONE = 0x8 9161 } DATAOBJ_GET_ITEM_FLAGS; 9162 9163 DEFINE_ENUM_FLAG_OPERATORS(DATAOBJ_GET_ITEM_FLAGS) 9164 9165 STDAPI SHGetItemFromDataObject(IDataObject *pdtobj, DATAOBJ_GET_ITEM_FLAGS dwFlags, REFIID riid, void **ppv); 9166 #endif 9167 9168 #define STR_GPS_HANDLERPROPERTIESONLY L"GPS_HANDLERPROPERTIESONLY" 9169 #define STR_GPS_FASTPROPERTIESONLY L"GPS_FASTPROPERTIESONLY" 9170 #define STR_GPS_OPENSLOWITEM L"GPS_OPENSLOWITEM" 9171 #define STR_GPS_DELAYCREATION L"GPS_DELAYCREATION" 9172 #define STR_GPS_BESTEFFORT L"GPS_BESTEFFORT" 9173 #define STR_GPS_NO_OPLOCK L"GPS_NO_OPLOCK" 9174 9175 /***************************************************************************** 9176 * IShellItem2 interface 9177 */ 9178 #ifndef __IShellItem2_INTERFACE_DEFINED__ 9179 #define __IShellItem2_INTERFACE_DEFINED__ 9180 9181 DEFINE_GUID(IID_IShellItem2, 0x7e9fb0d3, 0x919f, 0x4307, 0xab,0x2e, 0x9b,0x18,0x60,0x31,0x0c,0x93); 9182 #if defined(__cplusplus) && !defined(CINTERFACE) 9183 MIDL_INTERFACE("7e9fb0d3-919f-4307-ab2e-9b1860310c93") 9184 IShellItem2 : public IShellItem 9185 { 9186 virtual HRESULT STDMETHODCALLTYPE GetPropertyStore( 9187 GETPROPERTYSTOREFLAGS flags, 9188 REFIID riid, 9189 void **ppv) = 0; 9190 9191 virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreWithCreateObject( 9192 GETPROPERTYSTOREFLAGS flags, 9193 IUnknown *punkCreateObject, 9194 REFIID riid, 9195 void **ppv) = 0; 9196 9197 virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreForKeys( 9198 const PROPERTYKEY *rgKeys, 9199 UINT cKeys, 9200 GETPROPERTYSTOREFLAGS flags, 9201 REFIID riid, 9202 void **ppv) = 0; 9203 9204 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionList( 9205 REFPROPERTYKEY keyType, 9206 REFIID riid, 9207 void **ppv) = 0; 9208 9209 virtual HRESULT STDMETHODCALLTYPE Update( 9210 IBindCtx *pbc) = 0; 9211 9212 virtual HRESULT STDMETHODCALLTYPE GetProperty( 9213 REFPROPERTYKEY key, 9214 PROPVARIANT *ppropvar) = 0; 9215 9216 virtual HRESULT STDMETHODCALLTYPE GetCLSID( 9217 REFPROPERTYKEY key, 9218 CLSID *pclsid) = 0; 9219 9220 virtual HRESULT STDMETHODCALLTYPE GetFileTime( 9221 REFPROPERTYKEY key, 9222 FILETIME *pft) = 0; 9223 9224 virtual HRESULT STDMETHODCALLTYPE GetInt32( 9225 REFPROPERTYKEY key, 9226 int *pi) = 0; 9227 9228 virtual HRESULT STDMETHODCALLTYPE GetString( 9229 REFPROPERTYKEY key, 9230 LPWSTR *ppsz) = 0; 9231 9232 virtual HRESULT STDMETHODCALLTYPE GetUInt32( 9233 REFPROPERTYKEY key, 9234 ULONG *pui) = 0; 9235 9236 virtual HRESULT STDMETHODCALLTYPE GetUInt64( 9237 REFPROPERTYKEY key, 9238 ULONGLONG *pull) = 0; 9239 9240 virtual HRESULT STDMETHODCALLTYPE GetBool( 9241 REFPROPERTYKEY key, 9242 WINBOOL *pf) = 0; 9243 9244 }; 9245 #ifdef __CRT_UUID_DECL 9246 __CRT_UUID_DECL(IShellItem2, 0x7e9fb0d3, 0x919f, 0x4307, 0xab,0x2e, 0x9b,0x18,0x60,0x31,0x0c,0x93) 9247 #endif 9248 #else 9249 typedef struct IShellItem2Vtbl { 9250 BEGIN_INTERFACE 9251 9252 /*** IUnknown methods ***/ 9253 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9254 IShellItem2 *This, 9255 REFIID riid, 9256 void **ppvObject); 9257 9258 ULONG (STDMETHODCALLTYPE *AddRef)( 9259 IShellItem2 *This); 9260 9261 ULONG (STDMETHODCALLTYPE *Release)( 9262 IShellItem2 *This); 9263 9264 /*** IShellItem methods ***/ 9265 HRESULT (STDMETHODCALLTYPE *BindToHandler)( 9266 IShellItem2 *This, 9267 IBindCtx *pbc, 9268 REFGUID bhid, 9269 REFIID riid, 9270 void **ppv); 9271 9272 HRESULT (STDMETHODCALLTYPE *GetParent)( 9273 IShellItem2 *This, 9274 IShellItem **ppsi); 9275 9276 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 9277 IShellItem2 *This, 9278 SIGDN sigdnName, 9279 LPWSTR *ppszName); 9280 9281 HRESULT (STDMETHODCALLTYPE *GetAttributes)( 9282 IShellItem2 *This, 9283 SFGAOF sfgaoMask, 9284 SFGAOF *psfgaoAttribs); 9285 9286 HRESULT (STDMETHODCALLTYPE *Compare)( 9287 IShellItem2 *This, 9288 IShellItem *psi, 9289 SICHINTF hint, 9290 int *piOrder); 9291 9292 /*** IShellItem2 methods ***/ 9293 HRESULT (STDMETHODCALLTYPE *GetPropertyStore)( 9294 IShellItem2 *This, 9295 GETPROPERTYSTOREFLAGS flags, 9296 REFIID riid, 9297 void **ppv); 9298 9299 HRESULT (STDMETHODCALLTYPE *GetPropertyStoreWithCreateObject)( 9300 IShellItem2 *This, 9301 GETPROPERTYSTOREFLAGS flags, 9302 IUnknown *punkCreateObject, 9303 REFIID riid, 9304 void **ppv); 9305 9306 HRESULT (STDMETHODCALLTYPE *GetPropertyStoreForKeys)( 9307 IShellItem2 *This, 9308 const PROPERTYKEY *rgKeys, 9309 UINT cKeys, 9310 GETPROPERTYSTOREFLAGS flags, 9311 REFIID riid, 9312 void **ppv); 9313 9314 HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionList)( 9315 IShellItem2 *This, 9316 REFPROPERTYKEY keyType, 9317 REFIID riid, 9318 void **ppv); 9319 9320 HRESULT (STDMETHODCALLTYPE *Update)( 9321 IShellItem2 *This, 9322 IBindCtx *pbc); 9323 9324 HRESULT (STDMETHODCALLTYPE *GetProperty)( 9325 IShellItem2 *This, 9326 REFPROPERTYKEY key, 9327 PROPVARIANT *ppropvar); 9328 9329 HRESULT (STDMETHODCALLTYPE *GetCLSID)( 9330 IShellItem2 *This, 9331 REFPROPERTYKEY key, 9332 CLSID *pclsid); 9333 9334 HRESULT (STDMETHODCALLTYPE *GetFileTime)( 9335 IShellItem2 *This, 9336 REFPROPERTYKEY key, 9337 FILETIME *pft); 9338 9339 HRESULT (STDMETHODCALLTYPE *GetInt32)( 9340 IShellItem2 *This, 9341 REFPROPERTYKEY key, 9342 int *pi); 9343 9344 HRESULT (STDMETHODCALLTYPE *GetString)( 9345 IShellItem2 *This, 9346 REFPROPERTYKEY key, 9347 LPWSTR *ppsz); 9348 9349 HRESULT (STDMETHODCALLTYPE *GetUInt32)( 9350 IShellItem2 *This, 9351 REFPROPERTYKEY key, 9352 ULONG *pui); 9353 9354 HRESULT (STDMETHODCALLTYPE *GetUInt64)( 9355 IShellItem2 *This, 9356 REFPROPERTYKEY key, 9357 ULONGLONG *pull); 9358 9359 HRESULT (STDMETHODCALLTYPE *GetBool)( 9360 IShellItem2 *This, 9361 REFPROPERTYKEY key, 9362 WINBOOL *pf); 9363 9364 END_INTERFACE 9365 } IShellItem2Vtbl; 9366 9367 interface IShellItem2 { 9368 CONST_VTBL IShellItem2Vtbl* lpVtbl; 9369 }; 9370 9371 #ifdef COBJMACROS 9372 #ifndef WIDL_C_INLINE_WRAPPERS 9373 /*** IUnknown methods ***/ 9374 #define IShellItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9375 #define IShellItem2_AddRef(This) (This)->lpVtbl->AddRef(This) 9376 #define IShellItem2_Release(This) (This)->lpVtbl->Release(This) 9377 /*** IShellItem methods ***/ 9378 #define IShellItem2_BindToHandler(This,pbc,bhid,riid,ppv) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv) 9379 #define IShellItem2_GetParent(This,ppsi) (This)->lpVtbl->GetParent(This,ppsi) 9380 #define IShellItem2_GetDisplayName(This,sigdnName,ppszName) (This)->lpVtbl->GetDisplayName(This,sigdnName,ppszName) 9381 #define IShellItem2_GetAttributes(This,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs) 9382 #define IShellItem2_Compare(This,psi,hint,piOrder) (This)->lpVtbl->Compare(This,psi,hint,piOrder) 9383 /*** IShellItem2 methods ***/ 9384 #define IShellItem2_GetPropertyStore(This,flags,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,riid,ppv) 9385 #define IShellItem2_GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv) (This)->lpVtbl->GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv) 9386 #define IShellItem2_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) (This)->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) 9387 #define IShellItem2_GetPropertyDescriptionList(This,keyType,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv) 9388 #define IShellItem2_Update(This,pbc) (This)->lpVtbl->Update(This,pbc) 9389 #define IShellItem2_GetProperty(This,key,ppropvar) (This)->lpVtbl->GetProperty(This,key,ppropvar) 9390 #define IShellItem2_GetCLSID(This,key,pclsid) (This)->lpVtbl->GetCLSID(This,key,pclsid) 9391 #define IShellItem2_GetFileTime(This,key,pft) (This)->lpVtbl->GetFileTime(This,key,pft) 9392 #define IShellItem2_GetInt32(This,key,pi) (This)->lpVtbl->GetInt32(This,key,pi) 9393 #define IShellItem2_GetString(This,key,ppsz) (This)->lpVtbl->GetString(This,key,ppsz) 9394 #define IShellItem2_GetUInt32(This,key,pui) (This)->lpVtbl->GetUInt32(This,key,pui) 9395 #define IShellItem2_GetUInt64(This,key,pull) (This)->lpVtbl->GetUInt64(This,key,pull) 9396 #define IShellItem2_GetBool(This,key,pf) (This)->lpVtbl->GetBool(This,key,pf) 9397 #else 9398 /*** IUnknown methods ***/ 9399 static inline HRESULT IShellItem2_QueryInterface(IShellItem2* This,REFIID riid,void **ppvObject) { 9400 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9401 } 9402 static inline ULONG IShellItem2_AddRef(IShellItem2* This) { 9403 return This->lpVtbl->AddRef(This); 9404 } 9405 static inline ULONG IShellItem2_Release(IShellItem2* This) { 9406 return This->lpVtbl->Release(This); 9407 } 9408 /*** IShellItem methods ***/ 9409 static inline HRESULT IShellItem2_BindToHandler(IShellItem2* This,IBindCtx *pbc,REFGUID bhid,REFIID riid,void **ppv) { 9410 return This->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv); 9411 } 9412 static inline HRESULT IShellItem2_GetParent(IShellItem2* This,IShellItem **ppsi) { 9413 return This->lpVtbl->GetParent(This,ppsi); 9414 } 9415 static inline HRESULT IShellItem2_GetDisplayName(IShellItem2* This,SIGDN sigdnName,LPWSTR *ppszName) { 9416 return This->lpVtbl->GetDisplayName(This,sigdnName,ppszName); 9417 } 9418 static inline HRESULT IShellItem2_GetAttributes(IShellItem2* This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) { 9419 return This->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs); 9420 } 9421 static inline HRESULT IShellItem2_Compare(IShellItem2* This,IShellItem *psi,SICHINTF hint,int *piOrder) { 9422 return This->lpVtbl->Compare(This,psi,hint,piOrder); 9423 } 9424 /*** IShellItem2 methods ***/ 9425 static inline HRESULT IShellItem2_GetPropertyStore(IShellItem2* This,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) { 9426 return This->lpVtbl->GetPropertyStore(This,flags,riid,ppv); 9427 } 9428 static inline HRESULT IShellItem2_GetPropertyStoreWithCreateObject(IShellItem2* This,GETPROPERTYSTOREFLAGS flags,IUnknown *punkCreateObject,REFIID riid,void **ppv) { 9429 return This->lpVtbl->GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv); 9430 } 9431 static inline HRESULT IShellItem2_GetPropertyStoreForKeys(IShellItem2* This,const PROPERTYKEY *rgKeys,UINT cKeys,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) { 9432 return This->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv); 9433 } 9434 static inline HRESULT IShellItem2_GetPropertyDescriptionList(IShellItem2* This,REFPROPERTYKEY keyType,REFIID riid,void **ppv) { 9435 return This->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv); 9436 } 9437 static inline HRESULT IShellItem2_Update(IShellItem2* This,IBindCtx *pbc) { 9438 return This->lpVtbl->Update(This,pbc); 9439 } 9440 static inline HRESULT IShellItem2_GetProperty(IShellItem2* This,REFPROPERTYKEY key,PROPVARIANT *ppropvar) { 9441 return This->lpVtbl->GetProperty(This,key,ppropvar); 9442 } 9443 static inline HRESULT IShellItem2_GetCLSID(IShellItem2* This,REFPROPERTYKEY key,CLSID *pclsid) { 9444 return This->lpVtbl->GetCLSID(This,key,pclsid); 9445 } 9446 static inline HRESULT IShellItem2_GetFileTime(IShellItem2* This,REFPROPERTYKEY key,FILETIME *pft) { 9447 return This->lpVtbl->GetFileTime(This,key,pft); 9448 } 9449 static inline HRESULT IShellItem2_GetInt32(IShellItem2* This,REFPROPERTYKEY key,int *pi) { 9450 return This->lpVtbl->GetInt32(This,key,pi); 9451 } 9452 static inline HRESULT IShellItem2_GetString(IShellItem2* This,REFPROPERTYKEY key,LPWSTR *ppsz) { 9453 return This->lpVtbl->GetString(This,key,ppsz); 9454 } 9455 static inline HRESULT IShellItem2_GetUInt32(IShellItem2* This,REFPROPERTYKEY key,ULONG *pui) { 9456 return This->lpVtbl->GetUInt32(This,key,pui); 9457 } 9458 static inline HRESULT IShellItem2_GetUInt64(IShellItem2* This,REFPROPERTYKEY key,ULONGLONG *pull) { 9459 return This->lpVtbl->GetUInt64(This,key,pull); 9460 } 9461 static inline HRESULT IShellItem2_GetBool(IShellItem2* This,REFPROPERTYKEY key,WINBOOL *pf) { 9462 return This->lpVtbl->GetBool(This,key,pf); 9463 } 9464 #endif 9465 #endif 9466 9467 #endif 9468 9469 9470 #endif /* __IShellItem2_INTERFACE_DEFINED__ */ 9471 9472 9473 enum _SIIGBF { 9474 SIIGBF_RESIZETOFIT = 0x0, 9475 SIIGBF_BIGGERSIZEOK = 0x1, 9476 SIIGBF_MEMORYONLY = 0x2, 9477 SIIGBF_ICONONLY = 0x4, 9478 SIIGBF_THUMBNAILONLY = 0x8, 9479 SIIGBF_INCACHEONLY = 0x10, 9480 SIIGBF_CROPTOSQUARE = 0x20, 9481 SIIGBF_WIDETHUMBNAILS = 0x40, 9482 SIIGBF_ICONBACKGROUND = 0x80, 9483 SIIGBF_SCALEUP = 0x100 9484 }; 9485 9486 typedef int SIIGBF; 9487 9488 /***************************************************************************** 9489 * IShellItemImageFactory interface 9490 */ 9491 #ifndef __IShellItemImageFactory_INTERFACE_DEFINED__ 9492 #define __IShellItemImageFactory_INTERFACE_DEFINED__ 9493 9494 DEFINE_GUID(IID_IShellItemImageFactory, 0xbcc18b79, 0xba16, 0x442f, 0x80,0xc4, 0x8a,0x59,0xc3,0x0c,0x46,0x3b); 9495 #if defined(__cplusplus) && !defined(CINTERFACE) 9496 MIDL_INTERFACE("bcc18b79-ba16-442f-80c4-8a59c30c463b") 9497 IShellItemImageFactory : public IUnknown 9498 { 9499 virtual HRESULT STDMETHODCALLTYPE GetImage( 9500 SIZE size, 9501 SIIGBF flags, 9502 HBITMAP *phbm) = 0; 9503 9504 }; 9505 #ifdef __CRT_UUID_DECL 9506 __CRT_UUID_DECL(IShellItemImageFactory, 0xbcc18b79, 0xba16, 0x442f, 0x80,0xc4, 0x8a,0x59,0xc3,0x0c,0x46,0x3b) 9507 #endif 9508 #else 9509 typedef struct IShellItemImageFactoryVtbl { 9510 BEGIN_INTERFACE 9511 9512 /*** IUnknown methods ***/ 9513 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9514 IShellItemImageFactory *This, 9515 REFIID riid, 9516 void **ppvObject); 9517 9518 ULONG (STDMETHODCALLTYPE *AddRef)( 9519 IShellItemImageFactory *This); 9520 9521 ULONG (STDMETHODCALLTYPE *Release)( 9522 IShellItemImageFactory *This); 9523 9524 /*** IShellItemImageFactory methods ***/ 9525 HRESULT (STDMETHODCALLTYPE *GetImage)( 9526 IShellItemImageFactory *This, 9527 SIZE size, 9528 SIIGBF flags, 9529 HBITMAP *phbm); 9530 9531 END_INTERFACE 9532 } IShellItemImageFactoryVtbl; 9533 9534 interface IShellItemImageFactory { 9535 CONST_VTBL IShellItemImageFactoryVtbl* lpVtbl; 9536 }; 9537 9538 #ifdef COBJMACROS 9539 #ifndef WIDL_C_INLINE_WRAPPERS 9540 /*** IUnknown methods ***/ 9541 #define IShellItemImageFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9542 #define IShellItemImageFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 9543 #define IShellItemImageFactory_Release(This) (This)->lpVtbl->Release(This) 9544 /*** IShellItemImageFactory methods ***/ 9545 #define IShellItemImageFactory_GetImage(This,size,flags,phbm) (This)->lpVtbl->GetImage(This,size,flags,phbm) 9546 #else 9547 /*** IUnknown methods ***/ 9548 static inline HRESULT IShellItemImageFactory_QueryInterface(IShellItemImageFactory* This,REFIID riid,void **ppvObject) { 9549 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9550 } 9551 static inline ULONG IShellItemImageFactory_AddRef(IShellItemImageFactory* This) { 9552 return This->lpVtbl->AddRef(This); 9553 } 9554 static inline ULONG IShellItemImageFactory_Release(IShellItemImageFactory* This) { 9555 return This->lpVtbl->Release(This); 9556 } 9557 /*** IShellItemImageFactory methods ***/ 9558 static inline HRESULT IShellItemImageFactory_GetImage(IShellItemImageFactory* This,SIZE size,SIIGBF flags,HBITMAP *phbm) { 9559 return This->lpVtbl->GetImage(This,size,flags,phbm); 9560 } 9561 #endif 9562 #endif 9563 9564 #endif 9565 9566 9567 #endif /* __IShellItemImageFactory_INTERFACE_DEFINED__ */ 9568 9569 9570 /***************************************************************************** 9571 * IUserAccountChangeCallback interface 9572 */ 9573 #ifndef __IUserAccountChangeCallback_INTERFACE_DEFINED__ 9574 #define __IUserAccountChangeCallback_INTERFACE_DEFINED__ 9575 9576 DEFINE_GUID(IID_IUserAccountChangeCallback, 0xa561e69a, 0xb4b8, 0x4113, 0x91,0xa5, 0x64,0xc6,0xbc,0xca,0x34,0x30); 9577 #if defined(__cplusplus) && !defined(CINTERFACE) 9578 MIDL_INTERFACE("a561e69a-b4b8-4113-91a5-64c6bcca3430") 9579 IUserAccountChangeCallback : public IUnknown 9580 { 9581 virtual HRESULT STDMETHODCALLTYPE OnPictureChange( 9582 LPCWSTR pszUserName) = 0; 9583 9584 }; 9585 #ifdef __CRT_UUID_DECL 9586 __CRT_UUID_DECL(IUserAccountChangeCallback, 0xa561e69a, 0xb4b8, 0x4113, 0x91,0xa5, 0x64,0xc6,0xbc,0xca,0x34,0x30) 9587 #endif 9588 #else 9589 typedef struct IUserAccountChangeCallbackVtbl { 9590 BEGIN_INTERFACE 9591 9592 /*** IUnknown methods ***/ 9593 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9594 IUserAccountChangeCallback *This, 9595 REFIID riid, 9596 void **ppvObject); 9597 9598 ULONG (STDMETHODCALLTYPE *AddRef)( 9599 IUserAccountChangeCallback *This); 9600 9601 ULONG (STDMETHODCALLTYPE *Release)( 9602 IUserAccountChangeCallback *This); 9603 9604 /*** IUserAccountChangeCallback methods ***/ 9605 HRESULT (STDMETHODCALLTYPE *OnPictureChange)( 9606 IUserAccountChangeCallback *This, 9607 LPCWSTR pszUserName); 9608 9609 END_INTERFACE 9610 } IUserAccountChangeCallbackVtbl; 9611 9612 interface IUserAccountChangeCallback { 9613 CONST_VTBL IUserAccountChangeCallbackVtbl* lpVtbl; 9614 }; 9615 9616 #ifdef COBJMACROS 9617 #ifndef WIDL_C_INLINE_WRAPPERS 9618 /*** IUnknown methods ***/ 9619 #define IUserAccountChangeCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9620 #define IUserAccountChangeCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 9621 #define IUserAccountChangeCallback_Release(This) (This)->lpVtbl->Release(This) 9622 /*** IUserAccountChangeCallback methods ***/ 9623 #define IUserAccountChangeCallback_OnPictureChange(This,pszUserName) (This)->lpVtbl->OnPictureChange(This,pszUserName) 9624 #else 9625 /*** IUnknown methods ***/ 9626 static inline HRESULT IUserAccountChangeCallback_QueryInterface(IUserAccountChangeCallback* This,REFIID riid,void **ppvObject) { 9627 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9628 } 9629 static inline ULONG IUserAccountChangeCallback_AddRef(IUserAccountChangeCallback* This) { 9630 return This->lpVtbl->AddRef(This); 9631 } 9632 static inline ULONG IUserAccountChangeCallback_Release(IUserAccountChangeCallback* This) { 9633 return This->lpVtbl->Release(This); 9634 } 9635 /*** IUserAccountChangeCallback methods ***/ 9636 static inline HRESULT IUserAccountChangeCallback_OnPictureChange(IUserAccountChangeCallback* This,LPCWSTR pszUserName) { 9637 return This->lpVtbl->OnPictureChange(This,pszUserName); 9638 } 9639 #endif 9640 #endif 9641 9642 #endif 9643 9644 9645 #endif /* __IUserAccountChangeCallback_INTERFACE_DEFINED__ */ 9646 9647 9648 /***************************************************************************** 9649 * IEnumShellItems interface 9650 */ 9651 #ifndef __IEnumShellItems_INTERFACE_DEFINED__ 9652 #define __IEnumShellItems_INTERFACE_DEFINED__ 9653 9654 DEFINE_GUID(IID_IEnumShellItems, 0x70629033, 0xe363, 0x4a28, 0xa5,0x67, 0x0d,0xb7,0x80,0x06,0xe6,0xd7); 9655 #if defined(__cplusplus) && !defined(CINTERFACE) 9656 MIDL_INTERFACE("70629033-e363-4a28-a567-0db78006e6d7") 9657 IEnumShellItems : public IUnknown 9658 { 9659 virtual HRESULT STDMETHODCALLTYPE Next( 9660 ULONG celt, 9661 IShellItem **rgelt, 9662 ULONG *pceltFetched) = 0; 9663 9664 virtual HRESULT STDMETHODCALLTYPE Skip( 9665 ULONG celt) = 0; 9666 9667 virtual HRESULT STDMETHODCALLTYPE Reset( 9668 ) = 0; 9669 9670 virtual HRESULT STDMETHODCALLTYPE Clone( 9671 IEnumShellItems **ppenum) = 0; 9672 9673 }; 9674 #ifdef __CRT_UUID_DECL 9675 __CRT_UUID_DECL(IEnumShellItems, 0x70629033, 0xe363, 0x4a28, 0xa5,0x67, 0x0d,0xb7,0x80,0x06,0xe6,0xd7) 9676 #endif 9677 #else 9678 typedef struct IEnumShellItemsVtbl { 9679 BEGIN_INTERFACE 9680 9681 /*** IUnknown methods ***/ 9682 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9683 IEnumShellItems *This, 9684 REFIID riid, 9685 void **ppvObject); 9686 9687 ULONG (STDMETHODCALLTYPE *AddRef)( 9688 IEnumShellItems *This); 9689 9690 ULONG (STDMETHODCALLTYPE *Release)( 9691 IEnumShellItems *This); 9692 9693 /*** IEnumShellItems methods ***/ 9694 HRESULT (STDMETHODCALLTYPE *Next)( 9695 IEnumShellItems *This, 9696 ULONG celt, 9697 IShellItem **rgelt, 9698 ULONG *pceltFetched); 9699 9700 HRESULT (STDMETHODCALLTYPE *Skip)( 9701 IEnumShellItems *This, 9702 ULONG celt); 9703 9704 HRESULT (STDMETHODCALLTYPE *Reset)( 9705 IEnumShellItems *This); 9706 9707 HRESULT (STDMETHODCALLTYPE *Clone)( 9708 IEnumShellItems *This, 9709 IEnumShellItems **ppenum); 9710 9711 END_INTERFACE 9712 } IEnumShellItemsVtbl; 9713 9714 interface IEnumShellItems { 9715 CONST_VTBL IEnumShellItemsVtbl* lpVtbl; 9716 }; 9717 9718 #ifdef COBJMACROS 9719 #ifndef WIDL_C_INLINE_WRAPPERS 9720 /*** IUnknown methods ***/ 9721 #define IEnumShellItems_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9722 #define IEnumShellItems_AddRef(This) (This)->lpVtbl->AddRef(This) 9723 #define IEnumShellItems_Release(This) (This)->lpVtbl->Release(This) 9724 /*** IEnumShellItems methods ***/ 9725 #define IEnumShellItems_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 9726 #define IEnumShellItems_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 9727 #define IEnumShellItems_Reset(This) (This)->lpVtbl->Reset(This) 9728 #define IEnumShellItems_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 9729 #else 9730 /*** IUnknown methods ***/ 9731 static inline HRESULT IEnumShellItems_QueryInterface(IEnumShellItems* This,REFIID riid,void **ppvObject) { 9732 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9733 } 9734 static inline ULONG IEnumShellItems_AddRef(IEnumShellItems* This) { 9735 return This->lpVtbl->AddRef(This); 9736 } 9737 static inline ULONG IEnumShellItems_Release(IEnumShellItems* This) { 9738 return This->lpVtbl->Release(This); 9739 } 9740 /*** IEnumShellItems methods ***/ 9741 static inline HRESULT IEnumShellItems_Next(IEnumShellItems* This,ULONG celt,IShellItem **rgelt,ULONG *pceltFetched) { 9742 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 9743 } 9744 static inline HRESULT IEnumShellItems_Skip(IEnumShellItems* This,ULONG celt) { 9745 return This->lpVtbl->Skip(This,celt); 9746 } 9747 static inline HRESULT IEnumShellItems_Reset(IEnumShellItems* This) { 9748 return This->lpVtbl->Reset(This); 9749 } 9750 static inline HRESULT IEnumShellItems_Clone(IEnumShellItems* This,IEnumShellItems **ppenum) { 9751 return This->lpVtbl->Clone(This,ppenum); 9752 } 9753 #endif 9754 #endif 9755 9756 #endif 9757 9758 HRESULT STDMETHODCALLTYPE IEnumShellItems_RemoteNext_Proxy( 9759 IEnumShellItems* This, 9760 ULONG celt, 9761 IShellItem **rgelt, 9762 ULONG *pceltFetched); 9763 void __RPC_STUB IEnumShellItems_RemoteNext_Stub( 9764 IRpcStubBuffer* This, 9765 IRpcChannelBuffer* pRpcChannelBuffer, 9766 PRPC_MESSAGE pRpcMessage, 9767 DWORD* pdwStubPhase); 9768 HRESULT CALLBACK IEnumShellItems_Next_Proxy( 9769 IEnumShellItems* This, 9770 ULONG celt, 9771 IShellItem **rgelt, 9772 ULONG *pceltFetched); 9773 HRESULT __RPC_STUB IEnumShellItems_Next_Stub( 9774 IEnumShellItems* This, 9775 ULONG celt, 9776 IShellItem **rgelt, 9777 ULONG *pceltFetched); 9778 9779 #endif /* __IEnumShellItems_INTERFACE_DEFINED__ */ 9780 9781 9782 typedef GUID STGTRANSCONFIRMATION; 9783 typedef GUID *LPSTGTRANSCONFIRMATION; 9784 9785 typedef enum STGOP { 9786 STGOP_MOVE = 1, 9787 STGOP_COPY = 2, 9788 STGOP_SYNC = 3, 9789 STGOP_REMOVE = 5, 9790 STGOP_RENAME = 6, 9791 STGOP_APPLYPROPERTIES = 8, 9792 STGOP_NEW = 10 9793 } STGOP; 9794 9795 enum _TRANSFER_SOURCE_FLAGS { 9796 TSF_NORMAL = 0x0, 9797 TSF_FAIL_EXIST = 0x0, 9798 TSF_RENAME_EXIST = 0x1, 9799 TSF_OVERWRITE_EXIST = 0x2, 9800 TSF_ALLOW_DECRYPTION = 0x4, 9801 TSF_NO_SECURITY = 0x8, 9802 TSF_COPY_CREATION_TIME = 0x10, 9803 TSF_COPY_WRITE_TIME = 0x20, 9804 TSF_USE_FULL_ACCESS = 0x40, 9805 TSF_DELETE_RECYCLE_IF_POSSIBLE = 0x80, 9806 TSF_COPY_HARD_LINK = 0x100, 9807 TSF_COPY_LOCALIZED_NAME = 0x200, 9808 TSF_MOVE_AS_COPY_DELETE = 0x400, 9809 TSF_SUSPEND_SHELLEVENTS = 0x800 9810 }; 9811 9812 typedef DWORD TRANSFER_SOURCE_FLAGS; 9813 9814 #if _WIN32_IE >= _WIN32_IE_IE70 9815 /***************************************************************************** 9816 * ITransferAdviseSink interface 9817 */ 9818 #ifndef __ITransferAdviseSink_INTERFACE_DEFINED__ 9819 #define __ITransferAdviseSink_INTERFACE_DEFINED__ 9820 9821 enum _TRANSFER_ADVISE_STATE { 9822 TS_NONE = 0x0, 9823 TS_PERFORMING = 0x1, 9824 TS_PREPARING = 0x2, 9825 TS_INDETERMINATE = 0x4 9826 }; 9827 9828 typedef DWORD TRANSFER_ADVISE_STATE; 9829 9830 DEFINE_GUID(IID_ITransferAdviseSink, 0xd594d0d8, 0x8da7, 0x457b, 0xb3,0xb4, 0xce,0x5d,0xba,0xac,0x0b,0x88); 9831 #if defined(__cplusplus) && !defined(CINTERFACE) 9832 MIDL_INTERFACE("d594d0d8-8da7-457b-b3b4-ce5dbaac0b88") 9833 ITransferAdviseSink : public IUnknown 9834 { 9835 virtual HRESULT STDMETHODCALLTYPE UpdateProgress( 9836 ULONGLONG ullSizeCurrent, 9837 ULONGLONG ullSizeTotal, 9838 int nFilesCurrent, 9839 int nFilesTotal, 9840 int nFoldersCurrent, 9841 int nFoldersTotal) = 0; 9842 9843 virtual HRESULT STDMETHODCALLTYPE UpdateTransferState( 9844 TRANSFER_ADVISE_STATE ts) = 0; 9845 9846 virtual HRESULT STDMETHODCALLTYPE ConfirmOverwrite( 9847 IShellItem *psiSource, 9848 IShellItem *psiDestParent, 9849 LPCWSTR pszName) = 0; 9850 9851 virtual HRESULT STDMETHODCALLTYPE ConfirmEncryptionLoss( 9852 IShellItem *psiSource) = 0; 9853 9854 virtual HRESULT STDMETHODCALLTYPE FileFailure( 9855 IShellItem *psi, 9856 LPCWSTR pszItem, 9857 HRESULT hrError, 9858 LPWSTR pszRename, 9859 ULONG cchRename) = 0; 9860 9861 virtual HRESULT STDMETHODCALLTYPE SubStreamFailure( 9862 IShellItem *psi, 9863 LPCWSTR pszStreamName, 9864 HRESULT hrError) = 0; 9865 9866 virtual HRESULT STDMETHODCALLTYPE PropertyFailure( 9867 IShellItem *psi, 9868 const PROPERTYKEY *pkey, 9869 HRESULT hrError) = 0; 9870 9871 }; 9872 #ifdef __CRT_UUID_DECL 9873 __CRT_UUID_DECL(ITransferAdviseSink, 0xd594d0d8, 0x8da7, 0x457b, 0xb3,0xb4, 0xce,0x5d,0xba,0xac,0x0b,0x88) 9874 #endif 9875 #else 9876 typedef struct ITransferAdviseSinkVtbl { 9877 BEGIN_INTERFACE 9878 9879 /*** IUnknown methods ***/ 9880 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9881 ITransferAdviseSink *This, 9882 REFIID riid, 9883 void **ppvObject); 9884 9885 ULONG (STDMETHODCALLTYPE *AddRef)( 9886 ITransferAdviseSink *This); 9887 9888 ULONG (STDMETHODCALLTYPE *Release)( 9889 ITransferAdviseSink *This); 9890 9891 /*** ITransferAdviseSink methods ***/ 9892 HRESULT (STDMETHODCALLTYPE *UpdateProgress)( 9893 ITransferAdviseSink *This, 9894 ULONGLONG ullSizeCurrent, 9895 ULONGLONG ullSizeTotal, 9896 int nFilesCurrent, 9897 int nFilesTotal, 9898 int nFoldersCurrent, 9899 int nFoldersTotal); 9900 9901 HRESULT (STDMETHODCALLTYPE *UpdateTransferState)( 9902 ITransferAdviseSink *This, 9903 TRANSFER_ADVISE_STATE ts); 9904 9905 HRESULT (STDMETHODCALLTYPE *ConfirmOverwrite)( 9906 ITransferAdviseSink *This, 9907 IShellItem *psiSource, 9908 IShellItem *psiDestParent, 9909 LPCWSTR pszName); 9910 9911 HRESULT (STDMETHODCALLTYPE *ConfirmEncryptionLoss)( 9912 ITransferAdviseSink *This, 9913 IShellItem *psiSource); 9914 9915 HRESULT (STDMETHODCALLTYPE *FileFailure)( 9916 ITransferAdviseSink *This, 9917 IShellItem *psi, 9918 LPCWSTR pszItem, 9919 HRESULT hrError, 9920 LPWSTR pszRename, 9921 ULONG cchRename); 9922 9923 HRESULT (STDMETHODCALLTYPE *SubStreamFailure)( 9924 ITransferAdviseSink *This, 9925 IShellItem *psi, 9926 LPCWSTR pszStreamName, 9927 HRESULT hrError); 9928 9929 HRESULT (STDMETHODCALLTYPE *PropertyFailure)( 9930 ITransferAdviseSink *This, 9931 IShellItem *psi, 9932 const PROPERTYKEY *pkey, 9933 HRESULT hrError); 9934 9935 END_INTERFACE 9936 } ITransferAdviseSinkVtbl; 9937 9938 interface ITransferAdviseSink { 9939 CONST_VTBL ITransferAdviseSinkVtbl* lpVtbl; 9940 }; 9941 9942 #ifdef COBJMACROS 9943 #ifndef WIDL_C_INLINE_WRAPPERS 9944 /*** IUnknown methods ***/ 9945 #define ITransferAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9946 #define ITransferAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This) 9947 #define ITransferAdviseSink_Release(This) (This)->lpVtbl->Release(This) 9948 /*** ITransferAdviseSink methods ***/ 9949 #define ITransferAdviseSink_UpdateProgress(This,ullSizeCurrent,ullSizeTotal,nFilesCurrent,nFilesTotal,nFoldersCurrent,nFoldersTotal) (This)->lpVtbl->UpdateProgress(This,ullSizeCurrent,ullSizeTotal,nFilesCurrent,nFilesTotal,nFoldersCurrent,nFoldersTotal) 9950 #define ITransferAdviseSink_UpdateTransferState(This,ts) (This)->lpVtbl->UpdateTransferState(This,ts) 9951 #define ITransferAdviseSink_ConfirmOverwrite(This,psiSource,psiDestParent,pszName) (This)->lpVtbl->ConfirmOverwrite(This,psiSource,psiDestParent,pszName) 9952 #define ITransferAdviseSink_ConfirmEncryptionLoss(This,psiSource) (This)->lpVtbl->ConfirmEncryptionLoss(This,psiSource) 9953 #define ITransferAdviseSink_FileFailure(This,psi,pszItem,hrError,pszRename,cchRename) (This)->lpVtbl->FileFailure(This,psi,pszItem,hrError,pszRename,cchRename) 9954 #define ITransferAdviseSink_SubStreamFailure(This,psi,pszStreamName,hrError) (This)->lpVtbl->SubStreamFailure(This,psi,pszStreamName,hrError) 9955 #define ITransferAdviseSink_PropertyFailure(This,psi,pkey,hrError) (This)->lpVtbl->PropertyFailure(This,psi,pkey,hrError) 9956 #else 9957 /*** IUnknown methods ***/ 9958 static inline HRESULT ITransferAdviseSink_QueryInterface(ITransferAdviseSink* This,REFIID riid,void **ppvObject) { 9959 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9960 } 9961 static inline ULONG ITransferAdviseSink_AddRef(ITransferAdviseSink* This) { 9962 return This->lpVtbl->AddRef(This); 9963 } 9964 static inline ULONG ITransferAdviseSink_Release(ITransferAdviseSink* This) { 9965 return This->lpVtbl->Release(This); 9966 } 9967 /*** ITransferAdviseSink methods ***/ 9968 static inline HRESULT ITransferAdviseSink_UpdateProgress(ITransferAdviseSink* This,ULONGLONG ullSizeCurrent,ULONGLONG ullSizeTotal,int nFilesCurrent,int nFilesTotal,int nFoldersCurrent,int nFoldersTotal) { 9969 return This->lpVtbl->UpdateProgress(This,ullSizeCurrent,ullSizeTotal,nFilesCurrent,nFilesTotal,nFoldersCurrent,nFoldersTotal); 9970 } 9971 static inline HRESULT ITransferAdviseSink_UpdateTransferState(ITransferAdviseSink* This,TRANSFER_ADVISE_STATE ts) { 9972 return This->lpVtbl->UpdateTransferState(This,ts); 9973 } 9974 static inline HRESULT ITransferAdviseSink_ConfirmOverwrite(ITransferAdviseSink* This,IShellItem *psiSource,IShellItem *psiDestParent,LPCWSTR pszName) { 9975 return This->lpVtbl->ConfirmOverwrite(This,psiSource,psiDestParent,pszName); 9976 } 9977 static inline HRESULT ITransferAdviseSink_ConfirmEncryptionLoss(ITransferAdviseSink* This,IShellItem *psiSource) { 9978 return This->lpVtbl->ConfirmEncryptionLoss(This,psiSource); 9979 } 9980 static inline HRESULT ITransferAdviseSink_FileFailure(ITransferAdviseSink* This,IShellItem *psi,LPCWSTR pszItem,HRESULT hrError,LPWSTR pszRename,ULONG cchRename) { 9981 return This->lpVtbl->FileFailure(This,psi,pszItem,hrError,pszRename,cchRename); 9982 } 9983 static inline HRESULT ITransferAdviseSink_SubStreamFailure(ITransferAdviseSink* This,IShellItem *psi,LPCWSTR pszStreamName,HRESULT hrError) { 9984 return This->lpVtbl->SubStreamFailure(This,psi,pszStreamName,hrError); 9985 } 9986 static inline HRESULT ITransferAdviseSink_PropertyFailure(ITransferAdviseSink* This,IShellItem *psi,const PROPERTYKEY *pkey,HRESULT hrError) { 9987 return This->lpVtbl->PropertyFailure(This,psi,pkey,hrError); 9988 } 9989 #endif 9990 #endif 9991 9992 #endif 9993 9994 9995 #endif /* __ITransferAdviseSink_INTERFACE_DEFINED__ */ 9996 9997 #endif 9998 9999 #if NTDDI_VERSION >= NTDDI_VISTA 10000 /***************************************************************************** 10001 * ITransferSource interface 10002 */ 10003 #ifndef __ITransferSource_INTERFACE_DEFINED__ 10004 #define __ITransferSource_INTERFACE_DEFINED__ 10005 10006 DEFINE_GUID(IID_ITransferSource, 0x00adb003, 0xbde9, 0x45c6, 0x8e,0x29, 0xd0,0x9f,0x93,0x53,0xe1,0x08); 10007 #if defined(__cplusplus) && !defined(CINTERFACE) 10008 MIDL_INTERFACE("00adb003-bde9-45c6-8e29-d09f9353e108") 10009 ITransferSource : public IUnknown 10010 { 10011 virtual HRESULT STDMETHODCALLTYPE Advise( 10012 ITransferAdviseSink *psink, 10013 DWORD *pdwCookie) = 0; 10014 10015 virtual HRESULT STDMETHODCALLTYPE Unadvise( 10016 DWORD dwCookie) = 0; 10017 10018 virtual HRESULT STDMETHODCALLTYPE SetProperties( 10019 IPropertyChangeArray *pproparray) = 0; 10020 10021 virtual HRESULT STDMETHODCALLTYPE OpenItem( 10022 IShellItem *psi, 10023 TRANSFER_SOURCE_FLAGS flags, 10024 REFIID riid, 10025 void **ppv) = 0; 10026 10027 virtual HRESULT STDMETHODCALLTYPE MoveItem( 10028 IShellItem *psi, 10029 IShellItem *psiParentDst, 10030 LPCWSTR pszNameDst, 10031 TRANSFER_SOURCE_FLAGS flags, 10032 IShellItem **ppsiNew) = 0; 10033 10034 virtual HRESULT STDMETHODCALLTYPE RecycleItem( 10035 IShellItem *psiSource, 10036 IShellItem *psiParentDest, 10037 TRANSFER_SOURCE_FLAGS flags, 10038 IShellItem **ppsiNewDest) = 0; 10039 10040 virtual HRESULT STDMETHODCALLTYPE RemoveItem( 10041 IShellItem *psiSource, 10042 TRANSFER_SOURCE_FLAGS flags) = 0; 10043 10044 virtual HRESULT STDMETHODCALLTYPE RenameItem( 10045 IShellItem *psiSource, 10046 LPCWSTR pszNewName, 10047 TRANSFER_SOURCE_FLAGS flags, 10048 IShellItem **ppsiNewDest) = 0; 10049 10050 virtual HRESULT STDMETHODCALLTYPE LinkItem( 10051 IShellItem *psiSource, 10052 IShellItem *psiParentDest, 10053 LPCWSTR pszNewName, 10054 TRANSFER_SOURCE_FLAGS flags, 10055 IShellItem **ppsiNewDest) = 0; 10056 10057 virtual HRESULT STDMETHODCALLTYPE ApplyPropertiesToItem( 10058 IShellItem *psiSource, 10059 IShellItem **ppsiNew) = 0; 10060 10061 virtual HRESULT STDMETHODCALLTYPE GetDefaultDestinationName( 10062 IShellItem *psiSource, 10063 IShellItem *psiParentDest, 10064 LPWSTR *ppszDestinationName) = 0; 10065 10066 virtual HRESULT STDMETHODCALLTYPE EnterFolder( 10067 IShellItem *psiChildFolderDest) = 0; 10068 10069 virtual HRESULT STDMETHODCALLTYPE LeaveFolder( 10070 IShellItem *psiChildFolderDest) = 0; 10071 10072 }; 10073 #ifdef __CRT_UUID_DECL 10074 __CRT_UUID_DECL(ITransferSource, 0x00adb003, 0xbde9, 0x45c6, 0x8e,0x29, 0xd0,0x9f,0x93,0x53,0xe1,0x08) 10075 #endif 10076 #else 10077 typedef struct ITransferSourceVtbl { 10078 BEGIN_INTERFACE 10079 10080 /*** IUnknown methods ***/ 10081 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10082 ITransferSource *This, 10083 REFIID riid, 10084 void **ppvObject); 10085 10086 ULONG (STDMETHODCALLTYPE *AddRef)( 10087 ITransferSource *This); 10088 10089 ULONG (STDMETHODCALLTYPE *Release)( 10090 ITransferSource *This); 10091 10092 /*** ITransferSource methods ***/ 10093 HRESULT (STDMETHODCALLTYPE *Advise)( 10094 ITransferSource *This, 10095 ITransferAdviseSink *psink, 10096 DWORD *pdwCookie); 10097 10098 HRESULT (STDMETHODCALLTYPE *Unadvise)( 10099 ITransferSource *This, 10100 DWORD dwCookie); 10101 10102 HRESULT (STDMETHODCALLTYPE *SetProperties)( 10103 ITransferSource *This, 10104 IPropertyChangeArray *pproparray); 10105 10106 HRESULT (STDMETHODCALLTYPE *OpenItem)( 10107 ITransferSource *This, 10108 IShellItem *psi, 10109 TRANSFER_SOURCE_FLAGS flags, 10110 REFIID riid, 10111 void **ppv); 10112 10113 HRESULT (STDMETHODCALLTYPE *MoveItem)( 10114 ITransferSource *This, 10115 IShellItem *psi, 10116 IShellItem *psiParentDst, 10117 LPCWSTR pszNameDst, 10118 TRANSFER_SOURCE_FLAGS flags, 10119 IShellItem **ppsiNew); 10120 10121 HRESULT (STDMETHODCALLTYPE *RecycleItem)( 10122 ITransferSource *This, 10123 IShellItem *psiSource, 10124 IShellItem *psiParentDest, 10125 TRANSFER_SOURCE_FLAGS flags, 10126 IShellItem **ppsiNewDest); 10127 10128 HRESULT (STDMETHODCALLTYPE *RemoveItem)( 10129 ITransferSource *This, 10130 IShellItem *psiSource, 10131 TRANSFER_SOURCE_FLAGS flags); 10132 10133 HRESULT (STDMETHODCALLTYPE *RenameItem)( 10134 ITransferSource *This, 10135 IShellItem *psiSource, 10136 LPCWSTR pszNewName, 10137 TRANSFER_SOURCE_FLAGS flags, 10138 IShellItem **ppsiNewDest); 10139 10140 HRESULT (STDMETHODCALLTYPE *LinkItem)( 10141 ITransferSource *This, 10142 IShellItem *psiSource, 10143 IShellItem *psiParentDest, 10144 LPCWSTR pszNewName, 10145 TRANSFER_SOURCE_FLAGS flags, 10146 IShellItem **ppsiNewDest); 10147 10148 HRESULT (STDMETHODCALLTYPE *ApplyPropertiesToItem)( 10149 ITransferSource *This, 10150 IShellItem *psiSource, 10151 IShellItem **ppsiNew); 10152 10153 HRESULT (STDMETHODCALLTYPE *GetDefaultDestinationName)( 10154 ITransferSource *This, 10155 IShellItem *psiSource, 10156 IShellItem *psiParentDest, 10157 LPWSTR *ppszDestinationName); 10158 10159 HRESULT (STDMETHODCALLTYPE *EnterFolder)( 10160 ITransferSource *This, 10161 IShellItem *psiChildFolderDest); 10162 10163 HRESULT (STDMETHODCALLTYPE *LeaveFolder)( 10164 ITransferSource *This, 10165 IShellItem *psiChildFolderDest); 10166 10167 END_INTERFACE 10168 } ITransferSourceVtbl; 10169 10170 interface ITransferSource { 10171 CONST_VTBL ITransferSourceVtbl* lpVtbl; 10172 }; 10173 10174 #ifdef COBJMACROS 10175 #ifndef WIDL_C_INLINE_WRAPPERS 10176 /*** IUnknown methods ***/ 10177 #define ITransferSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10178 #define ITransferSource_AddRef(This) (This)->lpVtbl->AddRef(This) 10179 #define ITransferSource_Release(This) (This)->lpVtbl->Release(This) 10180 /*** ITransferSource methods ***/ 10181 #define ITransferSource_Advise(This,psink,pdwCookie) (This)->lpVtbl->Advise(This,psink,pdwCookie) 10182 #define ITransferSource_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie) 10183 #define ITransferSource_SetProperties(This,pproparray) (This)->lpVtbl->SetProperties(This,pproparray) 10184 #define ITransferSource_OpenItem(This,psi,flags,riid,ppv) (This)->lpVtbl->OpenItem(This,psi,flags,riid,ppv) 10185 #define ITransferSource_MoveItem(This,psi,psiParentDst,pszNameDst,flags,ppsiNew) (This)->lpVtbl->MoveItem(This,psi,psiParentDst,pszNameDst,flags,ppsiNew) 10186 #define ITransferSource_RecycleItem(This,psiSource,psiParentDest,flags,ppsiNewDest) (This)->lpVtbl->RecycleItem(This,psiSource,psiParentDest,flags,ppsiNewDest) 10187 #define ITransferSource_RemoveItem(This,psiSource,flags) (This)->lpVtbl->RemoveItem(This,psiSource,flags) 10188 #define ITransferSource_RenameItem(This,psiSource,pszNewName,flags,ppsiNewDest) (This)->lpVtbl->RenameItem(This,psiSource,pszNewName,flags,ppsiNewDest) 10189 #define ITransferSource_LinkItem(This,psiSource,psiParentDest,pszNewName,flags,ppsiNewDest) (This)->lpVtbl->LinkItem(This,psiSource,psiParentDest,pszNewName,flags,ppsiNewDest) 10190 #define ITransferSource_ApplyPropertiesToItem(This,psiSource,ppsiNew) (This)->lpVtbl->ApplyPropertiesToItem(This,psiSource,ppsiNew) 10191 #define ITransferSource_GetDefaultDestinationName(This,psiSource,psiParentDest,ppszDestinationName) (This)->lpVtbl->GetDefaultDestinationName(This,psiSource,psiParentDest,ppszDestinationName) 10192 #define ITransferSource_EnterFolder(This,psiChildFolderDest) (This)->lpVtbl->EnterFolder(This,psiChildFolderDest) 10193 #define ITransferSource_LeaveFolder(This,psiChildFolderDest) (This)->lpVtbl->LeaveFolder(This,psiChildFolderDest) 10194 #else 10195 /*** IUnknown methods ***/ 10196 static inline HRESULT ITransferSource_QueryInterface(ITransferSource* This,REFIID riid,void **ppvObject) { 10197 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10198 } 10199 static inline ULONG ITransferSource_AddRef(ITransferSource* This) { 10200 return This->lpVtbl->AddRef(This); 10201 } 10202 static inline ULONG ITransferSource_Release(ITransferSource* This) { 10203 return This->lpVtbl->Release(This); 10204 } 10205 /*** ITransferSource methods ***/ 10206 static inline HRESULT ITransferSource_Advise(ITransferSource* This,ITransferAdviseSink *psink,DWORD *pdwCookie) { 10207 return This->lpVtbl->Advise(This,psink,pdwCookie); 10208 } 10209 static inline HRESULT ITransferSource_Unadvise(ITransferSource* This,DWORD dwCookie) { 10210 return This->lpVtbl->Unadvise(This,dwCookie); 10211 } 10212 static inline HRESULT ITransferSource_SetProperties(ITransferSource* This,IPropertyChangeArray *pproparray) { 10213 return This->lpVtbl->SetProperties(This,pproparray); 10214 } 10215 static inline HRESULT ITransferSource_OpenItem(ITransferSource* This,IShellItem *psi,TRANSFER_SOURCE_FLAGS flags,REFIID riid,void **ppv) { 10216 return This->lpVtbl->OpenItem(This,psi,flags,riid,ppv); 10217 } 10218 static inline HRESULT ITransferSource_MoveItem(ITransferSource* This,IShellItem *psi,IShellItem *psiParentDst,LPCWSTR pszNameDst,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNew) { 10219 return This->lpVtbl->MoveItem(This,psi,psiParentDst,pszNameDst,flags,ppsiNew); 10220 } 10221 static inline HRESULT ITransferSource_RecycleItem(ITransferSource* This,IShellItem *psiSource,IShellItem *psiParentDest,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNewDest) { 10222 return This->lpVtbl->RecycleItem(This,psiSource,psiParentDest,flags,ppsiNewDest); 10223 } 10224 static inline HRESULT ITransferSource_RemoveItem(ITransferSource* This,IShellItem *psiSource,TRANSFER_SOURCE_FLAGS flags) { 10225 return This->lpVtbl->RemoveItem(This,psiSource,flags); 10226 } 10227 static inline HRESULT ITransferSource_RenameItem(ITransferSource* This,IShellItem *psiSource,LPCWSTR pszNewName,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNewDest) { 10228 return This->lpVtbl->RenameItem(This,psiSource,pszNewName,flags,ppsiNewDest); 10229 } 10230 static inline HRESULT ITransferSource_LinkItem(ITransferSource* This,IShellItem *psiSource,IShellItem *psiParentDest,LPCWSTR pszNewName,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNewDest) { 10231 return This->lpVtbl->LinkItem(This,psiSource,psiParentDest,pszNewName,flags,ppsiNewDest); 10232 } 10233 static inline HRESULT ITransferSource_ApplyPropertiesToItem(ITransferSource* This,IShellItem *psiSource,IShellItem **ppsiNew) { 10234 return This->lpVtbl->ApplyPropertiesToItem(This,psiSource,ppsiNew); 10235 } 10236 static inline HRESULT ITransferSource_GetDefaultDestinationName(ITransferSource* This,IShellItem *psiSource,IShellItem *psiParentDest,LPWSTR *ppszDestinationName) { 10237 return This->lpVtbl->GetDefaultDestinationName(This,psiSource,psiParentDest,ppszDestinationName); 10238 } 10239 static inline HRESULT ITransferSource_EnterFolder(ITransferSource* This,IShellItem *psiChildFolderDest) { 10240 return This->lpVtbl->EnterFolder(This,psiChildFolderDest); 10241 } 10242 static inline HRESULT ITransferSource_LeaveFolder(ITransferSource* This,IShellItem *psiChildFolderDest) { 10243 return This->lpVtbl->LeaveFolder(This,psiChildFolderDest); 10244 } 10245 #endif 10246 #endif 10247 10248 #endif 10249 10250 10251 #endif /* __ITransferSource_INTERFACE_DEFINED__ */ 10252 10253 #endif 10254 10255 typedef struct SHELL_ITEM_RESOURCE { 10256 GUID guidType; 10257 WCHAR szName[260]; 10258 } SHELL_ITEM_RESOURCE; 10259 10260 /***************************************************************************** 10261 * IEnumResources interface 10262 */ 10263 #ifndef __IEnumResources_INTERFACE_DEFINED__ 10264 #define __IEnumResources_INTERFACE_DEFINED__ 10265 10266 DEFINE_GUID(IID_IEnumResources, 0x2dd81fe3, 0xa83c, 0x4da9, 0xa3,0x30, 0x47,0x24,0x9d,0x34,0x5b,0xa1); 10267 #if defined(__cplusplus) && !defined(CINTERFACE) 10268 MIDL_INTERFACE("2dd81fe3-a83c-4da9-a330-47249d345ba1") 10269 IEnumResources : public IUnknown 10270 { 10271 virtual HRESULT STDMETHODCALLTYPE Next( 10272 ULONG celt, 10273 SHELL_ITEM_RESOURCE *psir, 10274 ULONG *pceltFetched) = 0; 10275 10276 virtual HRESULT STDMETHODCALLTYPE Skip( 10277 ULONG celt) = 0; 10278 10279 virtual HRESULT STDMETHODCALLTYPE Reset( 10280 ) = 0; 10281 10282 virtual HRESULT STDMETHODCALLTYPE Clone( 10283 IEnumResources **ppenumr) = 0; 10284 10285 }; 10286 #ifdef __CRT_UUID_DECL 10287 __CRT_UUID_DECL(IEnumResources, 0x2dd81fe3, 0xa83c, 0x4da9, 0xa3,0x30, 0x47,0x24,0x9d,0x34,0x5b,0xa1) 10288 #endif 10289 #else 10290 typedef struct IEnumResourcesVtbl { 10291 BEGIN_INTERFACE 10292 10293 /*** IUnknown methods ***/ 10294 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10295 IEnumResources *This, 10296 REFIID riid, 10297 void **ppvObject); 10298 10299 ULONG (STDMETHODCALLTYPE *AddRef)( 10300 IEnumResources *This); 10301 10302 ULONG (STDMETHODCALLTYPE *Release)( 10303 IEnumResources *This); 10304 10305 /*** IEnumResources methods ***/ 10306 HRESULT (STDMETHODCALLTYPE *Next)( 10307 IEnumResources *This, 10308 ULONG celt, 10309 SHELL_ITEM_RESOURCE *psir, 10310 ULONG *pceltFetched); 10311 10312 HRESULT (STDMETHODCALLTYPE *Skip)( 10313 IEnumResources *This, 10314 ULONG celt); 10315 10316 HRESULT (STDMETHODCALLTYPE *Reset)( 10317 IEnumResources *This); 10318 10319 HRESULT (STDMETHODCALLTYPE *Clone)( 10320 IEnumResources *This, 10321 IEnumResources **ppenumr); 10322 10323 END_INTERFACE 10324 } IEnumResourcesVtbl; 10325 10326 interface IEnumResources { 10327 CONST_VTBL IEnumResourcesVtbl* lpVtbl; 10328 }; 10329 10330 #ifdef COBJMACROS 10331 #ifndef WIDL_C_INLINE_WRAPPERS 10332 /*** IUnknown methods ***/ 10333 #define IEnumResources_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10334 #define IEnumResources_AddRef(This) (This)->lpVtbl->AddRef(This) 10335 #define IEnumResources_Release(This) (This)->lpVtbl->Release(This) 10336 /*** IEnumResources methods ***/ 10337 #define IEnumResources_Next(This,celt,psir,pceltFetched) (This)->lpVtbl->Next(This,celt,psir,pceltFetched) 10338 #define IEnumResources_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 10339 #define IEnumResources_Reset(This) (This)->lpVtbl->Reset(This) 10340 #define IEnumResources_Clone(This,ppenumr) (This)->lpVtbl->Clone(This,ppenumr) 10341 #else 10342 /*** IUnknown methods ***/ 10343 static inline HRESULT IEnumResources_QueryInterface(IEnumResources* This,REFIID riid,void **ppvObject) { 10344 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10345 } 10346 static inline ULONG IEnumResources_AddRef(IEnumResources* This) { 10347 return This->lpVtbl->AddRef(This); 10348 } 10349 static inline ULONG IEnumResources_Release(IEnumResources* This) { 10350 return This->lpVtbl->Release(This); 10351 } 10352 /*** IEnumResources methods ***/ 10353 static inline HRESULT IEnumResources_Next(IEnumResources* This,ULONG celt,SHELL_ITEM_RESOURCE *psir,ULONG *pceltFetched) { 10354 return This->lpVtbl->Next(This,celt,psir,pceltFetched); 10355 } 10356 static inline HRESULT IEnumResources_Skip(IEnumResources* This,ULONG celt) { 10357 return This->lpVtbl->Skip(This,celt); 10358 } 10359 static inline HRESULT IEnumResources_Reset(IEnumResources* This) { 10360 return This->lpVtbl->Reset(This); 10361 } 10362 static inline HRESULT IEnumResources_Clone(IEnumResources* This,IEnumResources **ppenumr) { 10363 return This->lpVtbl->Clone(This,ppenumr); 10364 } 10365 #endif 10366 #endif 10367 10368 #endif 10369 10370 10371 #endif /* __IEnumResources_INTERFACE_DEFINED__ */ 10372 10373 10374 /***************************************************************************** 10375 * IShellItemResources interface 10376 */ 10377 #ifndef __IShellItemResources_INTERFACE_DEFINED__ 10378 #define __IShellItemResources_INTERFACE_DEFINED__ 10379 10380 DEFINE_GUID(IID_IShellItemResources, 0xff5693be, 0x2ce0, 0x4d48, 0xb5,0xc5, 0x40,0x81,0x7d,0x1a,0xcd,0xb9); 10381 #if defined(__cplusplus) && !defined(CINTERFACE) 10382 MIDL_INTERFACE("ff5693be-2ce0-4d48-b5c5-40817d1acdb9") 10383 IShellItemResources : public IUnknown 10384 { 10385 virtual HRESULT STDMETHODCALLTYPE GetAttributes( 10386 DWORD *pdwAttributes) = 0; 10387 10388 virtual HRESULT STDMETHODCALLTYPE GetSize( 10389 ULONGLONG *pullSize) = 0; 10390 10391 virtual HRESULT STDMETHODCALLTYPE GetTimes( 10392 FILETIME *pftCreation, 10393 FILETIME *pftWrite, 10394 FILETIME *pftAccess) = 0; 10395 10396 virtual HRESULT STDMETHODCALLTYPE SetTimes( 10397 const FILETIME *pftCreation, 10398 const FILETIME *pftWrite, 10399 const FILETIME *pftAccess) = 0; 10400 10401 virtual HRESULT STDMETHODCALLTYPE GetResourceDescription( 10402 const SHELL_ITEM_RESOURCE *pcsir, 10403 LPWSTR *ppszDescription) = 0; 10404 10405 virtual HRESULT STDMETHODCALLTYPE EnumResources( 10406 IEnumResources **ppenumr) = 0; 10407 10408 virtual HRESULT STDMETHODCALLTYPE SupportsResource( 10409 const SHELL_ITEM_RESOURCE *pcsir) = 0; 10410 10411 virtual HRESULT STDMETHODCALLTYPE OpenResource( 10412 const SHELL_ITEM_RESOURCE *pcsir, 10413 REFIID riid, 10414 void **ppv) = 0; 10415 10416 virtual HRESULT STDMETHODCALLTYPE CreateResource( 10417 const SHELL_ITEM_RESOURCE *pcsir, 10418 REFIID riid, 10419 void **ppv) = 0; 10420 10421 virtual HRESULT STDMETHODCALLTYPE MarkForDelete( 10422 ) = 0; 10423 10424 }; 10425 #ifdef __CRT_UUID_DECL 10426 __CRT_UUID_DECL(IShellItemResources, 0xff5693be, 0x2ce0, 0x4d48, 0xb5,0xc5, 0x40,0x81,0x7d,0x1a,0xcd,0xb9) 10427 #endif 10428 #else 10429 typedef struct IShellItemResourcesVtbl { 10430 BEGIN_INTERFACE 10431 10432 /*** IUnknown methods ***/ 10433 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10434 IShellItemResources *This, 10435 REFIID riid, 10436 void **ppvObject); 10437 10438 ULONG (STDMETHODCALLTYPE *AddRef)( 10439 IShellItemResources *This); 10440 10441 ULONG (STDMETHODCALLTYPE *Release)( 10442 IShellItemResources *This); 10443 10444 /*** IShellItemResources methods ***/ 10445 HRESULT (STDMETHODCALLTYPE *GetAttributes)( 10446 IShellItemResources *This, 10447 DWORD *pdwAttributes); 10448 10449 HRESULT (STDMETHODCALLTYPE *GetSize)( 10450 IShellItemResources *This, 10451 ULONGLONG *pullSize); 10452 10453 HRESULT (STDMETHODCALLTYPE *GetTimes)( 10454 IShellItemResources *This, 10455 FILETIME *pftCreation, 10456 FILETIME *pftWrite, 10457 FILETIME *pftAccess); 10458 10459 HRESULT (STDMETHODCALLTYPE *SetTimes)( 10460 IShellItemResources *This, 10461 const FILETIME *pftCreation, 10462 const FILETIME *pftWrite, 10463 const FILETIME *pftAccess); 10464 10465 HRESULT (STDMETHODCALLTYPE *GetResourceDescription)( 10466 IShellItemResources *This, 10467 const SHELL_ITEM_RESOURCE *pcsir, 10468 LPWSTR *ppszDescription); 10469 10470 HRESULT (STDMETHODCALLTYPE *EnumResources)( 10471 IShellItemResources *This, 10472 IEnumResources **ppenumr); 10473 10474 HRESULT (STDMETHODCALLTYPE *SupportsResource)( 10475 IShellItemResources *This, 10476 const SHELL_ITEM_RESOURCE *pcsir); 10477 10478 HRESULT (STDMETHODCALLTYPE *OpenResource)( 10479 IShellItemResources *This, 10480 const SHELL_ITEM_RESOURCE *pcsir, 10481 REFIID riid, 10482 void **ppv); 10483 10484 HRESULT (STDMETHODCALLTYPE *CreateResource)( 10485 IShellItemResources *This, 10486 const SHELL_ITEM_RESOURCE *pcsir, 10487 REFIID riid, 10488 void **ppv); 10489 10490 HRESULT (STDMETHODCALLTYPE *MarkForDelete)( 10491 IShellItemResources *This); 10492 10493 END_INTERFACE 10494 } IShellItemResourcesVtbl; 10495 10496 interface IShellItemResources { 10497 CONST_VTBL IShellItemResourcesVtbl* lpVtbl; 10498 }; 10499 10500 #ifdef COBJMACROS 10501 #ifndef WIDL_C_INLINE_WRAPPERS 10502 /*** IUnknown methods ***/ 10503 #define IShellItemResources_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10504 #define IShellItemResources_AddRef(This) (This)->lpVtbl->AddRef(This) 10505 #define IShellItemResources_Release(This) (This)->lpVtbl->Release(This) 10506 /*** IShellItemResources methods ***/ 10507 #define IShellItemResources_GetAttributes(This,pdwAttributes) (This)->lpVtbl->GetAttributes(This,pdwAttributes) 10508 #define IShellItemResources_GetSize(This,pullSize) (This)->lpVtbl->GetSize(This,pullSize) 10509 #define IShellItemResources_GetTimes(This,pftCreation,pftWrite,pftAccess) (This)->lpVtbl->GetTimes(This,pftCreation,pftWrite,pftAccess) 10510 #define IShellItemResources_SetTimes(This,pftCreation,pftWrite,pftAccess) (This)->lpVtbl->SetTimes(This,pftCreation,pftWrite,pftAccess) 10511 #define IShellItemResources_GetResourceDescription(This,pcsir,ppszDescription) (This)->lpVtbl->GetResourceDescription(This,pcsir,ppszDescription) 10512 #define IShellItemResources_EnumResources(This,ppenumr) (This)->lpVtbl->EnumResources(This,ppenumr) 10513 #define IShellItemResources_SupportsResource(This,pcsir) (This)->lpVtbl->SupportsResource(This,pcsir) 10514 #define IShellItemResources_OpenResource(This,pcsir,riid,ppv) (This)->lpVtbl->OpenResource(This,pcsir,riid,ppv) 10515 #define IShellItemResources_CreateResource(This,pcsir,riid,ppv) (This)->lpVtbl->CreateResource(This,pcsir,riid,ppv) 10516 #define IShellItemResources_MarkForDelete(This) (This)->lpVtbl->MarkForDelete(This) 10517 #else 10518 /*** IUnknown methods ***/ 10519 static inline HRESULT IShellItemResources_QueryInterface(IShellItemResources* This,REFIID riid,void **ppvObject) { 10520 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10521 } 10522 static inline ULONG IShellItemResources_AddRef(IShellItemResources* This) { 10523 return This->lpVtbl->AddRef(This); 10524 } 10525 static inline ULONG IShellItemResources_Release(IShellItemResources* This) { 10526 return This->lpVtbl->Release(This); 10527 } 10528 /*** IShellItemResources methods ***/ 10529 static inline HRESULT IShellItemResources_GetAttributes(IShellItemResources* This,DWORD *pdwAttributes) { 10530 return This->lpVtbl->GetAttributes(This,pdwAttributes); 10531 } 10532 static inline HRESULT IShellItemResources_GetSize(IShellItemResources* This,ULONGLONG *pullSize) { 10533 return This->lpVtbl->GetSize(This,pullSize); 10534 } 10535 static inline HRESULT IShellItemResources_GetTimes(IShellItemResources* This,FILETIME *pftCreation,FILETIME *pftWrite,FILETIME *pftAccess) { 10536 return This->lpVtbl->GetTimes(This,pftCreation,pftWrite,pftAccess); 10537 } 10538 static inline HRESULT IShellItemResources_SetTimes(IShellItemResources* This,const FILETIME *pftCreation,const FILETIME *pftWrite,const FILETIME *pftAccess) { 10539 return This->lpVtbl->SetTimes(This,pftCreation,pftWrite,pftAccess); 10540 } 10541 static inline HRESULT IShellItemResources_GetResourceDescription(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir,LPWSTR *ppszDescription) { 10542 return This->lpVtbl->GetResourceDescription(This,pcsir,ppszDescription); 10543 } 10544 static inline HRESULT IShellItemResources_EnumResources(IShellItemResources* This,IEnumResources **ppenumr) { 10545 return This->lpVtbl->EnumResources(This,ppenumr); 10546 } 10547 static inline HRESULT IShellItemResources_SupportsResource(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir) { 10548 return This->lpVtbl->SupportsResource(This,pcsir); 10549 } 10550 static inline HRESULT IShellItemResources_OpenResource(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir,REFIID riid,void **ppv) { 10551 return This->lpVtbl->OpenResource(This,pcsir,riid,ppv); 10552 } 10553 static inline HRESULT IShellItemResources_CreateResource(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir,REFIID riid,void **ppv) { 10554 return This->lpVtbl->CreateResource(This,pcsir,riid,ppv); 10555 } 10556 static inline HRESULT IShellItemResources_MarkForDelete(IShellItemResources* This) { 10557 return This->lpVtbl->MarkForDelete(This); 10558 } 10559 #endif 10560 #endif 10561 10562 #endif 10563 10564 10565 #endif /* __IShellItemResources_INTERFACE_DEFINED__ */ 10566 10567 10568 /***************************************************************************** 10569 * ITransferDestination interface 10570 */ 10571 #ifndef __ITransferDestination_INTERFACE_DEFINED__ 10572 #define __ITransferDestination_INTERFACE_DEFINED__ 10573 10574 DEFINE_GUID(IID_ITransferDestination, 0x48addd32, 0x3ca5, 0x4124, 0xab,0xe3, 0xb5,0xa7,0x25,0x31,0xb2,0x07); 10575 #if defined(__cplusplus) && !defined(CINTERFACE) 10576 MIDL_INTERFACE("48addd32-3ca5-4124-abe3-b5a72531b207") 10577 ITransferDestination : public IUnknown 10578 { 10579 virtual HRESULT STDMETHODCALLTYPE Advise( 10580 ITransferAdviseSink *psink, 10581 DWORD *pdwCookie) = 0; 10582 10583 virtual HRESULT STDMETHODCALLTYPE Unadvise( 10584 DWORD dwCookie) = 0; 10585 10586 virtual HRESULT STDMETHODCALLTYPE CreateItem( 10587 LPCWSTR pszName, 10588 DWORD dwAttributes, 10589 ULONGLONG ullSize, 10590 TRANSFER_SOURCE_FLAGS flags, 10591 REFIID riidItem, 10592 void **ppvItem, 10593 REFIID riidResources, 10594 void **ppvResources) = 0; 10595 10596 }; 10597 #ifdef __CRT_UUID_DECL 10598 __CRT_UUID_DECL(ITransferDestination, 0x48addd32, 0x3ca5, 0x4124, 0xab,0xe3, 0xb5,0xa7,0x25,0x31,0xb2,0x07) 10599 #endif 10600 #else 10601 typedef struct ITransferDestinationVtbl { 10602 BEGIN_INTERFACE 10603 10604 /*** IUnknown methods ***/ 10605 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10606 ITransferDestination *This, 10607 REFIID riid, 10608 void **ppvObject); 10609 10610 ULONG (STDMETHODCALLTYPE *AddRef)( 10611 ITransferDestination *This); 10612 10613 ULONG (STDMETHODCALLTYPE *Release)( 10614 ITransferDestination *This); 10615 10616 /*** ITransferDestination methods ***/ 10617 HRESULT (STDMETHODCALLTYPE *Advise)( 10618 ITransferDestination *This, 10619 ITransferAdviseSink *psink, 10620 DWORD *pdwCookie); 10621 10622 HRESULT (STDMETHODCALLTYPE *Unadvise)( 10623 ITransferDestination *This, 10624 DWORD dwCookie); 10625 10626 HRESULT (STDMETHODCALLTYPE *CreateItem)( 10627 ITransferDestination *This, 10628 LPCWSTR pszName, 10629 DWORD dwAttributes, 10630 ULONGLONG ullSize, 10631 TRANSFER_SOURCE_FLAGS flags, 10632 REFIID riidItem, 10633 void **ppvItem, 10634 REFIID riidResources, 10635 void **ppvResources); 10636 10637 END_INTERFACE 10638 } ITransferDestinationVtbl; 10639 10640 interface ITransferDestination { 10641 CONST_VTBL ITransferDestinationVtbl* lpVtbl; 10642 }; 10643 10644 #ifdef COBJMACROS 10645 #ifndef WIDL_C_INLINE_WRAPPERS 10646 /*** IUnknown methods ***/ 10647 #define ITransferDestination_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10648 #define ITransferDestination_AddRef(This) (This)->lpVtbl->AddRef(This) 10649 #define ITransferDestination_Release(This) (This)->lpVtbl->Release(This) 10650 /*** ITransferDestination methods ***/ 10651 #define ITransferDestination_Advise(This,psink,pdwCookie) (This)->lpVtbl->Advise(This,psink,pdwCookie) 10652 #define ITransferDestination_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie) 10653 #define ITransferDestination_CreateItem(This,pszName,dwAttributes,ullSize,flags,riidItem,ppvItem,riidResources,ppvResources) (This)->lpVtbl->CreateItem(This,pszName,dwAttributes,ullSize,flags,riidItem,ppvItem,riidResources,ppvResources) 10654 #else 10655 /*** IUnknown methods ***/ 10656 static inline HRESULT ITransferDestination_QueryInterface(ITransferDestination* This,REFIID riid,void **ppvObject) { 10657 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10658 } 10659 static inline ULONG ITransferDestination_AddRef(ITransferDestination* This) { 10660 return This->lpVtbl->AddRef(This); 10661 } 10662 static inline ULONG ITransferDestination_Release(ITransferDestination* This) { 10663 return This->lpVtbl->Release(This); 10664 } 10665 /*** ITransferDestination methods ***/ 10666 static inline HRESULT ITransferDestination_Advise(ITransferDestination* This,ITransferAdviseSink *psink,DWORD *pdwCookie) { 10667 return This->lpVtbl->Advise(This,psink,pdwCookie); 10668 } 10669 static inline HRESULT ITransferDestination_Unadvise(ITransferDestination* This,DWORD dwCookie) { 10670 return This->lpVtbl->Unadvise(This,dwCookie); 10671 } 10672 static inline HRESULT ITransferDestination_CreateItem(ITransferDestination* This,LPCWSTR pszName,DWORD dwAttributes,ULONGLONG ullSize,TRANSFER_SOURCE_FLAGS flags,REFIID riidItem,void **ppvItem,REFIID riidResources,void **ppvResources) { 10673 return This->lpVtbl->CreateItem(This,pszName,dwAttributes,ullSize,flags,riidItem,ppvItem,riidResources,ppvResources); 10674 } 10675 #endif 10676 #endif 10677 10678 #endif 10679 10680 10681 #endif /* __ITransferDestination_INTERFACE_DEFINED__ */ 10682 10683 #if 0 10684 typedef struct _OVERLAPPED { 10685 ULONG_PTR Internal; 10686 ULONG_PTR InternalHigh; 10687 __C89_NAMELESS union { 10688 __C89_NAMELESS struct { 10689 DWORD Offset; 10690 DWORD OffsetHigh; 10691 } __C89_NAMELESSSTRUCTNAME; 10692 PVOID Pointer; 10693 } __C89_NAMELESSUNIONNAME; 10694 HANDLE hEvent; 10695 } OVERLAPPED; 10696 typedef struct _OVERLAPPED *LPOVERLAPPED; 10697 #endif 10698 10699 /***************************************************************************** 10700 * IStreamAsync interface 10701 */ 10702 #ifndef __IStreamAsync_INTERFACE_DEFINED__ 10703 #define __IStreamAsync_INTERFACE_DEFINED__ 10704 10705 DEFINE_GUID(IID_IStreamAsync, 0xfe0b6665, 0xe0ca, 0x49b9, 0xa1,0x78, 0x2b,0x5c,0xb4,0x8d,0x92,0xa5); 10706 #if defined(__cplusplus) && !defined(CINTERFACE) 10707 MIDL_INTERFACE("fe0b6665-e0ca-49b9-a178-2b5cb48d92a5") 10708 IStreamAsync : public IStream 10709 { 10710 virtual HRESULT STDMETHODCALLTYPE ReadAsync( 10711 void *pv, 10712 DWORD cb, 10713 LPDWORD pcbRead, 10714 LPOVERLAPPED lpOverlapped) = 0; 10715 10716 virtual HRESULT STDMETHODCALLTYPE WriteAsync( 10717 const void *lpBuffer, 10718 DWORD cb, 10719 LPDWORD pcbWritten, 10720 LPOVERLAPPED lpOverlapped) = 0; 10721 10722 virtual HRESULT STDMETHODCALLTYPE OverlappedResult( 10723 LPOVERLAPPED lpOverlapped, 10724 LPDWORD lpNumberOfBytesTransferred, 10725 WINBOOL bWait) = 0; 10726 10727 virtual HRESULT STDMETHODCALLTYPE CancelIo( 10728 ) = 0; 10729 10730 }; 10731 #ifdef __CRT_UUID_DECL 10732 __CRT_UUID_DECL(IStreamAsync, 0xfe0b6665, 0xe0ca, 0x49b9, 0xa1,0x78, 0x2b,0x5c,0xb4,0x8d,0x92,0xa5) 10733 #endif 10734 #else 10735 typedef struct IStreamAsyncVtbl { 10736 BEGIN_INTERFACE 10737 10738 /*** IUnknown methods ***/ 10739 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10740 IStreamAsync *This, 10741 REFIID riid, 10742 void **ppvObject); 10743 10744 ULONG (STDMETHODCALLTYPE *AddRef)( 10745 IStreamAsync *This); 10746 10747 ULONG (STDMETHODCALLTYPE *Release)( 10748 IStreamAsync *This); 10749 10750 /*** ISequentialStream methods ***/ 10751 HRESULT (STDMETHODCALLTYPE *Read)( 10752 IStreamAsync *This, 10753 void *pv, 10754 ULONG cb, 10755 ULONG *pcbRead); 10756 10757 HRESULT (STDMETHODCALLTYPE *Write)( 10758 IStreamAsync *This, 10759 const void *pv, 10760 ULONG cb, 10761 ULONG *pcbWritten); 10762 10763 /*** IStream methods ***/ 10764 HRESULT (STDMETHODCALLTYPE *Seek)( 10765 IStreamAsync *This, 10766 LARGE_INTEGER dlibMove, 10767 DWORD dwOrigin, 10768 ULARGE_INTEGER *plibNewPosition); 10769 10770 HRESULT (STDMETHODCALLTYPE *SetSize)( 10771 IStreamAsync *This, 10772 ULARGE_INTEGER libNewSize); 10773 10774 HRESULT (STDMETHODCALLTYPE *CopyTo)( 10775 IStreamAsync *This, 10776 IStream *pstm, 10777 ULARGE_INTEGER cb, 10778 ULARGE_INTEGER *pcbRead, 10779 ULARGE_INTEGER *pcbWritten); 10780 10781 HRESULT (STDMETHODCALLTYPE *Commit)( 10782 IStreamAsync *This, 10783 DWORD grfCommitFlags); 10784 10785 HRESULT (STDMETHODCALLTYPE *Revert)( 10786 IStreamAsync *This); 10787 10788 HRESULT (STDMETHODCALLTYPE *LockRegion)( 10789 IStreamAsync *This, 10790 ULARGE_INTEGER libOffset, 10791 ULARGE_INTEGER cb, 10792 DWORD dwLockType); 10793 10794 HRESULT (STDMETHODCALLTYPE *UnlockRegion)( 10795 IStreamAsync *This, 10796 ULARGE_INTEGER libOffset, 10797 ULARGE_INTEGER cb, 10798 DWORD dwLockType); 10799 10800 HRESULT (STDMETHODCALLTYPE *Stat)( 10801 IStreamAsync *This, 10802 STATSTG *pstatstg, 10803 DWORD grfStatFlag); 10804 10805 HRESULT (STDMETHODCALLTYPE *Clone)( 10806 IStreamAsync *This, 10807 IStream **ppstm); 10808 10809 /*** IStreamAsync methods ***/ 10810 HRESULT (STDMETHODCALLTYPE *ReadAsync)( 10811 IStreamAsync *This, 10812 void *pv, 10813 DWORD cb, 10814 LPDWORD pcbRead, 10815 LPOVERLAPPED lpOverlapped); 10816 10817 HRESULT (STDMETHODCALLTYPE *WriteAsync)( 10818 IStreamAsync *This, 10819 const void *lpBuffer, 10820 DWORD cb, 10821 LPDWORD pcbWritten, 10822 LPOVERLAPPED lpOverlapped); 10823 10824 HRESULT (STDMETHODCALLTYPE *OverlappedResult)( 10825 IStreamAsync *This, 10826 LPOVERLAPPED lpOverlapped, 10827 LPDWORD lpNumberOfBytesTransferred, 10828 WINBOOL bWait); 10829 10830 HRESULT (STDMETHODCALLTYPE *CancelIo)( 10831 IStreamAsync *This); 10832 10833 END_INTERFACE 10834 } IStreamAsyncVtbl; 10835 10836 interface IStreamAsync { 10837 CONST_VTBL IStreamAsyncVtbl* lpVtbl; 10838 }; 10839 10840 #ifdef COBJMACROS 10841 #ifndef WIDL_C_INLINE_WRAPPERS 10842 /*** IUnknown methods ***/ 10843 #define IStreamAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10844 #define IStreamAsync_AddRef(This) (This)->lpVtbl->AddRef(This) 10845 #define IStreamAsync_Release(This) (This)->lpVtbl->Release(This) 10846 /*** ISequentialStream methods ***/ 10847 #define IStreamAsync_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) 10848 #define IStreamAsync_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten) 10849 /*** IStream methods ***/ 10850 #define IStreamAsync_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition) 10851 #define IStreamAsync_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize) 10852 #define IStreamAsync_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten) 10853 #define IStreamAsync_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags) 10854 #define IStreamAsync_Revert(This) (This)->lpVtbl->Revert(This) 10855 #define IStreamAsync_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType) 10856 #define IStreamAsync_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType) 10857 #define IStreamAsync_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag) 10858 #define IStreamAsync_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm) 10859 /*** IStreamAsync methods ***/ 10860 #define IStreamAsync_ReadAsync(This,pv,cb,pcbRead,lpOverlapped) (This)->lpVtbl->ReadAsync(This,pv,cb,pcbRead,lpOverlapped) 10861 #define IStreamAsync_WriteAsync(This,lpBuffer,cb,pcbWritten,lpOverlapped) (This)->lpVtbl->WriteAsync(This,lpBuffer,cb,pcbWritten,lpOverlapped) 10862 #define IStreamAsync_OverlappedResult(This,lpOverlapped,lpNumberOfBytesTransferred,bWait) (This)->lpVtbl->OverlappedResult(This,lpOverlapped,lpNumberOfBytesTransferred,bWait) 10863 #define IStreamAsync_CancelIo(This) (This)->lpVtbl->CancelIo(This) 10864 #else 10865 /*** IUnknown methods ***/ 10866 static inline HRESULT IStreamAsync_QueryInterface(IStreamAsync* This,REFIID riid,void **ppvObject) { 10867 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10868 } 10869 static inline ULONG IStreamAsync_AddRef(IStreamAsync* This) { 10870 return This->lpVtbl->AddRef(This); 10871 } 10872 static inline ULONG IStreamAsync_Release(IStreamAsync* This) { 10873 return This->lpVtbl->Release(This); 10874 } 10875 /*** ISequentialStream methods ***/ 10876 static inline HRESULT IStreamAsync_Read(IStreamAsync* This,void *pv,ULONG cb,ULONG *pcbRead) { 10877 return This->lpVtbl->Read(This,pv,cb,pcbRead); 10878 } 10879 static inline HRESULT IStreamAsync_Write(IStreamAsync* This,const void *pv,ULONG cb,ULONG *pcbWritten) { 10880 return This->lpVtbl->Write(This,pv,cb,pcbWritten); 10881 } 10882 /*** IStream methods ***/ 10883 static inline HRESULT IStreamAsync_Seek(IStreamAsync* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) { 10884 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition); 10885 } 10886 static inline HRESULT IStreamAsync_SetSize(IStreamAsync* This,ULARGE_INTEGER libNewSize) { 10887 return This->lpVtbl->SetSize(This,libNewSize); 10888 } 10889 static inline HRESULT IStreamAsync_CopyTo(IStreamAsync* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) { 10890 return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten); 10891 } 10892 static inline HRESULT IStreamAsync_Commit(IStreamAsync* This,DWORD grfCommitFlags) { 10893 return This->lpVtbl->Commit(This,grfCommitFlags); 10894 } 10895 static inline HRESULT IStreamAsync_Revert(IStreamAsync* This) { 10896 return This->lpVtbl->Revert(This); 10897 } 10898 static inline HRESULT IStreamAsync_LockRegion(IStreamAsync* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { 10899 return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType); 10900 } 10901 static inline HRESULT IStreamAsync_UnlockRegion(IStreamAsync* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { 10902 return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType); 10903 } 10904 static inline HRESULT IStreamAsync_Stat(IStreamAsync* This,STATSTG *pstatstg,DWORD grfStatFlag) { 10905 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag); 10906 } 10907 static inline HRESULT IStreamAsync_Clone(IStreamAsync* This,IStream **ppstm) { 10908 return This->lpVtbl->Clone(This,ppstm); 10909 } 10910 /*** IStreamAsync methods ***/ 10911 static inline HRESULT IStreamAsync_ReadAsync(IStreamAsync* This,void *pv,DWORD cb,LPDWORD pcbRead,LPOVERLAPPED lpOverlapped) { 10912 return This->lpVtbl->ReadAsync(This,pv,cb,pcbRead,lpOverlapped); 10913 } 10914 static inline HRESULT IStreamAsync_WriteAsync(IStreamAsync* This,const void *lpBuffer,DWORD cb,LPDWORD pcbWritten,LPOVERLAPPED lpOverlapped) { 10915 return This->lpVtbl->WriteAsync(This,lpBuffer,cb,pcbWritten,lpOverlapped); 10916 } 10917 static inline HRESULT IStreamAsync_OverlappedResult(IStreamAsync* This,LPOVERLAPPED lpOverlapped,LPDWORD lpNumberOfBytesTransferred,WINBOOL bWait) { 10918 return This->lpVtbl->OverlappedResult(This,lpOverlapped,lpNumberOfBytesTransferred,bWait); 10919 } 10920 static inline HRESULT IStreamAsync_CancelIo(IStreamAsync* This) { 10921 return This->lpVtbl->CancelIo(This); 10922 } 10923 #endif 10924 #endif 10925 10926 #endif 10927 10928 10929 #endif /* __IStreamAsync_INTERFACE_DEFINED__ */ 10930 10931 10932 /***************************************************************************** 10933 * IStreamUnbufferedInfo interface 10934 */ 10935 #ifndef __IStreamUnbufferedInfo_INTERFACE_DEFINED__ 10936 #define __IStreamUnbufferedInfo_INTERFACE_DEFINED__ 10937 10938 DEFINE_GUID(IID_IStreamUnbufferedInfo, 0x8a68fdda, 0x1fdc, 0x4c20, 0x8c,0xeb, 0x41,0x66,0x43,0xb5,0xa6,0x25); 10939 #if defined(__cplusplus) && !defined(CINTERFACE) 10940 MIDL_INTERFACE("8a68fdda-1fdc-4c20-8ceb-416643b5a625") 10941 IStreamUnbufferedInfo : public IUnknown 10942 { 10943 virtual HRESULT STDMETHODCALLTYPE GetSectorSize( 10944 ULONG *pcbSectorSize) = 0; 10945 10946 }; 10947 #ifdef __CRT_UUID_DECL 10948 __CRT_UUID_DECL(IStreamUnbufferedInfo, 0x8a68fdda, 0x1fdc, 0x4c20, 0x8c,0xeb, 0x41,0x66,0x43,0xb5,0xa6,0x25) 10949 #endif 10950 #else 10951 typedef struct IStreamUnbufferedInfoVtbl { 10952 BEGIN_INTERFACE 10953 10954 /*** IUnknown methods ***/ 10955 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10956 IStreamUnbufferedInfo *This, 10957 REFIID riid, 10958 void **ppvObject); 10959 10960 ULONG (STDMETHODCALLTYPE *AddRef)( 10961 IStreamUnbufferedInfo *This); 10962 10963 ULONG (STDMETHODCALLTYPE *Release)( 10964 IStreamUnbufferedInfo *This); 10965 10966 /*** IStreamUnbufferedInfo methods ***/ 10967 HRESULT (STDMETHODCALLTYPE *GetSectorSize)( 10968 IStreamUnbufferedInfo *This, 10969 ULONG *pcbSectorSize); 10970 10971 END_INTERFACE 10972 } IStreamUnbufferedInfoVtbl; 10973 10974 interface IStreamUnbufferedInfo { 10975 CONST_VTBL IStreamUnbufferedInfoVtbl* lpVtbl; 10976 }; 10977 10978 #ifdef COBJMACROS 10979 #ifndef WIDL_C_INLINE_WRAPPERS 10980 /*** IUnknown methods ***/ 10981 #define IStreamUnbufferedInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10982 #define IStreamUnbufferedInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 10983 #define IStreamUnbufferedInfo_Release(This) (This)->lpVtbl->Release(This) 10984 /*** IStreamUnbufferedInfo methods ***/ 10985 #define IStreamUnbufferedInfo_GetSectorSize(This,pcbSectorSize) (This)->lpVtbl->GetSectorSize(This,pcbSectorSize) 10986 #else 10987 /*** IUnknown methods ***/ 10988 static inline HRESULT IStreamUnbufferedInfo_QueryInterface(IStreamUnbufferedInfo* This,REFIID riid,void **ppvObject) { 10989 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10990 } 10991 static inline ULONG IStreamUnbufferedInfo_AddRef(IStreamUnbufferedInfo* This) { 10992 return This->lpVtbl->AddRef(This); 10993 } 10994 static inline ULONG IStreamUnbufferedInfo_Release(IStreamUnbufferedInfo* This) { 10995 return This->lpVtbl->Release(This); 10996 } 10997 /*** IStreamUnbufferedInfo methods ***/ 10998 static inline HRESULT IStreamUnbufferedInfo_GetSectorSize(IStreamUnbufferedInfo* This,ULONG *pcbSectorSize) { 10999 return This->lpVtbl->GetSectorSize(This,pcbSectorSize); 11000 } 11001 #endif 11002 #endif 11003 11004 #endif 11005 11006 11007 #endif /* __IStreamUnbufferedInfo_INTERFACE_DEFINED__ */ 11008 11009 11010 #if _WIN32_IE >= _WIN32_IE_IE70 11011 /***************************************************************************** 11012 * IFileOperationProgressSink interface 11013 */ 11014 #ifndef __IFileOperationProgressSink_INTERFACE_DEFINED__ 11015 #define __IFileOperationProgressSink_INTERFACE_DEFINED__ 11016 11017 DEFINE_GUID(IID_IFileOperationProgressSink, 0x04b0f1a7, 0x9490, 0x44bc, 0x96,0xe1, 0x42,0x96,0xa3,0x12,0x52,0xe2); 11018 #if defined(__cplusplus) && !defined(CINTERFACE) 11019 MIDL_INTERFACE("04b0f1a7-9490-44bc-96e1-4296a31252e2") 11020 IFileOperationProgressSink : public IUnknown 11021 { 11022 virtual HRESULT STDMETHODCALLTYPE StartOperations( 11023 ) = 0; 11024 11025 virtual HRESULT STDMETHODCALLTYPE FinishOperations( 11026 HRESULT hrResult) = 0; 11027 11028 virtual HRESULT STDMETHODCALLTYPE PreRenameItem( 11029 DWORD dwFlags, 11030 IShellItem *psiItem, 11031 LPCWSTR pszNewName) = 0; 11032 11033 virtual HRESULT STDMETHODCALLTYPE PostRenameItem( 11034 DWORD dwFlags, 11035 IShellItem *psiItem, 11036 LPCWSTR pszNewName, 11037 HRESULT hrRename, 11038 IShellItem *psiNewlyCreated) = 0; 11039 11040 virtual HRESULT STDMETHODCALLTYPE PreMoveItem( 11041 DWORD dwFlags, 11042 IShellItem *psiItem, 11043 IShellItem *psiDestinationFolder, 11044 LPCWSTR pszNewName) = 0; 11045 11046 virtual HRESULT STDMETHODCALLTYPE PostMoveItem( 11047 DWORD dwFlags, 11048 IShellItem *psiItem, 11049 IShellItem *psiDestinationFolder, 11050 LPCWSTR pszNewName, 11051 HRESULT hrMove, 11052 IShellItem *psiNewlyCreated) = 0; 11053 11054 virtual HRESULT STDMETHODCALLTYPE PreCopyItem( 11055 DWORD dwFlags, 11056 IShellItem *psiItem, 11057 IShellItem *psiDestinationFolder, 11058 LPCWSTR pszNewName) = 0; 11059 11060 virtual HRESULT STDMETHODCALLTYPE PostCopyItem( 11061 DWORD dwFlags, 11062 IShellItem *psiItem, 11063 IShellItem *psiDestinationFolder, 11064 LPCWSTR pszNewName, 11065 HRESULT hrCopy, 11066 IShellItem *psiNewlyCreated) = 0; 11067 11068 virtual HRESULT STDMETHODCALLTYPE PreDeleteItem( 11069 DWORD dwFlags, 11070 IShellItem *psiItem) = 0; 11071 11072 virtual HRESULT STDMETHODCALLTYPE PostDeleteItem( 11073 DWORD dwFlags, 11074 IShellItem *psiItem, 11075 HRESULT hrDelete, 11076 IShellItem *psiNewlyCreated) = 0; 11077 11078 virtual HRESULT STDMETHODCALLTYPE PreNewItem( 11079 DWORD dwFlags, 11080 IShellItem *psiDestinationFolder, 11081 LPCWSTR pszNewName) = 0; 11082 11083 virtual HRESULT STDMETHODCALLTYPE PostNewItem( 11084 DWORD dwFlags, 11085 IShellItem *psiDestinationFolder, 11086 LPCWSTR pszNewName, 11087 LPCWSTR pszTemplateName, 11088 DWORD dwFileAttributes, 11089 HRESULT hrNew, 11090 IShellItem *psiNewItem) = 0; 11091 11092 virtual HRESULT STDMETHODCALLTYPE UpdateProgress( 11093 UINT iWorkTotal, 11094 UINT iWorkSoFar) = 0; 11095 11096 virtual HRESULT STDMETHODCALLTYPE ResetTimer( 11097 ) = 0; 11098 11099 virtual HRESULT STDMETHODCALLTYPE PauseTimer( 11100 ) = 0; 11101 11102 virtual HRESULT STDMETHODCALLTYPE ResumeTimer( 11103 ) = 0; 11104 11105 }; 11106 #ifdef __CRT_UUID_DECL 11107 __CRT_UUID_DECL(IFileOperationProgressSink, 0x04b0f1a7, 0x9490, 0x44bc, 0x96,0xe1, 0x42,0x96,0xa3,0x12,0x52,0xe2) 11108 #endif 11109 #else 11110 typedef struct IFileOperationProgressSinkVtbl { 11111 BEGIN_INTERFACE 11112 11113 /*** IUnknown methods ***/ 11114 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11115 IFileOperationProgressSink *This, 11116 REFIID riid, 11117 void **ppvObject); 11118 11119 ULONG (STDMETHODCALLTYPE *AddRef)( 11120 IFileOperationProgressSink *This); 11121 11122 ULONG (STDMETHODCALLTYPE *Release)( 11123 IFileOperationProgressSink *This); 11124 11125 /*** IFileOperationProgressSink methods ***/ 11126 HRESULT (STDMETHODCALLTYPE *StartOperations)( 11127 IFileOperationProgressSink *This); 11128 11129 HRESULT (STDMETHODCALLTYPE *FinishOperations)( 11130 IFileOperationProgressSink *This, 11131 HRESULT hrResult); 11132 11133 HRESULT (STDMETHODCALLTYPE *PreRenameItem)( 11134 IFileOperationProgressSink *This, 11135 DWORD dwFlags, 11136 IShellItem *psiItem, 11137 LPCWSTR pszNewName); 11138 11139 HRESULT (STDMETHODCALLTYPE *PostRenameItem)( 11140 IFileOperationProgressSink *This, 11141 DWORD dwFlags, 11142 IShellItem *psiItem, 11143 LPCWSTR pszNewName, 11144 HRESULT hrRename, 11145 IShellItem *psiNewlyCreated); 11146 11147 HRESULT (STDMETHODCALLTYPE *PreMoveItem)( 11148 IFileOperationProgressSink *This, 11149 DWORD dwFlags, 11150 IShellItem *psiItem, 11151 IShellItem *psiDestinationFolder, 11152 LPCWSTR pszNewName); 11153 11154 HRESULT (STDMETHODCALLTYPE *PostMoveItem)( 11155 IFileOperationProgressSink *This, 11156 DWORD dwFlags, 11157 IShellItem *psiItem, 11158 IShellItem *psiDestinationFolder, 11159 LPCWSTR pszNewName, 11160 HRESULT hrMove, 11161 IShellItem *psiNewlyCreated); 11162 11163 HRESULT (STDMETHODCALLTYPE *PreCopyItem)( 11164 IFileOperationProgressSink *This, 11165 DWORD dwFlags, 11166 IShellItem *psiItem, 11167 IShellItem *psiDestinationFolder, 11168 LPCWSTR pszNewName); 11169 11170 HRESULT (STDMETHODCALLTYPE *PostCopyItem)( 11171 IFileOperationProgressSink *This, 11172 DWORD dwFlags, 11173 IShellItem *psiItem, 11174 IShellItem *psiDestinationFolder, 11175 LPCWSTR pszNewName, 11176 HRESULT hrCopy, 11177 IShellItem *psiNewlyCreated); 11178 11179 HRESULT (STDMETHODCALLTYPE *PreDeleteItem)( 11180 IFileOperationProgressSink *This, 11181 DWORD dwFlags, 11182 IShellItem *psiItem); 11183 11184 HRESULT (STDMETHODCALLTYPE *PostDeleteItem)( 11185 IFileOperationProgressSink *This, 11186 DWORD dwFlags, 11187 IShellItem *psiItem, 11188 HRESULT hrDelete, 11189 IShellItem *psiNewlyCreated); 11190 11191 HRESULT (STDMETHODCALLTYPE *PreNewItem)( 11192 IFileOperationProgressSink *This, 11193 DWORD dwFlags, 11194 IShellItem *psiDestinationFolder, 11195 LPCWSTR pszNewName); 11196 11197 HRESULT (STDMETHODCALLTYPE *PostNewItem)( 11198 IFileOperationProgressSink *This, 11199 DWORD dwFlags, 11200 IShellItem *psiDestinationFolder, 11201 LPCWSTR pszNewName, 11202 LPCWSTR pszTemplateName, 11203 DWORD dwFileAttributes, 11204 HRESULT hrNew, 11205 IShellItem *psiNewItem); 11206 11207 HRESULT (STDMETHODCALLTYPE *UpdateProgress)( 11208 IFileOperationProgressSink *This, 11209 UINT iWorkTotal, 11210 UINT iWorkSoFar); 11211 11212 HRESULT (STDMETHODCALLTYPE *ResetTimer)( 11213 IFileOperationProgressSink *This); 11214 11215 HRESULT (STDMETHODCALLTYPE *PauseTimer)( 11216 IFileOperationProgressSink *This); 11217 11218 HRESULT (STDMETHODCALLTYPE *ResumeTimer)( 11219 IFileOperationProgressSink *This); 11220 11221 END_INTERFACE 11222 } IFileOperationProgressSinkVtbl; 11223 11224 interface IFileOperationProgressSink { 11225 CONST_VTBL IFileOperationProgressSinkVtbl* lpVtbl; 11226 }; 11227 11228 #ifdef COBJMACROS 11229 #ifndef WIDL_C_INLINE_WRAPPERS 11230 /*** IUnknown methods ***/ 11231 #define IFileOperationProgressSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11232 #define IFileOperationProgressSink_AddRef(This) (This)->lpVtbl->AddRef(This) 11233 #define IFileOperationProgressSink_Release(This) (This)->lpVtbl->Release(This) 11234 /*** IFileOperationProgressSink methods ***/ 11235 #define IFileOperationProgressSink_StartOperations(This) (This)->lpVtbl->StartOperations(This) 11236 #define IFileOperationProgressSink_FinishOperations(This,hrResult) (This)->lpVtbl->FinishOperations(This,hrResult) 11237 #define IFileOperationProgressSink_PreRenameItem(This,dwFlags,psiItem,pszNewName) (This)->lpVtbl->PreRenameItem(This,dwFlags,psiItem,pszNewName) 11238 #define IFileOperationProgressSink_PostRenameItem(This,dwFlags,psiItem,pszNewName,hrRename,psiNewlyCreated) (This)->lpVtbl->PostRenameItem(This,dwFlags,psiItem,pszNewName,hrRename,psiNewlyCreated) 11239 #define IFileOperationProgressSink_PreMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName) (This)->lpVtbl->PreMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName) 11240 #define IFileOperationProgressSink_PostMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrMove,psiNewlyCreated) (This)->lpVtbl->PostMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrMove,psiNewlyCreated) 11241 #define IFileOperationProgressSink_PreCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName) (This)->lpVtbl->PreCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName) 11242 #define IFileOperationProgressSink_PostCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrCopy,psiNewlyCreated) (This)->lpVtbl->PostCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrCopy,psiNewlyCreated) 11243 #define IFileOperationProgressSink_PreDeleteItem(This,dwFlags,psiItem) (This)->lpVtbl->PreDeleteItem(This,dwFlags,psiItem) 11244 #define IFileOperationProgressSink_PostDeleteItem(This,dwFlags,psiItem,hrDelete,psiNewlyCreated) (This)->lpVtbl->PostDeleteItem(This,dwFlags,psiItem,hrDelete,psiNewlyCreated) 11245 #define IFileOperationProgressSink_PreNewItem(This,dwFlags,psiDestinationFolder,pszNewName) (This)->lpVtbl->PreNewItem(This,dwFlags,psiDestinationFolder,pszNewName) 11246 #define IFileOperationProgressSink_PostNewItem(This,dwFlags,psiDestinationFolder,pszNewName,pszTemplateName,dwFileAttributes,hrNew,psiNewItem) (This)->lpVtbl->PostNewItem(This,dwFlags,psiDestinationFolder,pszNewName,pszTemplateName,dwFileAttributes,hrNew,psiNewItem) 11247 #define IFileOperationProgressSink_UpdateProgress(This,iWorkTotal,iWorkSoFar) (This)->lpVtbl->UpdateProgress(This,iWorkTotal,iWorkSoFar) 11248 #define IFileOperationProgressSink_ResetTimer(This) (This)->lpVtbl->ResetTimer(This) 11249 #define IFileOperationProgressSink_PauseTimer(This) (This)->lpVtbl->PauseTimer(This) 11250 #define IFileOperationProgressSink_ResumeTimer(This) (This)->lpVtbl->ResumeTimer(This) 11251 #else 11252 /*** IUnknown methods ***/ 11253 static inline HRESULT IFileOperationProgressSink_QueryInterface(IFileOperationProgressSink* This,REFIID riid,void **ppvObject) { 11254 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11255 } 11256 static inline ULONG IFileOperationProgressSink_AddRef(IFileOperationProgressSink* This) { 11257 return This->lpVtbl->AddRef(This); 11258 } 11259 static inline ULONG IFileOperationProgressSink_Release(IFileOperationProgressSink* This) { 11260 return This->lpVtbl->Release(This); 11261 } 11262 /*** IFileOperationProgressSink methods ***/ 11263 static inline HRESULT IFileOperationProgressSink_StartOperations(IFileOperationProgressSink* This) { 11264 return This->lpVtbl->StartOperations(This); 11265 } 11266 static inline HRESULT IFileOperationProgressSink_FinishOperations(IFileOperationProgressSink* This,HRESULT hrResult) { 11267 return This->lpVtbl->FinishOperations(This,hrResult); 11268 } 11269 static inline HRESULT IFileOperationProgressSink_PreRenameItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,LPCWSTR pszNewName) { 11270 return This->lpVtbl->PreRenameItem(This,dwFlags,psiItem,pszNewName); 11271 } 11272 static inline HRESULT IFileOperationProgressSink_PostRenameItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,LPCWSTR pszNewName,HRESULT hrRename,IShellItem *psiNewlyCreated) { 11273 return This->lpVtbl->PostRenameItem(This,dwFlags,psiItem,pszNewName,hrRename,psiNewlyCreated); 11274 } 11275 static inline HRESULT IFileOperationProgressSink_PreMoveItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName) { 11276 return This->lpVtbl->PreMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName); 11277 } 11278 static inline HRESULT IFileOperationProgressSink_PostMoveItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName,HRESULT hrMove,IShellItem *psiNewlyCreated) { 11279 return This->lpVtbl->PostMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrMove,psiNewlyCreated); 11280 } 11281 static inline HRESULT IFileOperationProgressSink_PreCopyItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName) { 11282 return This->lpVtbl->PreCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName); 11283 } 11284 static inline HRESULT IFileOperationProgressSink_PostCopyItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName,HRESULT hrCopy,IShellItem *psiNewlyCreated) { 11285 return This->lpVtbl->PostCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrCopy,psiNewlyCreated); 11286 } 11287 static inline HRESULT IFileOperationProgressSink_PreDeleteItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem) { 11288 return This->lpVtbl->PreDeleteItem(This,dwFlags,psiItem); 11289 } 11290 static inline HRESULT IFileOperationProgressSink_PostDeleteItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,HRESULT hrDelete,IShellItem *psiNewlyCreated) { 11291 return This->lpVtbl->PostDeleteItem(This,dwFlags,psiItem,hrDelete,psiNewlyCreated); 11292 } 11293 static inline HRESULT IFileOperationProgressSink_PreNewItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiDestinationFolder,LPCWSTR pszNewName) { 11294 return This->lpVtbl->PreNewItem(This,dwFlags,psiDestinationFolder,pszNewName); 11295 } 11296 static inline HRESULT IFileOperationProgressSink_PostNewItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiDestinationFolder,LPCWSTR pszNewName,LPCWSTR pszTemplateName,DWORD dwFileAttributes,HRESULT hrNew,IShellItem *psiNewItem) { 11297 return This->lpVtbl->PostNewItem(This,dwFlags,psiDestinationFolder,pszNewName,pszTemplateName,dwFileAttributes,hrNew,psiNewItem); 11298 } 11299 static inline HRESULT IFileOperationProgressSink_UpdateProgress(IFileOperationProgressSink* This,UINT iWorkTotal,UINT iWorkSoFar) { 11300 return This->lpVtbl->UpdateProgress(This,iWorkTotal,iWorkSoFar); 11301 } 11302 static inline HRESULT IFileOperationProgressSink_ResetTimer(IFileOperationProgressSink* This) { 11303 return This->lpVtbl->ResetTimer(This); 11304 } 11305 static inline HRESULT IFileOperationProgressSink_PauseTimer(IFileOperationProgressSink* This) { 11306 return This->lpVtbl->PauseTimer(This); 11307 } 11308 static inline HRESULT IFileOperationProgressSink_ResumeTimer(IFileOperationProgressSink* This) { 11309 return This->lpVtbl->ResumeTimer(This); 11310 } 11311 #endif 11312 #endif 11313 11314 #endif 11315 11316 11317 #endif /* __IFileOperationProgressSink_INTERFACE_DEFINED__ */ 11318 11319 #endif 11320 11321 /***************************************************************************** 11322 * IShellItemArray interface 11323 */ 11324 #ifndef __IShellItemArray_INTERFACE_DEFINED__ 11325 #define __IShellItemArray_INTERFACE_DEFINED__ 11326 11327 typedef enum SIATTRIBFLAGS { 11328 SIATTRIBFLAGS_AND = 0x1, 11329 SIATTRIBFLAGS_OR = 0x2, 11330 SIATTRIBFLAGS_APPCOMPAT = 0x3, 11331 SIATTRIBFLAGS_MASK = 0x3, 11332 SIATTRIBFLAGS_ALLITEMS = 0x4000 11333 } SIATTRIBFLAGS; 11334 11335 DEFINE_ENUM_FLAG_OPERATORS(SIATTRIBFLAGS) 11336 11337 DEFINE_GUID(IID_IShellItemArray, 0xb63ea76d, 0x1f85, 0x456f, 0xa1,0x9c, 0x48,0x15,0x9e,0xfa,0x85,0x8b); 11338 #if defined(__cplusplus) && !defined(CINTERFACE) 11339 MIDL_INTERFACE("b63ea76d-1f85-456f-a19c-48159efa858b") 11340 IShellItemArray : public IUnknown 11341 { 11342 virtual HRESULT STDMETHODCALLTYPE BindToHandler( 11343 IBindCtx *pbc, 11344 REFGUID bhid, 11345 REFIID riid, 11346 void **ppvOut) = 0; 11347 11348 virtual HRESULT STDMETHODCALLTYPE GetPropertyStore( 11349 GETPROPERTYSTOREFLAGS flags, 11350 REFIID riid, 11351 void **ppv) = 0; 11352 11353 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionList( 11354 REFPROPERTYKEY keyType, 11355 REFIID riid, 11356 void **ppv) = 0; 11357 11358 virtual HRESULT STDMETHODCALLTYPE GetAttributes( 11359 SIATTRIBFLAGS AttribFlags, 11360 SFGAOF sfgaoMask, 11361 SFGAOF *psfgaoAttribs) = 0; 11362 11363 virtual HRESULT STDMETHODCALLTYPE GetCount( 11364 DWORD *pdwNumItems) = 0; 11365 11366 virtual HRESULT STDMETHODCALLTYPE GetItemAt( 11367 DWORD dwIndex, 11368 IShellItem **ppsi) = 0; 11369 11370 virtual HRESULT STDMETHODCALLTYPE EnumItems( 11371 IEnumShellItems **ppenumShellItems) = 0; 11372 11373 }; 11374 #ifdef __CRT_UUID_DECL 11375 __CRT_UUID_DECL(IShellItemArray, 0xb63ea76d, 0x1f85, 0x456f, 0xa1,0x9c, 0x48,0x15,0x9e,0xfa,0x85,0x8b) 11376 #endif 11377 #else 11378 typedef struct IShellItemArrayVtbl { 11379 BEGIN_INTERFACE 11380 11381 /*** IUnknown methods ***/ 11382 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11383 IShellItemArray *This, 11384 REFIID riid, 11385 void **ppvObject); 11386 11387 ULONG (STDMETHODCALLTYPE *AddRef)( 11388 IShellItemArray *This); 11389 11390 ULONG (STDMETHODCALLTYPE *Release)( 11391 IShellItemArray *This); 11392 11393 /*** IShellItemArray methods ***/ 11394 HRESULT (STDMETHODCALLTYPE *BindToHandler)( 11395 IShellItemArray *This, 11396 IBindCtx *pbc, 11397 REFGUID bhid, 11398 REFIID riid, 11399 void **ppvOut); 11400 11401 HRESULT (STDMETHODCALLTYPE *GetPropertyStore)( 11402 IShellItemArray *This, 11403 GETPROPERTYSTOREFLAGS flags, 11404 REFIID riid, 11405 void **ppv); 11406 11407 HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionList)( 11408 IShellItemArray *This, 11409 REFPROPERTYKEY keyType, 11410 REFIID riid, 11411 void **ppv); 11412 11413 HRESULT (STDMETHODCALLTYPE *GetAttributes)( 11414 IShellItemArray *This, 11415 SIATTRIBFLAGS AttribFlags, 11416 SFGAOF sfgaoMask, 11417 SFGAOF *psfgaoAttribs); 11418 11419 HRESULT (STDMETHODCALLTYPE *GetCount)( 11420 IShellItemArray *This, 11421 DWORD *pdwNumItems); 11422 11423 HRESULT (STDMETHODCALLTYPE *GetItemAt)( 11424 IShellItemArray *This, 11425 DWORD dwIndex, 11426 IShellItem **ppsi); 11427 11428 HRESULT (STDMETHODCALLTYPE *EnumItems)( 11429 IShellItemArray *This, 11430 IEnumShellItems **ppenumShellItems); 11431 11432 END_INTERFACE 11433 } IShellItemArrayVtbl; 11434 11435 interface IShellItemArray { 11436 CONST_VTBL IShellItemArrayVtbl* lpVtbl; 11437 }; 11438 11439 #ifdef COBJMACROS 11440 #ifndef WIDL_C_INLINE_WRAPPERS 11441 /*** IUnknown methods ***/ 11442 #define IShellItemArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11443 #define IShellItemArray_AddRef(This) (This)->lpVtbl->AddRef(This) 11444 #define IShellItemArray_Release(This) (This)->lpVtbl->Release(This) 11445 /*** IShellItemArray methods ***/ 11446 #define IShellItemArray_BindToHandler(This,pbc,bhid,riid,ppvOut) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppvOut) 11447 #define IShellItemArray_GetPropertyStore(This,flags,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,riid,ppv) 11448 #define IShellItemArray_GetPropertyDescriptionList(This,keyType,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv) 11449 #define IShellItemArray_GetAttributes(This,AttribFlags,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,AttribFlags,sfgaoMask,psfgaoAttribs) 11450 #define IShellItemArray_GetCount(This,pdwNumItems) (This)->lpVtbl->GetCount(This,pdwNumItems) 11451 #define IShellItemArray_GetItemAt(This,dwIndex,ppsi) (This)->lpVtbl->GetItemAt(This,dwIndex,ppsi) 11452 #define IShellItemArray_EnumItems(This,ppenumShellItems) (This)->lpVtbl->EnumItems(This,ppenumShellItems) 11453 #else 11454 /*** IUnknown methods ***/ 11455 static inline HRESULT IShellItemArray_QueryInterface(IShellItemArray* This,REFIID riid,void **ppvObject) { 11456 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11457 } 11458 static inline ULONG IShellItemArray_AddRef(IShellItemArray* This) { 11459 return This->lpVtbl->AddRef(This); 11460 } 11461 static inline ULONG IShellItemArray_Release(IShellItemArray* This) { 11462 return This->lpVtbl->Release(This); 11463 } 11464 /*** IShellItemArray methods ***/ 11465 static inline HRESULT IShellItemArray_BindToHandler(IShellItemArray* This,IBindCtx *pbc,REFGUID bhid,REFIID riid,void **ppvOut) { 11466 return This->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppvOut); 11467 } 11468 static inline HRESULT IShellItemArray_GetPropertyStore(IShellItemArray* This,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) { 11469 return This->lpVtbl->GetPropertyStore(This,flags,riid,ppv); 11470 } 11471 static inline HRESULT IShellItemArray_GetPropertyDescriptionList(IShellItemArray* This,REFPROPERTYKEY keyType,REFIID riid,void **ppv) { 11472 return This->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv); 11473 } 11474 static inline HRESULT IShellItemArray_GetAttributes(IShellItemArray* This,SIATTRIBFLAGS AttribFlags,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) { 11475 return This->lpVtbl->GetAttributes(This,AttribFlags,sfgaoMask,psfgaoAttribs); 11476 } 11477 static inline HRESULT IShellItemArray_GetCount(IShellItemArray* This,DWORD *pdwNumItems) { 11478 return This->lpVtbl->GetCount(This,pdwNumItems); 11479 } 11480 static inline HRESULT IShellItemArray_GetItemAt(IShellItemArray* This,DWORD dwIndex,IShellItem **ppsi) { 11481 return This->lpVtbl->GetItemAt(This,dwIndex,ppsi); 11482 } 11483 static inline HRESULT IShellItemArray_EnumItems(IShellItemArray* This,IEnumShellItems **ppenumShellItems) { 11484 return This->lpVtbl->EnumItems(This,ppenumShellItems); 11485 } 11486 #endif 11487 #endif 11488 11489 #endif 11490 11491 11492 #endif /* __IShellItemArray_INTERFACE_DEFINED__ */ 11493 11494 11495 #if _WIN32_IE >= _WIN32_IE_IE70 11496 SHSTDAPI SHCreateShellItemArray(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psf, UINT cidl, PCUITEMID_CHILD_ARRAY ppidl, IShellItemArray **ppsiItemArray); 11497 SHSTDAPI SHCreateShellItemArrayFromDataObject(IDataObject *pdo, REFIID riid, void **ppv); 11498 SHSTDAPI SHCreateShellItemArrayFromIDLists(UINT cidl, PCIDLIST_ABSOLUTE_ARRAY rgpidl, IShellItemArray **ppsiItemArray); 11499 SHSTDAPI SHCreateShellItemArrayFromShellItem(IShellItem *psi, REFIID riid, void **ppv); 11500 #endif 11501 11502 /***************************************************************************** 11503 * IInitializeWithItem interface 11504 */ 11505 #ifndef __IInitializeWithItem_INTERFACE_DEFINED__ 11506 #define __IInitializeWithItem_INTERFACE_DEFINED__ 11507 11508 DEFINE_GUID(IID_IInitializeWithItem, 0x7f73be3f, 0xfb79, 0x493c, 0xa6,0xc7, 0x7e,0xe1,0x4e,0x24,0x58,0x41); 11509 #if defined(__cplusplus) && !defined(CINTERFACE) 11510 MIDL_INTERFACE("7f73be3f-fb79-493c-a6c7-7ee14e245841") 11511 IInitializeWithItem : public IUnknown 11512 { 11513 virtual HRESULT STDMETHODCALLTYPE Initialize( 11514 IShellItem *psi, 11515 DWORD grfMode) = 0; 11516 11517 }; 11518 #ifdef __CRT_UUID_DECL 11519 __CRT_UUID_DECL(IInitializeWithItem, 0x7f73be3f, 0xfb79, 0x493c, 0xa6,0xc7, 0x7e,0xe1,0x4e,0x24,0x58,0x41) 11520 #endif 11521 #else 11522 typedef struct IInitializeWithItemVtbl { 11523 BEGIN_INTERFACE 11524 11525 /*** IUnknown methods ***/ 11526 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11527 IInitializeWithItem *This, 11528 REFIID riid, 11529 void **ppvObject); 11530 11531 ULONG (STDMETHODCALLTYPE *AddRef)( 11532 IInitializeWithItem *This); 11533 11534 ULONG (STDMETHODCALLTYPE *Release)( 11535 IInitializeWithItem *This); 11536 11537 /*** IInitializeWithItem methods ***/ 11538 HRESULT (STDMETHODCALLTYPE *Initialize)( 11539 IInitializeWithItem *This, 11540 IShellItem *psi, 11541 DWORD grfMode); 11542 11543 END_INTERFACE 11544 } IInitializeWithItemVtbl; 11545 11546 interface IInitializeWithItem { 11547 CONST_VTBL IInitializeWithItemVtbl* lpVtbl; 11548 }; 11549 11550 #ifdef COBJMACROS 11551 #ifndef WIDL_C_INLINE_WRAPPERS 11552 /*** IUnknown methods ***/ 11553 #define IInitializeWithItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11554 #define IInitializeWithItem_AddRef(This) (This)->lpVtbl->AddRef(This) 11555 #define IInitializeWithItem_Release(This) (This)->lpVtbl->Release(This) 11556 /*** IInitializeWithItem methods ***/ 11557 #define IInitializeWithItem_Initialize(This,psi,grfMode) (This)->lpVtbl->Initialize(This,psi,grfMode) 11558 #else 11559 /*** IUnknown methods ***/ 11560 static inline HRESULT IInitializeWithItem_QueryInterface(IInitializeWithItem* This,REFIID riid,void **ppvObject) { 11561 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11562 } 11563 static inline ULONG IInitializeWithItem_AddRef(IInitializeWithItem* This) { 11564 return This->lpVtbl->AddRef(This); 11565 } 11566 static inline ULONG IInitializeWithItem_Release(IInitializeWithItem* This) { 11567 return This->lpVtbl->Release(This); 11568 } 11569 /*** IInitializeWithItem methods ***/ 11570 static inline HRESULT IInitializeWithItem_Initialize(IInitializeWithItem* This,IShellItem *psi,DWORD grfMode) { 11571 return This->lpVtbl->Initialize(This,psi,grfMode); 11572 } 11573 #endif 11574 #endif 11575 11576 #endif 11577 11578 11579 #endif /* __IInitializeWithItem_INTERFACE_DEFINED__ */ 11580 11581 11582 /***************************************************************************** 11583 * IObjectWithSelection interface 11584 */ 11585 #ifndef __IObjectWithSelection_INTERFACE_DEFINED__ 11586 #define __IObjectWithSelection_INTERFACE_DEFINED__ 11587 11588 DEFINE_GUID(IID_IObjectWithSelection, 0x1c9cd5bb, 0x98e9, 0x4491, 0xa6,0x0f, 0x31,0xaa,0xcc,0x72,0xb8,0x3c); 11589 #if defined(__cplusplus) && !defined(CINTERFACE) 11590 MIDL_INTERFACE("1c9cd5bb-98e9-4491-a60f-31aacc72b83c") 11591 IObjectWithSelection : public IUnknown 11592 { 11593 virtual HRESULT STDMETHODCALLTYPE SetSelection( 11594 IShellItemArray *psia) = 0; 11595 11596 virtual HRESULT STDMETHODCALLTYPE GetSelection( 11597 REFIID riid, 11598 void **ppv) = 0; 11599 11600 }; 11601 #ifdef __CRT_UUID_DECL 11602 __CRT_UUID_DECL(IObjectWithSelection, 0x1c9cd5bb, 0x98e9, 0x4491, 0xa6,0x0f, 0x31,0xaa,0xcc,0x72,0xb8,0x3c) 11603 #endif 11604 #else 11605 typedef struct IObjectWithSelectionVtbl { 11606 BEGIN_INTERFACE 11607 11608 /*** IUnknown methods ***/ 11609 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11610 IObjectWithSelection *This, 11611 REFIID riid, 11612 void **ppvObject); 11613 11614 ULONG (STDMETHODCALLTYPE *AddRef)( 11615 IObjectWithSelection *This); 11616 11617 ULONG (STDMETHODCALLTYPE *Release)( 11618 IObjectWithSelection *This); 11619 11620 /*** IObjectWithSelection methods ***/ 11621 HRESULT (STDMETHODCALLTYPE *SetSelection)( 11622 IObjectWithSelection *This, 11623 IShellItemArray *psia); 11624 11625 HRESULT (STDMETHODCALLTYPE *GetSelection)( 11626 IObjectWithSelection *This, 11627 REFIID riid, 11628 void **ppv); 11629 11630 END_INTERFACE 11631 } IObjectWithSelectionVtbl; 11632 11633 interface IObjectWithSelection { 11634 CONST_VTBL IObjectWithSelectionVtbl* lpVtbl; 11635 }; 11636 11637 #ifdef COBJMACROS 11638 #ifndef WIDL_C_INLINE_WRAPPERS 11639 /*** IUnknown methods ***/ 11640 #define IObjectWithSelection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11641 #define IObjectWithSelection_AddRef(This) (This)->lpVtbl->AddRef(This) 11642 #define IObjectWithSelection_Release(This) (This)->lpVtbl->Release(This) 11643 /*** IObjectWithSelection methods ***/ 11644 #define IObjectWithSelection_SetSelection(This,psia) (This)->lpVtbl->SetSelection(This,psia) 11645 #define IObjectWithSelection_GetSelection(This,riid,ppv) (This)->lpVtbl->GetSelection(This,riid,ppv) 11646 #else 11647 /*** IUnknown methods ***/ 11648 static inline HRESULT IObjectWithSelection_QueryInterface(IObjectWithSelection* This,REFIID riid,void **ppvObject) { 11649 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11650 } 11651 static inline ULONG IObjectWithSelection_AddRef(IObjectWithSelection* This) { 11652 return This->lpVtbl->AddRef(This); 11653 } 11654 static inline ULONG IObjectWithSelection_Release(IObjectWithSelection* This) { 11655 return This->lpVtbl->Release(This); 11656 } 11657 /*** IObjectWithSelection methods ***/ 11658 static inline HRESULT IObjectWithSelection_SetSelection(IObjectWithSelection* This,IShellItemArray *psia) { 11659 return This->lpVtbl->SetSelection(This,psia); 11660 } 11661 static inline HRESULT IObjectWithSelection_GetSelection(IObjectWithSelection* This,REFIID riid,void **ppv) { 11662 return This->lpVtbl->GetSelection(This,riid,ppv); 11663 } 11664 #endif 11665 #endif 11666 11667 #endif 11668 11669 11670 #endif /* __IObjectWithSelection_INTERFACE_DEFINED__ */ 11671 11672 11673 /***************************************************************************** 11674 * IObjectWithBackReferences interface 11675 */ 11676 #ifndef __IObjectWithBackReferences_INTERFACE_DEFINED__ 11677 #define __IObjectWithBackReferences_INTERFACE_DEFINED__ 11678 11679 DEFINE_GUID(IID_IObjectWithBackReferences, 0x321a6a6a, 0xd61f, 0x4bf3, 0x97,0xae, 0x14,0xbe,0x29,0x86,0xbb,0x36); 11680 #if defined(__cplusplus) && !defined(CINTERFACE) 11681 MIDL_INTERFACE("321a6a6a-d61f-4bf3-97ae-14be2986bb36") 11682 IObjectWithBackReferences : public IUnknown 11683 { 11684 virtual HRESULT STDMETHODCALLTYPE RemoveBackReferences( 11685 ) = 0; 11686 11687 }; 11688 #ifdef __CRT_UUID_DECL 11689 __CRT_UUID_DECL(IObjectWithBackReferences, 0x321a6a6a, 0xd61f, 0x4bf3, 0x97,0xae, 0x14,0xbe,0x29,0x86,0xbb,0x36) 11690 #endif 11691 #else 11692 typedef struct IObjectWithBackReferencesVtbl { 11693 BEGIN_INTERFACE 11694 11695 /*** IUnknown methods ***/ 11696 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11697 IObjectWithBackReferences *This, 11698 REFIID riid, 11699 void **ppvObject); 11700 11701 ULONG (STDMETHODCALLTYPE *AddRef)( 11702 IObjectWithBackReferences *This); 11703 11704 ULONG (STDMETHODCALLTYPE *Release)( 11705 IObjectWithBackReferences *This); 11706 11707 /*** IObjectWithBackReferences methods ***/ 11708 HRESULT (STDMETHODCALLTYPE *RemoveBackReferences)( 11709 IObjectWithBackReferences *This); 11710 11711 END_INTERFACE 11712 } IObjectWithBackReferencesVtbl; 11713 11714 interface IObjectWithBackReferences { 11715 CONST_VTBL IObjectWithBackReferencesVtbl* lpVtbl; 11716 }; 11717 11718 #ifdef COBJMACROS 11719 #ifndef WIDL_C_INLINE_WRAPPERS 11720 /*** IUnknown methods ***/ 11721 #define IObjectWithBackReferences_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11722 #define IObjectWithBackReferences_AddRef(This) (This)->lpVtbl->AddRef(This) 11723 #define IObjectWithBackReferences_Release(This) (This)->lpVtbl->Release(This) 11724 /*** IObjectWithBackReferences methods ***/ 11725 #define IObjectWithBackReferences_RemoveBackReferences(This) (This)->lpVtbl->RemoveBackReferences(This) 11726 #else 11727 /*** IUnknown methods ***/ 11728 static inline HRESULT IObjectWithBackReferences_QueryInterface(IObjectWithBackReferences* This,REFIID riid,void **ppvObject) { 11729 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11730 } 11731 static inline ULONG IObjectWithBackReferences_AddRef(IObjectWithBackReferences* This) { 11732 return This->lpVtbl->AddRef(This); 11733 } 11734 static inline ULONG IObjectWithBackReferences_Release(IObjectWithBackReferences* This) { 11735 return This->lpVtbl->Release(This); 11736 } 11737 /*** IObjectWithBackReferences methods ***/ 11738 static inline HRESULT IObjectWithBackReferences_RemoveBackReferences(IObjectWithBackReferences* This) { 11739 return This->lpVtbl->RemoveBackReferences(This); 11740 } 11741 #endif 11742 #endif 11743 11744 #endif 11745 11746 11747 #endif /* __IObjectWithBackReferences_INTERFACE_DEFINED__ */ 11748 11749 11750 enum _PROPERTYUI_NAME_FLAGS { 11751 PUIFNF_DEFAULT = 0x0, 11752 PUIFNF_MNEMONIC = 0x1 11753 }; 11754 11755 typedef DWORD PROPERTYUI_NAME_FLAGS; 11756 11757 enum _PROPERTYUI_FLAGS { 11758 PUIF_DEFAULT = 0x0, 11759 PUIF_RIGHTALIGN = 0x1, 11760 PUIF_NOLABELININFOTIP = 0x2 11761 }; 11762 11763 typedef DWORD PROPERTYUI_FLAGS; 11764 11765 enum _PROPERTYUI_FORMAT_FLAGS { 11766 PUIFFDF_DEFAULT = 0x0, 11767 PUIFFDF_RIGHTTOLEFT = 0x1, 11768 PUIFFDF_SHORTFORMAT = 0x2, 11769 PUIFFDF_NOTIME = 0x4, 11770 PUIFFDF_FRIENDLYDATE = 0x8 11771 }; 11772 11773 typedef DWORD PROPERTYUI_FORMAT_FLAGS; 11774 11775 /***************************************************************************** 11776 * IPropertyUI interface 11777 */ 11778 #ifndef __IPropertyUI_INTERFACE_DEFINED__ 11779 #define __IPropertyUI_INTERFACE_DEFINED__ 11780 11781 DEFINE_GUID(IID_IPropertyUI, 0x757a7d9f, 0x919a, 0x4118, 0x99,0xd7, 0xdb,0xb2,0x08,0xc8,0xcc,0x66); 11782 #if defined(__cplusplus) && !defined(CINTERFACE) 11783 MIDL_INTERFACE("757a7d9f-919a-4118-99d7-dbb208c8cc66") 11784 IPropertyUI : public IUnknown 11785 { 11786 virtual HRESULT STDMETHODCALLTYPE ParsePropertyName( 11787 LPCWSTR pszName, 11788 FMTID *pfmtid, 11789 PROPID *ppid, 11790 ULONG *pchEaten) = 0; 11791 11792 virtual HRESULT STDMETHODCALLTYPE GetCannonicalName( 11793 REFFMTID fmtid, 11794 PROPID pid, 11795 LPWSTR pwszText, 11796 DWORD cchText) = 0; 11797 11798 virtual HRESULT STDMETHODCALLTYPE GetDisplayName( 11799 REFFMTID fmtid, 11800 PROPID pid, 11801 PROPERTYUI_NAME_FLAGS flags, 11802 LPWSTR pwszText, 11803 DWORD cchText) = 0; 11804 11805 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescription( 11806 REFFMTID fmtid, 11807 PROPID pid, 11808 LPWSTR pwszText, 11809 DWORD cchText) = 0; 11810 11811 virtual HRESULT STDMETHODCALLTYPE GetDefaultWidth( 11812 REFFMTID fmtid, 11813 PROPID pid, 11814 ULONG *pcxChars) = 0; 11815 11816 virtual HRESULT STDMETHODCALLTYPE GetFlags( 11817 REFFMTID fmtid, 11818 PROPID pid, 11819 PROPERTYUI_FLAGS *pflags) = 0; 11820 11821 virtual HRESULT STDMETHODCALLTYPE FormatForDisplay( 11822 REFFMTID fmtid, 11823 PROPID pid, 11824 const PROPVARIANT *ppropvar, 11825 PROPERTYUI_FORMAT_FLAGS puiff, 11826 LPWSTR pwszText, 11827 DWORD cchText) = 0; 11828 11829 virtual HRESULT STDMETHODCALLTYPE GetHelpInfo( 11830 REFFMTID fmtid, 11831 PROPID pid, 11832 LPWSTR pwszHelpFile, 11833 DWORD cch, 11834 UINT *puHelpID) = 0; 11835 11836 }; 11837 #ifdef __CRT_UUID_DECL 11838 __CRT_UUID_DECL(IPropertyUI, 0x757a7d9f, 0x919a, 0x4118, 0x99,0xd7, 0xdb,0xb2,0x08,0xc8,0xcc,0x66) 11839 #endif 11840 #else 11841 typedef struct IPropertyUIVtbl { 11842 BEGIN_INTERFACE 11843 11844 /*** IUnknown methods ***/ 11845 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11846 IPropertyUI *This, 11847 REFIID riid, 11848 void **ppvObject); 11849 11850 ULONG (STDMETHODCALLTYPE *AddRef)( 11851 IPropertyUI *This); 11852 11853 ULONG (STDMETHODCALLTYPE *Release)( 11854 IPropertyUI *This); 11855 11856 /*** IPropertyUI methods ***/ 11857 HRESULT (STDMETHODCALLTYPE *ParsePropertyName)( 11858 IPropertyUI *This, 11859 LPCWSTR pszName, 11860 FMTID *pfmtid, 11861 PROPID *ppid, 11862 ULONG *pchEaten); 11863 11864 HRESULT (STDMETHODCALLTYPE *GetCannonicalName)( 11865 IPropertyUI *This, 11866 REFFMTID fmtid, 11867 PROPID pid, 11868 LPWSTR pwszText, 11869 DWORD cchText); 11870 11871 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 11872 IPropertyUI *This, 11873 REFFMTID fmtid, 11874 PROPID pid, 11875 PROPERTYUI_NAME_FLAGS flags, 11876 LPWSTR pwszText, 11877 DWORD cchText); 11878 11879 HRESULT (STDMETHODCALLTYPE *GetPropertyDescription)( 11880 IPropertyUI *This, 11881 REFFMTID fmtid, 11882 PROPID pid, 11883 LPWSTR pwszText, 11884 DWORD cchText); 11885 11886 HRESULT (STDMETHODCALLTYPE *GetDefaultWidth)( 11887 IPropertyUI *This, 11888 REFFMTID fmtid, 11889 PROPID pid, 11890 ULONG *pcxChars); 11891 11892 HRESULT (STDMETHODCALLTYPE *GetFlags)( 11893 IPropertyUI *This, 11894 REFFMTID fmtid, 11895 PROPID pid, 11896 PROPERTYUI_FLAGS *pflags); 11897 11898 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)( 11899 IPropertyUI *This, 11900 REFFMTID fmtid, 11901 PROPID pid, 11902 const PROPVARIANT *ppropvar, 11903 PROPERTYUI_FORMAT_FLAGS puiff, 11904 LPWSTR pwszText, 11905 DWORD cchText); 11906 11907 HRESULT (STDMETHODCALLTYPE *GetHelpInfo)( 11908 IPropertyUI *This, 11909 REFFMTID fmtid, 11910 PROPID pid, 11911 LPWSTR pwszHelpFile, 11912 DWORD cch, 11913 UINT *puHelpID); 11914 11915 END_INTERFACE 11916 } IPropertyUIVtbl; 11917 11918 interface IPropertyUI { 11919 CONST_VTBL IPropertyUIVtbl* lpVtbl; 11920 }; 11921 11922 #ifdef COBJMACROS 11923 #ifndef WIDL_C_INLINE_WRAPPERS 11924 /*** IUnknown methods ***/ 11925 #define IPropertyUI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11926 #define IPropertyUI_AddRef(This) (This)->lpVtbl->AddRef(This) 11927 #define IPropertyUI_Release(This) (This)->lpVtbl->Release(This) 11928 /*** IPropertyUI methods ***/ 11929 #define IPropertyUI_ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten) (This)->lpVtbl->ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten) 11930 #define IPropertyUI_GetCannonicalName(This,fmtid,pid,pwszText,cchText) (This)->lpVtbl->GetCannonicalName(This,fmtid,pid,pwszText,cchText) 11931 #define IPropertyUI_GetDisplayName(This,fmtid,pid,flags,pwszText,cchText) (This)->lpVtbl->GetDisplayName(This,fmtid,pid,flags,pwszText,cchText) 11932 #define IPropertyUI_GetPropertyDescription(This,fmtid,pid,pwszText,cchText) (This)->lpVtbl->GetPropertyDescription(This,fmtid,pid,pwszText,cchText) 11933 #define IPropertyUI_GetDefaultWidth(This,fmtid,pid,pcxChars) (This)->lpVtbl->GetDefaultWidth(This,fmtid,pid,pcxChars) 11934 #define IPropertyUI_GetFlags(This,fmtid,pid,pflags) (This)->lpVtbl->GetFlags(This,fmtid,pid,pflags) 11935 #define IPropertyUI_FormatForDisplay(This,fmtid,pid,ppropvar,puiff,pwszText,cchText) (This)->lpVtbl->FormatForDisplay(This,fmtid,pid,ppropvar,puiff,pwszText,cchText) 11936 #define IPropertyUI_GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID) (This)->lpVtbl->GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID) 11937 #else 11938 /*** IUnknown methods ***/ 11939 static inline HRESULT IPropertyUI_QueryInterface(IPropertyUI* This,REFIID riid,void **ppvObject) { 11940 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11941 } 11942 static inline ULONG IPropertyUI_AddRef(IPropertyUI* This) { 11943 return This->lpVtbl->AddRef(This); 11944 } 11945 static inline ULONG IPropertyUI_Release(IPropertyUI* This) { 11946 return This->lpVtbl->Release(This); 11947 } 11948 /*** IPropertyUI methods ***/ 11949 static inline HRESULT IPropertyUI_ParsePropertyName(IPropertyUI* This,LPCWSTR pszName,FMTID *pfmtid,PROPID *ppid,ULONG *pchEaten) { 11950 return This->lpVtbl->ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten); 11951 } 11952 static inline HRESULT IPropertyUI_GetCannonicalName(IPropertyUI* This,REFFMTID fmtid,PROPID pid,LPWSTR pwszText,DWORD cchText) { 11953 return This->lpVtbl->GetCannonicalName(This,fmtid,pid,pwszText,cchText); 11954 } 11955 static inline HRESULT IPropertyUI_GetDisplayName(IPropertyUI* This,REFFMTID fmtid,PROPID pid,PROPERTYUI_NAME_FLAGS flags,LPWSTR pwszText,DWORD cchText) { 11956 return This->lpVtbl->GetDisplayName(This,fmtid,pid,flags,pwszText,cchText); 11957 } 11958 static inline HRESULT IPropertyUI_GetPropertyDescription(IPropertyUI* This,REFFMTID fmtid,PROPID pid,LPWSTR pwszText,DWORD cchText) { 11959 return This->lpVtbl->GetPropertyDescription(This,fmtid,pid,pwszText,cchText); 11960 } 11961 static inline HRESULT IPropertyUI_GetDefaultWidth(IPropertyUI* This,REFFMTID fmtid,PROPID pid,ULONG *pcxChars) { 11962 return This->lpVtbl->GetDefaultWidth(This,fmtid,pid,pcxChars); 11963 } 11964 static inline HRESULT IPropertyUI_GetFlags(IPropertyUI* This,REFFMTID fmtid,PROPID pid,PROPERTYUI_FLAGS *pflags) { 11965 return This->lpVtbl->GetFlags(This,fmtid,pid,pflags); 11966 } 11967 static inline HRESULT IPropertyUI_FormatForDisplay(IPropertyUI* This,REFFMTID fmtid,PROPID pid,const PROPVARIANT *ppropvar,PROPERTYUI_FORMAT_FLAGS puiff,LPWSTR pwszText,DWORD cchText) { 11968 return This->lpVtbl->FormatForDisplay(This,fmtid,pid,ppropvar,puiff,pwszText,cchText); 11969 } 11970 static inline HRESULT IPropertyUI_GetHelpInfo(IPropertyUI* This,REFFMTID fmtid,PROPID pid,LPWSTR pwszHelpFile,DWORD cch,UINT *puHelpID) { 11971 return This->lpVtbl->GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID); 11972 } 11973 #endif 11974 #endif 11975 11976 #endif 11977 11978 11979 #endif /* __IPropertyUI_INTERFACE_DEFINED__ */ 11980 11981 11982 #if _WIN32_IE >= _WIN32_IE_IE70 11983 SHSTDAPI SHRemovePersonalPropertyValues(IShellItemArray *psia); 11984 SHSTDAPI SHAddDefaultPropertiesByExt(PCWSTR pszExt, IPropertyStore *pPropStore); 11985 SHSTDAPI SHCreateDefaultPropertiesOp(IShellItem *psi, IFileOperation **ppFileOp); 11986 SHSTDAPI SHSetDefaultProperties(HWND hwnd, IShellItem *psi, DWORD dwFileOpFlags, IFileOperationProgressSink *pfops); 11987 #endif 11988 11989 /***************************************************************************** 11990 * ICategoryProvider interface 11991 */ 11992 #ifndef __ICategoryProvider_INTERFACE_DEFINED__ 11993 #define __ICategoryProvider_INTERFACE_DEFINED__ 11994 11995 DEFINE_GUID(IID_ICategoryProvider, 0x9af64809, 0x5864, 0x4c26, 0xa7,0x20, 0xc1,0xf7,0x8c,0x08,0x6e,0xe3); 11996 #if defined(__cplusplus) && !defined(CINTERFACE) 11997 MIDL_INTERFACE("9af64809-5864-4c26-a720-c1f78c086ee3") 11998 ICategoryProvider : public IUnknown 11999 { 12000 virtual HRESULT STDMETHODCALLTYPE CanCategorizeOnSCID( 12001 const SHCOLUMNID *pscid) = 0; 12002 12003 virtual HRESULT STDMETHODCALLTYPE GetDefaultCategory( 12004 GUID *pguid, 12005 SHCOLUMNID *pscid) = 0; 12006 12007 virtual HRESULT STDMETHODCALLTYPE GetCategoryForSCID( 12008 const SHCOLUMNID *pscid, 12009 GUID *pguid) = 0; 12010 12011 virtual HRESULT STDMETHODCALLTYPE EnumCategories( 12012 IEnumGUID **penum) = 0; 12013 12014 virtual HRESULT STDMETHODCALLTYPE GetCategoryName( 12015 const GUID *pguid, 12016 LPWSTR pszName, 12017 UINT cch) = 0; 12018 12019 virtual HRESULT STDMETHODCALLTYPE CreateCategory( 12020 const GUID *pguid, 12021 REFIID riid, 12022 void **ppv) = 0; 12023 12024 }; 12025 #ifdef __CRT_UUID_DECL 12026 __CRT_UUID_DECL(ICategoryProvider, 0x9af64809, 0x5864, 0x4c26, 0xa7,0x20, 0xc1,0xf7,0x8c,0x08,0x6e,0xe3) 12027 #endif 12028 #else 12029 typedef struct ICategoryProviderVtbl { 12030 BEGIN_INTERFACE 12031 12032 /*** IUnknown methods ***/ 12033 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12034 ICategoryProvider *This, 12035 REFIID riid, 12036 void **ppvObject); 12037 12038 ULONG (STDMETHODCALLTYPE *AddRef)( 12039 ICategoryProvider *This); 12040 12041 ULONG (STDMETHODCALLTYPE *Release)( 12042 ICategoryProvider *This); 12043 12044 /*** ICategoryProvider methods ***/ 12045 HRESULT (STDMETHODCALLTYPE *CanCategorizeOnSCID)( 12046 ICategoryProvider *This, 12047 const SHCOLUMNID *pscid); 12048 12049 HRESULT (STDMETHODCALLTYPE *GetDefaultCategory)( 12050 ICategoryProvider *This, 12051 GUID *pguid, 12052 SHCOLUMNID *pscid); 12053 12054 HRESULT (STDMETHODCALLTYPE *GetCategoryForSCID)( 12055 ICategoryProvider *This, 12056 const SHCOLUMNID *pscid, 12057 GUID *pguid); 12058 12059 HRESULT (STDMETHODCALLTYPE *EnumCategories)( 12060 ICategoryProvider *This, 12061 IEnumGUID **penum); 12062 12063 HRESULT (STDMETHODCALLTYPE *GetCategoryName)( 12064 ICategoryProvider *This, 12065 const GUID *pguid, 12066 LPWSTR pszName, 12067 UINT cch); 12068 12069 HRESULT (STDMETHODCALLTYPE *CreateCategory)( 12070 ICategoryProvider *This, 12071 const GUID *pguid, 12072 REFIID riid, 12073 void **ppv); 12074 12075 END_INTERFACE 12076 } ICategoryProviderVtbl; 12077 12078 interface ICategoryProvider { 12079 CONST_VTBL ICategoryProviderVtbl* lpVtbl; 12080 }; 12081 12082 #ifdef COBJMACROS 12083 #ifndef WIDL_C_INLINE_WRAPPERS 12084 /*** IUnknown methods ***/ 12085 #define ICategoryProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12086 #define ICategoryProvider_AddRef(This) (This)->lpVtbl->AddRef(This) 12087 #define ICategoryProvider_Release(This) (This)->lpVtbl->Release(This) 12088 /*** ICategoryProvider methods ***/ 12089 #define ICategoryProvider_CanCategorizeOnSCID(This,pscid) (This)->lpVtbl->CanCategorizeOnSCID(This,pscid) 12090 #define ICategoryProvider_GetDefaultCategory(This,pguid,pscid) (This)->lpVtbl->GetDefaultCategory(This,pguid,pscid) 12091 #define ICategoryProvider_GetCategoryForSCID(This,pscid,pguid) (This)->lpVtbl->GetCategoryForSCID(This,pscid,pguid) 12092 #define ICategoryProvider_EnumCategories(This,penum) (This)->lpVtbl->EnumCategories(This,penum) 12093 #define ICategoryProvider_GetCategoryName(This,pguid,pszName,cch) (This)->lpVtbl->GetCategoryName(This,pguid,pszName,cch) 12094 #define ICategoryProvider_CreateCategory(This,pguid,riid,ppv) (This)->lpVtbl->CreateCategory(This,pguid,riid,ppv) 12095 #else 12096 /*** IUnknown methods ***/ 12097 static inline HRESULT ICategoryProvider_QueryInterface(ICategoryProvider* This,REFIID riid,void **ppvObject) { 12098 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12099 } 12100 static inline ULONG ICategoryProvider_AddRef(ICategoryProvider* This) { 12101 return This->lpVtbl->AddRef(This); 12102 } 12103 static inline ULONG ICategoryProvider_Release(ICategoryProvider* This) { 12104 return This->lpVtbl->Release(This); 12105 } 12106 /*** ICategoryProvider methods ***/ 12107 static inline HRESULT ICategoryProvider_CanCategorizeOnSCID(ICategoryProvider* This,const SHCOLUMNID *pscid) { 12108 return This->lpVtbl->CanCategorizeOnSCID(This,pscid); 12109 } 12110 static inline HRESULT ICategoryProvider_GetDefaultCategory(ICategoryProvider* This,GUID *pguid,SHCOLUMNID *pscid) { 12111 return This->lpVtbl->GetDefaultCategory(This,pguid,pscid); 12112 } 12113 static inline HRESULT ICategoryProvider_GetCategoryForSCID(ICategoryProvider* This,const SHCOLUMNID *pscid,GUID *pguid) { 12114 return This->lpVtbl->GetCategoryForSCID(This,pscid,pguid); 12115 } 12116 static inline HRESULT ICategoryProvider_EnumCategories(ICategoryProvider* This,IEnumGUID **penum) { 12117 return This->lpVtbl->EnumCategories(This,penum); 12118 } 12119 static inline HRESULT ICategoryProvider_GetCategoryName(ICategoryProvider* This,const GUID *pguid,LPWSTR pszName,UINT cch) { 12120 return This->lpVtbl->GetCategoryName(This,pguid,pszName,cch); 12121 } 12122 static inline HRESULT ICategoryProvider_CreateCategory(ICategoryProvider* This,const GUID *pguid,REFIID riid,void **ppv) { 12123 return This->lpVtbl->CreateCategory(This,pguid,riid,ppv); 12124 } 12125 #endif 12126 #endif 12127 12128 #endif 12129 12130 12131 #endif /* __ICategoryProvider_INTERFACE_DEFINED__ */ 12132 12133 12134 typedef enum CATEGORYINFO_FLAGS { 12135 CATINFO_NORMAL = 0x0, 12136 CATINFO_COLLAPSED = 0x1, 12137 CATINFO_HIDDEN = 0x2, 12138 CATINFO_EXPANDED = 0x4, 12139 CATINFO_NOHEADER = 0x8, 12140 CATINFO_NOTCOLLAPSIBLE = 0x10, 12141 CATINFO_NOHEADERCOUNT = 0x20, 12142 CATINFO_SUBSETTED = 0x40 12143 } CATEGORYINFO_FLAGS; 12144 12145 DEFINE_ENUM_FLAG_OPERATORS(CATEGORYINFO_FLAGS) 12146 12147 typedef enum CATSORT_FLAGS { 12148 CATSORT_DEFAULT = 0x0, 12149 CATSORT_NAME = 0x1 12150 } CATSORT_FLAGS; 12151 12152 DEFINE_ENUM_FLAG_OPERATORS(CATSORT_FLAGS) 12153 12154 typedef struct CATEGORY_INFO { 12155 CATEGORYINFO_FLAGS cif; 12156 WCHAR wszName[260]; 12157 } CATEGORY_INFO; 12158 12159 /***************************************************************************** 12160 * ICategorizer interface 12161 */ 12162 #ifndef __ICategorizer_INTERFACE_DEFINED__ 12163 #define __ICategorizer_INTERFACE_DEFINED__ 12164 12165 DEFINE_GUID(IID_ICategorizer, 0xa3b14589, 0x9174, 0x49a8, 0x89,0xa3, 0x06,0xa1,0xae,0x2b,0x9b,0xa7); 12166 #if defined(__cplusplus) && !defined(CINTERFACE) 12167 MIDL_INTERFACE("a3b14589-9174-49a8-89a3-06a1ae2b9ba7") 12168 ICategorizer : public IUnknown 12169 { 12170 virtual HRESULT STDMETHODCALLTYPE GetDescription( 12171 LPWSTR pszDesc, 12172 UINT cch) = 0; 12173 12174 virtual HRESULT STDMETHODCALLTYPE GetCategory( 12175 UINT cidl, 12176 PCUITEMID_CHILD_ARRAY apidl, 12177 DWORD *rgCategoryIds) = 0; 12178 12179 virtual HRESULT STDMETHODCALLTYPE GetCategoryInfo( 12180 DWORD dwCategoryId, 12181 CATEGORY_INFO *pci) = 0; 12182 12183 virtual HRESULT STDMETHODCALLTYPE CompareCategory( 12184 CATSORT_FLAGS csfFlags, 12185 DWORD dwCategoryId1, 12186 DWORD dwCategoryId2) = 0; 12187 12188 }; 12189 #ifdef __CRT_UUID_DECL 12190 __CRT_UUID_DECL(ICategorizer, 0xa3b14589, 0x9174, 0x49a8, 0x89,0xa3, 0x06,0xa1,0xae,0x2b,0x9b,0xa7) 12191 #endif 12192 #else 12193 typedef struct ICategorizerVtbl { 12194 BEGIN_INTERFACE 12195 12196 /*** IUnknown methods ***/ 12197 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12198 ICategorizer *This, 12199 REFIID riid, 12200 void **ppvObject); 12201 12202 ULONG (STDMETHODCALLTYPE *AddRef)( 12203 ICategorizer *This); 12204 12205 ULONG (STDMETHODCALLTYPE *Release)( 12206 ICategorizer *This); 12207 12208 /*** ICategorizer methods ***/ 12209 HRESULT (STDMETHODCALLTYPE *GetDescription)( 12210 ICategorizer *This, 12211 LPWSTR pszDesc, 12212 UINT cch); 12213 12214 HRESULT (STDMETHODCALLTYPE *GetCategory)( 12215 ICategorizer *This, 12216 UINT cidl, 12217 PCUITEMID_CHILD_ARRAY apidl, 12218 DWORD *rgCategoryIds); 12219 12220 HRESULT (STDMETHODCALLTYPE *GetCategoryInfo)( 12221 ICategorizer *This, 12222 DWORD dwCategoryId, 12223 CATEGORY_INFO *pci); 12224 12225 HRESULT (STDMETHODCALLTYPE *CompareCategory)( 12226 ICategorizer *This, 12227 CATSORT_FLAGS csfFlags, 12228 DWORD dwCategoryId1, 12229 DWORD dwCategoryId2); 12230 12231 END_INTERFACE 12232 } ICategorizerVtbl; 12233 12234 interface ICategorizer { 12235 CONST_VTBL ICategorizerVtbl* lpVtbl; 12236 }; 12237 12238 #ifdef COBJMACROS 12239 #ifndef WIDL_C_INLINE_WRAPPERS 12240 /*** IUnknown methods ***/ 12241 #define ICategorizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12242 #define ICategorizer_AddRef(This) (This)->lpVtbl->AddRef(This) 12243 #define ICategorizer_Release(This) (This)->lpVtbl->Release(This) 12244 /*** ICategorizer methods ***/ 12245 #define ICategorizer_GetDescription(This,pszDesc,cch) (This)->lpVtbl->GetDescription(This,pszDesc,cch) 12246 #define ICategorizer_GetCategory(This,cidl,apidl,rgCategoryIds) (This)->lpVtbl->GetCategory(This,cidl,apidl,rgCategoryIds) 12247 #define ICategorizer_GetCategoryInfo(This,dwCategoryId,pci) (This)->lpVtbl->GetCategoryInfo(This,dwCategoryId,pci) 12248 #define ICategorizer_CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2) (This)->lpVtbl->CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2) 12249 #else 12250 /*** IUnknown methods ***/ 12251 static inline HRESULT ICategorizer_QueryInterface(ICategorizer* This,REFIID riid,void **ppvObject) { 12252 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12253 } 12254 static inline ULONG ICategorizer_AddRef(ICategorizer* This) { 12255 return This->lpVtbl->AddRef(This); 12256 } 12257 static inline ULONG ICategorizer_Release(ICategorizer* This) { 12258 return This->lpVtbl->Release(This); 12259 } 12260 /*** ICategorizer methods ***/ 12261 static inline HRESULT ICategorizer_GetDescription(ICategorizer* This,LPWSTR pszDesc,UINT cch) { 12262 return This->lpVtbl->GetDescription(This,pszDesc,cch); 12263 } 12264 static inline HRESULT ICategorizer_GetCategory(ICategorizer* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,DWORD *rgCategoryIds) { 12265 return This->lpVtbl->GetCategory(This,cidl,apidl,rgCategoryIds); 12266 } 12267 static inline HRESULT ICategorizer_GetCategoryInfo(ICategorizer* This,DWORD dwCategoryId,CATEGORY_INFO *pci) { 12268 return This->lpVtbl->GetCategoryInfo(This,dwCategoryId,pci); 12269 } 12270 static inline HRESULT ICategorizer_CompareCategory(ICategorizer* This,CATSORT_FLAGS csfFlags,DWORD dwCategoryId1,DWORD dwCategoryId2) { 12271 return This->lpVtbl->CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2); 12272 } 12273 #endif 12274 #endif 12275 12276 #endif 12277 12278 12279 #endif /* __ICategorizer_INTERFACE_DEFINED__ */ 12280 12281 12282 #include <pshpack8.h> 12283 typedef struct SHDRAGIMAGE { 12284 SIZE sizeDragImage; 12285 POINT ptOffset; 12286 HBITMAP hbmpDragImage; 12287 COLORREF crColorKey; 12288 } SHDRAGIMAGE; 12289 typedef struct SHDRAGIMAGE *LPSHDRAGIMAGE; 12290 #include <poppack.h> 12291 12292 #define DI_GETDRAGIMAGE TEXT("ShellGetDragImage") 12293 12294 /***************************************************************************** 12295 * IDropTargetHelper interface 12296 */ 12297 #ifndef __IDropTargetHelper_INTERFACE_DEFINED__ 12298 #define __IDropTargetHelper_INTERFACE_DEFINED__ 12299 12300 DEFINE_GUID(IID_IDropTargetHelper, 0x4657278b, 0x411b, 0x11d2, 0x83,0x9a, 0x00,0xc0,0x4f,0xd9,0x18,0xd0); 12301 #if defined(__cplusplus) && !defined(CINTERFACE) 12302 MIDL_INTERFACE("4657278b-411b-11d2-839a-00c04fd918d0") 12303 IDropTargetHelper : public IUnknown 12304 { 12305 virtual HRESULT STDMETHODCALLTYPE DragEnter( 12306 HWND hwndTarget, 12307 IDataObject *pDataObject, 12308 POINT *ppt, 12309 DWORD dwEffect) = 0; 12310 12311 virtual HRESULT STDMETHODCALLTYPE DragLeave( 12312 ) = 0; 12313 12314 virtual HRESULT STDMETHODCALLTYPE DragOver( 12315 POINT *ppt, 12316 DWORD dwEffect) = 0; 12317 12318 virtual HRESULT STDMETHODCALLTYPE Drop( 12319 IDataObject *pDataObject, 12320 POINT *ppt, 12321 DWORD dwEffect) = 0; 12322 12323 virtual HRESULT STDMETHODCALLTYPE Show( 12324 WINBOOL fShow) = 0; 12325 12326 }; 12327 #ifdef __CRT_UUID_DECL 12328 __CRT_UUID_DECL(IDropTargetHelper, 0x4657278b, 0x411b, 0x11d2, 0x83,0x9a, 0x00,0xc0,0x4f,0xd9,0x18,0xd0) 12329 #endif 12330 #else 12331 typedef struct IDropTargetHelperVtbl { 12332 BEGIN_INTERFACE 12333 12334 /*** IUnknown methods ***/ 12335 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12336 IDropTargetHelper *This, 12337 REFIID riid, 12338 void **ppvObject); 12339 12340 ULONG (STDMETHODCALLTYPE *AddRef)( 12341 IDropTargetHelper *This); 12342 12343 ULONG (STDMETHODCALLTYPE *Release)( 12344 IDropTargetHelper *This); 12345 12346 /*** IDropTargetHelper methods ***/ 12347 HRESULT (STDMETHODCALLTYPE *DragEnter)( 12348 IDropTargetHelper *This, 12349 HWND hwndTarget, 12350 IDataObject *pDataObject, 12351 POINT *ppt, 12352 DWORD dwEffect); 12353 12354 HRESULT (STDMETHODCALLTYPE *DragLeave)( 12355 IDropTargetHelper *This); 12356 12357 HRESULT (STDMETHODCALLTYPE *DragOver)( 12358 IDropTargetHelper *This, 12359 POINT *ppt, 12360 DWORD dwEffect); 12361 12362 HRESULT (STDMETHODCALLTYPE *Drop)( 12363 IDropTargetHelper *This, 12364 IDataObject *pDataObject, 12365 POINT *ppt, 12366 DWORD dwEffect); 12367 12368 HRESULT (STDMETHODCALLTYPE *Show)( 12369 IDropTargetHelper *This, 12370 WINBOOL fShow); 12371 12372 END_INTERFACE 12373 } IDropTargetHelperVtbl; 12374 12375 interface IDropTargetHelper { 12376 CONST_VTBL IDropTargetHelperVtbl* lpVtbl; 12377 }; 12378 12379 #ifdef COBJMACROS 12380 #ifndef WIDL_C_INLINE_WRAPPERS 12381 /*** IUnknown methods ***/ 12382 #define IDropTargetHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12383 #define IDropTargetHelper_AddRef(This) (This)->lpVtbl->AddRef(This) 12384 #define IDropTargetHelper_Release(This) (This)->lpVtbl->Release(This) 12385 /*** IDropTargetHelper methods ***/ 12386 #define IDropTargetHelper_DragEnter(This,hwndTarget,pDataObject,ppt,dwEffect) (This)->lpVtbl->DragEnter(This,hwndTarget,pDataObject,ppt,dwEffect) 12387 #define IDropTargetHelper_DragLeave(This) (This)->lpVtbl->DragLeave(This) 12388 #define IDropTargetHelper_DragOver(This,ppt,dwEffect) (This)->lpVtbl->DragOver(This,ppt,dwEffect) 12389 #define IDropTargetHelper_Drop(This,pDataObject,ppt,dwEffect) (This)->lpVtbl->Drop(This,pDataObject,ppt,dwEffect) 12390 #define IDropTargetHelper_Show(This,fShow) (This)->lpVtbl->Show(This,fShow) 12391 #else 12392 /*** IUnknown methods ***/ 12393 static inline HRESULT IDropTargetHelper_QueryInterface(IDropTargetHelper* This,REFIID riid,void **ppvObject) { 12394 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12395 } 12396 static inline ULONG IDropTargetHelper_AddRef(IDropTargetHelper* This) { 12397 return This->lpVtbl->AddRef(This); 12398 } 12399 static inline ULONG IDropTargetHelper_Release(IDropTargetHelper* This) { 12400 return This->lpVtbl->Release(This); 12401 } 12402 /*** IDropTargetHelper methods ***/ 12403 static inline HRESULT IDropTargetHelper_DragEnter(IDropTargetHelper* This,HWND hwndTarget,IDataObject *pDataObject,POINT *ppt,DWORD dwEffect) { 12404 return This->lpVtbl->DragEnter(This,hwndTarget,pDataObject,ppt,dwEffect); 12405 } 12406 static inline HRESULT IDropTargetHelper_DragLeave(IDropTargetHelper* This) { 12407 return This->lpVtbl->DragLeave(This); 12408 } 12409 static inline HRESULT IDropTargetHelper_DragOver(IDropTargetHelper* This,POINT *ppt,DWORD dwEffect) { 12410 return This->lpVtbl->DragOver(This,ppt,dwEffect); 12411 } 12412 static inline HRESULT IDropTargetHelper_Drop(IDropTargetHelper* This,IDataObject *pDataObject,POINT *ppt,DWORD dwEffect) { 12413 return This->lpVtbl->Drop(This,pDataObject,ppt,dwEffect); 12414 } 12415 static inline HRESULT IDropTargetHelper_Show(IDropTargetHelper* This,WINBOOL fShow) { 12416 return This->lpVtbl->Show(This,fShow); 12417 } 12418 #endif 12419 #endif 12420 12421 #endif 12422 12423 12424 #endif /* __IDropTargetHelper_INTERFACE_DEFINED__ */ 12425 12426 12427 /***************************************************************************** 12428 * IDragSourceHelper interface 12429 */ 12430 #ifndef __IDragSourceHelper_INTERFACE_DEFINED__ 12431 #define __IDragSourceHelper_INTERFACE_DEFINED__ 12432 12433 DEFINE_GUID(IID_IDragSourceHelper, 0xde5bf786, 0x477a, 0x11d2, 0x83,0x9d, 0x00,0xc0,0x4f,0xd9,0x18,0xd0); 12434 #if defined(__cplusplus) && !defined(CINTERFACE) 12435 MIDL_INTERFACE("de5bf786-477a-11d2-839d-00c04fd918d0") 12436 IDragSourceHelper : public IUnknown 12437 { 12438 virtual HRESULT STDMETHODCALLTYPE InitializeFromBitmap( 12439 LPSHDRAGIMAGE pshdi, 12440 IDataObject *pDataObject) = 0; 12441 12442 virtual HRESULT STDMETHODCALLTYPE InitializeFromWindow( 12443 HWND hwnd, 12444 POINT *ppt, 12445 IDataObject *pDataObject) = 0; 12446 12447 }; 12448 #ifdef __CRT_UUID_DECL 12449 __CRT_UUID_DECL(IDragSourceHelper, 0xde5bf786, 0x477a, 0x11d2, 0x83,0x9d, 0x00,0xc0,0x4f,0xd9,0x18,0xd0) 12450 #endif 12451 #else 12452 typedef struct IDragSourceHelperVtbl { 12453 BEGIN_INTERFACE 12454 12455 /*** IUnknown methods ***/ 12456 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12457 IDragSourceHelper *This, 12458 REFIID riid, 12459 void **ppvObject); 12460 12461 ULONG (STDMETHODCALLTYPE *AddRef)( 12462 IDragSourceHelper *This); 12463 12464 ULONG (STDMETHODCALLTYPE *Release)( 12465 IDragSourceHelper *This); 12466 12467 /*** IDragSourceHelper methods ***/ 12468 HRESULT (STDMETHODCALLTYPE *InitializeFromBitmap)( 12469 IDragSourceHelper *This, 12470 LPSHDRAGIMAGE pshdi, 12471 IDataObject *pDataObject); 12472 12473 HRESULT (STDMETHODCALLTYPE *InitializeFromWindow)( 12474 IDragSourceHelper *This, 12475 HWND hwnd, 12476 POINT *ppt, 12477 IDataObject *pDataObject); 12478 12479 END_INTERFACE 12480 } IDragSourceHelperVtbl; 12481 12482 interface IDragSourceHelper { 12483 CONST_VTBL IDragSourceHelperVtbl* lpVtbl; 12484 }; 12485 12486 #ifdef COBJMACROS 12487 #ifndef WIDL_C_INLINE_WRAPPERS 12488 /*** IUnknown methods ***/ 12489 #define IDragSourceHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12490 #define IDragSourceHelper_AddRef(This) (This)->lpVtbl->AddRef(This) 12491 #define IDragSourceHelper_Release(This) (This)->lpVtbl->Release(This) 12492 /*** IDragSourceHelper methods ***/ 12493 #define IDragSourceHelper_InitializeFromBitmap(This,pshdi,pDataObject) (This)->lpVtbl->InitializeFromBitmap(This,pshdi,pDataObject) 12494 #define IDragSourceHelper_InitializeFromWindow(This,hwnd,ppt,pDataObject) (This)->lpVtbl->InitializeFromWindow(This,hwnd,ppt,pDataObject) 12495 #else 12496 /*** IUnknown methods ***/ 12497 static inline HRESULT IDragSourceHelper_QueryInterface(IDragSourceHelper* This,REFIID riid,void **ppvObject) { 12498 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12499 } 12500 static inline ULONG IDragSourceHelper_AddRef(IDragSourceHelper* This) { 12501 return This->lpVtbl->AddRef(This); 12502 } 12503 static inline ULONG IDragSourceHelper_Release(IDragSourceHelper* This) { 12504 return This->lpVtbl->Release(This); 12505 } 12506 /*** IDragSourceHelper methods ***/ 12507 static inline HRESULT IDragSourceHelper_InitializeFromBitmap(IDragSourceHelper* This,LPSHDRAGIMAGE pshdi,IDataObject *pDataObject) { 12508 return This->lpVtbl->InitializeFromBitmap(This,pshdi,pDataObject); 12509 } 12510 static inline HRESULT IDragSourceHelper_InitializeFromWindow(IDragSourceHelper* This,HWND hwnd,POINT *ppt,IDataObject *pDataObject) { 12511 return This->lpVtbl->InitializeFromWindow(This,hwnd,ppt,pDataObject); 12512 } 12513 #endif 12514 #endif 12515 12516 #endif 12517 12518 12519 #endif /* __IDragSourceHelper_INTERFACE_DEFINED__ */ 12520 12521 12522 #if NTDDI_VERSION >= NTDDI_VISTA 12523 typedef enum DSH_FLAGS { 12524 DSH_ALLOWDROPDESCRIPTIONTEXT = 0x1 12525 } DSH_FLAGS; 12526 12527 DEFINE_ENUM_FLAG_OPERATORS(DSH_FLAGS) 12528 12529 /***************************************************************************** 12530 * IDragSourceHelper2 interface 12531 */ 12532 #ifndef __IDragSourceHelper2_INTERFACE_DEFINED__ 12533 #define __IDragSourceHelper2_INTERFACE_DEFINED__ 12534 12535 DEFINE_GUID(IID_IDragSourceHelper2, 0x83e07d0d, 0x0c5f, 0x4163, 0xbf,0x1a, 0x60,0xb2,0x74,0x05,0x1e,0x40); 12536 #if defined(__cplusplus) && !defined(CINTERFACE) 12537 MIDL_INTERFACE("83e07d0d-0c5f-4163-bf1a-60b274051e40") 12538 IDragSourceHelper2 : public IDragSourceHelper 12539 { 12540 virtual HRESULT STDMETHODCALLTYPE SetFlags( 12541 DWORD dwFlags) = 0; 12542 12543 }; 12544 #ifdef __CRT_UUID_DECL 12545 __CRT_UUID_DECL(IDragSourceHelper2, 0x83e07d0d, 0x0c5f, 0x4163, 0xbf,0x1a, 0x60,0xb2,0x74,0x05,0x1e,0x40) 12546 #endif 12547 #else 12548 typedef struct IDragSourceHelper2Vtbl { 12549 BEGIN_INTERFACE 12550 12551 /*** IUnknown methods ***/ 12552 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12553 IDragSourceHelper2 *This, 12554 REFIID riid, 12555 void **ppvObject); 12556 12557 ULONG (STDMETHODCALLTYPE *AddRef)( 12558 IDragSourceHelper2 *This); 12559 12560 ULONG (STDMETHODCALLTYPE *Release)( 12561 IDragSourceHelper2 *This); 12562 12563 /*** IDragSourceHelper methods ***/ 12564 HRESULT (STDMETHODCALLTYPE *InitializeFromBitmap)( 12565 IDragSourceHelper2 *This, 12566 LPSHDRAGIMAGE pshdi, 12567 IDataObject *pDataObject); 12568 12569 HRESULT (STDMETHODCALLTYPE *InitializeFromWindow)( 12570 IDragSourceHelper2 *This, 12571 HWND hwnd, 12572 POINT *ppt, 12573 IDataObject *pDataObject); 12574 12575 /*** IDragSourceHelper2 methods ***/ 12576 HRESULT (STDMETHODCALLTYPE *SetFlags)( 12577 IDragSourceHelper2 *This, 12578 DWORD dwFlags); 12579 12580 END_INTERFACE 12581 } IDragSourceHelper2Vtbl; 12582 12583 interface IDragSourceHelper2 { 12584 CONST_VTBL IDragSourceHelper2Vtbl* lpVtbl; 12585 }; 12586 12587 #ifdef COBJMACROS 12588 #ifndef WIDL_C_INLINE_WRAPPERS 12589 /*** IUnknown methods ***/ 12590 #define IDragSourceHelper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12591 #define IDragSourceHelper2_AddRef(This) (This)->lpVtbl->AddRef(This) 12592 #define IDragSourceHelper2_Release(This) (This)->lpVtbl->Release(This) 12593 /*** IDragSourceHelper methods ***/ 12594 #define IDragSourceHelper2_InitializeFromBitmap(This,pshdi,pDataObject) (This)->lpVtbl->InitializeFromBitmap(This,pshdi,pDataObject) 12595 #define IDragSourceHelper2_InitializeFromWindow(This,hwnd,ppt,pDataObject) (This)->lpVtbl->InitializeFromWindow(This,hwnd,ppt,pDataObject) 12596 /*** IDragSourceHelper2 methods ***/ 12597 #define IDragSourceHelper2_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags) 12598 #else 12599 /*** IUnknown methods ***/ 12600 static inline HRESULT IDragSourceHelper2_QueryInterface(IDragSourceHelper2* This,REFIID riid,void **ppvObject) { 12601 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12602 } 12603 static inline ULONG IDragSourceHelper2_AddRef(IDragSourceHelper2* This) { 12604 return This->lpVtbl->AddRef(This); 12605 } 12606 static inline ULONG IDragSourceHelper2_Release(IDragSourceHelper2* This) { 12607 return This->lpVtbl->Release(This); 12608 } 12609 /*** IDragSourceHelper methods ***/ 12610 static inline HRESULT IDragSourceHelper2_InitializeFromBitmap(IDragSourceHelper2* This,LPSHDRAGIMAGE pshdi,IDataObject *pDataObject) { 12611 return This->lpVtbl->InitializeFromBitmap(This,pshdi,pDataObject); 12612 } 12613 static inline HRESULT IDragSourceHelper2_InitializeFromWindow(IDragSourceHelper2* This,HWND hwnd,POINT *ppt,IDataObject *pDataObject) { 12614 return This->lpVtbl->InitializeFromWindow(This,hwnd,ppt,pDataObject); 12615 } 12616 /*** IDragSourceHelper2 methods ***/ 12617 static inline HRESULT IDragSourceHelper2_SetFlags(IDragSourceHelper2* This,DWORD dwFlags) { 12618 return This->lpVtbl->SetFlags(This,dwFlags); 12619 } 12620 #endif 12621 #endif 12622 12623 #endif 12624 12625 12626 #endif /* __IDragSourceHelper2_INTERFACE_DEFINED__ */ 12627 12628 #endif 12629 12630 #define IShellLink __MINGW_NAME_AW(IShellLink) 12631 12632 typedef enum SLR_FLAGS { 12633 SLR_NO_UI = 0x1, 12634 SLR_ANY_MATCH = 0x2, 12635 SLR_UPDATE = 0x4, 12636 SLR_NOUPDATE = 0x8, 12637 SLR_NOSEARCH = 0x10, 12638 SLR_NOTRACK = 0x20, 12639 SLR_NOLINKINFO = 0x40, 12640 SLR_INVOKE_MSI = 0x80, 12641 SLR_NO_UI_WITH_MSG_PUMP = 0x101, 12642 SLR_OFFER_DELETE_WITHOUT_FILE = 0x200, 12643 SLR_KNOWNFOLDER = 0x400, 12644 SLR_MACHINE_IN_LOCAL_TARGET = 0x800, 12645 SLR_UPDATE_MACHINE_AND_SID = 0x1000 12646 } SLR_FLAGS; 12647 12648 DEFINE_ENUM_FLAG_OPERATORS(SLR_FLAGS) 12649 12650 typedef enum SLGP_FLAGS { 12651 SLGP_SHORTPATH = 0x1, 12652 SLGP_UNCPRIORITY = 0x2, 12653 SLGP_RAWPATH = 0x4, 12654 SLGP_RELATIVEPRIORITY = 0x8 12655 } SLGP_FLAGS; 12656 12657 DEFINE_ENUM_FLAG_OPERATORS(SLGP_FLAGS) 12658 12659 /***************************************************************************** 12660 * IShellLinkA interface 12661 */ 12662 #ifndef __IShellLinkA_INTERFACE_DEFINED__ 12663 #define __IShellLinkA_INTERFACE_DEFINED__ 12664 12665 DEFINE_GUID(IID_IShellLinkA, 0x000214ee, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 12666 #if defined(__cplusplus) && !defined(CINTERFACE) 12667 MIDL_INTERFACE("000214ee-0000-0000-c000-000000000046") 12668 IShellLinkA : public IUnknown 12669 { 12670 virtual HRESULT STDMETHODCALLTYPE GetPath( 12671 LPSTR pszFile, 12672 int cch, 12673 WIN32_FIND_DATAA *pfd, 12674 DWORD fFlags) = 0; 12675 12676 virtual HRESULT STDMETHODCALLTYPE GetIDList( 12677 PIDLIST_ABSOLUTE *ppidl) = 0; 12678 12679 virtual HRESULT STDMETHODCALLTYPE SetIDList( 12680 PCIDLIST_ABSOLUTE pidl) = 0; 12681 12682 virtual HRESULT STDMETHODCALLTYPE GetDescription( 12683 LPSTR pszName, 12684 int cch) = 0; 12685 12686 virtual HRESULT STDMETHODCALLTYPE SetDescription( 12687 LPCSTR pszName) = 0; 12688 12689 virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory( 12690 LPSTR pszDir, 12691 int cch) = 0; 12692 12693 virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory( 12694 LPCSTR pszDir) = 0; 12695 12696 virtual HRESULT STDMETHODCALLTYPE GetArguments( 12697 LPSTR pszArgs, 12698 int cch) = 0; 12699 12700 virtual HRESULT STDMETHODCALLTYPE SetArguments( 12701 LPCSTR pszArgs) = 0; 12702 12703 virtual HRESULT STDMETHODCALLTYPE GetHotkey( 12704 WORD *pwHotkey) = 0; 12705 12706 virtual HRESULT STDMETHODCALLTYPE SetHotkey( 12707 WORD wHotkey) = 0; 12708 12709 virtual HRESULT STDMETHODCALLTYPE GetShowCmd( 12710 int *piShowCmd) = 0; 12711 12712 virtual HRESULT STDMETHODCALLTYPE SetShowCmd( 12713 int iShowCmd) = 0; 12714 12715 virtual HRESULT STDMETHODCALLTYPE GetIconLocation( 12716 LPSTR pszIconPath, 12717 int cch, 12718 int *piIcon) = 0; 12719 12720 virtual HRESULT STDMETHODCALLTYPE SetIconLocation( 12721 LPCSTR pszIconPath, 12722 int iIcon) = 0; 12723 12724 virtual HRESULT STDMETHODCALLTYPE SetRelativePath( 12725 LPCSTR pszPathRel, 12726 DWORD dwReserved) = 0; 12727 12728 virtual HRESULT STDMETHODCALLTYPE Resolve( 12729 HWND hwnd, 12730 DWORD fFlags) = 0; 12731 12732 virtual HRESULT STDMETHODCALLTYPE SetPath( 12733 LPCSTR pszFile) = 0; 12734 12735 }; 12736 #ifdef __CRT_UUID_DECL 12737 __CRT_UUID_DECL(IShellLinkA, 0x000214ee, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 12738 #endif 12739 #else 12740 typedef struct IShellLinkAVtbl { 12741 BEGIN_INTERFACE 12742 12743 /*** IUnknown methods ***/ 12744 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12745 IShellLinkA *This, 12746 REFIID riid, 12747 void **ppvObject); 12748 12749 ULONG (STDMETHODCALLTYPE *AddRef)( 12750 IShellLinkA *This); 12751 12752 ULONG (STDMETHODCALLTYPE *Release)( 12753 IShellLinkA *This); 12754 12755 /*** IShellLinkA methods ***/ 12756 HRESULT (STDMETHODCALLTYPE *GetPath)( 12757 IShellLinkA *This, 12758 LPSTR pszFile, 12759 int cch, 12760 WIN32_FIND_DATAA *pfd, 12761 DWORD fFlags); 12762 12763 HRESULT (STDMETHODCALLTYPE *GetIDList)( 12764 IShellLinkA *This, 12765 PIDLIST_ABSOLUTE *ppidl); 12766 12767 HRESULT (STDMETHODCALLTYPE *SetIDList)( 12768 IShellLinkA *This, 12769 PCIDLIST_ABSOLUTE pidl); 12770 12771 HRESULT (STDMETHODCALLTYPE *GetDescription)( 12772 IShellLinkA *This, 12773 LPSTR pszName, 12774 int cch); 12775 12776 HRESULT (STDMETHODCALLTYPE *SetDescription)( 12777 IShellLinkA *This, 12778 LPCSTR pszName); 12779 12780 HRESULT (STDMETHODCALLTYPE *GetWorkingDirectory)( 12781 IShellLinkA *This, 12782 LPSTR pszDir, 12783 int cch); 12784 12785 HRESULT (STDMETHODCALLTYPE *SetWorkingDirectory)( 12786 IShellLinkA *This, 12787 LPCSTR pszDir); 12788 12789 HRESULT (STDMETHODCALLTYPE *GetArguments)( 12790 IShellLinkA *This, 12791 LPSTR pszArgs, 12792 int cch); 12793 12794 HRESULT (STDMETHODCALLTYPE *SetArguments)( 12795 IShellLinkA *This, 12796 LPCSTR pszArgs); 12797 12798 HRESULT (STDMETHODCALLTYPE *GetHotkey)( 12799 IShellLinkA *This, 12800 WORD *pwHotkey); 12801 12802 HRESULT (STDMETHODCALLTYPE *SetHotkey)( 12803 IShellLinkA *This, 12804 WORD wHotkey); 12805 12806 HRESULT (STDMETHODCALLTYPE *GetShowCmd)( 12807 IShellLinkA *This, 12808 int *piShowCmd); 12809 12810 HRESULT (STDMETHODCALLTYPE *SetShowCmd)( 12811 IShellLinkA *This, 12812 int iShowCmd); 12813 12814 HRESULT (STDMETHODCALLTYPE *GetIconLocation)( 12815 IShellLinkA *This, 12816 LPSTR pszIconPath, 12817 int cch, 12818 int *piIcon); 12819 12820 HRESULT (STDMETHODCALLTYPE *SetIconLocation)( 12821 IShellLinkA *This, 12822 LPCSTR pszIconPath, 12823 int iIcon); 12824 12825 HRESULT (STDMETHODCALLTYPE *SetRelativePath)( 12826 IShellLinkA *This, 12827 LPCSTR pszPathRel, 12828 DWORD dwReserved); 12829 12830 HRESULT (STDMETHODCALLTYPE *Resolve)( 12831 IShellLinkA *This, 12832 HWND hwnd, 12833 DWORD fFlags); 12834 12835 HRESULT (STDMETHODCALLTYPE *SetPath)( 12836 IShellLinkA *This, 12837 LPCSTR pszFile); 12838 12839 END_INTERFACE 12840 } IShellLinkAVtbl; 12841 12842 interface IShellLinkA { 12843 CONST_VTBL IShellLinkAVtbl* lpVtbl; 12844 }; 12845 12846 #ifdef COBJMACROS 12847 #ifndef WIDL_C_INLINE_WRAPPERS 12848 /*** IUnknown methods ***/ 12849 #define IShellLinkA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12850 #define IShellLinkA_AddRef(This) (This)->lpVtbl->AddRef(This) 12851 #define IShellLinkA_Release(This) (This)->lpVtbl->Release(This) 12852 /*** IShellLinkA methods ***/ 12853 #define IShellLinkA_GetPath(This,pszFile,cch,pfd,fFlags) (This)->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags) 12854 #define IShellLinkA_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl) 12855 #define IShellLinkA_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl) 12856 #define IShellLinkA_GetDescription(This,pszName,cch) (This)->lpVtbl->GetDescription(This,pszName,cch) 12857 #define IShellLinkA_SetDescription(This,pszName) (This)->lpVtbl->SetDescription(This,pszName) 12858 #define IShellLinkA_GetWorkingDirectory(This,pszDir,cch) (This)->lpVtbl->GetWorkingDirectory(This,pszDir,cch) 12859 #define IShellLinkA_SetWorkingDirectory(This,pszDir) (This)->lpVtbl->SetWorkingDirectory(This,pszDir) 12860 #define IShellLinkA_GetArguments(This,pszArgs,cch) (This)->lpVtbl->GetArguments(This,pszArgs,cch) 12861 #define IShellLinkA_SetArguments(This,pszArgs) (This)->lpVtbl->SetArguments(This,pszArgs) 12862 #define IShellLinkA_GetHotkey(This,pwHotkey) (This)->lpVtbl->GetHotkey(This,pwHotkey) 12863 #define IShellLinkA_SetHotkey(This,wHotkey) (This)->lpVtbl->SetHotkey(This,wHotkey) 12864 #define IShellLinkA_GetShowCmd(This,piShowCmd) (This)->lpVtbl->GetShowCmd(This,piShowCmd) 12865 #define IShellLinkA_SetShowCmd(This,iShowCmd) (This)->lpVtbl->SetShowCmd(This,iShowCmd) 12866 #define IShellLinkA_GetIconLocation(This,pszIconPath,cch,piIcon) (This)->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon) 12867 #define IShellLinkA_SetIconLocation(This,pszIconPath,iIcon) (This)->lpVtbl->SetIconLocation(This,pszIconPath,iIcon) 12868 #define IShellLinkA_SetRelativePath(This,pszPathRel,dwReserved) (This)->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved) 12869 #define IShellLinkA_Resolve(This,hwnd,fFlags) (This)->lpVtbl->Resolve(This,hwnd,fFlags) 12870 #define IShellLinkA_SetPath(This,pszFile) (This)->lpVtbl->SetPath(This,pszFile) 12871 #else 12872 /*** IUnknown methods ***/ 12873 static inline HRESULT IShellLinkA_QueryInterface(IShellLinkA* This,REFIID riid,void **ppvObject) { 12874 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12875 } 12876 static inline ULONG IShellLinkA_AddRef(IShellLinkA* This) { 12877 return This->lpVtbl->AddRef(This); 12878 } 12879 static inline ULONG IShellLinkA_Release(IShellLinkA* This) { 12880 return This->lpVtbl->Release(This); 12881 } 12882 /*** IShellLinkA methods ***/ 12883 static inline HRESULT IShellLinkA_GetPath(IShellLinkA* This,LPSTR pszFile,int cch,WIN32_FIND_DATAA *pfd,DWORD fFlags) { 12884 return This->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags); 12885 } 12886 static inline HRESULT IShellLinkA_GetIDList(IShellLinkA* This,PIDLIST_ABSOLUTE *ppidl) { 12887 return This->lpVtbl->GetIDList(This,ppidl); 12888 } 12889 static inline HRESULT IShellLinkA_SetIDList(IShellLinkA* This,PCIDLIST_ABSOLUTE pidl) { 12890 return This->lpVtbl->SetIDList(This,pidl); 12891 } 12892 static inline HRESULT IShellLinkA_GetDescription(IShellLinkA* This,LPSTR pszName,int cch) { 12893 return This->lpVtbl->GetDescription(This,pszName,cch); 12894 } 12895 static inline HRESULT IShellLinkA_SetDescription(IShellLinkA* This,LPCSTR pszName) { 12896 return This->lpVtbl->SetDescription(This,pszName); 12897 } 12898 static inline HRESULT IShellLinkA_GetWorkingDirectory(IShellLinkA* This,LPSTR pszDir,int cch) { 12899 return This->lpVtbl->GetWorkingDirectory(This,pszDir,cch); 12900 } 12901 static inline HRESULT IShellLinkA_SetWorkingDirectory(IShellLinkA* This,LPCSTR pszDir) { 12902 return This->lpVtbl->SetWorkingDirectory(This,pszDir); 12903 } 12904 static inline HRESULT IShellLinkA_GetArguments(IShellLinkA* This,LPSTR pszArgs,int cch) { 12905 return This->lpVtbl->GetArguments(This,pszArgs,cch); 12906 } 12907 static inline HRESULT IShellLinkA_SetArguments(IShellLinkA* This,LPCSTR pszArgs) { 12908 return This->lpVtbl->SetArguments(This,pszArgs); 12909 } 12910 static inline HRESULT IShellLinkA_GetHotkey(IShellLinkA* This,WORD *pwHotkey) { 12911 return This->lpVtbl->GetHotkey(This,pwHotkey); 12912 } 12913 static inline HRESULT IShellLinkA_SetHotkey(IShellLinkA* This,WORD wHotkey) { 12914 return This->lpVtbl->SetHotkey(This,wHotkey); 12915 } 12916 static inline HRESULT IShellLinkA_GetShowCmd(IShellLinkA* This,int *piShowCmd) { 12917 return This->lpVtbl->GetShowCmd(This,piShowCmd); 12918 } 12919 static inline HRESULT IShellLinkA_SetShowCmd(IShellLinkA* This,int iShowCmd) { 12920 return This->lpVtbl->SetShowCmd(This,iShowCmd); 12921 } 12922 static inline HRESULT IShellLinkA_GetIconLocation(IShellLinkA* This,LPSTR pszIconPath,int cch,int *piIcon) { 12923 return This->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon); 12924 } 12925 static inline HRESULT IShellLinkA_SetIconLocation(IShellLinkA* This,LPCSTR pszIconPath,int iIcon) { 12926 return This->lpVtbl->SetIconLocation(This,pszIconPath,iIcon); 12927 } 12928 static inline HRESULT IShellLinkA_SetRelativePath(IShellLinkA* This,LPCSTR pszPathRel,DWORD dwReserved) { 12929 return This->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved); 12930 } 12931 static inline HRESULT IShellLinkA_Resolve(IShellLinkA* This,HWND hwnd,DWORD fFlags) { 12932 return This->lpVtbl->Resolve(This,hwnd,fFlags); 12933 } 12934 static inline HRESULT IShellLinkA_SetPath(IShellLinkA* This,LPCSTR pszFile) { 12935 return This->lpVtbl->SetPath(This,pszFile); 12936 } 12937 #endif 12938 #endif 12939 12940 #endif 12941 12942 12943 #endif /* __IShellLinkA_INTERFACE_DEFINED__ */ 12944 12945 12946 /***************************************************************************** 12947 * IShellLinkW interface 12948 */ 12949 #ifndef __IShellLinkW_INTERFACE_DEFINED__ 12950 #define __IShellLinkW_INTERFACE_DEFINED__ 12951 12952 DEFINE_GUID(IID_IShellLinkW, 0x000214f9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 12953 #if defined(__cplusplus) && !defined(CINTERFACE) 12954 MIDL_INTERFACE("000214f9-0000-0000-c000-000000000046") 12955 IShellLinkW : public IUnknown 12956 { 12957 virtual HRESULT STDMETHODCALLTYPE GetPath( 12958 LPWSTR pszFile, 12959 int cch, 12960 WIN32_FIND_DATAW *pfd, 12961 DWORD fFlags) = 0; 12962 12963 virtual HRESULT STDMETHODCALLTYPE GetIDList( 12964 PIDLIST_ABSOLUTE *ppidl) = 0; 12965 12966 virtual HRESULT STDMETHODCALLTYPE SetIDList( 12967 PCIDLIST_ABSOLUTE pidl) = 0; 12968 12969 virtual HRESULT STDMETHODCALLTYPE GetDescription( 12970 LPWSTR pszName, 12971 int cch) = 0; 12972 12973 virtual HRESULT STDMETHODCALLTYPE SetDescription( 12974 LPCWSTR pszName) = 0; 12975 12976 virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory( 12977 LPWSTR pszDir, 12978 int cch) = 0; 12979 12980 virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory( 12981 LPCWSTR pszDir) = 0; 12982 12983 virtual HRESULT STDMETHODCALLTYPE GetArguments( 12984 LPWSTR pszArgs, 12985 int cch) = 0; 12986 12987 virtual HRESULT STDMETHODCALLTYPE SetArguments( 12988 LPCWSTR pszArgs) = 0; 12989 12990 virtual HRESULT STDMETHODCALLTYPE GetHotkey( 12991 WORD *pwHotkey) = 0; 12992 12993 virtual HRESULT STDMETHODCALLTYPE SetHotkey( 12994 WORD wHotkey) = 0; 12995 12996 virtual HRESULT STDMETHODCALLTYPE GetShowCmd( 12997 int *piShowCmd) = 0; 12998 12999 virtual HRESULT STDMETHODCALLTYPE SetShowCmd( 13000 int iShowCmd) = 0; 13001 13002 virtual HRESULT STDMETHODCALLTYPE GetIconLocation( 13003 LPWSTR pszIconPath, 13004 int cch, 13005 int *piIcon) = 0; 13006 13007 virtual HRESULT STDMETHODCALLTYPE SetIconLocation( 13008 LPCWSTR pszIconPath, 13009 int iIcon) = 0; 13010 13011 virtual HRESULT STDMETHODCALLTYPE SetRelativePath( 13012 LPCWSTR pszPathRel, 13013 DWORD dwReserved) = 0; 13014 13015 virtual HRESULT STDMETHODCALLTYPE Resolve( 13016 HWND hwnd, 13017 DWORD fFlags) = 0; 13018 13019 virtual HRESULT STDMETHODCALLTYPE SetPath( 13020 LPCWSTR pszFile) = 0; 13021 13022 }; 13023 #ifdef __CRT_UUID_DECL 13024 __CRT_UUID_DECL(IShellLinkW, 0x000214f9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 13025 #endif 13026 #else 13027 typedef struct IShellLinkWVtbl { 13028 BEGIN_INTERFACE 13029 13030 /*** IUnknown methods ***/ 13031 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 13032 IShellLinkW *This, 13033 REFIID riid, 13034 void **ppvObject); 13035 13036 ULONG (STDMETHODCALLTYPE *AddRef)( 13037 IShellLinkW *This); 13038 13039 ULONG (STDMETHODCALLTYPE *Release)( 13040 IShellLinkW *This); 13041 13042 /*** IShellLinkW methods ***/ 13043 HRESULT (STDMETHODCALLTYPE *GetPath)( 13044 IShellLinkW *This, 13045 LPWSTR pszFile, 13046 int cch, 13047 WIN32_FIND_DATAW *pfd, 13048 DWORD fFlags); 13049 13050 HRESULT (STDMETHODCALLTYPE *GetIDList)( 13051 IShellLinkW *This, 13052 PIDLIST_ABSOLUTE *ppidl); 13053 13054 HRESULT (STDMETHODCALLTYPE *SetIDList)( 13055 IShellLinkW *This, 13056 PCIDLIST_ABSOLUTE pidl); 13057 13058 HRESULT (STDMETHODCALLTYPE *GetDescription)( 13059 IShellLinkW *This, 13060 LPWSTR pszName, 13061 int cch); 13062 13063 HRESULT (STDMETHODCALLTYPE *SetDescription)( 13064 IShellLinkW *This, 13065 LPCWSTR pszName); 13066 13067 HRESULT (STDMETHODCALLTYPE *GetWorkingDirectory)( 13068 IShellLinkW *This, 13069 LPWSTR pszDir, 13070 int cch); 13071 13072 HRESULT (STDMETHODCALLTYPE *SetWorkingDirectory)( 13073 IShellLinkW *This, 13074 LPCWSTR pszDir); 13075 13076 HRESULT (STDMETHODCALLTYPE *GetArguments)( 13077 IShellLinkW *This, 13078 LPWSTR pszArgs, 13079 int cch); 13080 13081 HRESULT (STDMETHODCALLTYPE *SetArguments)( 13082 IShellLinkW *This, 13083 LPCWSTR pszArgs); 13084 13085 HRESULT (STDMETHODCALLTYPE *GetHotkey)( 13086 IShellLinkW *This, 13087 WORD *pwHotkey); 13088 13089 HRESULT (STDMETHODCALLTYPE *SetHotkey)( 13090 IShellLinkW *This, 13091 WORD wHotkey); 13092 13093 HRESULT (STDMETHODCALLTYPE *GetShowCmd)( 13094 IShellLinkW *This, 13095 int *piShowCmd); 13096 13097 HRESULT (STDMETHODCALLTYPE *SetShowCmd)( 13098 IShellLinkW *This, 13099 int iShowCmd); 13100 13101 HRESULT (STDMETHODCALLTYPE *GetIconLocation)( 13102 IShellLinkW *This, 13103 LPWSTR pszIconPath, 13104 int cch, 13105 int *piIcon); 13106 13107 HRESULT (STDMETHODCALLTYPE *SetIconLocation)( 13108 IShellLinkW *This, 13109 LPCWSTR pszIconPath, 13110 int iIcon); 13111 13112 HRESULT (STDMETHODCALLTYPE *SetRelativePath)( 13113 IShellLinkW *This, 13114 LPCWSTR pszPathRel, 13115 DWORD dwReserved); 13116 13117 HRESULT (STDMETHODCALLTYPE *Resolve)( 13118 IShellLinkW *This, 13119 HWND hwnd, 13120 DWORD fFlags); 13121 13122 HRESULT (STDMETHODCALLTYPE *SetPath)( 13123 IShellLinkW *This, 13124 LPCWSTR pszFile); 13125 13126 END_INTERFACE 13127 } IShellLinkWVtbl; 13128 13129 interface IShellLinkW { 13130 CONST_VTBL IShellLinkWVtbl* lpVtbl; 13131 }; 13132 13133 #ifdef COBJMACROS 13134 #ifndef WIDL_C_INLINE_WRAPPERS 13135 /*** IUnknown methods ***/ 13136 #define IShellLinkW_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13137 #define IShellLinkW_AddRef(This) (This)->lpVtbl->AddRef(This) 13138 #define IShellLinkW_Release(This) (This)->lpVtbl->Release(This) 13139 /*** IShellLinkW methods ***/ 13140 #define IShellLinkW_GetPath(This,pszFile,cch,pfd,fFlags) (This)->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags) 13141 #define IShellLinkW_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl) 13142 #define IShellLinkW_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl) 13143 #define IShellLinkW_GetDescription(This,pszName,cch) (This)->lpVtbl->GetDescription(This,pszName,cch) 13144 #define IShellLinkW_SetDescription(This,pszName) (This)->lpVtbl->SetDescription(This,pszName) 13145 #define IShellLinkW_GetWorkingDirectory(This,pszDir,cch) (This)->lpVtbl->GetWorkingDirectory(This,pszDir,cch) 13146 #define IShellLinkW_SetWorkingDirectory(This,pszDir) (This)->lpVtbl->SetWorkingDirectory(This,pszDir) 13147 #define IShellLinkW_GetArguments(This,pszArgs,cch) (This)->lpVtbl->GetArguments(This,pszArgs,cch) 13148 #define IShellLinkW_SetArguments(This,pszArgs) (This)->lpVtbl->SetArguments(This,pszArgs) 13149 #define IShellLinkW_GetHotkey(This,pwHotkey) (This)->lpVtbl->GetHotkey(This,pwHotkey) 13150 #define IShellLinkW_SetHotkey(This,wHotkey) (This)->lpVtbl->SetHotkey(This,wHotkey) 13151 #define IShellLinkW_GetShowCmd(This,piShowCmd) (This)->lpVtbl->GetShowCmd(This,piShowCmd) 13152 #define IShellLinkW_SetShowCmd(This,iShowCmd) (This)->lpVtbl->SetShowCmd(This,iShowCmd) 13153 #define IShellLinkW_GetIconLocation(This,pszIconPath,cch,piIcon) (This)->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon) 13154 #define IShellLinkW_SetIconLocation(This,pszIconPath,iIcon) (This)->lpVtbl->SetIconLocation(This,pszIconPath,iIcon) 13155 #define IShellLinkW_SetRelativePath(This,pszPathRel,dwReserved) (This)->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved) 13156 #define IShellLinkW_Resolve(This,hwnd,fFlags) (This)->lpVtbl->Resolve(This,hwnd,fFlags) 13157 #define IShellLinkW_SetPath(This,pszFile) (This)->lpVtbl->SetPath(This,pszFile) 13158 #else 13159 /*** IUnknown methods ***/ 13160 static inline HRESULT IShellLinkW_QueryInterface(IShellLinkW* This,REFIID riid,void **ppvObject) { 13161 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 13162 } 13163 static inline ULONG IShellLinkW_AddRef(IShellLinkW* This) { 13164 return This->lpVtbl->AddRef(This); 13165 } 13166 static inline ULONG IShellLinkW_Release(IShellLinkW* This) { 13167 return This->lpVtbl->Release(This); 13168 } 13169 /*** IShellLinkW methods ***/ 13170 static inline HRESULT IShellLinkW_GetPath(IShellLinkW* This,LPWSTR pszFile,int cch,WIN32_FIND_DATAW *pfd,DWORD fFlags) { 13171 return This->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags); 13172 } 13173 static inline HRESULT IShellLinkW_GetIDList(IShellLinkW* This,PIDLIST_ABSOLUTE *ppidl) { 13174 return This->lpVtbl->GetIDList(This,ppidl); 13175 } 13176 static inline HRESULT IShellLinkW_SetIDList(IShellLinkW* This,PCIDLIST_ABSOLUTE pidl) { 13177 return This->lpVtbl->SetIDList(This,pidl); 13178 } 13179 static inline HRESULT IShellLinkW_GetDescription(IShellLinkW* This,LPWSTR pszName,int cch) { 13180 return This->lpVtbl->GetDescription(This,pszName,cch); 13181 } 13182 static inline HRESULT IShellLinkW_SetDescription(IShellLinkW* This,LPCWSTR pszName) { 13183 return This->lpVtbl->SetDescription(This,pszName); 13184 } 13185 static inline HRESULT IShellLinkW_GetWorkingDirectory(IShellLinkW* This,LPWSTR pszDir,int cch) { 13186 return This->lpVtbl->GetWorkingDirectory(This,pszDir,cch); 13187 } 13188 static inline HRESULT IShellLinkW_SetWorkingDirectory(IShellLinkW* This,LPCWSTR pszDir) { 13189 return This->lpVtbl->SetWorkingDirectory(This,pszDir); 13190 } 13191 static inline HRESULT IShellLinkW_GetArguments(IShellLinkW* This,LPWSTR pszArgs,int cch) { 13192 return This->lpVtbl->GetArguments(This,pszArgs,cch); 13193 } 13194 static inline HRESULT IShellLinkW_SetArguments(IShellLinkW* This,LPCWSTR pszArgs) { 13195 return This->lpVtbl->SetArguments(This,pszArgs); 13196 } 13197 static inline HRESULT IShellLinkW_GetHotkey(IShellLinkW* This,WORD *pwHotkey) { 13198 return This->lpVtbl->GetHotkey(This,pwHotkey); 13199 } 13200 static inline HRESULT IShellLinkW_SetHotkey(IShellLinkW* This,WORD wHotkey) { 13201 return This->lpVtbl->SetHotkey(This,wHotkey); 13202 } 13203 static inline HRESULT IShellLinkW_GetShowCmd(IShellLinkW* This,int *piShowCmd) { 13204 return This->lpVtbl->GetShowCmd(This,piShowCmd); 13205 } 13206 static inline HRESULT IShellLinkW_SetShowCmd(IShellLinkW* This,int iShowCmd) { 13207 return This->lpVtbl->SetShowCmd(This,iShowCmd); 13208 } 13209 static inline HRESULT IShellLinkW_GetIconLocation(IShellLinkW* This,LPWSTR pszIconPath,int cch,int *piIcon) { 13210 return This->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon); 13211 } 13212 static inline HRESULT IShellLinkW_SetIconLocation(IShellLinkW* This,LPCWSTR pszIconPath,int iIcon) { 13213 return This->lpVtbl->SetIconLocation(This,pszIconPath,iIcon); 13214 } 13215 static inline HRESULT IShellLinkW_SetRelativePath(IShellLinkW* This,LPCWSTR pszPathRel,DWORD dwReserved) { 13216 return This->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved); 13217 } 13218 static inline HRESULT IShellLinkW_Resolve(IShellLinkW* This,HWND hwnd,DWORD fFlags) { 13219 return This->lpVtbl->Resolve(This,hwnd,fFlags); 13220 } 13221 static inline HRESULT IShellLinkW_SetPath(IShellLinkW* This,LPCWSTR pszFile) { 13222 return This->lpVtbl->SetPath(This,pszFile); 13223 } 13224 #endif 13225 #endif 13226 13227 #endif 13228 13229 13230 #endif /* __IShellLinkW_INTERFACE_DEFINED__ */ 13231 13232 13233 /***************************************************************************** 13234 * IShellLinkDataList interface 13235 */ 13236 #ifndef __IShellLinkDataList_INTERFACE_DEFINED__ 13237 #define __IShellLinkDataList_INTERFACE_DEFINED__ 13238 13239 DEFINE_GUID(IID_IShellLinkDataList, 0x45e2b4ae, 0xb1c3, 0x11d0, 0xb9,0x2f, 0x00,0xa0,0xc9,0x03,0x12,0xe1); 13240 #if defined(__cplusplus) && !defined(CINTERFACE) 13241 MIDL_INTERFACE("45e2b4ae-b1c3-11d0-b92f-00a0c90312e1") 13242 IShellLinkDataList : public IUnknown 13243 { 13244 virtual HRESULT STDMETHODCALLTYPE AddDataBlock( 13245 void *pDataBlock) = 0; 13246 13247 virtual HRESULT STDMETHODCALLTYPE CopyDataBlock( 13248 DWORD dwSig, 13249 void **ppDataBlock) = 0; 13250 13251 virtual HRESULT STDMETHODCALLTYPE RemoveDataBlock( 13252 DWORD dwSig) = 0; 13253 13254 virtual HRESULT STDMETHODCALLTYPE GetFlags( 13255 DWORD *pdwFlags) = 0; 13256 13257 virtual HRESULT STDMETHODCALLTYPE SetFlags( 13258 DWORD dwFlags) = 0; 13259 13260 }; 13261 #ifdef __CRT_UUID_DECL 13262 __CRT_UUID_DECL(IShellLinkDataList, 0x45e2b4ae, 0xb1c3, 0x11d0, 0xb9,0x2f, 0x00,0xa0,0xc9,0x03,0x12,0xe1) 13263 #endif 13264 #else 13265 typedef struct IShellLinkDataListVtbl { 13266 BEGIN_INTERFACE 13267 13268 /*** IUnknown methods ***/ 13269 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 13270 IShellLinkDataList *This, 13271 REFIID riid, 13272 void **ppvObject); 13273 13274 ULONG (STDMETHODCALLTYPE *AddRef)( 13275 IShellLinkDataList *This); 13276 13277 ULONG (STDMETHODCALLTYPE *Release)( 13278 IShellLinkDataList *This); 13279 13280 /*** IShellLinkDataList methods ***/ 13281 HRESULT (STDMETHODCALLTYPE *AddDataBlock)( 13282 IShellLinkDataList *This, 13283 void *pDataBlock); 13284 13285 HRESULT (STDMETHODCALLTYPE *CopyDataBlock)( 13286 IShellLinkDataList *This, 13287 DWORD dwSig, 13288 void **ppDataBlock); 13289 13290 HRESULT (STDMETHODCALLTYPE *RemoveDataBlock)( 13291 IShellLinkDataList *This, 13292 DWORD dwSig); 13293 13294 HRESULT (STDMETHODCALLTYPE *GetFlags)( 13295 IShellLinkDataList *This, 13296 DWORD *pdwFlags); 13297 13298 HRESULT (STDMETHODCALLTYPE *SetFlags)( 13299 IShellLinkDataList *This, 13300 DWORD dwFlags); 13301 13302 END_INTERFACE 13303 } IShellLinkDataListVtbl; 13304 13305 interface IShellLinkDataList { 13306 CONST_VTBL IShellLinkDataListVtbl* lpVtbl; 13307 }; 13308 13309 #ifdef COBJMACROS 13310 #ifndef WIDL_C_INLINE_WRAPPERS 13311 /*** IUnknown methods ***/ 13312 #define IShellLinkDataList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13313 #define IShellLinkDataList_AddRef(This) (This)->lpVtbl->AddRef(This) 13314 #define IShellLinkDataList_Release(This) (This)->lpVtbl->Release(This) 13315 /*** IShellLinkDataList methods ***/ 13316 #define IShellLinkDataList_AddDataBlock(This,pDataBlock) (This)->lpVtbl->AddDataBlock(This,pDataBlock) 13317 #define IShellLinkDataList_CopyDataBlock(This,dwSig,ppDataBlock) (This)->lpVtbl->CopyDataBlock(This,dwSig,ppDataBlock) 13318 #define IShellLinkDataList_RemoveDataBlock(This,dwSig) (This)->lpVtbl->RemoveDataBlock(This,dwSig) 13319 #define IShellLinkDataList_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags) 13320 #define IShellLinkDataList_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags) 13321 #else 13322 /*** IUnknown methods ***/ 13323 static inline HRESULT IShellLinkDataList_QueryInterface(IShellLinkDataList* This,REFIID riid,void **ppvObject) { 13324 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 13325 } 13326 static inline ULONG IShellLinkDataList_AddRef(IShellLinkDataList* This) { 13327 return This->lpVtbl->AddRef(This); 13328 } 13329 static inline ULONG IShellLinkDataList_Release(IShellLinkDataList* This) { 13330 return This->lpVtbl->Release(This); 13331 } 13332 /*** IShellLinkDataList methods ***/ 13333 static inline HRESULT IShellLinkDataList_AddDataBlock(IShellLinkDataList* This,void *pDataBlock) { 13334 return This->lpVtbl->AddDataBlock(This,pDataBlock); 13335 } 13336 static inline HRESULT IShellLinkDataList_CopyDataBlock(IShellLinkDataList* This,DWORD dwSig,void **ppDataBlock) { 13337 return This->lpVtbl->CopyDataBlock(This,dwSig,ppDataBlock); 13338 } 13339 static inline HRESULT IShellLinkDataList_RemoveDataBlock(IShellLinkDataList* This,DWORD dwSig) { 13340 return This->lpVtbl->RemoveDataBlock(This,dwSig); 13341 } 13342 static inline HRESULT IShellLinkDataList_GetFlags(IShellLinkDataList* This,DWORD *pdwFlags) { 13343 return This->lpVtbl->GetFlags(This,pdwFlags); 13344 } 13345 static inline HRESULT IShellLinkDataList_SetFlags(IShellLinkDataList* This,DWORD dwFlags) { 13346 return This->lpVtbl->SetFlags(This,dwFlags); 13347 } 13348 #endif 13349 #endif 13350 13351 #endif 13352 13353 13354 #endif /* __IShellLinkDataList_INTERFACE_DEFINED__ */ 13355 13356 13357 /***************************************************************************** 13358 * IResolveShellLink interface 13359 */ 13360 #ifndef __IResolveShellLink_INTERFACE_DEFINED__ 13361 #define __IResolveShellLink_INTERFACE_DEFINED__ 13362 13363 DEFINE_GUID(IID_IResolveShellLink, 0x5cd52983, 0x9449, 0x11d2, 0x96,0x3a, 0x00,0xc0,0x4f,0x79,0xad,0xf0); 13364 #if defined(__cplusplus) && !defined(CINTERFACE) 13365 MIDL_INTERFACE("5cd52983-9449-11d2-963a-00c04f79adf0") 13366 IResolveShellLink : public IUnknown 13367 { 13368 virtual HRESULT STDMETHODCALLTYPE ResolveShellLink( 13369 IUnknown *punkLink, 13370 HWND hwnd, 13371 DWORD fFlags) = 0; 13372 13373 }; 13374 #ifdef __CRT_UUID_DECL 13375 __CRT_UUID_DECL(IResolveShellLink, 0x5cd52983, 0x9449, 0x11d2, 0x96,0x3a, 0x00,0xc0,0x4f,0x79,0xad,0xf0) 13376 #endif 13377 #else 13378 typedef struct IResolveShellLinkVtbl { 13379 BEGIN_INTERFACE 13380 13381 /*** IUnknown methods ***/ 13382 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 13383 IResolveShellLink *This, 13384 REFIID riid, 13385 void **ppvObject); 13386 13387 ULONG (STDMETHODCALLTYPE *AddRef)( 13388 IResolveShellLink *This); 13389 13390 ULONG (STDMETHODCALLTYPE *Release)( 13391 IResolveShellLink *This); 13392 13393 /*** IResolveShellLink methods ***/ 13394 HRESULT (STDMETHODCALLTYPE *ResolveShellLink)( 13395 IResolveShellLink *This, 13396 IUnknown *punkLink, 13397 HWND hwnd, 13398 DWORD fFlags); 13399 13400 END_INTERFACE 13401 } IResolveShellLinkVtbl; 13402 13403 interface IResolveShellLink { 13404 CONST_VTBL IResolveShellLinkVtbl* lpVtbl; 13405 }; 13406 13407 #ifdef COBJMACROS 13408 #ifndef WIDL_C_INLINE_WRAPPERS 13409 /*** IUnknown methods ***/ 13410 #define IResolveShellLink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13411 #define IResolveShellLink_AddRef(This) (This)->lpVtbl->AddRef(This) 13412 #define IResolveShellLink_Release(This) (This)->lpVtbl->Release(This) 13413 /*** IResolveShellLink methods ***/ 13414 #define IResolveShellLink_ResolveShellLink(This,punkLink,hwnd,fFlags) (This)->lpVtbl->ResolveShellLink(This,punkLink,hwnd,fFlags) 13415 #else 13416 /*** IUnknown methods ***/ 13417 static inline HRESULT IResolveShellLink_QueryInterface(IResolveShellLink* This,REFIID riid,void **ppvObject) { 13418 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 13419 } 13420 static inline ULONG IResolveShellLink_AddRef(IResolveShellLink* This) { 13421 return This->lpVtbl->AddRef(This); 13422 } 13423 static inline ULONG IResolveShellLink_Release(IResolveShellLink* This) { 13424 return This->lpVtbl->Release(This); 13425 } 13426 /*** IResolveShellLink methods ***/ 13427 static inline HRESULT IResolveShellLink_ResolveShellLink(IResolveShellLink* This,IUnknown *punkLink,HWND hwnd,DWORD fFlags) { 13428 return This->lpVtbl->ResolveShellLink(This,punkLink,hwnd,fFlags); 13429 } 13430 #endif 13431 #endif 13432 13433 #endif 13434 13435 13436 #endif /* __IResolveShellLink_INTERFACE_DEFINED__ */ 13437 13438 13439 /***************************************************************************** 13440 * IActionProgressDialog interface 13441 */ 13442 #ifndef __IActionProgressDialog_INTERFACE_DEFINED__ 13443 #define __IActionProgressDialog_INTERFACE_DEFINED__ 13444 13445 enum _SPINITF { 13446 SPINITF_NORMAL = 0x0, 13447 SPINITF_MODAL = 0x1, 13448 SPINITF_NOMINIMIZE = 0x8 13449 }; 13450 13451 typedef DWORD SPINITF; 13452 13453 DEFINE_GUID(IID_IActionProgressDialog, 0x49ff1172, 0xeadc, 0x446d, 0x92,0x85, 0x15,0x64,0x53,0xa6,0x43,0x1c); 13454 #if defined(__cplusplus) && !defined(CINTERFACE) 13455 MIDL_INTERFACE("49ff1172-eadc-446d-9285-156453a6431c") 13456 IActionProgressDialog : public IUnknown 13457 { 13458 virtual HRESULT STDMETHODCALLTYPE Initialize( 13459 SPINITF flags, 13460 LPCWSTR pszTitle, 13461 LPCWSTR pszCancel) = 0; 13462 13463 virtual HRESULT STDMETHODCALLTYPE Stop( 13464 ) = 0; 13465 13466 }; 13467 #ifdef __CRT_UUID_DECL 13468 __CRT_UUID_DECL(IActionProgressDialog, 0x49ff1172, 0xeadc, 0x446d, 0x92,0x85, 0x15,0x64,0x53,0xa6,0x43,0x1c) 13469 #endif 13470 #else 13471 typedef struct IActionProgressDialogVtbl { 13472 BEGIN_INTERFACE 13473 13474 /*** IUnknown methods ***/ 13475 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 13476 IActionProgressDialog *This, 13477 REFIID riid, 13478 void **ppvObject); 13479 13480 ULONG (STDMETHODCALLTYPE *AddRef)( 13481 IActionProgressDialog *This); 13482 13483 ULONG (STDMETHODCALLTYPE *Release)( 13484 IActionProgressDialog *This); 13485 13486 /*** IActionProgressDialog methods ***/ 13487 HRESULT (STDMETHODCALLTYPE *Initialize)( 13488 IActionProgressDialog *This, 13489 SPINITF flags, 13490 LPCWSTR pszTitle, 13491 LPCWSTR pszCancel); 13492 13493 HRESULT (STDMETHODCALLTYPE *Stop)( 13494 IActionProgressDialog *This); 13495 13496 END_INTERFACE 13497 } IActionProgressDialogVtbl; 13498 13499 interface IActionProgressDialog { 13500 CONST_VTBL IActionProgressDialogVtbl* lpVtbl; 13501 }; 13502 13503 #ifdef COBJMACROS 13504 #ifndef WIDL_C_INLINE_WRAPPERS 13505 /*** IUnknown methods ***/ 13506 #define IActionProgressDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13507 #define IActionProgressDialog_AddRef(This) (This)->lpVtbl->AddRef(This) 13508 #define IActionProgressDialog_Release(This) (This)->lpVtbl->Release(This) 13509 /*** IActionProgressDialog methods ***/ 13510 #define IActionProgressDialog_Initialize(This,flags,pszTitle,pszCancel) (This)->lpVtbl->Initialize(This,flags,pszTitle,pszCancel) 13511 #define IActionProgressDialog_Stop(This) (This)->lpVtbl->Stop(This) 13512 #else 13513 /*** IUnknown methods ***/ 13514 static inline HRESULT IActionProgressDialog_QueryInterface(IActionProgressDialog* This,REFIID riid,void **ppvObject) { 13515 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 13516 } 13517 static inline ULONG IActionProgressDialog_AddRef(IActionProgressDialog* This) { 13518 return This->lpVtbl->AddRef(This); 13519 } 13520 static inline ULONG IActionProgressDialog_Release(IActionProgressDialog* This) { 13521 return This->lpVtbl->Release(This); 13522 } 13523 /*** IActionProgressDialog methods ***/ 13524 static inline HRESULT IActionProgressDialog_Initialize(IActionProgressDialog* This,SPINITF flags,LPCWSTR pszTitle,LPCWSTR pszCancel) { 13525 return This->lpVtbl->Initialize(This,flags,pszTitle,pszCancel); 13526 } 13527 static inline HRESULT IActionProgressDialog_Stop(IActionProgressDialog* This) { 13528 return This->lpVtbl->Stop(This); 13529 } 13530 #endif 13531 #endif 13532 13533 #endif 13534 13535 13536 #endif /* __IActionProgressDialog_INTERFACE_DEFINED__ */ 13537 13538 13539 /***************************************************************************** 13540 * IHWEventHandler interface 13541 */ 13542 #ifndef __IHWEventHandler_INTERFACE_DEFINED__ 13543 #define __IHWEventHandler_INTERFACE_DEFINED__ 13544 13545 DEFINE_GUID(IID_IHWEventHandler, 0xc1fb73d0, 0xec3a, 0x4ba2, 0xb5,0x12, 0x8c,0xdb,0x91,0x87,0xb6,0xd1); 13546 #if defined(__cplusplus) && !defined(CINTERFACE) 13547 MIDL_INTERFACE("c1fb73d0-ec3a-4ba2-b512-8cdb9187b6d1") 13548 IHWEventHandler : public IUnknown 13549 { 13550 virtual HRESULT STDMETHODCALLTYPE Initialize( 13551 LPCWSTR pszParams) = 0; 13552 13553 virtual HRESULT STDMETHODCALLTYPE HandleEvent( 13554 LPCWSTR pszDeviceID, 13555 LPCWSTR pszAltDeviceID, 13556 LPCWSTR pszEventType) = 0; 13557 13558 virtual HRESULT STDMETHODCALLTYPE HandleEventWithContent( 13559 LPCWSTR pszDeviceID, 13560 LPCWSTR pszAltDeviceID, 13561 LPCWSTR pszEventType, 13562 LPCWSTR pszContentTypeHandler, 13563 IDataObject *pdataobject) = 0; 13564 13565 }; 13566 #ifdef __CRT_UUID_DECL 13567 __CRT_UUID_DECL(IHWEventHandler, 0xc1fb73d0, 0xec3a, 0x4ba2, 0xb5,0x12, 0x8c,0xdb,0x91,0x87,0xb6,0xd1) 13568 #endif 13569 #else 13570 typedef struct IHWEventHandlerVtbl { 13571 BEGIN_INTERFACE 13572 13573 /*** IUnknown methods ***/ 13574 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 13575 IHWEventHandler *This, 13576 REFIID riid, 13577 void **ppvObject); 13578 13579 ULONG (STDMETHODCALLTYPE *AddRef)( 13580 IHWEventHandler *This); 13581 13582 ULONG (STDMETHODCALLTYPE *Release)( 13583 IHWEventHandler *This); 13584 13585 /*** IHWEventHandler methods ***/ 13586 HRESULT (STDMETHODCALLTYPE *Initialize)( 13587 IHWEventHandler *This, 13588 LPCWSTR pszParams); 13589 13590 HRESULT (STDMETHODCALLTYPE *HandleEvent)( 13591 IHWEventHandler *This, 13592 LPCWSTR pszDeviceID, 13593 LPCWSTR pszAltDeviceID, 13594 LPCWSTR pszEventType); 13595 13596 HRESULT (STDMETHODCALLTYPE *HandleEventWithContent)( 13597 IHWEventHandler *This, 13598 LPCWSTR pszDeviceID, 13599 LPCWSTR pszAltDeviceID, 13600 LPCWSTR pszEventType, 13601 LPCWSTR pszContentTypeHandler, 13602 IDataObject *pdataobject); 13603 13604 END_INTERFACE 13605 } IHWEventHandlerVtbl; 13606 13607 interface IHWEventHandler { 13608 CONST_VTBL IHWEventHandlerVtbl* lpVtbl; 13609 }; 13610 13611 #ifdef COBJMACROS 13612 #ifndef WIDL_C_INLINE_WRAPPERS 13613 /*** IUnknown methods ***/ 13614 #define IHWEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13615 #define IHWEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) 13616 #define IHWEventHandler_Release(This) (This)->lpVtbl->Release(This) 13617 /*** IHWEventHandler methods ***/ 13618 #define IHWEventHandler_Initialize(This,pszParams) (This)->lpVtbl->Initialize(This,pszParams) 13619 #define IHWEventHandler_HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType) (This)->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType) 13620 #define IHWEventHandler_HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject) (This)->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject) 13621 #else 13622 /*** IUnknown methods ***/ 13623 static inline HRESULT IHWEventHandler_QueryInterface(IHWEventHandler* This,REFIID riid,void **ppvObject) { 13624 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 13625 } 13626 static inline ULONG IHWEventHandler_AddRef(IHWEventHandler* This) { 13627 return This->lpVtbl->AddRef(This); 13628 } 13629 static inline ULONG IHWEventHandler_Release(IHWEventHandler* This) { 13630 return This->lpVtbl->Release(This); 13631 } 13632 /*** IHWEventHandler methods ***/ 13633 static inline HRESULT IHWEventHandler_Initialize(IHWEventHandler* This,LPCWSTR pszParams) { 13634 return This->lpVtbl->Initialize(This,pszParams); 13635 } 13636 static inline HRESULT IHWEventHandler_HandleEvent(IHWEventHandler* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType) { 13637 return This->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType); 13638 } 13639 static inline HRESULT IHWEventHandler_HandleEventWithContent(IHWEventHandler* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType,LPCWSTR pszContentTypeHandler,IDataObject *pdataobject) { 13640 return This->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject); 13641 } 13642 #endif 13643 #endif 13644 13645 #endif 13646 13647 13648 #endif /* __IHWEventHandler_INTERFACE_DEFINED__ */ 13649 13650 13651 /***************************************************************************** 13652 * IHWEventHandler2 interface 13653 */ 13654 #ifndef __IHWEventHandler2_INTERFACE_DEFINED__ 13655 #define __IHWEventHandler2_INTERFACE_DEFINED__ 13656 13657 DEFINE_GUID(IID_IHWEventHandler2, 0xcfcc809f, 0x295d, 0x42e8, 0x9f,0xfc, 0x42,0x4b,0x33,0xc4,0x87,0xe6); 13658 #if defined(__cplusplus) && !defined(CINTERFACE) 13659 MIDL_INTERFACE("cfcc809f-295d-42e8-9ffc-424b33c487e6") 13660 IHWEventHandler2 : public IHWEventHandler 13661 { 13662 virtual HRESULT STDMETHODCALLTYPE HandleEventWithHWND( 13663 LPCWSTR pszDeviceID, 13664 LPCWSTR pszAltDeviceID, 13665 LPCWSTR pszEventType, 13666 HWND hwndOwner) = 0; 13667 13668 }; 13669 #ifdef __CRT_UUID_DECL 13670 __CRT_UUID_DECL(IHWEventHandler2, 0xcfcc809f, 0x295d, 0x42e8, 0x9f,0xfc, 0x42,0x4b,0x33,0xc4,0x87,0xe6) 13671 #endif 13672 #else 13673 typedef struct IHWEventHandler2Vtbl { 13674 BEGIN_INTERFACE 13675 13676 /*** IUnknown methods ***/ 13677 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 13678 IHWEventHandler2 *This, 13679 REFIID riid, 13680 void **ppvObject); 13681 13682 ULONG (STDMETHODCALLTYPE *AddRef)( 13683 IHWEventHandler2 *This); 13684 13685 ULONG (STDMETHODCALLTYPE *Release)( 13686 IHWEventHandler2 *This); 13687 13688 /*** IHWEventHandler methods ***/ 13689 HRESULT (STDMETHODCALLTYPE *Initialize)( 13690 IHWEventHandler2 *This, 13691 LPCWSTR pszParams); 13692 13693 HRESULT (STDMETHODCALLTYPE *HandleEvent)( 13694 IHWEventHandler2 *This, 13695 LPCWSTR pszDeviceID, 13696 LPCWSTR pszAltDeviceID, 13697 LPCWSTR pszEventType); 13698 13699 HRESULT (STDMETHODCALLTYPE *HandleEventWithContent)( 13700 IHWEventHandler2 *This, 13701 LPCWSTR pszDeviceID, 13702 LPCWSTR pszAltDeviceID, 13703 LPCWSTR pszEventType, 13704 LPCWSTR pszContentTypeHandler, 13705 IDataObject *pdataobject); 13706 13707 /*** IHWEventHandler2 methods ***/ 13708 HRESULT (STDMETHODCALLTYPE *HandleEventWithHWND)( 13709 IHWEventHandler2 *This, 13710 LPCWSTR pszDeviceID, 13711 LPCWSTR pszAltDeviceID, 13712 LPCWSTR pszEventType, 13713 HWND hwndOwner); 13714 13715 END_INTERFACE 13716 } IHWEventHandler2Vtbl; 13717 13718 interface IHWEventHandler2 { 13719 CONST_VTBL IHWEventHandler2Vtbl* lpVtbl; 13720 }; 13721 13722 #ifdef COBJMACROS 13723 #ifndef WIDL_C_INLINE_WRAPPERS 13724 /*** IUnknown methods ***/ 13725 #define IHWEventHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13726 #define IHWEventHandler2_AddRef(This) (This)->lpVtbl->AddRef(This) 13727 #define IHWEventHandler2_Release(This) (This)->lpVtbl->Release(This) 13728 /*** IHWEventHandler methods ***/ 13729 #define IHWEventHandler2_Initialize(This,pszParams) (This)->lpVtbl->Initialize(This,pszParams) 13730 #define IHWEventHandler2_HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType) (This)->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType) 13731 #define IHWEventHandler2_HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject) (This)->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject) 13732 /*** IHWEventHandler2 methods ***/ 13733 #define IHWEventHandler2_HandleEventWithHWND(This,pszDeviceID,pszAltDeviceID,pszEventType,hwndOwner) (This)->lpVtbl->HandleEventWithHWND(This,pszDeviceID,pszAltDeviceID,pszEventType,hwndOwner) 13734 #else 13735 /*** IUnknown methods ***/ 13736 static inline HRESULT IHWEventHandler2_QueryInterface(IHWEventHandler2* This,REFIID riid,void **ppvObject) { 13737 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 13738 } 13739 static inline ULONG IHWEventHandler2_AddRef(IHWEventHandler2* This) { 13740 return This->lpVtbl->AddRef(This); 13741 } 13742 static inline ULONG IHWEventHandler2_Release(IHWEventHandler2* This) { 13743 return This->lpVtbl->Release(This); 13744 } 13745 /*** IHWEventHandler methods ***/ 13746 static inline HRESULT IHWEventHandler2_Initialize(IHWEventHandler2* This,LPCWSTR pszParams) { 13747 return This->lpVtbl->Initialize(This,pszParams); 13748 } 13749 static inline HRESULT IHWEventHandler2_HandleEvent(IHWEventHandler2* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType) { 13750 return This->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType); 13751 } 13752 static inline HRESULT IHWEventHandler2_HandleEventWithContent(IHWEventHandler2* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType,LPCWSTR pszContentTypeHandler,IDataObject *pdataobject) { 13753 return This->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject); 13754 } 13755 /*** IHWEventHandler2 methods ***/ 13756 static inline HRESULT IHWEventHandler2_HandleEventWithHWND(IHWEventHandler2* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType,HWND hwndOwner) { 13757 return This->lpVtbl->HandleEventWithHWND(This,pszDeviceID,pszAltDeviceID,pszEventType,hwndOwner); 13758 } 13759 #endif 13760 #endif 13761 13762 #endif 13763 13764 13765 #endif /* __IHWEventHandler2_INTERFACE_DEFINED__ */ 13766 13767 13768 #define ARCONTENT_AUTORUNINF 0x00000002 13769 #define ARCONTENT_AUDIOCD 0x00000004 13770 #define ARCONTENT_DVDMOVIE 0x00000008 13771 #define ARCONTENT_BLANKCD 0x00000010 13772 #define ARCONTENT_BLANKDVD 0x00000020 13773 #define ARCONTENT_UNKNOWNCONTENT 0x00000040 13774 #define ARCONTENT_AUTOPLAYPIX 0x00000080 13775 #define ARCONTENT_AUTOPLAYMUSIC 0x00000100 13776 #define ARCONTENT_AUTOPLAYVIDEO 0x00000200 13777 13778 #if NTDDI_VERSION >= NTDDI_VISTA 13779 #define ARCONTENT_VCD 0x00000400 13780 #define ARCONTENT_SVCD 0x00000800 13781 #define ARCONTENT_DVDAUDIO 0x00001000 13782 #define ARCONTENT_BLANKBD 0x00002000 13783 #define ARCONTENT_BLURAY 0x00004000 13784 #define ARCONTENT_CAMERASTORAGE 0x00008000 13785 #define ARCONTENT_CUSTOMEVENT 0x00010000 13786 #define ARCONTENT_NONE 0x00000000 13787 #define ARCONTENT_MASK 0x0001FFFE 13788 13789 #define ARCONTENT_PHASE_UNKNOWN 0x00000000 13790 #define ARCONTENT_PHASE_PRESNIFF 0x10000000 13791 #define ARCONTENT_PHASE_SNIFFING 0x20000000 13792 #define ARCONTENT_PHASE_FINAL 0x40000000 13793 #define ARCONTENT_PHASE_MASK 0x70000000 13794 #endif 13795 13796 /***************************************************************************** 13797 * IQueryCancelAutoPlay interface 13798 */ 13799 #ifndef __IQueryCancelAutoPlay_INTERFACE_DEFINED__ 13800 #define __IQueryCancelAutoPlay_INTERFACE_DEFINED__ 13801 13802 DEFINE_GUID(IID_IQueryCancelAutoPlay, 0xddefe873, 0x6997, 0x4e68, 0xbe,0x26, 0x39,0xb6,0x33,0xad,0xbe,0x12); 13803 #if defined(__cplusplus) && !defined(CINTERFACE) 13804 MIDL_INTERFACE("ddefe873-6997-4e68-be26-39b633adbe12") 13805 IQueryCancelAutoPlay : public IUnknown 13806 { 13807 virtual HRESULT STDMETHODCALLTYPE AllowAutoPlay( 13808 LPCWSTR pszPath, 13809 DWORD dwContentType, 13810 LPCWSTR pszLabel, 13811 DWORD dwSerialNumber) = 0; 13812 13813 }; 13814 #ifdef __CRT_UUID_DECL 13815 __CRT_UUID_DECL(IQueryCancelAutoPlay, 0xddefe873, 0x6997, 0x4e68, 0xbe,0x26, 0x39,0xb6,0x33,0xad,0xbe,0x12) 13816 #endif 13817 #else 13818 typedef struct IQueryCancelAutoPlayVtbl { 13819 BEGIN_INTERFACE 13820 13821 /*** IUnknown methods ***/ 13822 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 13823 IQueryCancelAutoPlay *This, 13824 REFIID riid, 13825 void **ppvObject); 13826 13827 ULONG (STDMETHODCALLTYPE *AddRef)( 13828 IQueryCancelAutoPlay *This); 13829 13830 ULONG (STDMETHODCALLTYPE *Release)( 13831 IQueryCancelAutoPlay *This); 13832 13833 /*** IQueryCancelAutoPlay methods ***/ 13834 HRESULT (STDMETHODCALLTYPE *AllowAutoPlay)( 13835 IQueryCancelAutoPlay *This, 13836 LPCWSTR pszPath, 13837 DWORD dwContentType, 13838 LPCWSTR pszLabel, 13839 DWORD dwSerialNumber); 13840 13841 END_INTERFACE 13842 } IQueryCancelAutoPlayVtbl; 13843 13844 interface IQueryCancelAutoPlay { 13845 CONST_VTBL IQueryCancelAutoPlayVtbl* lpVtbl; 13846 }; 13847 13848 #ifdef COBJMACROS 13849 #ifndef WIDL_C_INLINE_WRAPPERS 13850 /*** IUnknown methods ***/ 13851 #define IQueryCancelAutoPlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13852 #define IQueryCancelAutoPlay_AddRef(This) (This)->lpVtbl->AddRef(This) 13853 #define IQueryCancelAutoPlay_Release(This) (This)->lpVtbl->Release(This) 13854 /*** IQueryCancelAutoPlay methods ***/ 13855 #define IQueryCancelAutoPlay_AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber) (This)->lpVtbl->AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber) 13856 #else 13857 /*** IUnknown methods ***/ 13858 static inline HRESULT IQueryCancelAutoPlay_QueryInterface(IQueryCancelAutoPlay* This,REFIID riid,void **ppvObject) { 13859 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 13860 } 13861 static inline ULONG IQueryCancelAutoPlay_AddRef(IQueryCancelAutoPlay* This) { 13862 return This->lpVtbl->AddRef(This); 13863 } 13864 static inline ULONG IQueryCancelAutoPlay_Release(IQueryCancelAutoPlay* This) { 13865 return This->lpVtbl->Release(This); 13866 } 13867 /*** IQueryCancelAutoPlay methods ***/ 13868 static inline HRESULT IQueryCancelAutoPlay_AllowAutoPlay(IQueryCancelAutoPlay* This,LPCWSTR pszPath,DWORD dwContentType,LPCWSTR pszLabel,DWORD dwSerialNumber) { 13869 return This->lpVtbl->AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber); 13870 } 13871 #endif 13872 #endif 13873 13874 #endif 13875 13876 13877 #endif /* __IQueryCancelAutoPlay_INTERFACE_DEFINED__ */ 13878 13879 13880 #if NTDDI_VERSION >= NTDDI_VISTA 13881 /***************************************************************************** 13882 * IDynamicHWHandler interface 13883 */ 13884 #ifndef __IDynamicHWHandler_INTERFACE_DEFINED__ 13885 #define __IDynamicHWHandler_INTERFACE_DEFINED__ 13886 13887 DEFINE_GUID(IID_IDynamicHWHandler, 0xdc2601d7, 0x059e, 0x42fc, 0xa0,0x9d, 0x2a,0xfd,0x21,0xb6,0xd5,0xf7); 13888 #if defined(__cplusplus) && !defined(CINTERFACE) 13889 MIDL_INTERFACE("dc2601d7-059e-42fc-a09d-2afd21b6d5f7") 13890 IDynamicHWHandler : public IUnknown 13891 { 13892 virtual HRESULT STDMETHODCALLTYPE GetDynamicInfo( 13893 LPCWSTR pszDeviceID, 13894 DWORD dwContentType, 13895 LPWSTR *ppszAction) = 0; 13896 13897 }; 13898 #ifdef __CRT_UUID_DECL 13899 __CRT_UUID_DECL(IDynamicHWHandler, 0xdc2601d7, 0x059e, 0x42fc, 0xa0,0x9d, 0x2a,0xfd,0x21,0xb6,0xd5,0xf7) 13900 #endif 13901 #else 13902 typedef struct IDynamicHWHandlerVtbl { 13903 BEGIN_INTERFACE 13904 13905 /*** IUnknown methods ***/ 13906 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 13907 IDynamicHWHandler *This, 13908 REFIID riid, 13909 void **ppvObject); 13910 13911 ULONG (STDMETHODCALLTYPE *AddRef)( 13912 IDynamicHWHandler *This); 13913 13914 ULONG (STDMETHODCALLTYPE *Release)( 13915 IDynamicHWHandler *This); 13916 13917 /*** IDynamicHWHandler methods ***/ 13918 HRESULT (STDMETHODCALLTYPE *GetDynamicInfo)( 13919 IDynamicHWHandler *This, 13920 LPCWSTR pszDeviceID, 13921 DWORD dwContentType, 13922 LPWSTR *ppszAction); 13923 13924 END_INTERFACE 13925 } IDynamicHWHandlerVtbl; 13926 13927 interface IDynamicHWHandler { 13928 CONST_VTBL IDynamicHWHandlerVtbl* lpVtbl; 13929 }; 13930 13931 #ifdef COBJMACROS 13932 #ifndef WIDL_C_INLINE_WRAPPERS 13933 /*** IUnknown methods ***/ 13934 #define IDynamicHWHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13935 #define IDynamicHWHandler_AddRef(This) (This)->lpVtbl->AddRef(This) 13936 #define IDynamicHWHandler_Release(This) (This)->lpVtbl->Release(This) 13937 /*** IDynamicHWHandler methods ***/ 13938 #define IDynamicHWHandler_GetDynamicInfo(This,pszDeviceID,dwContentType,ppszAction) (This)->lpVtbl->GetDynamicInfo(This,pszDeviceID,dwContentType,ppszAction) 13939 #else 13940 /*** IUnknown methods ***/ 13941 static inline HRESULT IDynamicHWHandler_QueryInterface(IDynamicHWHandler* This,REFIID riid,void **ppvObject) { 13942 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 13943 } 13944 static inline ULONG IDynamicHWHandler_AddRef(IDynamicHWHandler* This) { 13945 return This->lpVtbl->AddRef(This); 13946 } 13947 static inline ULONG IDynamicHWHandler_Release(IDynamicHWHandler* This) { 13948 return This->lpVtbl->Release(This); 13949 } 13950 /*** IDynamicHWHandler methods ***/ 13951 static inline HRESULT IDynamicHWHandler_GetDynamicInfo(IDynamicHWHandler* This,LPCWSTR pszDeviceID,DWORD dwContentType,LPWSTR *ppszAction) { 13952 return This->lpVtbl->GetDynamicInfo(This,pszDeviceID,dwContentType,ppszAction); 13953 } 13954 #endif 13955 #endif 13956 13957 #endif 13958 13959 13960 #endif /* __IDynamicHWHandler_INTERFACE_DEFINED__ */ 13961 13962 #endif 13963 13964 /***************************************************************************** 13965 * IActionProgress interface 13966 */ 13967 #ifndef __IActionProgress_INTERFACE_DEFINED__ 13968 #define __IActionProgress_INTERFACE_DEFINED__ 13969 13970 enum _SPBEGINF { 13971 SPBEGINF_NORMAL = 0x0, 13972 SPBEGINF_AUTOTIME = 0x2, 13973 SPBEGINF_NOPROGRESSBAR = 0x10, 13974 SPBEGINF_MARQUEEPROGRESS = 0x20, 13975 SPBEGINF_NOCANCELBUTTON = 0x40 13976 }; 13977 13978 typedef DWORD SPBEGINF; 13979 13980 typedef enum _SPACTION { 13981 SPACTION_NONE = 0, 13982 SPACTION_MOVING = 1, 13983 SPACTION_COPYING = 2, 13984 SPACTION_RECYCLING = 3, 13985 SPACTION_APPLYINGATTRIBS = 4, 13986 SPACTION_DOWNLOADING = 5, 13987 SPACTION_SEARCHING_INTERNET = 6, 13988 SPACTION_CALCULATING = 7, 13989 SPACTION_UPLOADING = 8, 13990 SPACTION_SEARCHING_FILES = 9, 13991 SPACTION_DELETING = 10, 13992 SPACTION_RENAMING = 11, 13993 SPACTION_FORMATTING = 12, 13994 SPACTION_COPY_MOVING = 13 13995 } SPACTION; 13996 13997 typedef enum _SPTEXT { 13998 SPTEXT_ACTIONDESCRIPTION = 1, 13999 SPTEXT_ACTIONDETAIL = 2 14000 } SPTEXT; 14001 14002 DEFINE_GUID(IID_IActionProgress, 0x49ff1173, 0xeadc, 0x446d, 0x92,0x85, 0x15,0x64,0x53,0xa6,0x43,0x1c); 14003 #if defined(__cplusplus) && !defined(CINTERFACE) 14004 MIDL_INTERFACE("49ff1173-eadc-446d-9285-156453a6431c") 14005 IActionProgress : public IUnknown 14006 { 14007 virtual HRESULT STDMETHODCALLTYPE Begin( 14008 SPACTION action, 14009 SPBEGINF flags) = 0; 14010 14011 virtual HRESULT STDMETHODCALLTYPE UpdateProgress( 14012 ULONGLONG ulCompleted, 14013 ULONGLONG ulTotal) = 0; 14014 14015 virtual HRESULT STDMETHODCALLTYPE UpdateText( 14016 SPTEXT sptext, 14017 LPCWSTR pszText, 14018 WINBOOL fMayCompact) = 0; 14019 14020 virtual HRESULT STDMETHODCALLTYPE QueryCancel( 14021 WINBOOL *pfCancelled) = 0; 14022 14023 virtual HRESULT STDMETHODCALLTYPE ResetCancel( 14024 ) = 0; 14025 14026 virtual HRESULT STDMETHODCALLTYPE End( 14027 ) = 0; 14028 14029 }; 14030 #ifdef __CRT_UUID_DECL 14031 __CRT_UUID_DECL(IActionProgress, 0x49ff1173, 0xeadc, 0x446d, 0x92,0x85, 0x15,0x64,0x53,0xa6,0x43,0x1c) 14032 #endif 14033 #else 14034 typedef struct IActionProgressVtbl { 14035 BEGIN_INTERFACE 14036 14037 /*** IUnknown methods ***/ 14038 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14039 IActionProgress *This, 14040 REFIID riid, 14041 void **ppvObject); 14042 14043 ULONG (STDMETHODCALLTYPE *AddRef)( 14044 IActionProgress *This); 14045 14046 ULONG (STDMETHODCALLTYPE *Release)( 14047 IActionProgress *This); 14048 14049 /*** IActionProgress methods ***/ 14050 HRESULT (STDMETHODCALLTYPE *Begin)( 14051 IActionProgress *This, 14052 SPACTION action, 14053 SPBEGINF flags); 14054 14055 HRESULT (STDMETHODCALLTYPE *UpdateProgress)( 14056 IActionProgress *This, 14057 ULONGLONG ulCompleted, 14058 ULONGLONG ulTotal); 14059 14060 HRESULT (STDMETHODCALLTYPE *UpdateText)( 14061 IActionProgress *This, 14062 SPTEXT sptext, 14063 LPCWSTR pszText, 14064 WINBOOL fMayCompact); 14065 14066 HRESULT (STDMETHODCALLTYPE *QueryCancel)( 14067 IActionProgress *This, 14068 WINBOOL *pfCancelled); 14069 14070 HRESULT (STDMETHODCALLTYPE *ResetCancel)( 14071 IActionProgress *This); 14072 14073 HRESULT (STDMETHODCALLTYPE *End)( 14074 IActionProgress *This); 14075 14076 END_INTERFACE 14077 } IActionProgressVtbl; 14078 14079 interface IActionProgress { 14080 CONST_VTBL IActionProgressVtbl* lpVtbl; 14081 }; 14082 14083 #ifdef COBJMACROS 14084 #ifndef WIDL_C_INLINE_WRAPPERS 14085 /*** IUnknown methods ***/ 14086 #define IActionProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14087 #define IActionProgress_AddRef(This) (This)->lpVtbl->AddRef(This) 14088 #define IActionProgress_Release(This) (This)->lpVtbl->Release(This) 14089 /*** IActionProgress methods ***/ 14090 #define IActionProgress_Begin(This,action,flags) (This)->lpVtbl->Begin(This,action,flags) 14091 #define IActionProgress_UpdateProgress(This,ulCompleted,ulTotal) (This)->lpVtbl->UpdateProgress(This,ulCompleted,ulTotal) 14092 #define IActionProgress_UpdateText(This,sptext,pszText,fMayCompact) (This)->lpVtbl->UpdateText(This,sptext,pszText,fMayCompact) 14093 #define IActionProgress_QueryCancel(This,pfCancelled) (This)->lpVtbl->QueryCancel(This,pfCancelled) 14094 #define IActionProgress_ResetCancel(This) (This)->lpVtbl->ResetCancel(This) 14095 #define IActionProgress_End(This) (This)->lpVtbl->End(This) 14096 #else 14097 /*** IUnknown methods ***/ 14098 static inline HRESULT IActionProgress_QueryInterface(IActionProgress* This,REFIID riid,void **ppvObject) { 14099 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14100 } 14101 static inline ULONG IActionProgress_AddRef(IActionProgress* This) { 14102 return This->lpVtbl->AddRef(This); 14103 } 14104 static inline ULONG IActionProgress_Release(IActionProgress* This) { 14105 return This->lpVtbl->Release(This); 14106 } 14107 /*** IActionProgress methods ***/ 14108 static inline HRESULT IActionProgress_Begin(IActionProgress* This,SPACTION action,SPBEGINF flags) { 14109 return This->lpVtbl->Begin(This,action,flags); 14110 } 14111 static inline HRESULT IActionProgress_UpdateProgress(IActionProgress* This,ULONGLONG ulCompleted,ULONGLONG ulTotal) { 14112 return This->lpVtbl->UpdateProgress(This,ulCompleted,ulTotal); 14113 } 14114 static inline HRESULT IActionProgress_UpdateText(IActionProgress* This,SPTEXT sptext,LPCWSTR pszText,WINBOOL fMayCompact) { 14115 return This->lpVtbl->UpdateText(This,sptext,pszText,fMayCompact); 14116 } 14117 static inline HRESULT IActionProgress_QueryCancel(IActionProgress* This,WINBOOL *pfCancelled) { 14118 return This->lpVtbl->QueryCancel(This,pfCancelled); 14119 } 14120 static inline HRESULT IActionProgress_ResetCancel(IActionProgress* This) { 14121 return This->lpVtbl->ResetCancel(This); 14122 } 14123 static inline HRESULT IActionProgress_End(IActionProgress* This) { 14124 return This->lpVtbl->End(This); 14125 } 14126 #endif 14127 #endif 14128 14129 #endif 14130 14131 14132 #endif /* __IActionProgress_INTERFACE_DEFINED__ */ 14133 14134 14135 /***************************************************************************** 14136 * IShellExtInit interface 14137 */ 14138 #ifndef __IShellExtInit_INTERFACE_DEFINED__ 14139 #define __IShellExtInit_INTERFACE_DEFINED__ 14140 14141 DEFINE_GUID(IID_IShellExtInit, 0x000214e8, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 14142 #if defined(__cplusplus) && !defined(CINTERFACE) 14143 MIDL_INTERFACE("000214e8-0000-0000-c000-000000000046") 14144 IShellExtInit : public IUnknown 14145 { 14146 virtual HRESULT STDMETHODCALLTYPE Initialize( 14147 PCIDLIST_ABSOLUTE pidlFolder, 14148 IDataObject *pdtobj, 14149 HKEY hkeyProgID) = 0; 14150 14151 }; 14152 #ifdef __CRT_UUID_DECL 14153 __CRT_UUID_DECL(IShellExtInit, 0x000214e8, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 14154 #endif 14155 #else 14156 typedef struct IShellExtInitVtbl { 14157 BEGIN_INTERFACE 14158 14159 /*** IUnknown methods ***/ 14160 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14161 IShellExtInit *This, 14162 REFIID riid, 14163 void **ppvObject); 14164 14165 ULONG (STDMETHODCALLTYPE *AddRef)( 14166 IShellExtInit *This); 14167 14168 ULONG (STDMETHODCALLTYPE *Release)( 14169 IShellExtInit *This); 14170 14171 /*** IShellExtInit methods ***/ 14172 HRESULT (STDMETHODCALLTYPE *Initialize)( 14173 IShellExtInit *This, 14174 PCIDLIST_ABSOLUTE pidlFolder, 14175 IDataObject *pdtobj, 14176 HKEY hkeyProgID); 14177 14178 END_INTERFACE 14179 } IShellExtInitVtbl; 14180 14181 interface IShellExtInit { 14182 CONST_VTBL IShellExtInitVtbl* lpVtbl; 14183 }; 14184 14185 #ifdef COBJMACROS 14186 #ifndef WIDL_C_INLINE_WRAPPERS 14187 /*** IUnknown methods ***/ 14188 #define IShellExtInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14189 #define IShellExtInit_AddRef(This) (This)->lpVtbl->AddRef(This) 14190 #define IShellExtInit_Release(This) (This)->lpVtbl->Release(This) 14191 /*** IShellExtInit methods ***/ 14192 #define IShellExtInit_Initialize(This,pidlFolder,pdtobj,hkeyProgID) (This)->lpVtbl->Initialize(This,pidlFolder,pdtobj,hkeyProgID) 14193 #else 14194 /*** IUnknown methods ***/ 14195 static inline HRESULT IShellExtInit_QueryInterface(IShellExtInit* This,REFIID riid,void **ppvObject) { 14196 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14197 } 14198 static inline ULONG IShellExtInit_AddRef(IShellExtInit* This) { 14199 return This->lpVtbl->AddRef(This); 14200 } 14201 static inline ULONG IShellExtInit_Release(IShellExtInit* This) { 14202 return This->lpVtbl->Release(This); 14203 } 14204 /*** IShellExtInit methods ***/ 14205 static inline HRESULT IShellExtInit_Initialize(IShellExtInit* This,PCIDLIST_ABSOLUTE pidlFolder,IDataObject *pdtobj,HKEY hkeyProgID) { 14206 return This->lpVtbl->Initialize(This,pidlFolder,pdtobj,hkeyProgID); 14207 } 14208 #endif 14209 #endif 14210 14211 #endif 14212 14213 14214 #endif /* __IShellExtInit_INTERFACE_DEFINED__ */ 14215 14216 typedef IShellExtInit *LPSHELLEXTINIT; 14217 14218 /***************************************************************************** 14219 * IShellPropSheetExt interface 14220 */ 14221 #ifndef __IShellPropSheetExt_INTERFACE_DEFINED__ 14222 #define __IShellPropSheetExt_INTERFACE_DEFINED__ 14223 14224 enum _EXPPS { 14225 EXPPS_FILETYPES = 0x1 14226 }; 14227 14228 typedef UINT EXPPS; 14229 14230 DEFINE_GUID(IID_IShellPropSheetExt, 0x000214e9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 14231 #if defined(__cplusplus) && !defined(CINTERFACE) 14232 MIDL_INTERFACE("000214e9-0000-0000-c000-000000000046") 14233 IShellPropSheetExt : public IUnknown 14234 { 14235 virtual HRESULT STDMETHODCALLTYPE AddPages( 14236 LPFNSVADDPROPSHEETPAGE pfnAddPage, 14237 LPARAM lParam) = 0; 14238 14239 virtual HRESULT STDMETHODCALLTYPE ReplacePage( 14240 EXPPS uPageID, 14241 LPFNSVADDPROPSHEETPAGE pfnReplaceWith, 14242 LPARAM lParam) = 0; 14243 14244 }; 14245 #ifdef __CRT_UUID_DECL 14246 __CRT_UUID_DECL(IShellPropSheetExt, 0x000214e9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 14247 #endif 14248 #else 14249 typedef struct IShellPropSheetExtVtbl { 14250 BEGIN_INTERFACE 14251 14252 /*** IUnknown methods ***/ 14253 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14254 IShellPropSheetExt *This, 14255 REFIID riid, 14256 void **ppvObject); 14257 14258 ULONG (STDMETHODCALLTYPE *AddRef)( 14259 IShellPropSheetExt *This); 14260 14261 ULONG (STDMETHODCALLTYPE *Release)( 14262 IShellPropSheetExt *This); 14263 14264 /*** IShellPropSheetExt methods ***/ 14265 HRESULT (STDMETHODCALLTYPE *AddPages)( 14266 IShellPropSheetExt *This, 14267 LPFNSVADDPROPSHEETPAGE pfnAddPage, 14268 LPARAM lParam); 14269 14270 HRESULT (STDMETHODCALLTYPE *ReplacePage)( 14271 IShellPropSheetExt *This, 14272 EXPPS uPageID, 14273 LPFNSVADDPROPSHEETPAGE pfnReplaceWith, 14274 LPARAM lParam); 14275 14276 END_INTERFACE 14277 } IShellPropSheetExtVtbl; 14278 14279 interface IShellPropSheetExt { 14280 CONST_VTBL IShellPropSheetExtVtbl* lpVtbl; 14281 }; 14282 14283 #ifdef COBJMACROS 14284 #ifndef WIDL_C_INLINE_WRAPPERS 14285 /*** IUnknown methods ***/ 14286 #define IShellPropSheetExt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14287 #define IShellPropSheetExt_AddRef(This) (This)->lpVtbl->AddRef(This) 14288 #define IShellPropSheetExt_Release(This) (This)->lpVtbl->Release(This) 14289 /*** IShellPropSheetExt methods ***/ 14290 #define IShellPropSheetExt_AddPages(This,pfnAddPage,lParam) (This)->lpVtbl->AddPages(This,pfnAddPage,lParam) 14291 #define IShellPropSheetExt_ReplacePage(This,uPageID,pfnReplaceWith,lParam) (This)->lpVtbl->ReplacePage(This,uPageID,pfnReplaceWith,lParam) 14292 #else 14293 /*** IUnknown methods ***/ 14294 static inline HRESULT IShellPropSheetExt_QueryInterface(IShellPropSheetExt* This,REFIID riid,void **ppvObject) { 14295 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14296 } 14297 static inline ULONG IShellPropSheetExt_AddRef(IShellPropSheetExt* This) { 14298 return This->lpVtbl->AddRef(This); 14299 } 14300 static inline ULONG IShellPropSheetExt_Release(IShellPropSheetExt* This) { 14301 return This->lpVtbl->Release(This); 14302 } 14303 /*** IShellPropSheetExt methods ***/ 14304 static inline HRESULT IShellPropSheetExt_AddPages(IShellPropSheetExt* This,LPFNSVADDPROPSHEETPAGE pfnAddPage,LPARAM lParam) { 14305 return This->lpVtbl->AddPages(This,pfnAddPage,lParam); 14306 } 14307 static inline HRESULT IShellPropSheetExt_ReplacePage(IShellPropSheetExt* This,EXPPS uPageID,LPFNSVADDPROPSHEETPAGE pfnReplaceWith,LPARAM lParam) { 14308 return This->lpVtbl->ReplacePage(This,uPageID,pfnReplaceWith,lParam); 14309 } 14310 #endif 14311 #endif 14312 14313 #endif 14314 14315 14316 #endif /* __IShellPropSheetExt_INTERFACE_DEFINED__ */ 14317 14318 typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT; 14319 14320 /***************************************************************************** 14321 * IRemoteComputer interface 14322 */ 14323 #ifndef __IRemoteComputer_INTERFACE_DEFINED__ 14324 #define __IRemoteComputer_INTERFACE_DEFINED__ 14325 14326 DEFINE_GUID(IID_IRemoteComputer, 0x000214fe, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 14327 #if defined(__cplusplus) && !defined(CINTERFACE) 14328 MIDL_INTERFACE("000214fe-0000-0000-c000-000000000046") 14329 IRemoteComputer : public IUnknown 14330 { 14331 virtual HRESULT STDMETHODCALLTYPE Initialize( 14332 LPCWSTR pszMachine, 14333 WINBOOL bEnumerating) = 0; 14334 14335 }; 14336 #ifdef __CRT_UUID_DECL 14337 __CRT_UUID_DECL(IRemoteComputer, 0x000214fe, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 14338 #endif 14339 #else 14340 typedef struct IRemoteComputerVtbl { 14341 BEGIN_INTERFACE 14342 14343 /*** IUnknown methods ***/ 14344 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14345 IRemoteComputer *This, 14346 REFIID riid, 14347 void **ppvObject); 14348 14349 ULONG (STDMETHODCALLTYPE *AddRef)( 14350 IRemoteComputer *This); 14351 14352 ULONG (STDMETHODCALLTYPE *Release)( 14353 IRemoteComputer *This); 14354 14355 /*** IRemoteComputer methods ***/ 14356 HRESULT (STDMETHODCALLTYPE *Initialize)( 14357 IRemoteComputer *This, 14358 LPCWSTR pszMachine, 14359 WINBOOL bEnumerating); 14360 14361 END_INTERFACE 14362 } IRemoteComputerVtbl; 14363 14364 interface IRemoteComputer { 14365 CONST_VTBL IRemoteComputerVtbl* lpVtbl; 14366 }; 14367 14368 #ifdef COBJMACROS 14369 #ifndef WIDL_C_INLINE_WRAPPERS 14370 /*** IUnknown methods ***/ 14371 #define IRemoteComputer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14372 #define IRemoteComputer_AddRef(This) (This)->lpVtbl->AddRef(This) 14373 #define IRemoteComputer_Release(This) (This)->lpVtbl->Release(This) 14374 /*** IRemoteComputer methods ***/ 14375 #define IRemoteComputer_Initialize(This,pszMachine,bEnumerating) (This)->lpVtbl->Initialize(This,pszMachine,bEnumerating) 14376 #else 14377 /*** IUnknown methods ***/ 14378 static inline HRESULT IRemoteComputer_QueryInterface(IRemoteComputer* This,REFIID riid,void **ppvObject) { 14379 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14380 } 14381 static inline ULONG IRemoteComputer_AddRef(IRemoteComputer* This) { 14382 return This->lpVtbl->AddRef(This); 14383 } 14384 static inline ULONG IRemoteComputer_Release(IRemoteComputer* This) { 14385 return This->lpVtbl->Release(This); 14386 } 14387 /*** IRemoteComputer methods ***/ 14388 static inline HRESULT IRemoteComputer_Initialize(IRemoteComputer* This,LPCWSTR pszMachine,WINBOOL bEnumerating) { 14389 return This->lpVtbl->Initialize(This,pszMachine,bEnumerating); 14390 } 14391 #endif 14392 #endif 14393 14394 #endif 14395 14396 14397 #endif /* __IRemoteComputer_INTERFACE_DEFINED__ */ 14398 14399 14400 /***************************************************************************** 14401 * IQueryContinue interface 14402 */ 14403 #ifndef __IQueryContinue_INTERFACE_DEFINED__ 14404 #define __IQueryContinue_INTERFACE_DEFINED__ 14405 14406 DEFINE_GUID(IID_IQueryContinue, 0x7307055c, 0xb24a, 0x486b, 0x9f,0x25, 0x16,0x3e,0x59,0x7a,0x28,0xa9); 14407 #if defined(__cplusplus) && !defined(CINTERFACE) 14408 MIDL_INTERFACE("7307055c-b24a-486b-9f25-163e597a28a9") 14409 IQueryContinue : public IUnknown 14410 { 14411 virtual HRESULT STDMETHODCALLTYPE QueryContinue( 14412 ) = 0; 14413 14414 }; 14415 #ifdef __CRT_UUID_DECL 14416 __CRT_UUID_DECL(IQueryContinue, 0x7307055c, 0xb24a, 0x486b, 0x9f,0x25, 0x16,0x3e,0x59,0x7a,0x28,0xa9) 14417 #endif 14418 #else 14419 typedef struct IQueryContinueVtbl { 14420 BEGIN_INTERFACE 14421 14422 /*** IUnknown methods ***/ 14423 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14424 IQueryContinue *This, 14425 REFIID riid, 14426 void **ppvObject); 14427 14428 ULONG (STDMETHODCALLTYPE *AddRef)( 14429 IQueryContinue *This); 14430 14431 ULONG (STDMETHODCALLTYPE *Release)( 14432 IQueryContinue *This); 14433 14434 /*** IQueryContinue methods ***/ 14435 HRESULT (STDMETHODCALLTYPE *QueryContinue)( 14436 IQueryContinue *This); 14437 14438 END_INTERFACE 14439 } IQueryContinueVtbl; 14440 14441 interface IQueryContinue { 14442 CONST_VTBL IQueryContinueVtbl* lpVtbl; 14443 }; 14444 14445 #ifdef COBJMACROS 14446 #ifndef WIDL_C_INLINE_WRAPPERS 14447 /*** IUnknown methods ***/ 14448 #define IQueryContinue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14449 #define IQueryContinue_AddRef(This) (This)->lpVtbl->AddRef(This) 14450 #define IQueryContinue_Release(This) (This)->lpVtbl->Release(This) 14451 /*** IQueryContinue methods ***/ 14452 #define IQueryContinue_QueryContinue(This) (This)->lpVtbl->QueryContinue(This) 14453 #else 14454 /*** IUnknown methods ***/ 14455 static inline HRESULT IQueryContinue_QueryInterface(IQueryContinue* This,REFIID riid,void **ppvObject) { 14456 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14457 } 14458 static inline ULONG IQueryContinue_AddRef(IQueryContinue* This) { 14459 return This->lpVtbl->AddRef(This); 14460 } 14461 static inline ULONG IQueryContinue_Release(IQueryContinue* This) { 14462 return This->lpVtbl->Release(This); 14463 } 14464 /*** IQueryContinue methods ***/ 14465 static inline HRESULT IQueryContinue_QueryContinue(IQueryContinue* This) { 14466 return This->lpVtbl->QueryContinue(This); 14467 } 14468 #endif 14469 #endif 14470 14471 #endif 14472 14473 14474 #endif /* __IQueryContinue_INTERFACE_DEFINED__ */ 14475 14476 14477 /***************************************************************************** 14478 * IObjectWithCancelEvent interface 14479 */ 14480 #ifndef __IObjectWithCancelEvent_INTERFACE_DEFINED__ 14481 #define __IObjectWithCancelEvent_INTERFACE_DEFINED__ 14482 14483 DEFINE_GUID(IID_IObjectWithCancelEvent, 0xf279b885, 0x0ae9, 0x4b85, 0xac,0x06, 0xdd,0xec,0xf9,0x40,0x89,0x41); 14484 #if defined(__cplusplus) && !defined(CINTERFACE) 14485 MIDL_INTERFACE("f279b885-0ae9-4b85-ac06-ddecf9408941") 14486 IObjectWithCancelEvent : public IUnknown 14487 { 14488 virtual HRESULT STDMETHODCALLTYPE GetCancelEvent( 14489 HANDLE *phEvent) = 0; 14490 14491 }; 14492 #ifdef __CRT_UUID_DECL 14493 __CRT_UUID_DECL(IObjectWithCancelEvent, 0xf279b885, 0x0ae9, 0x4b85, 0xac,0x06, 0xdd,0xec,0xf9,0x40,0x89,0x41) 14494 #endif 14495 #else 14496 typedef struct IObjectWithCancelEventVtbl { 14497 BEGIN_INTERFACE 14498 14499 /*** IUnknown methods ***/ 14500 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14501 IObjectWithCancelEvent *This, 14502 REFIID riid, 14503 void **ppvObject); 14504 14505 ULONG (STDMETHODCALLTYPE *AddRef)( 14506 IObjectWithCancelEvent *This); 14507 14508 ULONG (STDMETHODCALLTYPE *Release)( 14509 IObjectWithCancelEvent *This); 14510 14511 /*** IObjectWithCancelEvent methods ***/ 14512 HRESULT (STDMETHODCALLTYPE *GetCancelEvent)( 14513 IObjectWithCancelEvent *This, 14514 HANDLE *phEvent); 14515 14516 END_INTERFACE 14517 } IObjectWithCancelEventVtbl; 14518 14519 interface IObjectWithCancelEvent { 14520 CONST_VTBL IObjectWithCancelEventVtbl* lpVtbl; 14521 }; 14522 14523 #ifdef COBJMACROS 14524 #ifndef WIDL_C_INLINE_WRAPPERS 14525 /*** IUnknown methods ***/ 14526 #define IObjectWithCancelEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14527 #define IObjectWithCancelEvent_AddRef(This) (This)->lpVtbl->AddRef(This) 14528 #define IObjectWithCancelEvent_Release(This) (This)->lpVtbl->Release(This) 14529 /*** IObjectWithCancelEvent methods ***/ 14530 #define IObjectWithCancelEvent_GetCancelEvent(This,phEvent) (This)->lpVtbl->GetCancelEvent(This,phEvent) 14531 #else 14532 /*** IUnknown methods ***/ 14533 static inline HRESULT IObjectWithCancelEvent_QueryInterface(IObjectWithCancelEvent* This,REFIID riid,void **ppvObject) { 14534 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14535 } 14536 static inline ULONG IObjectWithCancelEvent_AddRef(IObjectWithCancelEvent* This) { 14537 return This->lpVtbl->AddRef(This); 14538 } 14539 static inline ULONG IObjectWithCancelEvent_Release(IObjectWithCancelEvent* This) { 14540 return This->lpVtbl->Release(This); 14541 } 14542 /*** IObjectWithCancelEvent methods ***/ 14543 static inline HRESULT IObjectWithCancelEvent_GetCancelEvent(IObjectWithCancelEvent* This,HANDLE *phEvent) { 14544 return This->lpVtbl->GetCancelEvent(This,phEvent); 14545 } 14546 #endif 14547 #endif 14548 14549 #endif 14550 14551 14552 #endif /* __IObjectWithCancelEvent_INTERFACE_DEFINED__ */ 14553 14554 14555 /***************************************************************************** 14556 * IUserNotification interface 14557 */ 14558 #ifndef __IUserNotification_INTERFACE_DEFINED__ 14559 #define __IUserNotification_INTERFACE_DEFINED__ 14560 14561 DEFINE_GUID(IID_IUserNotification, 0xba9711ba, 0x5893, 0x4787, 0xa7,0xe1, 0x41,0x27,0x71,0x51,0x55,0x0b); 14562 #if defined(__cplusplus) && !defined(CINTERFACE) 14563 MIDL_INTERFACE("ba9711ba-5893-4787-a7e1-41277151550b") 14564 IUserNotification : public IUnknown 14565 { 14566 virtual HRESULT STDMETHODCALLTYPE SetBalloonInfo( 14567 LPCWSTR pszTitle, 14568 LPCWSTR pszText, 14569 DWORD dwInfoFlags) = 0; 14570 14571 virtual HRESULT STDMETHODCALLTYPE SetBalloonRetry( 14572 DWORD dwShowTime, 14573 DWORD dwInterval, 14574 UINT cRetryCount) = 0; 14575 14576 virtual HRESULT STDMETHODCALLTYPE SetIconInfo( 14577 HICON hIcon, 14578 LPCWSTR pszToolTip) = 0; 14579 14580 virtual HRESULT STDMETHODCALLTYPE Show( 14581 IQueryContinue *pqc, 14582 DWORD dwContinuePollInterval) = 0; 14583 14584 virtual HRESULT STDMETHODCALLTYPE PlaySound( 14585 LPCWSTR pszSoundName) = 0; 14586 14587 }; 14588 #ifdef __CRT_UUID_DECL 14589 __CRT_UUID_DECL(IUserNotification, 0xba9711ba, 0x5893, 0x4787, 0xa7,0xe1, 0x41,0x27,0x71,0x51,0x55,0x0b) 14590 #endif 14591 #else 14592 typedef struct IUserNotificationVtbl { 14593 BEGIN_INTERFACE 14594 14595 /*** IUnknown methods ***/ 14596 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14597 IUserNotification *This, 14598 REFIID riid, 14599 void **ppvObject); 14600 14601 ULONG (STDMETHODCALLTYPE *AddRef)( 14602 IUserNotification *This); 14603 14604 ULONG (STDMETHODCALLTYPE *Release)( 14605 IUserNotification *This); 14606 14607 /*** IUserNotification methods ***/ 14608 HRESULT (STDMETHODCALLTYPE *SetBalloonInfo)( 14609 IUserNotification *This, 14610 LPCWSTR pszTitle, 14611 LPCWSTR pszText, 14612 DWORD dwInfoFlags); 14613 14614 HRESULT (STDMETHODCALLTYPE *SetBalloonRetry)( 14615 IUserNotification *This, 14616 DWORD dwShowTime, 14617 DWORD dwInterval, 14618 UINT cRetryCount); 14619 14620 HRESULT (STDMETHODCALLTYPE *SetIconInfo)( 14621 IUserNotification *This, 14622 HICON hIcon, 14623 LPCWSTR pszToolTip); 14624 14625 HRESULT (STDMETHODCALLTYPE *Show)( 14626 IUserNotification *This, 14627 IQueryContinue *pqc, 14628 DWORD dwContinuePollInterval); 14629 14630 HRESULT (STDMETHODCALLTYPE *PlaySound)( 14631 IUserNotification *This, 14632 LPCWSTR pszSoundName); 14633 14634 END_INTERFACE 14635 } IUserNotificationVtbl; 14636 14637 interface IUserNotification { 14638 CONST_VTBL IUserNotificationVtbl* lpVtbl; 14639 }; 14640 14641 #ifdef COBJMACROS 14642 #ifndef WIDL_C_INLINE_WRAPPERS 14643 /*** IUnknown methods ***/ 14644 #define IUserNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14645 #define IUserNotification_AddRef(This) (This)->lpVtbl->AddRef(This) 14646 #define IUserNotification_Release(This) (This)->lpVtbl->Release(This) 14647 /*** IUserNotification methods ***/ 14648 #define IUserNotification_SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags) (This)->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags) 14649 #define IUserNotification_SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount) (This)->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount) 14650 #define IUserNotification_SetIconInfo(This,hIcon,pszToolTip) (This)->lpVtbl->SetIconInfo(This,hIcon,pszToolTip) 14651 #define IUserNotification_Show(This,pqc,dwContinuePollInterval) (This)->lpVtbl->Show(This,pqc,dwContinuePollInterval) 14652 #define IUserNotification_PlaySound(This,pszSoundName) (This)->lpVtbl->PlaySound(This,pszSoundName) 14653 #else 14654 /*** IUnknown methods ***/ 14655 static inline HRESULT IUserNotification_QueryInterface(IUserNotification* This,REFIID riid,void **ppvObject) { 14656 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14657 } 14658 static inline ULONG IUserNotification_AddRef(IUserNotification* This) { 14659 return This->lpVtbl->AddRef(This); 14660 } 14661 static inline ULONG IUserNotification_Release(IUserNotification* This) { 14662 return This->lpVtbl->Release(This); 14663 } 14664 /*** IUserNotification methods ***/ 14665 static inline HRESULT IUserNotification_SetBalloonInfo(IUserNotification* This,LPCWSTR pszTitle,LPCWSTR pszText,DWORD dwInfoFlags) { 14666 return This->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags); 14667 } 14668 static inline HRESULT IUserNotification_SetBalloonRetry(IUserNotification* This,DWORD dwShowTime,DWORD dwInterval,UINT cRetryCount) { 14669 return This->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount); 14670 } 14671 static inline HRESULT IUserNotification_SetIconInfo(IUserNotification* This,HICON hIcon,LPCWSTR pszToolTip) { 14672 return This->lpVtbl->SetIconInfo(This,hIcon,pszToolTip); 14673 } 14674 static inline HRESULT IUserNotification_Show(IUserNotification* This,IQueryContinue *pqc,DWORD dwContinuePollInterval) { 14675 return This->lpVtbl->Show(This,pqc,dwContinuePollInterval); 14676 } 14677 static inline HRESULT IUserNotification_PlaySound(IUserNotification* This,LPCWSTR pszSoundName) { 14678 return This->lpVtbl->PlaySound(This,pszSoundName); 14679 } 14680 #endif 14681 #endif 14682 14683 #endif 14684 14685 14686 #endif /* __IUserNotification_INTERFACE_DEFINED__ */ 14687 14688 14689 /***************************************************************************** 14690 * IUserNotificationCallback interface 14691 */ 14692 #ifndef __IUserNotificationCallback_INTERFACE_DEFINED__ 14693 #define __IUserNotificationCallback_INTERFACE_DEFINED__ 14694 14695 DEFINE_GUID(IID_IUserNotificationCallback, 0x19108294, 0x0441, 0x4aff, 0x80,0x13, 0xfa,0x0a,0x73,0x0b,0x0b,0xea); 14696 #if defined(__cplusplus) && !defined(CINTERFACE) 14697 MIDL_INTERFACE("19108294-0441-4aff-8013-fa0a730b0bea") 14698 IUserNotificationCallback : public IUnknown 14699 { 14700 virtual HRESULT STDMETHODCALLTYPE OnBalloonUserClick( 14701 POINT *pt) = 0; 14702 14703 virtual HRESULT STDMETHODCALLTYPE OnLeftClick( 14704 POINT *pt) = 0; 14705 14706 virtual HRESULT STDMETHODCALLTYPE OnContextMenu( 14707 POINT *pt) = 0; 14708 14709 }; 14710 #ifdef __CRT_UUID_DECL 14711 __CRT_UUID_DECL(IUserNotificationCallback, 0x19108294, 0x0441, 0x4aff, 0x80,0x13, 0xfa,0x0a,0x73,0x0b,0x0b,0xea) 14712 #endif 14713 #else 14714 typedef struct IUserNotificationCallbackVtbl { 14715 BEGIN_INTERFACE 14716 14717 /*** IUnknown methods ***/ 14718 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14719 IUserNotificationCallback *This, 14720 REFIID riid, 14721 void **ppvObject); 14722 14723 ULONG (STDMETHODCALLTYPE *AddRef)( 14724 IUserNotificationCallback *This); 14725 14726 ULONG (STDMETHODCALLTYPE *Release)( 14727 IUserNotificationCallback *This); 14728 14729 /*** IUserNotificationCallback methods ***/ 14730 HRESULT (STDMETHODCALLTYPE *OnBalloonUserClick)( 14731 IUserNotificationCallback *This, 14732 POINT *pt); 14733 14734 HRESULT (STDMETHODCALLTYPE *OnLeftClick)( 14735 IUserNotificationCallback *This, 14736 POINT *pt); 14737 14738 HRESULT (STDMETHODCALLTYPE *OnContextMenu)( 14739 IUserNotificationCallback *This, 14740 POINT *pt); 14741 14742 END_INTERFACE 14743 } IUserNotificationCallbackVtbl; 14744 14745 interface IUserNotificationCallback { 14746 CONST_VTBL IUserNotificationCallbackVtbl* lpVtbl; 14747 }; 14748 14749 #ifdef COBJMACROS 14750 #ifndef WIDL_C_INLINE_WRAPPERS 14751 /*** IUnknown methods ***/ 14752 #define IUserNotificationCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14753 #define IUserNotificationCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 14754 #define IUserNotificationCallback_Release(This) (This)->lpVtbl->Release(This) 14755 /*** IUserNotificationCallback methods ***/ 14756 #define IUserNotificationCallback_OnBalloonUserClick(This,pt) (This)->lpVtbl->OnBalloonUserClick(This,pt) 14757 #define IUserNotificationCallback_OnLeftClick(This,pt) (This)->lpVtbl->OnLeftClick(This,pt) 14758 #define IUserNotificationCallback_OnContextMenu(This,pt) (This)->lpVtbl->OnContextMenu(This,pt) 14759 #else 14760 /*** IUnknown methods ***/ 14761 static inline HRESULT IUserNotificationCallback_QueryInterface(IUserNotificationCallback* This,REFIID riid,void **ppvObject) { 14762 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14763 } 14764 static inline ULONG IUserNotificationCallback_AddRef(IUserNotificationCallback* This) { 14765 return This->lpVtbl->AddRef(This); 14766 } 14767 static inline ULONG IUserNotificationCallback_Release(IUserNotificationCallback* This) { 14768 return This->lpVtbl->Release(This); 14769 } 14770 /*** IUserNotificationCallback methods ***/ 14771 static inline HRESULT IUserNotificationCallback_OnBalloonUserClick(IUserNotificationCallback* This,POINT *pt) { 14772 return This->lpVtbl->OnBalloonUserClick(This,pt); 14773 } 14774 static inline HRESULT IUserNotificationCallback_OnLeftClick(IUserNotificationCallback* This,POINT *pt) { 14775 return This->lpVtbl->OnLeftClick(This,pt); 14776 } 14777 static inline HRESULT IUserNotificationCallback_OnContextMenu(IUserNotificationCallback* This,POINT *pt) { 14778 return This->lpVtbl->OnContextMenu(This,pt); 14779 } 14780 #endif 14781 #endif 14782 14783 #endif 14784 14785 14786 #endif /* __IUserNotificationCallback_INTERFACE_DEFINED__ */ 14787 14788 14789 /***************************************************************************** 14790 * IUserNotification2 interface 14791 */ 14792 #ifndef __IUserNotification2_INTERFACE_DEFINED__ 14793 #define __IUserNotification2_INTERFACE_DEFINED__ 14794 14795 DEFINE_GUID(IID_IUserNotification2, 0x215913cc, 0x57eb, 0x4fab, 0xab,0x5a, 0xe5,0xfa,0x7b,0xea,0x2a,0x6c); 14796 #if defined(__cplusplus) && !defined(CINTERFACE) 14797 MIDL_INTERFACE("215913cc-57eb-4fab-ab5a-e5fa7bea2a6c") 14798 IUserNotification2 : public IUnknown 14799 { 14800 virtual HRESULT STDMETHODCALLTYPE SetBalloonInfo( 14801 LPCWSTR pszTitle, 14802 LPCWSTR pszText, 14803 DWORD dwInfoFlags) = 0; 14804 14805 virtual HRESULT STDMETHODCALLTYPE SetBalloonRetry( 14806 DWORD dwShowTime, 14807 DWORD dwInterval, 14808 UINT cRetryCount) = 0; 14809 14810 virtual HRESULT STDMETHODCALLTYPE SetIconInfo( 14811 HICON hIcon, 14812 LPCWSTR pszToolTip) = 0; 14813 14814 virtual HRESULT STDMETHODCALLTYPE Show( 14815 IQueryContinue *pqc, 14816 DWORD dwContinuePollInterval, 14817 IUserNotificationCallback *pSink) = 0; 14818 14819 virtual HRESULT STDMETHODCALLTYPE PlaySound( 14820 LPCWSTR pszSoundName) = 0; 14821 14822 }; 14823 #ifdef __CRT_UUID_DECL 14824 __CRT_UUID_DECL(IUserNotification2, 0x215913cc, 0x57eb, 0x4fab, 0xab,0x5a, 0xe5,0xfa,0x7b,0xea,0x2a,0x6c) 14825 #endif 14826 #else 14827 typedef struct IUserNotification2Vtbl { 14828 BEGIN_INTERFACE 14829 14830 /*** IUnknown methods ***/ 14831 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14832 IUserNotification2 *This, 14833 REFIID riid, 14834 void **ppvObject); 14835 14836 ULONG (STDMETHODCALLTYPE *AddRef)( 14837 IUserNotification2 *This); 14838 14839 ULONG (STDMETHODCALLTYPE *Release)( 14840 IUserNotification2 *This); 14841 14842 /*** IUserNotification2 methods ***/ 14843 HRESULT (STDMETHODCALLTYPE *SetBalloonInfo)( 14844 IUserNotification2 *This, 14845 LPCWSTR pszTitle, 14846 LPCWSTR pszText, 14847 DWORD dwInfoFlags); 14848 14849 HRESULT (STDMETHODCALLTYPE *SetBalloonRetry)( 14850 IUserNotification2 *This, 14851 DWORD dwShowTime, 14852 DWORD dwInterval, 14853 UINT cRetryCount); 14854 14855 HRESULT (STDMETHODCALLTYPE *SetIconInfo)( 14856 IUserNotification2 *This, 14857 HICON hIcon, 14858 LPCWSTR pszToolTip); 14859 14860 HRESULT (STDMETHODCALLTYPE *Show)( 14861 IUserNotification2 *This, 14862 IQueryContinue *pqc, 14863 DWORD dwContinuePollInterval, 14864 IUserNotificationCallback *pSink); 14865 14866 HRESULT (STDMETHODCALLTYPE *PlaySound)( 14867 IUserNotification2 *This, 14868 LPCWSTR pszSoundName); 14869 14870 END_INTERFACE 14871 } IUserNotification2Vtbl; 14872 14873 interface IUserNotification2 { 14874 CONST_VTBL IUserNotification2Vtbl* lpVtbl; 14875 }; 14876 14877 #ifdef COBJMACROS 14878 #ifndef WIDL_C_INLINE_WRAPPERS 14879 /*** IUnknown methods ***/ 14880 #define IUserNotification2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14881 #define IUserNotification2_AddRef(This) (This)->lpVtbl->AddRef(This) 14882 #define IUserNotification2_Release(This) (This)->lpVtbl->Release(This) 14883 /*** IUserNotification2 methods ***/ 14884 #define IUserNotification2_SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags) (This)->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags) 14885 #define IUserNotification2_SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount) (This)->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount) 14886 #define IUserNotification2_SetIconInfo(This,hIcon,pszToolTip) (This)->lpVtbl->SetIconInfo(This,hIcon,pszToolTip) 14887 #define IUserNotification2_Show(This,pqc,dwContinuePollInterval,pSink) (This)->lpVtbl->Show(This,pqc,dwContinuePollInterval,pSink) 14888 #define IUserNotification2_PlaySound(This,pszSoundName) (This)->lpVtbl->PlaySound(This,pszSoundName) 14889 #else 14890 /*** IUnknown methods ***/ 14891 static inline HRESULT IUserNotification2_QueryInterface(IUserNotification2* This,REFIID riid,void **ppvObject) { 14892 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14893 } 14894 static inline ULONG IUserNotification2_AddRef(IUserNotification2* This) { 14895 return This->lpVtbl->AddRef(This); 14896 } 14897 static inline ULONG IUserNotification2_Release(IUserNotification2* This) { 14898 return This->lpVtbl->Release(This); 14899 } 14900 /*** IUserNotification2 methods ***/ 14901 static inline HRESULT IUserNotification2_SetBalloonInfo(IUserNotification2* This,LPCWSTR pszTitle,LPCWSTR pszText,DWORD dwInfoFlags) { 14902 return This->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags); 14903 } 14904 static inline HRESULT IUserNotification2_SetBalloonRetry(IUserNotification2* This,DWORD dwShowTime,DWORD dwInterval,UINT cRetryCount) { 14905 return This->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount); 14906 } 14907 static inline HRESULT IUserNotification2_SetIconInfo(IUserNotification2* This,HICON hIcon,LPCWSTR pszToolTip) { 14908 return This->lpVtbl->SetIconInfo(This,hIcon,pszToolTip); 14909 } 14910 static inline HRESULT IUserNotification2_Show(IUserNotification2* This,IQueryContinue *pqc,DWORD dwContinuePollInterval,IUserNotificationCallback *pSink) { 14911 return This->lpVtbl->Show(This,pqc,dwContinuePollInterval,pSink); 14912 } 14913 static inline HRESULT IUserNotification2_PlaySound(IUserNotification2* This,LPCWSTR pszSoundName) { 14914 return This->lpVtbl->PlaySound(This,pszSoundName); 14915 } 14916 #endif 14917 #endif 14918 14919 #endif 14920 14921 14922 #endif /* __IUserNotification2_INTERFACE_DEFINED__ */ 14923 14924 14925 /***************************************************************************** 14926 * IItemNameLimits interface 14927 */ 14928 #ifndef __IItemNameLimits_INTERFACE_DEFINED__ 14929 #define __IItemNameLimits_INTERFACE_DEFINED__ 14930 14931 DEFINE_GUID(IID_IItemNameLimits, 0x1df0d7f1, 0xb267, 0x4d28, 0x8b,0x10, 0x12,0xe2,0x32,0x02,0xa5,0xc4); 14932 #if defined(__cplusplus) && !defined(CINTERFACE) 14933 MIDL_INTERFACE("1df0d7f1-b267-4d28-8b10-12e23202a5c4") 14934 IItemNameLimits : public IUnknown 14935 { 14936 virtual HRESULT STDMETHODCALLTYPE GetValidCharacters( 14937 LPWSTR *ppwszValidChars, 14938 LPWSTR *ppwszInvalidChars) = 0; 14939 14940 virtual HRESULT STDMETHODCALLTYPE GetMaxLength( 14941 LPCWSTR pszName, 14942 int *piMaxNameLen) = 0; 14943 14944 }; 14945 #ifdef __CRT_UUID_DECL 14946 __CRT_UUID_DECL(IItemNameLimits, 0x1df0d7f1, 0xb267, 0x4d28, 0x8b,0x10, 0x12,0xe2,0x32,0x02,0xa5,0xc4) 14947 #endif 14948 #else 14949 typedef struct IItemNameLimitsVtbl { 14950 BEGIN_INTERFACE 14951 14952 /*** IUnknown methods ***/ 14953 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 14954 IItemNameLimits *This, 14955 REFIID riid, 14956 void **ppvObject); 14957 14958 ULONG (STDMETHODCALLTYPE *AddRef)( 14959 IItemNameLimits *This); 14960 14961 ULONG (STDMETHODCALLTYPE *Release)( 14962 IItemNameLimits *This); 14963 14964 /*** IItemNameLimits methods ***/ 14965 HRESULT (STDMETHODCALLTYPE *GetValidCharacters)( 14966 IItemNameLimits *This, 14967 LPWSTR *ppwszValidChars, 14968 LPWSTR *ppwszInvalidChars); 14969 14970 HRESULT (STDMETHODCALLTYPE *GetMaxLength)( 14971 IItemNameLimits *This, 14972 LPCWSTR pszName, 14973 int *piMaxNameLen); 14974 14975 END_INTERFACE 14976 } IItemNameLimitsVtbl; 14977 14978 interface IItemNameLimits { 14979 CONST_VTBL IItemNameLimitsVtbl* lpVtbl; 14980 }; 14981 14982 #ifdef COBJMACROS 14983 #ifndef WIDL_C_INLINE_WRAPPERS 14984 /*** IUnknown methods ***/ 14985 #define IItemNameLimits_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14986 #define IItemNameLimits_AddRef(This) (This)->lpVtbl->AddRef(This) 14987 #define IItemNameLimits_Release(This) (This)->lpVtbl->Release(This) 14988 /*** IItemNameLimits methods ***/ 14989 #define IItemNameLimits_GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars) (This)->lpVtbl->GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars) 14990 #define IItemNameLimits_GetMaxLength(This,pszName,piMaxNameLen) (This)->lpVtbl->GetMaxLength(This,pszName,piMaxNameLen) 14991 #else 14992 /*** IUnknown methods ***/ 14993 static inline HRESULT IItemNameLimits_QueryInterface(IItemNameLimits* This,REFIID riid,void **ppvObject) { 14994 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 14995 } 14996 static inline ULONG IItemNameLimits_AddRef(IItemNameLimits* This) { 14997 return This->lpVtbl->AddRef(This); 14998 } 14999 static inline ULONG IItemNameLimits_Release(IItemNameLimits* This) { 15000 return This->lpVtbl->Release(This); 15001 } 15002 /*** IItemNameLimits methods ***/ 15003 static inline HRESULT IItemNameLimits_GetValidCharacters(IItemNameLimits* This,LPWSTR *ppwszValidChars,LPWSTR *ppwszInvalidChars) { 15004 return This->lpVtbl->GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars); 15005 } 15006 static inline HRESULT IItemNameLimits_GetMaxLength(IItemNameLimits* This,LPCWSTR pszName,int *piMaxNameLen) { 15007 return This->lpVtbl->GetMaxLength(This,pszName,piMaxNameLen); 15008 } 15009 #endif 15010 #endif 15011 15012 #endif 15013 15014 15015 #endif /* __IItemNameLimits_INTERFACE_DEFINED__ */ 15016 15017 15018 #if NTDDI_VERSION >= NTDDI_VISTA 15019 #ifndef __ICondition_FWD_DEFINED__ 15020 #define __ICondition_FWD_DEFINED__ 15021 typedef interface ICondition ICondition; 15022 #ifdef __cplusplus 15023 interface ICondition; 15024 #endif /* __cplusplus */ 15025 #endif 15026 15027 15028 /***************************************************************************** 15029 * ISearchFolderItemFactory interface 15030 */ 15031 #ifndef __ISearchFolderItemFactory_INTERFACE_DEFINED__ 15032 #define __ISearchFolderItemFactory_INTERFACE_DEFINED__ 15033 15034 DEFINE_GUID(IID_ISearchFolderItemFactory, 0xa0ffbc28, 0x5482, 0x4366, 0xbe,0x27, 0x3e,0x81,0xe7,0x8e,0x06,0xc2); 15035 #if defined(__cplusplus) && !defined(CINTERFACE) 15036 MIDL_INTERFACE("a0ffbc28-5482-4366-be27-3e81e78e06c2") 15037 ISearchFolderItemFactory : public IUnknown 15038 { 15039 virtual HRESULT STDMETHODCALLTYPE SetDisplayName( 15040 LPCWSTR pszDisplayName) = 0; 15041 15042 virtual HRESULT STDMETHODCALLTYPE SetFolderTypeID( 15043 FOLDERTYPEID ftid) = 0; 15044 15045 virtual HRESULT STDMETHODCALLTYPE SetFolderLogicalViewMode( 15046 FOLDERLOGICALVIEWMODE flvm) = 0; 15047 15048 virtual HRESULT STDMETHODCALLTYPE SetIconSize( 15049 int iIconSize) = 0; 15050 15051 virtual HRESULT STDMETHODCALLTYPE SetVisibleColumns( 15052 UINT cVisibleColumns, 15053 PROPERTYKEY *rgKey) = 0; 15054 15055 virtual HRESULT STDMETHODCALLTYPE SetSortColumns( 15056 UINT cSortColumns, 15057 SORTCOLUMN *rgSortColumns) = 0; 15058 15059 virtual HRESULT STDMETHODCALLTYPE SetGroupColumn( 15060 REFPROPERTYKEY keyGroup) = 0; 15061 15062 virtual HRESULT STDMETHODCALLTYPE SetStacks( 15063 UINT cStackKeys, 15064 PROPERTYKEY *rgStackKeys) = 0; 15065 15066 virtual HRESULT STDMETHODCALLTYPE SetScope( 15067 IShellItemArray *psiaScope) = 0; 15068 15069 virtual HRESULT STDMETHODCALLTYPE SetCondition( 15070 ICondition *pCondition) = 0; 15071 15072 virtual HRESULT STDMETHODCALLTYPE GetShellItem( 15073 REFIID riid, 15074 void **ppv) = 0; 15075 15076 virtual HRESULT STDMETHODCALLTYPE GetIDList( 15077 PIDLIST_ABSOLUTE *ppidl) = 0; 15078 15079 }; 15080 #ifdef __CRT_UUID_DECL 15081 __CRT_UUID_DECL(ISearchFolderItemFactory, 0xa0ffbc28, 0x5482, 0x4366, 0xbe,0x27, 0x3e,0x81,0xe7,0x8e,0x06,0xc2) 15082 #endif 15083 #else 15084 typedef struct ISearchFolderItemFactoryVtbl { 15085 BEGIN_INTERFACE 15086 15087 /*** IUnknown methods ***/ 15088 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 15089 ISearchFolderItemFactory *This, 15090 REFIID riid, 15091 void **ppvObject); 15092 15093 ULONG (STDMETHODCALLTYPE *AddRef)( 15094 ISearchFolderItemFactory *This); 15095 15096 ULONG (STDMETHODCALLTYPE *Release)( 15097 ISearchFolderItemFactory *This); 15098 15099 /*** ISearchFolderItemFactory methods ***/ 15100 HRESULT (STDMETHODCALLTYPE *SetDisplayName)( 15101 ISearchFolderItemFactory *This, 15102 LPCWSTR pszDisplayName); 15103 15104 HRESULT (STDMETHODCALLTYPE *SetFolderTypeID)( 15105 ISearchFolderItemFactory *This, 15106 FOLDERTYPEID ftid); 15107 15108 HRESULT (STDMETHODCALLTYPE *SetFolderLogicalViewMode)( 15109 ISearchFolderItemFactory *This, 15110 FOLDERLOGICALVIEWMODE flvm); 15111 15112 HRESULT (STDMETHODCALLTYPE *SetIconSize)( 15113 ISearchFolderItemFactory *This, 15114 int iIconSize); 15115 15116 HRESULT (STDMETHODCALLTYPE *SetVisibleColumns)( 15117 ISearchFolderItemFactory *This, 15118 UINT cVisibleColumns, 15119 PROPERTYKEY *rgKey); 15120 15121 HRESULT (STDMETHODCALLTYPE *SetSortColumns)( 15122 ISearchFolderItemFactory *This, 15123 UINT cSortColumns, 15124 SORTCOLUMN *rgSortColumns); 15125 15126 HRESULT (STDMETHODCALLTYPE *SetGroupColumn)( 15127 ISearchFolderItemFactory *This, 15128 REFPROPERTYKEY keyGroup); 15129 15130 HRESULT (STDMETHODCALLTYPE *SetStacks)( 15131 ISearchFolderItemFactory *This, 15132 UINT cStackKeys, 15133 PROPERTYKEY *rgStackKeys); 15134 15135 HRESULT (STDMETHODCALLTYPE *SetScope)( 15136 ISearchFolderItemFactory *This, 15137 IShellItemArray *psiaScope); 15138 15139 HRESULT (STDMETHODCALLTYPE *SetCondition)( 15140 ISearchFolderItemFactory *This, 15141 ICondition *pCondition); 15142 15143 HRESULT (STDMETHODCALLTYPE *GetShellItem)( 15144 ISearchFolderItemFactory *This, 15145 REFIID riid, 15146 void **ppv); 15147 15148 HRESULT (STDMETHODCALLTYPE *GetIDList)( 15149 ISearchFolderItemFactory *This, 15150 PIDLIST_ABSOLUTE *ppidl); 15151 15152 END_INTERFACE 15153 } ISearchFolderItemFactoryVtbl; 15154 15155 interface ISearchFolderItemFactory { 15156 CONST_VTBL ISearchFolderItemFactoryVtbl* lpVtbl; 15157 }; 15158 15159 #ifdef COBJMACROS 15160 #ifndef WIDL_C_INLINE_WRAPPERS 15161 /*** IUnknown methods ***/ 15162 #define ISearchFolderItemFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15163 #define ISearchFolderItemFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 15164 #define ISearchFolderItemFactory_Release(This) (This)->lpVtbl->Release(This) 15165 /*** ISearchFolderItemFactory methods ***/ 15166 #define ISearchFolderItemFactory_SetDisplayName(This,pszDisplayName) (This)->lpVtbl->SetDisplayName(This,pszDisplayName) 15167 #define ISearchFolderItemFactory_SetFolderTypeID(This,ftid) (This)->lpVtbl->SetFolderTypeID(This,ftid) 15168 #define ISearchFolderItemFactory_SetFolderLogicalViewMode(This,flvm) (This)->lpVtbl->SetFolderLogicalViewMode(This,flvm) 15169 #define ISearchFolderItemFactory_SetIconSize(This,iIconSize) (This)->lpVtbl->SetIconSize(This,iIconSize) 15170 #define ISearchFolderItemFactory_SetVisibleColumns(This,cVisibleColumns,rgKey) (This)->lpVtbl->SetVisibleColumns(This,cVisibleColumns,rgKey) 15171 #define ISearchFolderItemFactory_SetSortColumns(This,cSortColumns,rgSortColumns) (This)->lpVtbl->SetSortColumns(This,cSortColumns,rgSortColumns) 15172 #define ISearchFolderItemFactory_SetGroupColumn(This,keyGroup) (This)->lpVtbl->SetGroupColumn(This,keyGroup) 15173 #define ISearchFolderItemFactory_SetStacks(This,cStackKeys,rgStackKeys) (This)->lpVtbl->SetStacks(This,cStackKeys,rgStackKeys) 15174 #define ISearchFolderItemFactory_SetScope(This,psiaScope) (This)->lpVtbl->SetScope(This,psiaScope) 15175 #define ISearchFolderItemFactory_SetCondition(This,pCondition) (This)->lpVtbl->SetCondition(This,pCondition) 15176 #define ISearchFolderItemFactory_GetShellItem(This,riid,ppv) (This)->lpVtbl->GetShellItem(This,riid,ppv) 15177 #define ISearchFolderItemFactory_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl) 15178 #else 15179 /*** IUnknown methods ***/ 15180 static inline HRESULT ISearchFolderItemFactory_QueryInterface(ISearchFolderItemFactory* This,REFIID riid,void **ppvObject) { 15181 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 15182 } 15183 static inline ULONG ISearchFolderItemFactory_AddRef(ISearchFolderItemFactory* This) { 15184 return This->lpVtbl->AddRef(This); 15185 } 15186 static inline ULONG ISearchFolderItemFactory_Release(ISearchFolderItemFactory* This) { 15187 return This->lpVtbl->Release(This); 15188 } 15189 /*** ISearchFolderItemFactory methods ***/ 15190 static inline HRESULT ISearchFolderItemFactory_SetDisplayName(ISearchFolderItemFactory* This,LPCWSTR pszDisplayName) { 15191 return This->lpVtbl->SetDisplayName(This,pszDisplayName); 15192 } 15193 static inline HRESULT ISearchFolderItemFactory_SetFolderTypeID(ISearchFolderItemFactory* This,FOLDERTYPEID ftid) { 15194 return This->lpVtbl->SetFolderTypeID(This,ftid); 15195 } 15196 static inline HRESULT ISearchFolderItemFactory_SetFolderLogicalViewMode(ISearchFolderItemFactory* This,FOLDERLOGICALVIEWMODE flvm) { 15197 return This->lpVtbl->SetFolderLogicalViewMode(This,flvm); 15198 } 15199 static inline HRESULT ISearchFolderItemFactory_SetIconSize(ISearchFolderItemFactory* This,int iIconSize) { 15200 return This->lpVtbl->SetIconSize(This,iIconSize); 15201 } 15202 static inline HRESULT ISearchFolderItemFactory_SetVisibleColumns(ISearchFolderItemFactory* This,UINT cVisibleColumns,PROPERTYKEY *rgKey) { 15203 return This->lpVtbl->SetVisibleColumns(This,cVisibleColumns,rgKey); 15204 } 15205 static inline HRESULT ISearchFolderItemFactory_SetSortColumns(ISearchFolderItemFactory* This,UINT cSortColumns,SORTCOLUMN *rgSortColumns) { 15206 return This->lpVtbl->SetSortColumns(This,cSortColumns,rgSortColumns); 15207 } 15208 static inline HRESULT ISearchFolderItemFactory_SetGroupColumn(ISearchFolderItemFactory* This,REFPROPERTYKEY keyGroup) { 15209 return This->lpVtbl->SetGroupColumn(This,keyGroup); 15210 } 15211 static inline HRESULT ISearchFolderItemFactory_SetStacks(ISearchFolderItemFactory* This,UINT cStackKeys,PROPERTYKEY *rgStackKeys) { 15212 return This->lpVtbl->SetStacks(This,cStackKeys,rgStackKeys); 15213 } 15214 static inline HRESULT ISearchFolderItemFactory_SetScope(ISearchFolderItemFactory* This,IShellItemArray *psiaScope) { 15215 return This->lpVtbl->SetScope(This,psiaScope); 15216 } 15217 static inline HRESULT ISearchFolderItemFactory_SetCondition(ISearchFolderItemFactory* This,ICondition *pCondition) { 15218 return This->lpVtbl->SetCondition(This,pCondition); 15219 } 15220 static inline HRESULT ISearchFolderItemFactory_GetShellItem(ISearchFolderItemFactory* This,REFIID riid,void **ppv) { 15221 return This->lpVtbl->GetShellItem(This,riid,ppv); 15222 } 15223 static inline HRESULT ISearchFolderItemFactory_GetIDList(ISearchFolderItemFactory* This,PIDLIST_ABSOLUTE *ppidl) { 15224 return This->lpVtbl->GetIDList(This,ppidl); 15225 } 15226 #endif 15227 #endif 15228 15229 #endif 15230 15231 15232 #endif /* __ISearchFolderItemFactory_INTERFACE_DEFINED__ */ 15233 15234 #endif 15235 15236 #define IEI_PRIORITY_MAX ITSAT_MAX_PRIORITY 15237 #define IEI_PRIORITY_MIN ITSAT_MIN_PRIORITY 15238 #define IEIT_PRIORITY_NORMAL ITSAT_DEFAULT_PRIORITY 15239 15240 #define IEIFLAG_ASYNC 0x0001 15241 #define IEIFLAG_CACHE 0x0002 15242 #define IEIFLAG_ASPECT 0x0004 15243 #define IEIFLAG_OFFLINE 0x0008 15244 #define IEIFLAG_GLEAM 0x0010 15245 #define IEIFLAG_SCREEN 0x0020 15246 #define IEIFLAG_ORIGSIZE 0x0040 15247 #define IEIFLAG_NOSTAMP 0x0080 15248 #define IEIFLAG_NOBORDER 0x0100 15249 #define IEIFLAG_QUALITY 0x0200 15250 #define IEIFLAG_REFRESH 0x0400 15251 15252 /***************************************************************************** 15253 * IExtractImage interface 15254 */ 15255 #ifndef __IExtractImage_INTERFACE_DEFINED__ 15256 #define __IExtractImage_INTERFACE_DEFINED__ 15257 15258 DEFINE_GUID(IID_IExtractImage, 0xbb2e617c, 0x0920, 0x11d1, 0x9a,0x0b, 0x00,0xc0,0x4f,0xc2,0xd6,0xc1); 15259 #if defined(__cplusplus) && !defined(CINTERFACE) 15260 MIDL_INTERFACE("bb2e617c-0920-11d1-9a0b-00c04fc2d6c1") 15261 IExtractImage : public IUnknown 15262 { 15263 virtual HRESULT STDMETHODCALLTYPE GetLocation( 15264 LPWSTR pszPathBuffer, 15265 DWORD cch, 15266 DWORD *pdwPriority, 15267 const SIZE *prgSize, 15268 DWORD dwRecClrDepth, 15269 DWORD *pdwFlags) = 0; 15270 15271 virtual HRESULT STDMETHODCALLTYPE Extract( 15272 HBITMAP *phBmpThumbnail) = 0; 15273 15274 }; 15275 #ifdef __CRT_UUID_DECL 15276 __CRT_UUID_DECL(IExtractImage, 0xbb2e617c, 0x0920, 0x11d1, 0x9a,0x0b, 0x00,0xc0,0x4f,0xc2,0xd6,0xc1) 15277 #endif 15278 #else 15279 typedef struct IExtractImageVtbl { 15280 BEGIN_INTERFACE 15281 15282 /*** IUnknown methods ***/ 15283 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 15284 IExtractImage *This, 15285 REFIID riid, 15286 void **ppvObject); 15287 15288 ULONG (STDMETHODCALLTYPE *AddRef)( 15289 IExtractImage *This); 15290 15291 ULONG (STDMETHODCALLTYPE *Release)( 15292 IExtractImage *This); 15293 15294 /*** IExtractImage methods ***/ 15295 HRESULT (STDMETHODCALLTYPE *GetLocation)( 15296 IExtractImage *This, 15297 LPWSTR pszPathBuffer, 15298 DWORD cch, 15299 DWORD *pdwPriority, 15300 const SIZE *prgSize, 15301 DWORD dwRecClrDepth, 15302 DWORD *pdwFlags); 15303 15304 HRESULT (STDMETHODCALLTYPE *Extract)( 15305 IExtractImage *This, 15306 HBITMAP *phBmpThumbnail); 15307 15308 END_INTERFACE 15309 } IExtractImageVtbl; 15310 15311 interface IExtractImage { 15312 CONST_VTBL IExtractImageVtbl* lpVtbl; 15313 }; 15314 15315 #ifdef COBJMACROS 15316 #ifndef WIDL_C_INLINE_WRAPPERS 15317 /*** IUnknown methods ***/ 15318 #define IExtractImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15319 #define IExtractImage_AddRef(This) (This)->lpVtbl->AddRef(This) 15320 #define IExtractImage_Release(This) (This)->lpVtbl->Release(This) 15321 /*** IExtractImage methods ***/ 15322 #define IExtractImage_GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags) (This)->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags) 15323 #define IExtractImage_Extract(This,phBmpThumbnail) (This)->lpVtbl->Extract(This,phBmpThumbnail) 15324 #else 15325 /*** IUnknown methods ***/ 15326 static inline HRESULT IExtractImage_QueryInterface(IExtractImage* This,REFIID riid,void **ppvObject) { 15327 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 15328 } 15329 static inline ULONG IExtractImage_AddRef(IExtractImage* This) { 15330 return This->lpVtbl->AddRef(This); 15331 } 15332 static inline ULONG IExtractImage_Release(IExtractImage* This) { 15333 return This->lpVtbl->Release(This); 15334 } 15335 /*** IExtractImage methods ***/ 15336 static inline HRESULT IExtractImage_GetLocation(IExtractImage* This,LPWSTR pszPathBuffer,DWORD cch,DWORD *pdwPriority,const SIZE *prgSize,DWORD dwRecClrDepth,DWORD *pdwFlags) { 15337 return This->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags); 15338 } 15339 static inline HRESULT IExtractImage_Extract(IExtractImage* This,HBITMAP *phBmpThumbnail) { 15340 return This->lpVtbl->Extract(This,phBmpThumbnail); 15341 } 15342 #endif 15343 #endif 15344 15345 #endif 15346 15347 15348 #endif /* __IExtractImage_INTERFACE_DEFINED__ */ 15349 15350 typedef IExtractImage *LPEXTRACTIMAGE; 15351 15352 /***************************************************************************** 15353 * IExtractImage2 interface 15354 */ 15355 #ifndef __IExtractImage2_INTERFACE_DEFINED__ 15356 #define __IExtractImage2_INTERFACE_DEFINED__ 15357 15358 DEFINE_GUID(IID_IExtractImage2, 0x953bb1ee, 0x93b4, 0x11d1, 0x98,0xa3, 0x00,0xc0,0x4f,0xb6,0x87,0xda); 15359 #if defined(__cplusplus) && !defined(CINTERFACE) 15360 MIDL_INTERFACE("953bb1ee-93b4-11d1-98a3-00c04fb687da") 15361 IExtractImage2 : public IExtractImage 15362 { 15363 virtual HRESULT STDMETHODCALLTYPE GetDateStamp( 15364 FILETIME *pDateStamp) = 0; 15365 15366 }; 15367 #ifdef __CRT_UUID_DECL 15368 __CRT_UUID_DECL(IExtractImage2, 0x953bb1ee, 0x93b4, 0x11d1, 0x98,0xa3, 0x00,0xc0,0x4f,0xb6,0x87,0xda) 15369 #endif 15370 #else 15371 typedef struct IExtractImage2Vtbl { 15372 BEGIN_INTERFACE 15373 15374 /*** IUnknown methods ***/ 15375 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 15376 IExtractImage2 *This, 15377 REFIID riid, 15378 void **ppvObject); 15379 15380 ULONG (STDMETHODCALLTYPE *AddRef)( 15381 IExtractImage2 *This); 15382 15383 ULONG (STDMETHODCALLTYPE *Release)( 15384 IExtractImage2 *This); 15385 15386 /*** IExtractImage methods ***/ 15387 HRESULT (STDMETHODCALLTYPE *GetLocation)( 15388 IExtractImage2 *This, 15389 LPWSTR pszPathBuffer, 15390 DWORD cch, 15391 DWORD *pdwPriority, 15392 const SIZE *prgSize, 15393 DWORD dwRecClrDepth, 15394 DWORD *pdwFlags); 15395 15396 HRESULT (STDMETHODCALLTYPE *Extract)( 15397 IExtractImage2 *This, 15398 HBITMAP *phBmpThumbnail); 15399 15400 /*** IExtractImage2 methods ***/ 15401 HRESULT (STDMETHODCALLTYPE *GetDateStamp)( 15402 IExtractImage2 *This, 15403 FILETIME *pDateStamp); 15404 15405 END_INTERFACE 15406 } IExtractImage2Vtbl; 15407 15408 interface IExtractImage2 { 15409 CONST_VTBL IExtractImage2Vtbl* lpVtbl; 15410 }; 15411 15412 #ifdef COBJMACROS 15413 #ifndef WIDL_C_INLINE_WRAPPERS 15414 /*** IUnknown methods ***/ 15415 #define IExtractImage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15416 #define IExtractImage2_AddRef(This) (This)->lpVtbl->AddRef(This) 15417 #define IExtractImage2_Release(This) (This)->lpVtbl->Release(This) 15418 /*** IExtractImage methods ***/ 15419 #define IExtractImage2_GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags) (This)->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags) 15420 #define IExtractImage2_Extract(This,phBmpThumbnail) (This)->lpVtbl->Extract(This,phBmpThumbnail) 15421 /*** IExtractImage2 methods ***/ 15422 #define IExtractImage2_GetDateStamp(This,pDateStamp) (This)->lpVtbl->GetDateStamp(This,pDateStamp) 15423 #else 15424 /*** IUnknown methods ***/ 15425 static inline HRESULT IExtractImage2_QueryInterface(IExtractImage2* This,REFIID riid,void **ppvObject) { 15426 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 15427 } 15428 static inline ULONG IExtractImage2_AddRef(IExtractImage2* This) { 15429 return This->lpVtbl->AddRef(This); 15430 } 15431 static inline ULONG IExtractImage2_Release(IExtractImage2* This) { 15432 return This->lpVtbl->Release(This); 15433 } 15434 /*** IExtractImage methods ***/ 15435 static inline HRESULT IExtractImage2_GetLocation(IExtractImage2* This,LPWSTR pszPathBuffer,DWORD cch,DWORD *pdwPriority,const SIZE *prgSize,DWORD dwRecClrDepth,DWORD *pdwFlags) { 15436 return This->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags); 15437 } 15438 static inline HRESULT IExtractImage2_Extract(IExtractImage2* This,HBITMAP *phBmpThumbnail) { 15439 return This->lpVtbl->Extract(This,phBmpThumbnail); 15440 } 15441 /*** IExtractImage2 methods ***/ 15442 static inline HRESULT IExtractImage2_GetDateStamp(IExtractImage2* This,FILETIME *pDateStamp) { 15443 return This->lpVtbl->GetDateStamp(This,pDateStamp); 15444 } 15445 #endif 15446 #endif 15447 15448 #endif 15449 15450 15451 #endif /* __IExtractImage2_INTERFACE_DEFINED__ */ 15452 15453 typedef IExtractImage2 *LPEXTRACTIMAGE2; 15454 15455 /***************************************************************************** 15456 * IThumbnailHandlerFactory interface 15457 */ 15458 #ifndef __IThumbnailHandlerFactory_INTERFACE_DEFINED__ 15459 #define __IThumbnailHandlerFactory_INTERFACE_DEFINED__ 15460 15461 DEFINE_GUID(IID_IThumbnailHandlerFactory, 0xe35b4b2e, 0x00da, 0x4bc1, 0x9f,0x13, 0x38,0xbc,0x11,0xf5,0xd4,0x17); 15462 #if defined(__cplusplus) && !defined(CINTERFACE) 15463 MIDL_INTERFACE("e35b4b2e-00da-4bc1-9f13-38bc11f5d417") 15464 IThumbnailHandlerFactory : public IUnknown 15465 { 15466 virtual HRESULT STDMETHODCALLTYPE GetThumbnailHandler( 15467 PCUITEMID_CHILD pidlChild, 15468 IBindCtx *pbc, 15469 REFIID riid, 15470 void **ppv) = 0; 15471 15472 }; 15473 #ifdef __CRT_UUID_DECL 15474 __CRT_UUID_DECL(IThumbnailHandlerFactory, 0xe35b4b2e, 0x00da, 0x4bc1, 0x9f,0x13, 0x38,0xbc,0x11,0xf5,0xd4,0x17) 15475 #endif 15476 #else 15477 typedef struct IThumbnailHandlerFactoryVtbl { 15478 BEGIN_INTERFACE 15479 15480 /*** IUnknown methods ***/ 15481 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 15482 IThumbnailHandlerFactory *This, 15483 REFIID riid, 15484 void **ppvObject); 15485 15486 ULONG (STDMETHODCALLTYPE *AddRef)( 15487 IThumbnailHandlerFactory *This); 15488 15489 ULONG (STDMETHODCALLTYPE *Release)( 15490 IThumbnailHandlerFactory *This); 15491 15492 /*** IThumbnailHandlerFactory methods ***/ 15493 HRESULT (STDMETHODCALLTYPE *GetThumbnailHandler)( 15494 IThumbnailHandlerFactory *This, 15495 PCUITEMID_CHILD pidlChild, 15496 IBindCtx *pbc, 15497 REFIID riid, 15498 void **ppv); 15499 15500 END_INTERFACE 15501 } IThumbnailHandlerFactoryVtbl; 15502 15503 interface IThumbnailHandlerFactory { 15504 CONST_VTBL IThumbnailHandlerFactoryVtbl* lpVtbl; 15505 }; 15506 15507 #ifdef COBJMACROS 15508 #ifndef WIDL_C_INLINE_WRAPPERS 15509 /*** IUnknown methods ***/ 15510 #define IThumbnailHandlerFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15511 #define IThumbnailHandlerFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 15512 #define IThumbnailHandlerFactory_Release(This) (This)->lpVtbl->Release(This) 15513 /*** IThumbnailHandlerFactory methods ***/ 15514 #define IThumbnailHandlerFactory_GetThumbnailHandler(This,pidlChild,pbc,riid,ppv) (This)->lpVtbl->GetThumbnailHandler(This,pidlChild,pbc,riid,ppv) 15515 #else 15516 /*** IUnknown methods ***/ 15517 static inline HRESULT IThumbnailHandlerFactory_QueryInterface(IThumbnailHandlerFactory* This,REFIID riid,void **ppvObject) { 15518 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 15519 } 15520 static inline ULONG IThumbnailHandlerFactory_AddRef(IThumbnailHandlerFactory* This) { 15521 return This->lpVtbl->AddRef(This); 15522 } 15523 static inline ULONG IThumbnailHandlerFactory_Release(IThumbnailHandlerFactory* This) { 15524 return This->lpVtbl->Release(This); 15525 } 15526 /*** IThumbnailHandlerFactory methods ***/ 15527 static inline HRESULT IThumbnailHandlerFactory_GetThumbnailHandler(IThumbnailHandlerFactory* This,PCUITEMID_CHILD pidlChild,IBindCtx *pbc,REFIID riid,void **ppv) { 15528 return This->lpVtbl->GetThumbnailHandler(This,pidlChild,pbc,riid,ppv); 15529 } 15530 #endif 15531 #endif 15532 15533 #endif 15534 15535 15536 #endif /* __IThumbnailHandlerFactory_INTERFACE_DEFINED__ */ 15537 15538 15539 /***************************************************************************** 15540 * IParentAndItem interface 15541 */ 15542 #ifndef __IParentAndItem_INTERFACE_DEFINED__ 15543 #define __IParentAndItem_INTERFACE_DEFINED__ 15544 15545 DEFINE_GUID(IID_IParentAndItem, 0xb3a4b685, 0xb685, 0x4805, 0x99,0xd9, 0x5d,0xea,0xd2,0x87,0x32,0x36); 15546 #if defined(__cplusplus) && !defined(CINTERFACE) 15547 MIDL_INTERFACE("b3a4b685-b685-4805-99d9-5dead2873236") 15548 IParentAndItem : public IUnknown 15549 { 15550 virtual HRESULT STDMETHODCALLTYPE SetParentAndItem( 15551 PCIDLIST_ABSOLUTE pidlParent, 15552 IShellFolder *psf, 15553 PCUITEMID_CHILD pidlChild) = 0; 15554 15555 virtual HRESULT STDMETHODCALLTYPE GetParentAndItem( 15556 PIDLIST_ABSOLUTE *ppidlParent, 15557 IShellFolder **ppsf, 15558 PITEMID_CHILD *ppidlChild) = 0; 15559 15560 }; 15561 #ifdef __CRT_UUID_DECL 15562 __CRT_UUID_DECL(IParentAndItem, 0xb3a4b685, 0xb685, 0x4805, 0x99,0xd9, 0x5d,0xea,0xd2,0x87,0x32,0x36) 15563 #endif 15564 #else 15565 typedef struct IParentAndItemVtbl { 15566 BEGIN_INTERFACE 15567 15568 /*** IUnknown methods ***/ 15569 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 15570 IParentAndItem *This, 15571 REFIID riid, 15572 void **ppvObject); 15573 15574 ULONG (STDMETHODCALLTYPE *AddRef)( 15575 IParentAndItem *This); 15576 15577 ULONG (STDMETHODCALLTYPE *Release)( 15578 IParentAndItem *This); 15579 15580 /*** IParentAndItem methods ***/ 15581 HRESULT (STDMETHODCALLTYPE *SetParentAndItem)( 15582 IParentAndItem *This, 15583 PCIDLIST_ABSOLUTE pidlParent, 15584 IShellFolder *psf, 15585 PCUITEMID_CHILD pidlChild); 15586 15587 HRESULT (STDMETHODCALLTYPE *GetParentAndItem)( 15588 IParentAndItem *This, 15589 PIDLIST_ABSOLUTE *ppidlParent, 15590 IShellFolder **ppsf, 15591 PITEMID_CHILD *ppidlChild); 15592 15593 END_INTERFACE 15594 } IParentAndItemVtbl; 15595 15596 interface IParentAndItem { 15597 CONST_VTBL IParentAndItemVtbl* lpVtbl; 15598 }; 15599 15600 #ifdef COBJMACROS 15601 #ifndef WIDL_C_INLINE_WRAPPERS 15602 /*** IUnknown methods ***/ 15603 #define IParentAndItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15604 #define IParentAndItem_AddRef(This) (This)->lpVtbl->AddRef(This) 15605 #define IParentAndItem_Release(This) (This)->lpVtbl->Release(This) 15606 /*** IParentAndItem methods ***/ 15607 #define IParentAndItem_SetParentAndItem(This,pidlParent,psf,pidlChild) (This)->lpVtbl->SetParentAndItem(This,pidlParent,psf,pidlChild) 15608 #define IParentAndItem_GetParentAndItem(This,ppidlParent,ppsf,ppidlChild) (This)->lpVtbl->GetParentAndItem(This,ppidlParent,ppsf,ppidlChild) 15609 #else 15610 /*** IUnknown methods ***/ 15611 static inline HRESULT IParentAndItem_QueryInterface(IParentAndItem* This,REFIID riid,void **ppvObject) { 15612 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 15613 } 15614 static inline ULONG IParentAndItem_AddRef(IParentAndItem* This) { 15615 return This->lpVtbl->AddRef(This); 15616 } 15617 static inline ULONG IParentAndItem_Release(IParentAndItem* This) { 15618 return This->lpVtbl->Release(This); 15619 } 15620 /*** IParentAndItem methods ***/ 15621 static inline HRESULT IParentAndItem_SetParentAndItem(IParentAndItem* This,PCIDLIST_ABSOLUTE pidlParent,IShellFolder *psf,PCUITEMID_CHILD pidlChild) { 15622 return This->lpVtbl->SetParentAndItem(This,pidlParent,psf,pidlChild); 15623 } 15624 static inline HRESULT IParentAndItem_GetParentAndItem(IParentAndItem* This,PIDLIST_ABSOLUTE *ppidlParent,IShellFolder **ppsf,PITEMID_CHILD *ppidlChild) { 15625 return This->lpVtbl->GetParentAndItem(This,ppidlParent,ppsf,ppidlChild); 15626 } 15627 #endif 15628 #endif 15629 15630 #endif 15631 15632 HRESULT STDMETHODCALLTYPE IParentAndItem_RemoteGetParentAndItem_Proxy( 15633 IParentAndItem* This, 15634 PIDLIST_ABSOLUTE *ppidlParent, 15635 IShellFolder **ppsf, 15636 PITEMID_CHILD *ppidlChild); 15637 void __RPC_STUB IParentAndItem_RemoteGetParentAndItem_Stub( 15638 IRpcStubBuffer* This, 15639 IRpcChannelBuffer* pRpcChannelBuffer, 15640 PRPC_MESSAGE pRpcMessage, 15641 DWORD* pdwStubPhase); 15642 HRESULT CALLBACK IParentAndItem_GetParentAndItem_Proxy( 15643 IParentAndItem* This, 15644 PIDLIST_ABSOLUTE *ppidlParent, 15645 IShellFolder **ppsf, 15646 PITEMID_CHILD *ppidlChild); 15647 HRESULT __RPC_STUB IParentAndItem_GetParentAndItem_Stub( 15648 IParentAndItem* This, 15649 PIDLIST_ABSOLUTE *ppidlParent, 15650 IShellFolder **ppsf, 15651 PITEMID_CHILD *ppidlChild); 15652 15653 #endif /* __IParentAndItem_INTERFACE_DEFINED__ */ 15654 15655 15656 /***************************************************************************** 15657 * IDockingWindow interface 15658 */ 15659 #ifndef __IDockingWindow_INTERFACE_DEFINED__ 15660 #define __IDockingWindow_INTERFACE_DEFINED__ 15661 15662 DEFINE_GUID(IID_IDockingWindow, 0x012dd920, 0x7b26, 0x11d0, 0x8c,0xa9, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8); 15663 #if defined(__cplusplus) && !defined(CINTERFACE) 15664 MIDL_INTERFACE("012dd920-7b26-11d0-8ca9-00a0c92dbfe8") 15665 IDockingWindow : public IOleWindow 15666 { 15667 virtual HRESULT STDMETHODCALLTYPE ShowDW( 15668 WINBOOL fShow) = 0; 15669 15670 virtual HRESULT STDMETHODCALLTYPE CloseDW( 15671 DWORD dwReserved) = 0; 15672 15673 virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW( 15674 LPCRECT prcBorder, 15675 IUnknown *punkToolbarSite, 15676 WINBOOL fReserved) = 0; 15677 15678 }; 15679 #ifdef __CRT_UUID_DECL 15680 __CRT_UUID_DECL(IDockingWindow, 0x012dd920, 0x7b26, 0x11d0, 0x8c,0xa9, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8) 15681 #endif 15682 #else 15683 typedef struct IDockingWindowVtbl { 15684 BEGIN_INTERFACE 15685 15686 /*** IUnknown methods ***/ 15687 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 15688 IDockingWindow *This, 15689 REFIID riid, 15690 void **ppvObject); 15691 15692 ULONG (STDMETHODCALLTYPE *AddRef)( 15693 IDockingWindow *This); 15694 15695 ULONG (STDMETHODCALLTYPE *Release)( 15696 IDockingWindow *This); 15697 15698 /*** IOleWindow methods ***/ 15699 HRESULT (STDMETHODCALLTYPE *GetWindow)( 15700 IDockingWindow *This, 15701 HWND *phwnd); 15702 15703 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 15704 IDockingWindow *This, 15705 WINBOOL fEnterMode); 15706 15707 /*** IDockingWindow methods ***/ 15708 HRESULT (STDMETHODCALLTYPE *ShowDW)( 15709 IDockingWindow *This, 15710 WINBOOL fShow); 15711 15712 HRESULT (STDMETHODCALLTYPE *CloseDW)( 15713 IDockingWindow *This, 15714 DWORD dwReserved); 15715 15716 HRESULT (STDMETHODCALLTYPE *ResizeBorderDW)( 15717 IDockingWindow *This, 15718 LPCRECT prcBorder, 15719 IUnknown *punkToolbarSite, 15720 WINBOOL fReserved); 15721 15722 END_INTERFACE 15723 } IDockingWindowVtbl; 15724 15725 interface IDockingWindow { 15726 CONST_VTBL IDockingWindowVtbl* lpVtbl; 15727 }; 15728 15729 #ifdef COBJMACROS 15730 #ifndef WIDL_C_INLINE_WRAPPERS 15731 /*** IUnknown methods ***/ 15732 #define IDockingWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15733 #define IDockingWindow_AddRef(This) (This)->lpVtbl->AddRef(This) 15734 #define IDockingWindow_Release(This) (This)->lpVtbl->Release(This) 15735 /*** IOleWindow methods ***/ 15736 #define IDockingWindow_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 15737 #define IDockingWindow_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 15738 /*** IDockingWindow methods ***/ 15739 #define IDockingWindow_ShowDW(This,fShow) (This)->lpVtbl->ShowDW(This,fShow) 15740 #define IDockingWindow_CloseDW(This,dwReserved) (This)->lpVtbl->CloseDW(This,dwReserved) 15741 #define IDockingWindow_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) (This)->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) 15742 #else 15743 /*** IUnknown methods ***/ 15744 static inline HRESULT IDockingWindow_QueryInterface(IDockingWindow* This,REFIID riid,void **ppvObject) { 15745 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 15746 } 15747 static inline ULONG IDockingWindow_AddRef(IDockingWindow* This) { 15748 return This->lpVtbl->AddRef(This); 15749 } 15750 static inline ULONG IDockingWindow_Release(IDockingWindow* This) { 15751 return This->lpVtbl->Release(This); 15752 } 15753 /*** IOleWindow methods ***/ 15754 static inline HRESULT IDockingWindow_GetWindow(IDockingWindow* This,HWND *phwnd) { 15755 return This->lpVtbl->GetWindow(This,phwnd); 15756 } 15757 static inline HRESULT IDockingWindow_ContextSensitiveHelp(IDockingWindow* This,WINBOOL fEnterMode) { 15758 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 15759 } 15760 /*** IDockingWindow methods ***/ 15761 static inline HRESULT IDockingWindow_ShowDW(IDockingWindow* This,WINBOOL fShow) { 15762 return This->lpVtbl->ShowDW(This,fShow); 15763 } 15764 static inline HRESULT IDockingWindow_CloseDW(IDockingWindow* This,DWORD dwReserved) { 15765 return This->lpVtbl->CloseDW(This,dwReserved); 15766 } 15767 static inline HRESULT IDockingWindow_ResizeBorderDW(IDockingWindow* This,LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved) { 15768 return This->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved); 15769 } 15770 #endif 15771 #endif 15772 15773 #endif 15774 15775 15776 #endif /* __IDockingWindow_INTERFACE_DEFINED__ */ 15777 15778 15779 #define DBIM_MINSIZE 0x0001 15780 #define DBIM_MAXSIZE 0x0002 15781 #define DBIM_INTEGRAL 0x0004 15782 #define DBIM_ACTUAL 0x0008 15783 #define DBIM_TITLE 0x0010 15784 #define DBIM_MODEFLAGS 0x0020 15785 #define DBIM_BKCOLOR 0x0040 15786 15787 #include <pshpack8.h> 15788 typedef struct DESKBANDINFO { 15789 DWORD dwMask; 15790 POINTL ptMinSize; 15791 POINTL ptMaxSize; 15792 POINTL ptIntegral; 15793 POINTL ptActual; 15794 WCHAR wszTitle[256]; 15795 DWORD dwModeFlags; 15796 COLORREF crBkgnd; 15797 } DESKBANDINFO; 15798 #include <poppack.h> 15799 15800 #define DBIMF_NORMAL 0x0000 15801 #define DBIMF_FIXED 0x0001 15802 #define DBIMF_FIXEDBMP 0x0004 15803 #define DBIMF_VARIABLEHEIGHT 0x0008 15804 #define DBIMF_UNDELETEABLE 0x0010 15805 #define DBIMF_DEBOSSED 0x0020 15806 #define DBIMF_BKCOLOR 0x0040 15807 #define DBIMF_USECHEVRON 0x0080 15808 #define DBIMF_BREAK 0x0100 15809 #define DBIMF_ADDTOFRONT 0x0200 15810 #define DBIMF_TOPALIGN 0x0400 15811 #if NTDDI_VERSION >= NTDDI_VISTA 15812 #define DBIMF_NOGRIPPER 0x0800 15813 #define DBIMF_ALWAYSGRIPPER 0x1000 15814 #define DBIMF_NOMARGINS 0x2000 15815 #endif 15816 15817 #define DBIF_VIEWMODE_NORMAL 0x0000 15818 #define DBIF_VIEWMODE_VERTICAL 0x0001 15819 #define DBIF_VIEWMODE_FLOATING 0x0002 15820 #define DBIF_VIEWMODE_TRANSPARENT 0x0004 15821 15822 enum tagDESKBANDCID { 15823 DBID_BANDINFOCHANGED = 0, 15824 DBID_SHOWONLY = 1, 15825 DBID_MAXIMIZEBAND = 2, 15826 DBID_PUSHCHEVRON = 3, 15827 DBID_DELAYINIT = 4, 15828 DBID_FINISHINIT = 5, 15829 DBID_SETWINDOWTHEME = 6, 15830 DBID_PERMITAUTOHIDE = 7 15831 }; 15832 15833 #define DBPC_SELECTFIRST (DWORD)-1 15834 #define DBPC_SELECTLAST (DWORD)-2 15835 15836 #define CGID_DeskBand IID_IDeskBand 15837 15838 /***************************************************************************** 15839 * IDeskBand interface 15840 */ 15841 #ifndef __IDeskBand_INTERFACE_DEFINED__ 15842 #define __IDeskBand_INTERFACE_DEFINED__ 15843 15844 DEFINE_GUID(IID_IDeskBand, 0xeb0fe172, 0x1a3a, 0x11d0, 0x89,0xb3, 0x00,0xa0,0xc9,0x0a,0x90,0xac); 15845 #if defined(__cplusplus) && !defined(CINTERFACE) 15846 MIDL_INTERFACE("eb0fe172-1a3a-11d0-89b3-00a0c90a90ac") 15847 IDeskBand : public IDockingWindow 15848 { 15849 virtual HRESULT STDMETHODCALLTYPE GetBandInfo( 15850 DWORD dwBandID, 15851 DWORD dwViewMode, 15852 DESKBANDINFO *pdbi) = 0; 15853 15854 }; 15855 #ifdef __CRT_UUID_DECL 15856 __CRT_UUID_DECL(IDeskBand, 0xeb0fe172, 0x1a3a, 0x11d0, 0x89,0xb3, 0x00,0xa0,0xc9,0x0a,0x90,0xac) 15857 #endif 15858 #else 15859 typedef struct IDeskBandVtbl { 15860 BEGIN_INTERFACE 15861 15862 /*** IUnknown methods ***/ 15863 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 15864 IDeskBand *This, 15865 REFIID riid, 15866 void **ppvObject); 15867 15868 ULONG (STDMETHODCALLTYPE *AddRef)( 15869 IDeskBand *This); 15870 15871 ULONG (STDMETHODCALLTYPE *Release)( 15872 IDeskBand *This); 15873 15874 /*** IOleWindow methods ***/ 15875 HRESULT (STDMETHODCALLTYPE *GetWindow)( 15876 IDeskBand *This, 15877 HWND *phwnd); 15878 15879 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 15880 IDeskBand *This, 15881 WINBOOL fEnterMode); 15882 15883 /*** IDockingWindow methods ***/ 15884 HRESULT (STDMETHODCALLTYPE *ShowDW)( 15885 IDeskBand *This, 15886 WINBOOL fShow); 15887 15888 HRESULT (STDMETHODCALLTYPE *CloseDW)( 15889 IDeskBand *This, 15890 DWORD dwReserved); 15891 15892 HRESULT (STDMETHODCALLTYPE *ResizeBorderDW)( 15893 IDeskBand *This, 15894 LPCRECT prcBorder, 15895 IUnknown *punkToolbarSite, 15896 WINBOOL fReserved); 15897 15898 /*** IDeskBand methods ***/ 15899 HRESULT (STDMETHODCALLTYPE *GetBandInfo)( 15900 IDeskBand *This, 15901 DWORD dwBandID, 15902 DWORD dwViewMode, 15903 DESKBANDINFO *pdbi); 15904 15905 END_INTERFACE 15906 } IDeskBandVtbl; 15907 15908 interface IDeskBand { 15909 CONST_VTBL IDeskBandVtbl* lpVtbl; 15910 }; 15911 15912 #ifdef COBJMACROS 15913 #ifndef WIDL_C_INLINE_WRAPPERS 15914 /*** IUnknown methods ***/ 15915 #define IDeskBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15916 #define IDeskBand_AddRef(This) (This)->lpVtbl->AddRef(This) 15917 #define IDeskBand_Release(This) (This)->lpVtbl->Release(This) 15918 /*** IOleWindow methods ***/ 15919 #define IDeskBand_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 15920 #define IDeskBand_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 15921 /*** IDockingWindow methods ***/ 15922 #define IDeskBand_ShowDW(This,fShow) (This)->lpVtbl->ShowDW(This,fShow) 15923 #define IDeskBand_CloseDW(This,dwReserved) (This)->lpVtbl->CloseDW(This,dwReserved) 15924 #define IDeskBand_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) (This)->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) 15925 /*** IDeskBand methods ***/ 15926 #define IDeskBand_GetBandInfo(This,dwBandID,dwViewMode,pdbi) (This)->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi) 15927 #else 15928 /*** IUnknown methods ***/ 15929 static inline HRESULT IDeskBand_QueryInterface(IDeskBand* This,REFIID riid,void **ppvObject) { 15930 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 15931 } 15932 static inline ULONG IDeskBand_AddRef(IDeskBand* This) { 15933 return This->lpVtbl->AddRef(This); 15934 } 15935 static inline ULONG IDeskBand_Release(IDeskBand* This) { 15936 return This->lpVtbl->Release(This); 15937 } 15938 /*** IOleWindow methods ***/ 15939 static inline HRESULT IDeskBand_GetWindow(IDeskBand* This,HWND *phwnd) { 15940 return This->lpVtbl->GetWindow(This,phwnd); 15941 } 15942 static inline HRESULT IDeskBand_ContextSensitiveHelp(IDeskBand* This,WINBOOL fEnterMode) { 15943 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 15944 } 15945 /*** IDockingWindow methods ***/ 15946 static inline HRESULT IDeskBand_ShowDW(IDeskBand* This,WINBOOL fShow) { 15947 return This->lpVtbl->ShowDW(This,fShow); 15948 } 15949 static inline HRESULT IDeskBand_CloseDW(IDeskBand* This,DWORD dwReserved) { 15950 return This->lpVtbl->CloseDW(This,dwReserved); 15951 } 15952 static inline HRESULT IDeskBand_ResizeBorderDW(IDeskBand* This,LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved) { 15953 return This->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved); 15954 } 15955 /*** IDeskBand methods ***/ 15956 static inline HRESULT IDeskBand_GetBandInfo(IDeskBand* This,DWORD dwBandID,DWORD dwViewMode,DESKBANDINFO *pdbi) { 15957 return This->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi); 15958 } 15959 #endif 15960 #endif 15961 15962 #endif 15963 15964 15965 #endif /* __IDeskBand_INTERFACE_DEFINED__ */ 15966 15967 15968 #if NTDDI_VERSION >= NTDDI_VISTA 15969 /***************************************************************************** 15970 * IDeskBandInfo interface 15971 */ 15972 #ifndef __IDeskBandInfo_INTERFACE_DEFINED__ 15973 #define __IDeskBandInfo_INTERFACE_DEFINED__ 15974 15975 DEFINE_GUID(IID_IDeskBandInfo, 0x77e425fc, 0xcbf9, 0x4307, 0xba,0x6a, 0xbb,0x57,0x27,0x74,0x56,0x61); 15976 #if defined(__cplusplus) && !defined(CINTERFACE) 15977 MIDL_INTERFACE("77e425fc-cbf9-4307-ba6a-bb5727745661") 15978 IDeskBandInfo : public IUnknown 15979 { 15980 virtual HRESULT STDMETHODCALLTYPE GetDefaultBandWidth( 15981 DWORD dwBandID, 15982 DWORD dwViewMode, 15983 int *pnWidth) = 0; 15984 15985 }; 15986 #ifdef __CRT_UUID_DECL 15987 __CRT_UUID_DECL(IDeskBandInfo, 0x77e425fc, 0xcbf9, 0x4307, 0xba,0x6a, 0xbb,0x57,0x27,0x74,0x56,0x61) 15988 #endif 15989 #else 15990 typedef struct IDeskBandInfoVtbl { 15991 BEGIN_INTERFACE 15992 15993 /*** IUnknown methods ***/ 15994 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 15995 IDeskBandInfo *This, 15996 REFIID riid, 15997 void **ppvObject); 15998 15999 ULONG (STDMETHODCALLTYPE *AddRef)( 16000 IDeskBandInfo *This); 16001 16002 ULONG (STDMETHODCALLTYPE *Release)( 16003 IDeskBandInfo *This); 16004 16005 /*** IDeskBandInfo methods ***/ 16006 HRESULT (STDMETHODCALLTYPE *GetDefaultBandWidth)( 16007 IDeskBandInfo *This, 16008 DWORD dwBandID, 16009 DWORD dwViewMode, 16010 int *pnWidth); 16011 16012 END_INTERFACE 16013 } IDeskBandInfoVtbl; 16014 16015 interface IDeskBandInfo { 16016 CONST_VTBL IDeskBandInfoVtbl* lpVtbl; 16017 }; 16018 16019 #ifdef COBJMACROS 16020 #ifndef WIDL_C_INLINE_WRAPPERS 16021 /*** IUnknown methods ***/ 16022 #define IDeskBandInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16023 #define IDeskBandInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 16024 #define IDeskBandInfo_Release(This) (This)->lpVtbl->Release(This) 16025 /*** IDeskBandInfo methods ***/ 16026 #define IDeskBandInfo_GetDefaultBandWidth(This,dwBandID,dwViewMode,pnWidth) (This)->lpVtbl->GetDefaultBandWidth(This,dwBandID,dwViewMode,pnWidth) 16027 #else 16028 /*** IUnknown methods ***/ 16029 static inline HRESULT IDeskBandInfo_QueryInterface(IDeskBandInfo* This,REFIID riid,void **ppvObject) { 16030 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 16031 } 16032 static inline ULONG IDeskBandInfo_AddRef(IDeskBandInfo* This) { 16033 return This->lpVtbl->AddRef(This); 16034 } 16035 static inline ULONG IDeskBandInfo_Release(IDeskBandInfo* This) { 16036 return This->lpVtbl->Release(This); 16037 } 16038 /*** IDeskBandInfo methods ***/ 16039 static inline HRESULT IDeskBandInfo_GetDefaultBandWidth(IDeskBandInfo* This,DWORD dwBandID,DWORD dwViewMode,int *pnWidth) { 16040 return This->lpVtbl->GetDefaultBandWidth(This,dwBandID,dwViewMode,pnWidth); 16041 } 16042 #endif 16043 #endif 16044 16045 #endif 16046 16047 16048 #endif /* __IDeskBandInfo_INTERFACE_DEFINED__ */ 16049 16050 16051 /***************************************************************************** 16052 * IDeskBand2 interface 16053 */ 16054 #ifndef __IDeskBand2_INTERFACE_DEFINED__ 16055 #define __IDeskBand2_INTERFACE_DEFINED__ 16056 16057 DEFINE_GUID(IID_IDeskBand2, 0x79d16de4, 0xabee, 0x4021, 0x8d,0x9d, 0x91,0x69,0xb2,0x61,0xd6,0x57); 16058 #if defined(__cplusplus) && !defined(CINTERFACE) 16059 MIDL_INTERFACE("79d16de4-abee-4021-8d9d-9169b261d657") 16060 IDeskBand2 : public IDeskBand 16061 { 16062 virtual HRESULT STDMETHODCALLTYPE CanRenderComposited( 16063 WINBOOL *pfCanRenderComposited) = 0; 16064 16065 virtual HRESULT STDMETHODCALLTYPE SetCompositionState( 16066 WINBOOL fCompositionEnabled) = 0; 16067 16068 virtual HRESULT STDMETHODCALLTYPE GetCompositionState( 16069 WINBOOL *pfCompositionEnabled) = 0; 16070 16071 }; 16072 #ifdef __CRT_UUID_DECL 16073 __CRT_UUID_DECL(IDeskBand2, 0x79d16de4, 0xabee, 0x4021, 0x8d,0x9d, 0x91,0x69,0xb2,0x61,0xd6,0x57) 16074 #endif 16075 #else 16076 typedef struct IDeskBand2Vtbl { 16077 BEGIN_INTERFACE 16078 16079 /*** IUnknown methods ***/ 16080 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 16081 IDeskBand2 *This, 16082 REFIID riid, 16083 void **ppvObject); 16084 16085 ULONG (STDMETHODCALLTYPE *AddRef)( 16086 IDeskBand2 *This); 16087 16088 ULONG (STDMETHODCALLTYPE *Release)( 16089 IDeskBand2 *This); 16090 16091 /*** IOleWindow methods ***/ 16092 HRESULT (STDMETHODCALLTYPE *GetWindow)( 16093 IDeskBand2 *This, 16094 HWND *phwnd); 16095 16096 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 16097 IDeskBand2 *This, 16098 WINBOOL fEnterMode); 16099 16100 /*** IDockingWindow methods ***/ 16101 HRESULT (STDMETHODCALLTYPE *ShowDW)( 16102 IDeskBand2 *This, 16103 WINBOOL fShow); 16104 16105 HRESULT (STDMETHODCALLTYPE *CloseDW)( 16106 IDeskBand2 *This, 16107 DWORD dwReserved); 16108 16109 HRESULT (STDMETHODCALLTYPE *ResizeBorderDW)( 16110 IDeskBand2 *This, 16111 LPCRECT prcBorder, 16112 IUnknown *punkToolbarSite, 16113 WINBOOL fReserved); 16114 16115 /*** IDeskBand methods ***/ 16116 HRESULT (STDMETHODCALLTYPE *GetBandInfo)( 16117 IDeskBand2 *This, 16118 DWORD dwBandID, 16119 DWORD dwViewMode, 16120 DESKBANDINFO *pdbi); 16121 16122 /*** IDeskBand2 methods ***/ 16123 HRESULT (STDMETHODCALLTYPE *CanRenderComposited)( 16124 IDeskBand2 *This, 16125 WINBOOL *pfCanRenderComposited); 16126 16127 HRESULT (STDMETHODCALLTYPE *SetCompositionState)( 16128 IDeskBand2 *This, 16129 WINBOOL fCompositionEnabled); 16130 16131 HRESULT (STDMETHODCALLTYPE *GetCompositionState)( 16132 IDeskBand2 *This, 16133 WINBOOL *pfCompositionEnabled); 16134 16135 END_INTERFACE 16136 } IDeskBand2Vtbl; 16137 16138 interface IDeskBand2 { 16139 CONST_VTBL IDeskBand2Vtbl* lpVtbl; 16140 }; 16141 16142 #ifdef COBJMACROS 16143 #ifndef WIDL_C_INLINE_WRAPPERS 16144 /*** IUnknown methods ***/ 16145 #define IDeskBand2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16146 #define IDeskBand2_AddRef(This) (This)->lpVtbl->AddRef(This) 16147 #define IDeskBand2_Release(This) (This)->lpVtbl->Release(This) 16148 /*** IOleWindow methods ***/ 16149 #define IDeskBand2_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 16150 #define IDeskBand2_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 16151 /*** IDockingWindow methods ***/ 16152 #define IDeskBand2_ShowDW(This,fShow) (This)->lpVtbl->ShowDW(This,fShow) 16153 #define IDeskBand2_CloseDW(This,dwReserved) (This)->lpVtbl->CloseDW(This,dwReserved) 16154 #define IDeskBand2_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) (This)->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) 16155 /*** IDeskBand methods ***/ 16156 #define IDeskBand2_GetBandInfo(This,dwBandID,dwViewMode,pdbi) (This)->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi) 16157 /*** IDeskBand2 methods ***/ 16158 #define IDeskBand2_CanRenderComposited(This,pfCanRenderComposited) (This)->lpVtbl->CanRenderComposited(This,pfCanRenderComposited) 16159 #define IDeskBand2_SetCompositionState(This,fCompositionEnabled) (This)->lpVtbl->SetCompositionState(This,fCompositionEnabled) 16160 #define IDeskBand2_GetCompositionState(This,pfCompositionEnabled) (This)->lpVtbl->GetCompositionState(This,pfCompositionEnabled) 16161 #else 16162 /*** IUnknown methods ***/ 16163 static inline HRESULT IDeskBand2_QueryInterface(IDeskBand2* This,REFIID riid,void **ppvObject) { 16164 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 16165 } 16166 static inline ULONG IDeskBand2_AddRef(IDeskBand2* This) { 16167 return This->lpVtbl->AddRef(This); 16168 } 16169 static inline ULONG IDeskBand2_Release(IDeskBand2* This) { 16170 return This->lpVtbl->Release(This); 16171 } 16172 /*** IOleWindow methods ***/ 16173 static inline HRESULT IDeskBand2_GetWindow(IDeskBand2* This,HWND *phwnd) { 16174 return This->lpVtbl->GetWindow(This,phwnd); 16175 } 16176 static inline HRESULT IDeskBand2_ContextSensitiveHelp(IDeskBand2* This,WINBOOL fEnterMode) { 16177 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 16178 } 16179 /*** IDockingWindow methods ***/ 16180 static inline HRESULT IDeskBand2_ShowDW(IDeskBand2* This,WINBOOL fShow) { 16181 return This->lpVtbl->ShowDW(This,fShow); 16182 } 16183 static inline HRESULT IDeskBand2_CloseDW(IDeskBand2* This,DWORD dwReserved) { 16184 return This->lpVtbl->CloseDW(This,dwReserved); 16185 } 16186 static inline HRESULT IDeskBand2_ResizeBorderDW(IDeskBand2* This,LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved) { 16187 return This->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved); 16188 } 16189 /*** IDeskBand methods ***/ 16190 static inline HRESULT IDeskBand2_GetBandInfo(IDeskBand2* This,DWORD dwBandID,DWORD dwViewMode,DESKBANDINFO *pdbi) { 16191 return This->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi); 16192 } 16193 /*** IDeskBand2 methods ***/ 16194 static inline HRESULT IDeskBand2_CanRenderComposited(IDeskBand2* This,WINBOOL *pfCanRenderComposited) { 16195 return This->lpVtbl->CanRenderComposited(This,pfCanRenderComposited); 16196 } 16197 static inline HRESULT IDeskBand2_SetCompositionState(IDeskBand2* This,WINBOOL fCompositionEnabled) { 16198 return This->lpVtbl->SetCompositionState(This,fCompositionEnabled); 16199 } 16200 static inline HRESULT IDeskBand2_GetCompositionState(IDeskBand2* This,WINBOOL *pfCompositionEnabled) { 16201 return This->lpVtbl->GetCompositionState(This,pfCompositionEnabled); 16202 } 16203 #endif 16204 #endif 16205 16206 #endif 16207 16208 16209 #endif /* __IDeskBand2_INTERFACE_DEFINED__ */ 16210 16211 #endif 16212 16213 /***************************************************************************** 16214 * ITaskbarList interface 16215 */ 16216 #ifndef __ITaskbarList_INTERFACE_DEFINED__ 16217 #define __ITaskbarList_INTERFACE_DEFINED__ 16218 16219 DEFINE_GUID(IID_ITaskbarList, 0x56fdf342, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90); 16220 #if defined(__cplusplus) && !defined(CINTERFACE) 16221 MIDL_INTERFACE("56fdf342-fd6d-11d0-958a-006097c9a090") 16222 ITaskbarList : public IUnknown 16223 { 16224 virtual HRESULT STDMETHODCALLTYPE HrInit( 16225 ) = 0; 16226 16227 virtual HRESULT STDMETHODCALLTYPE AddTab( 16228 HWND hwnd) = 0; 16229 16230 virtual HRESULT STDMETHODCALLTYPE DeleteTab( 16231 HWND hwnd) = 0; 16232 16233 virtual HRESULT STDMETHODCALLTYPE ActivateTab( 16234 HWND hwnd) = 0; 16235 16236 virtual HRESULT STDMETHODCALLTYPE SetActiveAlt( 16237 HWND hwnd) = 0; 16238 16239 }; 16240 #ifdef __CRT_UUID_DECL 16241 __CRT_UUID_DECL(ITaskbarList, 0x56fdf342, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90) 16242 #endif 16243 #else 16244 typedef struct ITaskbarListVtbl { 16245 BEGIN_INTERFACE 16246 16247 /*** IUnknown methods ***/ 16248 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 16249 ITaskbarList *This, 16250 REFIID riid, 16251 void **ppvObject); 16252 16253 ULONG (STDMETHODCALLTYPE *AddRef)( 16254 ITaskbarList *This); 16255 16256 ULONG (STDMETHODCALLTYPE *Release)( 16257 ITaskbarList *This); 16258 16259 /*** ITaskbarList methods ***/ 16260 HRESULT (STDMETHODCALLTYPE *HrInit)( 16261 ITaskbarList *This); 16262 16263 HRESULT (STDMETHODCALLTYPE *AddTab)( 16264 ITaskbarList *This, 16265 HWND hwnd); 16266 16267 HRESULT (STDMETHODCALLTYPE *DeleteTab)( 16268 ITaskbarList *This, 16269 HWND hwnd); 16270 16271 HRESULT (STDMETHODCALLTYPE *ActivateTab)( 16272 ITaskbarList *This, 16273 HWND hwnd); 16274 16275 HRESULT (STDMETHODCALLTYPE *SetActiveAlt)( 16276 ITaskbarList *This, 16277 HWND hwnd); 16278 16279 END_INTERFACE 16280 } ITaskbarListVtbl; 16281 16282 interface ITaskbarList { 16283 CONST_VTBL ITaskbarListVtbl* lpVtbl; 16284 }; 16285 16286 #ifdef COBJMACROS 16287 #ifndef WIDL_C_INLINE_WRAPPERS 16288 /*** IUnknown methods ***/ 16289 #define ITaskbarList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16290 #define ITaskbarList_AddRef(This) (This)->lpVtbl->AddRef(This) 16291 #define ITaskbarList_Release(This) (This)->lpVtbl->Release(This) 16292 /*** ITaskbarList methods ***/ 16293 #define ITaskbarList_HrInit(This) (This)->lpVtbl->HrInit(This) 16294 #define ITaskbarList_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd) 16295 #define ITaskbarList_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd) 16296 #define ITaskbarList_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd) 16297 #define ITaskbarList_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd) 16298 #else 16299 /*** IUnknown methods ***/ 16300 static inline HRESULT ITaskbarList_QueryInterface(ITaskbarList* This,REFIID riid,void **ppvObject) { 16301 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 16302 } 16303 static inline ULONG ITaskbarList_AddRef(ITaskbarList* This) { 16304 return This->lpVtbl->AddRef(This); 16305 } 16306 static inline ULONG ITaskbarList_Release(ITaskbarList* This) { 16307 return This->lpVtbl->Release(This); 16308 } 16309 /*** ITaskbarList methods ***/ 16310 static inline HRESULT ITaskbarList_HrInit(ITaskbarList* This) { 16311 return This->lpVtbl->HrInit(This); 16312 } 16313 static inline HRESULT ITaskbarList_AddTab(ITaskbarList* This,HWND hwnd) { 16314 return This->lpVtbl->AddTab(This,hwnd); 16315 } 16316 static inline HRESULT ITaskbarList_DeleteTab(ITaskbarList* This,HWND hwnd) { 16317 return This->lpVtbl->DeleteTab(This,hwnd); 16318 } 16319 static inline HRESULT ITaskbarList_ActivateTab(ITaskbarList* This,HWND hwnd) { 16320 return This->lpVtbl->ActivateTab(This,hwnd); 16321 } 16322 static inline HRESULT ITaskbarList_SetActiveAlt(ITaskbarList* This,HWND hwnd) { 16323 return This->lpVtbl->SetActiveAlt(This,hwnd); 16324 } 16325 #endif 16326 #endif 16327 16328 #endif 16329 16330 16331 #endif /* __ITaskbarList_INTERFACE_DEFINED__ */ 16332 16333 16334 /***************************************************************************** 16335 * ITaskbarList2 interface 16336 */ 16337 #ifndef __ITaskbarList2_INTERFACE_DEFINED__ 16338 #define __ITaskbarList2_INTERFACE_DEFINED__ 16339 16340 DEFINE_GUID(IID_ITaskbarList2, 0x602d4995, 0xb13a, 0x429b, 0xa6,0x6e, 0x19,0x35,0xe4,0x4f,0x43,0x17); 16341 #if defined(__cplusplus) && !defined(CINTERFACE) 16342 MIDL_INTERFACE("602d4995-b13a-429b-a66e-1935e44f4317") 16343 ITaskbarList2 : public ITaskbarList 16344 { 16345 virtual HRESULT STDMETHODCALLTYPE MarkFullscreenWindow( 16346 HWND hwnd, 16347 WINBOOL fFullscreen) = 0; 16348 16349 }; 16350 #ifdef __CRT_UUID_DECL 16351 __CRT_UUID_DECL(ITaskbarList2, 0x602d4995, 0xb13a, 0x429b, 0xa6,0x6e, 0x19,0x35,0xe4,0x4f,0x43,0x17) 16352 #endif 16353 #else 16354 typedef struct ITaskbarList2Vtbl { 16355 BEGIN_INTERFACE 16356 16357 /*** IUnknown methods ***/ 16358 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 16359 ITaskbarList2 *This, 16360 REFIID riid, 16361 void **ppvObject); 16362 16363 ULONG (STDMETHODCALLTYPE *AddRef)( 16364 ITaskbarList2 *This); 16365 16366 ULONG (STDMETHODCALLTYPE *Release)( 16367 ITaskbarList2 *This); 16368 16369 /*** ITaskbarList methods ***/ 16370 HRESULT (STDMETHODCALLTYPE *HrInit)( 16371 ITaskbarList2 *This); 16372 16373 HRESULT (STDMETHODCALLTYPE *AddTab)( 16374 ITaskbarList2 *This, 16375 HWND hwnd); 16376 16377 HRESULT (STDMETHODCALLTYPE *DeleteTab)( 16378 ITaskbarList2 *This, 16379 HWND hwnd); 16380 16381 HRESULT (STDMETHODCALLTYPE *ActivateTab)( 16382 ITaskbarList2 *This, 16383 HWND hwnd); 16384 16385 HRESULT (STDMETHODCALLTYPE *SetActiveAlt)( 16386 ITaskbarList2 *This, 16387 HWND hwnd); 16388 16389 /*** ITaskbarList2 methods ***/ 16390 HRESULT (STDMETHODCALLTYPE *MarkFullscreenWindow)( 16391 ITaskbarList2 *This, 16392 HWND hwnd, 16393 WINBOOL fFullscreen); 16394 16395 END_INTERFACE 16396 } ITaskbarList2Vtbl; 16397 16398 interface ITaskbarList2 { 16399 CONST_VTBL ITaskbarList2Vtbl* lpVtbl; 16400 }; 16401 16402 #ifdef COBJMACROS 16403 #ifndef WIDL_C_INLINE_WRAPPERS 16404 /*** IUnknown methods ***/ 16405 #define ITaskbarList2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16406 #define ITaskbarList2_AddRef(This) (This)->lpVtbl->AddRef(This) 16407 #define ITaskbarList2_Release(This) (This)->lpVtbl->Release(This) 16408 /*** ITaskbarList methods ***/ 16409 #define ITaskbarList2_HrInit(This) (This)->lpVtbl->HrInit(This) 16410 #define ITaskbarList2_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd) 16411 #define ITaskbarList2_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd) 16412 #define ITaskbarList2_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd) 16413 #define ITaskbarList2_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd) 16414 /*** ITaskbarList2 methods ***/ 16415 #define ITaskbarList2_MarkFullscreenWindow(This,hwnd,fFullscreen) (This)->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen) 16416 #else 16417 /*** IUnknown methods ***/ 16418 static inline HRESULT ITaskbarList2_QueryInterface(ITaskbarList2* This,REFIID riid,void **ppvObject) { 16419 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 16420 } 16421 static inline ULONG ITaskbarList2_AddRef(ITaskbarList2* This) { 16422 return This->lpVtbl->AddRef(This); 16423 } 16424 static inline ULONG ITaskbarList2_Release(ITaskbarList2* This) { 16425 return This->lpVtbl->Release(This); 16426 } 16427 /*** ITaskbarList methods ***/ 16428 static inline HRESULT ITaskbarList2_HrInit(ITaskbarList2* This) { 16429 return This->lpVtbl->HrInit(This); 16430 } 16431 static inline HRESULT ITaskbarList2_AddTab(ITaskbarList2* This,HWND hwnd) { 16432 return This->lpVtbl->AddTab(This,hwnd); 16433 } 16434 static inline HRESULT ITaskbarList2_DeleteTab(ITaskbarList2* This,HWND hwnd) { 16435 return This->lpVtbl->DeleteTab(This,hwnd); 16436 } 16437 static inline HRESULT ITaskbarList2_ActivateTab(ITaskbarList2* This,HWND hwnd) { 16438 return This->lpVtbl->ActivateTab(This,hwnd); 16439 } 16440 static inline HRESULT ITaskbarList2_SetActiveAlt(ITaskbarList2* This,HWND hwnd) { 16441 return This->lpVtbl->SetActiveAlt(This,hwnd); 16442 } 16443 /*** ITaskbarList2 methods ***/ 16444 static inline HRESULT ITaskbarList2_MarkFullscreenWindow(ITaskbarList2* This,HWND hwnd,WINBOOL fFullscreen) { 16445 return This->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen); 16446 } 16447 #endif 16448 #endif 16449 16450 #endif 16451 16452 16453 #endif /* __ITaskbarList2_INTERFACE_DEFINED__ */ 16454 16455 16456 #if 0 16457 typedef IUnknown *HIMAGELIST; 16458 #endif 16459 16460 typedef enum THUMBBUTTONFLAGS { 16461 THBF_ENABLED = 0x0, 16462 THBF_DISABLED = 0x1, 16463 THBF_DISMISSONCLICK = 0x2, 16464 THBF_NOBACKGROUND = 0x4, 16465 THBF_HIDDEN = 0x8, 16466 THBF_NONINTERACTIVE = 0x10 16467 } THUMBBUTTONFLAGS; 16468 16469 DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONFLAGS) 16470 16471 16472 typedef enum THUMBBUTTONMASK { 16473 THB_BITMAP = 0x1, 16474 THB_ICON = 0x2, 16475 THB_TOOLTIP = 0x4, 16476 THB_FLAGS = 0x8 16477 } THUMBBUTTONMASK; 16478 16479 DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONMASK) 16480 16481 #include <pshpack8.h> 16482 typedef struct THUMBBUTTON { 16483 THUMBBUTTONMASK dwMask; 16484 UINT iId; 16485 UINT iBitmap; 16486 HICON hIcon; 16487 WCHAR szTip[260]; 16488 THUMBBUTTONFLAGS dwFlags; 16489 } THUMBBUTTON; 16490 typedef struct THUMBBUTTON *LPTHUMBBUTTON; 16491 #include <poppack.h> 16492 16493 #define THBN_CLICKED 0x1800 16494 16495 /***************************************************************************** 16496 * ITaskbarList3 interface 16497 */ 16498 #ifndef __ITaskbarList3_INTERFACE_DEFINED__ 16499 #define __ITaskbarList3_INTERFACE_DEFINED__ 16500 16501 typedef enum TBPFLAG { 16502 TBPF_NOPROGRESS = 0x0, 16503 TBPF_INDETERMINATE = 0x1, 16504 TBPF_NORMAL = 0x2, 16505 TBPF_ERROR = 0x4, 16506 TBPF_PAUSED = 0x8 16507 } TBPFLAG; 16508 16509 DEFINE_ENUM_FLAG_OPERATORS(TBPFLAG) 16510 16511 DEFINE_GUID(IID_ITaskbarList3, 0xea1afb91, 0x9e28, 0x4b86, 0x90,0xe9, 0x9e,0x9f,0x8a,0x5e,0xef,0xaf); 16512 #if defined(__cplusplus) && !defined(CINTERFACE) 16513 MIDL_INTERFACE("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf") 16514 ITaskbarList3 : public ITaskbarList2 16515 { 16516 virtual HRESULT STDMETHODCALLTYPE SetProgressValue( 16517 HWND hwnd, 16518 ULONGLONG ullCompleted, 16519 ULONGLONG ullTotal) = 0; 16520 16521 virtual HRESULT STDMETHODCALLTYPE SetProgressState( 16522 HWND hwnd, 16523 TBPFLAG tbpFlags) = 0; 16524 16525 virtual HRESULT STDMETHODCALLTYPE RegisterTab( 16526 HWND hwndTab, 16527 HWND hwndMDI) = 0; 16528 16529 virtual HRESULT STDMETHODCALLTYPE UnregisterTab( 16530 HWND hwndTab) = 0; 16531 16532 virtual HRESULT STDMETHODCALLTYPE SetTabOrder( 16533 HWND hwndTab, 16534 HWND hwndInsertBefore) = 0; 16535 16536 virtual HRESULT STDMETHODCALLTYPE SetTabActive( 16537 HWND hwndTab, 16538 HWND hwndMDI, 16539 DWORD dwReserved) = 0; 16540 16541 virtual HRESULT STDMETHODCALLTYPE ThumbBarAddButtons( 16542 HWND hwnd, 16543 UINT cButtons, 16544 LPTHUMBBUTTON pButton) = 0; 16545 16546 virtual HRESULT STDMETHODCALLTYPE ThumbBarUpdateButtons( 16547 HWND hwnd, 16548 UINT cButtons, 16549 LPTHUMBBUTTON pButton) = 0; 16550 16551 virtual HRESULT STDMETHODCALLTYPE ThumbBarSetImageList( 16552 HWND hwnd, 16553 HIMAGELIST himl) = 0; 16554 16555 virtual HRESULT STDMETHODCALLTYPE SetOverlayIcon( 16556 HWND hwnd, 16557 HICON hIcon, 16558 LPCWSTR pszDescription) = 0; 16559 16560 virtual HRESULT STDMETHODCALLTYPE SetThumbnailTooltip( 16561 HWND hwnd, 16562 LPCWSTR pszTip) = 0; 16563 16564 virtual HRESULT STDMETHODCALLTYPE SetThumbnailClip( 16565 HWND hwnd, 16566 RECT *prcClip) = 0; 16567 16568 }; 16569 #ifdef __CRT_UUID_DECL 16570 __CRT_UUID_DECL(ITaskbarList3, 0xea1afb91, 0x9e28, 0x4b86, 0x90,0xe9, 0x9e,0x9f,0x8a,0x5e,0xef,0xaf) 16571 #endif 16572 #else 16573 typedef struct ITaskbarList3Vtbl { 16574 BEGIN_INTERFACE 16575 16576 /*** IUnknown methods ***/ 16577 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 16578 ITaskbarList3 *This, 16579 REFIID riid, 16580 void **ppvObject); 16581 16582 ULONG (STDMETHODCALLTYPE *AddRef)( 16583 ITaskbarList3 *This); 16584 16585 ULONG (STDMETHODCALLTYPE *Release)( 16586 ITaskbarList3 *This); 16587 16588 /*** ITaskbarList methods ***/ 16589 HRESULT (STDMETHODCALLTYPE *HrInit)( 16590 ITaskbarList3 *This); 16591 16592 HRESULT (STDMETHODCALLTYPE *AddTab)( 16593 ITaskbarList3 *This, 16594 HWND hwnd); 16595 16596 HRESULT (STDMETHODCALLTYPE *DeleteTab)( 16597 ITaskbarList3 *This, 16598 HWND hwnd); 16599 16600 HRESULT (STDMETHODCALLTYPE *ActivateTab)( 16601 ITaskbarList3 *This, 16602 HWND hwnd); 16603 16604 HRESULT (STDMETHODCALLTYPE *SetActiveAlt)( 16605 ITaskbarList3 *This, 16606 HWND hwnd); 16607 16608 /*** ITaskbarList2 methods ***/ 16609 HRESULT (STDMETHODCALLTYPE *MarkFullscreenWindow)( 16610 ITaskbarList3 *This, 16611 HWND hwnd, 16612 WINBOOL fFullscreen); 16613 16614 /*** ITaskbarList3 methods ***/ 16615 HRESULT (STDMETHODCALLTYPE *SetProgressValue)( 16616 ITaskbarList3 *This, 16617 HWND hwnd, 16618 ULONGLONG ullCompleted, 16619 ULONGLONG ullTotal); 16620 16621 HRESULT (STDMETHODCALLTYPE *SetProgressState)( 16622 ITaskbarList3 *This, 16623 HWND hwnd, 16624 TBPFLAG tbpFlags); 16625 16626 HRESULT (STDMETHODCALLTYPE *RegisterTab)( 16627 ITaskbarList3 *This, 16628 HWND hwndTab, 16629 HWND hwndMDI); 16630 16631 HRESULT (STDMETHODCALLTYPE *UnregisterTab)( 16632 ITaskbarList3 *This, 16633 HWND hwndTab); 16634 16635 HRESULT (STDMETHODCALLTYPE *SetTabOrder)( 16636 ITaskbarList3 *This, 16637 HWND hwndTab, 16638 HWND hwndInsertBefore); 16639 16640 HRESULT (STDMETHODCALLTYPE *SetTabActive)( 16641 ITaskbarList3 *This, 16642 HWND hwndTab, 16643 HWND hwndMDI, 16644 DWORD dwReserved); 16645 16646 HRESULT (STDMETHODCALLTYPE *ThumbBarAddButtons)( 16647 ITaskbarList3 *This, 16648 HWND hwnd, 16649 UINT cButtons, 16650 LPTHUMBBUTTON pButton); 16651 16652 HRESULT (STDMETHODCALLTYPE *ThumbBarUpdateButtons)( 16653 ITaskbarList3 *This, 16654 HWND hwnd, 16655 UINT cButtons, 16656 LPTHUMBBUTTON pButton); 16657 16658 HRESULT (STDMETHODCALLTYPE *ThumbBarSetImageList)( 16659 ITaskbarList3 *This, 16660 HWND hwnd, 16661 HIMAGELIST himl); 16662 16663 HRESULT (STDMETHODCALLTYPE *SetOverlayIcon)( 16664 ITaskbarList3 *This, 16665 HWND hwnd, 16666 HICON hIcon, 16667 LPCWSTR pszDescription); 16668 16669 HRESULT (STDMETHODCALLTYPE *SetThumbnailTooltip)( 16670 ITaskbarList3 *This, 16671 HWND hwnd, 16672 LPCWSTR pszTip); 16673 16674 HRESULT (STDMETHODCALLTYPE *SetThumbnailClip)( 16675 ITaskbarList3 *This, 16676 HWND hwnd, 16677 RECT *prcClip); 16678 16679 END_INTERFACE 16680 } ITaskbarList3Vtbl; 16681 16682 interface ITaskbarList3 { 16683 CONST_VTBL ITaskbarList3Vtbl* lpVtbl; 16684 }; 16685 16686 #ifdef COBJMACROS 16687 #ifndef WIDL_C_INLINE_WRAPPERS 16688 /*** IUnknown methods ***/ 16689 #define ITaskbarList3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16690 #define ITaskbarList3_AddRef(This) (This)->lpVtbl->AddRef(This) 16691 #define ITaskbarList3_Release(This) (This)->lpVtbl->Release(This) 16692 /*** ITaskbarList methods ***/ 16693 #define ITaskbarList3_HrInit(This) (This)->lpVtbl->HrInit(This) 16694 #define ITaskbarList3_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd) 16695 #define ITaskbarList3_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd) 16696 #define ITaskbarList3_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd) 16697 #define ITaskbarList3_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd) 16698 /*** ITaskbarList2 methods ***/ 16699 #define ITaskbarList3_MarkFullscreenWindow(This,hwnd,fFullscreen) (This)->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen) 16700 /*** ITaskbarList3 methods ***/ 16701 #define ITaskbarList3_SetProgressValue(This,hwnd,ullCompleted,ullTotal) (This)->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal) 16702 #define ITaskbarList3_SetProgressState(This,hwnd,tbpFlags) (This)->lpVtbl->SetProgressState(This,hwnd,tbpFlags) 16703 #define ITaskbarList3_RegisterTab(This,hwndTab,hwndMDI) (This)->lpVtbl->RegisterTab(This,hwndTab,hwndMDI) 16704 #define ITaskbarList3_UnregisterTab(This,hwndTab) (This)->lpVtbl->UnregisterTab(This,hwndTab) 16705 #define ITaskbarList3_SetTabOrder(This,hwndTab,hwndInsertBefore) (This)->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore) 16706 #define ITaskbarList3_SetTabActive(This,hwndTab,hwndMDI,dwReserved) (This)->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved) 16707 #define ITaskbarList3_ThumbBarAddButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton) 16708 #define ITaskbarList3_ThumbBarUpdateButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton) 16709 #define ITaskbarList3_ThumbBarSetImageList(This,hwnd,himl) (This)->lpVtbl->ThumbBarSetImageList(This,hwnd,himl) 16710 #define ITaskbarList3_SetOverlayIcon(This,hwnd,hIcon,pszDescription) (This)->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription) 16711 #define ITaskbarList3_SetThumbnailTooltip(This,hwnd,pszTip) (This)->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip) 16712 #define ITaskbarList3_SetThumbnailClip(This,hwnd,prcClip) (This)->lpVtbl->SetThumbnailClip(This,hwnd,prcClip) 16713 #else 16714 /*** IUnknown methods ***/ 16715 static inline HRESULT ITaskbarList3_QueryInterface(ITaskbarList3* This,REFIID riid,void **ppvObject) { 16716 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 16717 } 16718 static inline ULONG ITaskbarList3_AddRef(ITaskbarList3* This) { 16719 return This->lpVtbl->AddRef(This); 16720 } 16721 static inline ULONG ITaskbarList3_Release(ITaskbarList3* This) { 16722 return This->lpVtbl->Release(This); 16723 } 16724 /*** ITaskbarList methods ***/ 16725 static inline HRESULT ITaskbarList3_HrInit(ITaskbarList3* This) { 16726 return This->lpVtbl->HrInit(This); 16727 } 16728 static inline HRESULT ITaskbarList3_AddTab(ITaskbarList3* This,HWND hwnd) { 16729 return This->lpVtbl->AddTab(This,hwnd); 16730 } 16731 static inline HRESULT ITaskbarList3_DeleteTab(ITaskbarList3* This,HWND hwnd) { 16732 return This->lpVtbl->DeleteTab(This,hwnd); 16733 } 16734 static inline HRESULT ITaskbarList3_ActivateTab(ITaskbarList3* This,HWND hwnd) { 16735 return This->lpVtbl->ActivateTab(This,hwnd); 16736 } 16737 static inline HRESULT ITaskbarList3_SetActiveAlt(ITaskbarList3* This,HWND hwnd) { 16738 return This->lpVtbl->SetActiveAlt(This,hwnd); 16739 } 16740 /*** ITaskbarList2 methods ***/ 16741 static inline HRESULT ITaskbarList3_MarkFullscreenWindow(ITaskbarList3* This,HWND hwnd,WINBOOL fFullscreen) { 16742 return This->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen); 16743 } 16744 /*** ITaskbarList3 methods ***/ 16745 static inline HRESULT ITaskbarList3_SetProgressValue(ITaskbarList3* This,HWND hwnd,ULONGLONG ullCompleted,ULONGLONG ullTotal) { 16746 return This->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal); 16747 } 16748 static inline HRESULT ITaskbarList3_SetProgressState(ITaskbarList3* This,HWND hwnd,TBPFLAG tbpFlags) { 16749 return This->lpVtbl->SetProgressState(This,hwnd,tbpFlags); 16750 } 16751 static inline HRESULT ITaskbarList3_RegisterTab(ITaskbarList3* This,HWND hwndTab,HWND hwndMDI) { 16752 return This->lpVtbl->RegisterTab(This,hwndTab,hwndMDI); 16753 } 16754 static inline HRESULT ITaskbarList3_UnregisterTab(ITaskbarList3* This,HWND hwndTab) { 16755 return This->lpVtbl->UnregisterTab(This,hwndTab); 16756 } 16757 static inline HRESULT ITaskbarList3_SetTabOrder(ITaskbarList3* This,HWND hwndTab,HWND hwndInsertBefore) { 16758 return This->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore); 16759 } 16760 static inline HRESULT ITaskbarList3_SetTabActive(ITaskbarList3* This,HWND hwndTab,HWND hwndMDI,DWORD dwReserved) { 16761 return This->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved); 16762 } 16763 static inline HRESULT ITaskbarList3_ThumbBarAddButtons(ITaskbarList3* This,HWND hwnd,UINT cButtons,LPTHUMBBUTTON pButton) { 16764 return This->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton); 16765 } 16766 static inline HRESULT ITaskbarList3_ThumbBarUpdateButtons(ITaskbarList3* This,HWND hwnd,UINT cButtons,LPTHUMBBUTTON pButton) { 16767 return This->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton); 16768 } 16769 static inline HRESULT ITaskbarList3_ThumbBarSetImageList(ITaskbarList3* This,HWND hwnd,HIMAGELIST himl) { 16770 return This->lpVtbl->ThumbBarSetImageList(This,hwnd,himl); 16771 } 16772 static inline HRESULT ITaskbarList3_SetOverlayIcon(ITaskbarList3* This,HWND hwnd,HICON hIcon,LPCWSTR pszDescription) { 16773 return This->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription); 16774 } 16775 static inline HRESULT ITaskbarList3_SetThumbnailTooltip(ITaskbarList3* This,HWND hwnd,LPCWSTR pszTip) { 16776 return This->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip); 16777 } 16778 static inline HRESULT ITaskbarList3_SetThumbnailClip(ITaskbarList3* This,HWND hwnd,RECT *prcClip) { 16779 return This->lpVtbl->SetThumbnailClip(This,hwnd,prcClip); 16780 } 16781 #endif 16782 #endif 16783 16784 #endif 16785 16786 16787 #endif /* __ITaskbarList3_INTERFACE_DEFINED__ */ 16788 16789 16790 /***************************************************************************** 16791 * ITaskbarList4 interface 16792 */ 16793 #ifndef __ITaskbarList4_INTERFACE_DEFINED__ 16794 #define __ITaskbarList4_INTERFACE_DEFINED__ 16795 16796 typedef enum STPFLAG { 16797 STPF_NONE = 0x0, 16798 STPF_USEAPPTHUMBNAILALWAYS = 0x1, 16799 STPF_USEAPPTHUMBNAILWHENACTIVE = 0x2, 16800 STPF_USEAPPPEEKALWAYS = 0x4, 16801 STPF_USEAPPPEEKWHENACTIVE = 0x8 16802 } STPFLAG; 16803 16804 DEFINE_ENUM_FLAG_OPERATORS(STPFLAG) 16805 16806 DEFINE_GUID(IID_ITaskbarList4, 0xc43dc798, 0x95d1, 0x4bea, 0x90,0x30, 0xbb,0x99,0xe2,0x98,0x3a,0x1a); 16807 #if defined(__cplusplus) && !defined(CINTERFACE) 16808 MIDL_INTERFACE("c43dc798-95d1-4bea-9030-bb99e2983a1a") 16809 ITaskbarList4 : public ITaskbarList3 16810 { 16811 virtual HRESULT STDMETHODCALLTYPE SetTabProperties( 16812 HWND hwndTab, 16813 STPFLAG stpFlags) = 0; 16814 16815 }; 16816 #ifdef __CRT_UUID_DECL 16817 __CRT_UUID_DECL(ITaskbarList4, 0xc43dc798, 0x95d1, 0x4bea, 0x90,0x30, 0xbb,0x99,0xe2,0x98,0x3a,0x1a) 16818 #endif 16819 #else 16820 typedef struct ITaskbarList4Vtbl { 16821 BEGIN_INTERFACE 16822 16823 /*** IUnknown methods ***/ 16824 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 16825 ITaskbarList4 *This, 16826 REFIID riid, 16827 void **ppvObject); 16828 16829 ULONG (STDMETHODCALLTYPE *AddRef)( 16830 ITaskbarList4 *This); 16831 16832 ULONG (STDMETHODCALLTYPE *Release)( 16833 ITaskbarList4 *This); 16834 16835 /*** ITaskbarList methods ***/ 16836 HRESULT (STDMETHODCALLTYPE *HrInit)( 16837 ITaskbarList4 *This); 16838 16839 HRESULT (STDMETHODCALLTYPE *AddTab)( 16840 ITaskbarList4 *This, 16841 HWND hwnd); 16842 16843 HRESULT (STDMETHODCALLTYPE *DeleteTab)( 16844 ITaskbarList4 *This, 16845 HWND hwnd); 16846 16847 HRESULT (STDMETHODCALLTYPE *ActivateTab)( 16848 ITaskbarList4 *This, 16849 HWND hwnd); 16850 16851 HRESULT (STDMETHODCALLTYPE *SetActiveAlt)( 16852 ITaskbarList4 *This, 16853 HWND hwnd); 16854 16855 /*** ITaskbarList2 methods ***/ 16856 HRESULT (STDMETHODCALLTYPE *MarkFullscreenWindow)( 16857 ITaskbarList4 *This, 16858 HWND hwnd, 16859 WINBOOL fFullscreen); 16860 16861 /*** ITaskbarList3 methods ***/ 16862 HRESULT (STDMETHODCALLTYPE *SetProgressValue)( 16863 ITaskbarList4 *This, 16864 HWND hwnd, 16865 ULONGLONG ullCompleted, 16866 ULONGLONG ullTotal); 16867 16868 HRESULT (STDMETHODCALLTYPE *SetProgressState)( 16869 ITaskbarList4 *This, 16870 HWND hwnd, 16871 TBPFLAG tbpFlags); 16872 16873 HRESULT (STDMETHODCALLTYPE *RegisterTab)( 16874 ITaskbarList4 *This, 16875 HWND hwndTab, 16876 HWND hwndMDI); 16877 16878 HRESULT (STDMETHODCALLTYPE *UnregisterTab)( 16879 ITaskbarList4 *This, 16880 HWND hwndTab); 16881 16882 HRESULT (STDMETHODCALLTYPE *SetTabOrder)( 16883 ITaskbarList4 *This, 16884 HWND hwndTab, 16885 HWND hwndInsertBefore); 16886 16887 HRESULT (STDMETHODCALLTYPE *SetTabActive)( 16888 ITaskbarList4 *This, 16889 HWND hwndTab, 16890 HWND hwndMDI, 16891 DWORD dwReserved); 16892 16893 HRESULT (STDMETHODCALLTYPE *ThumbBarAddButtons)( 16894 ITaskbarList4 *This, 16895 HWND hwnd, 16896 UINT cButtons, 16897 LPTHUMBBUTTON pButton); 16898 16899 HRESULT (STDMETHODCALLTYPE *ThumbBarUpdateButtons)( 16900 ITaskbarList4 *This, 16901 HWND hwnd, 16902 UINT cButtons, 16903 LPTHUMBBUTTON pButton); 16904 16905 HRESULT (STDMETHODCALLTYPE *ThumbBarSetImageList)( 16906 ITaskbarList4 *This, 16907 HWND hwnd, 16908 HIMAGELIST himl); 16909 16910 HRESULT (STDMETHODCALLTYPE *SetOverlayIcon)( 16911 ITaskbarList4 *This, 16912 HWND hwnd, 16913 HICON hIcon, 16914 LPCWSTR pszDescription); 16915 16916 HRESULT (STDMETHODCALLTYPE *SetThumbnailTooltip)( 16917 ITaskbarList4 *This, 16918 HWND hwnd, 16919 LPCWSTR pszTip); 16920 16921 HRESULT (STDMETHODCALLTYPE *SetThumbnailClip)( 16922 ITaskbarList4 *This, 16923 HWND hwnd, 16924 RECT *prcClip); 16925 16926 /*** ITaskbarList4 methods ***/ 16927 HRESULT (STDMETHODCALLTYPE *SetTabProperties)( 16928 ITaskbarList4 *This, 16929 HWND hwndTab, 16930 STPFLAG stpFlags); 16931 16932 END_INTERFACE 16933 } ITaskbarList4Vtbl; 16934 16935 interface ITaskbarList4 { 16936 CONST_VTBL ITaskbarList4Vtbl* lpVtbl; 16937 }; 16938 16939 #ifdef COBJMACROS 16940 #ifndef WIDL_C_INLINE_WRAPPERS 16941 /*** IUnknown methods ***/ 16942 #define ITaskbarList4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16943 #define ITaskbarList4_AddRef(This) (This)->lpVtbl->AddRef(This) 16944 #define ITaskbarList4_Release(This) (This)->lpVtbl->Release(This) 16945 /*** ITaskbarList methods ***/ 16946 #define ITaskbarList4_HrInit(This) (This)->lpVtbl->HrInit(This) 16947 #define ITaskbarList4_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd) 16948 #define ITaskbarList4_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd) 16949 #define ITaskbarList4_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd) 16950 #define ITaskbarList4_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd) 16951 /*** ITaskbarList2 methods ***/ 16952 #define ITaskbarList4_MarkFullscreenWindow(This,hwnd,fFullscreen) (This)->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen) 16953 /*** ITaskbarList3 methods ***/ 16954 #define ITaskbarList4_SetProgressValue(This,hwnd,ullCompleted,ullTotal) (This)->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal) 16955 #define ITaskbarList4_SetProgressState(This,hwnd,tbpFlags) (This)->lpVtbl->SetProgressState(This,hwnd,tbpFlags) 16956 #define ITaskbarList4_RegisterTab(This,hwndTab,hwndMDI) (This)->lpVtbl->RegisterTab(This,hwndTab,hwndMDI) 16957 #define ITaskbarList4_UnregisterTab(This,hwndTab) (This)->lpVtbl->UnregisterTab(This,hwndTab) 16958 #define ITaskbarList4_SetTabOrder(This,hwndTab,hwndInsertBefore) (This)->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore) 16959 #define ITaskbarList4_SetTabActive(This,hwndTab,hwndMDI,dwReserved) (This)->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved) 16960 #define ITaskbarList4_ThumbBarAddButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton) 16961 #define ITaskbarList4_ThumbBarUpdateButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton) 16962 #define ITaskbarList4_ThumbBarSetImageList(This,hwnd,himl) (This)->lpVtbl->ThumbBarSetImageList(This,hwnd,himl) 16963 #define ITaskbarList4_SetOverlayIcon(This,hwnd,hIcon,pszDescription) (This)->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription) 16964 #define ITaskbarList4_SetThumbnailTooltip(This,hwnd,pszTip) (This)->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip) 16965 #define ITaskbarList4_SetThumbnailClip(This,hwnd,prcClip) (This)->lpVtbl->SetThumbnailClip(This,hwnd,prcClip) 16966 /*** ITaskbarList4 methods ***/ 16967 #define ITaskbarList4_SetTabProperties(This,hwndTab,stpFlags) (This)->lpVtbl->SetTabProperties(This,hwndTab,stpFlags) 16968 #else 16969 /*** IUnknown methods ***/ 16970 static inline HRESULT ITaskbarList4_QueryInterface(ITaskbarList4* This,REFIID riid,void **ppvObject) { 16971 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 16972 } 16973 static inline ULONG ITaskbarList4_AddRef(ITaskbarList4* This) { 16974 return This->lpVtbl->AddRef(This); 16975 } 16976 static inline ULONG ITaskbarList4_Release(ITaskbarList4* This) { 16977 return This->lpVtbl->Release(This); 16978 } 16979 /*** ITaskbarList methods ***/ 16980 static inline HRESULT ITaskbarList4_HrInit(ITaskbarList4* This) { 16981 return This->lpVtbl->HrInit(This); 16982 } 16983 static inline HRESULT ITaskbarList4_AddTab(ITaskbarList4* This,HWND hwnd) { 16984 return This->lpVtbl->AddTab(This,hwnd); 16985 } 16986 static inline HRESULT ITaskbarList4_DeleteTab(ITaskbarList4* This,HWND hwnd) { 16987 return This->lpVtbl->DeleteTab(This,hwnd); 16988 } 16989 static inline HRESULT ITaskbarList4_ActivateTab(ITaskbarList4* This,HWND hwnd) { 16990 return This->lpVtbl->ActivateTab(This,hwnd); 16991 } 16992 static inline HRESULT ITaskbarList4_SetActiveAlt(ITaskbarList4* This,HWND hwnd) { 16993 return This->lpVtbl->SetActiveAlt(This,hwnd); 16994 } 16995 /*** ITaskbarList2 methods ***/ 16996 static inline HRESULT ITaskbarList4_MarkFullscreenWindow(ITaskbarList4* This,HWND hwnd,WINBOOL fFullscreen) { 16997 return This->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen); 16998 } 16999 /*** ITaskbarList3 methods ***/ 17000 static inline HRESULT ITaskbarList4_SetProgressValue(ITaskbarList4* This,HWND hwnd,ULONGLONG ullCompleted,ULONGLONG ullTotal) { 17001 return This->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal); 17002 } 17003 static inline HRESULT ITaskbarList4_SetProgressState(ITaskbarList4* This,HWND hwnd,TBPFLAG tbpFlags) { 17004 return This->lpVtbl->SetProgressState(This,hwnd,tbpFlags); 17005 } 17006 static inline HRESULT ITaskbarList4_RegisterTab(ITaskbarList4* This,HWND hwndTab,HWND hwndMDI) { 17007 return This->lpVtbl->RegisterTab(This,hwndTab,hwndMDI); 17008 } 17009 static inline HRESULT ITaskbarList4_UnregisterTab(ITaskbarList4* This,HWND hwndTab) { 17010 return This->lpVtbl->UnregisterTab(This,hwndTab); 17011 } 17012 static inline HRESULT ITaskbarList4_SetTabOrder(ITaskbarList4* This,HWND hwndTab,HWND hwndInsertBefore) { 17013 return This->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore); 17014 } 17015 static inline HRESULT ITaskbarList4_SetTabActive(ITaskbarList4* This,HWND hwndTab,HWND hwndMDI,DWORD dwReserved) { 17016 return This->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved); 17017 } 17018 static inline HRESULT ITaskbarList4_ThumbBarAddButtons(ITaskbarList4* This,HWND hwnd,UINT cButtons,LPTHUMBBUTTON pButton) { 17019 return This->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton); 17020 } 17021 static inline HRESULT ITaskbarList4_ThumbBarUpdateButtons(ITaskbarList4* This,HWND hwnd,UINT cButtons,LPTHUMBBUTTON pButton) { 17022 return This->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton); 17023 } 17024 static inline HRESULT ITaskbarList4_ThumbBarSetImageList(ITaskbarList4* This,HWND hwnd,HIMAGELIST himl) { 17025 return This->lpVtbl->ThumbBarSetImageList(This,hwnd,himl); 17026 } 17027 static inline HRESULT ITaskbarList4_SetOverlayIcon(ITaskbarList4* This,HWND hwnd,HICON hIcon,LPCWSTR pszDescription) { 17028 return This->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription); 17029 } 17030 static inline HRESULT ITaskbarList4_SetThumbnailTooltip(ITaskbarList4* This,HWND hwnd,LPCWSTR pszTip) { 17031 return This->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip); 17032 } 17033 static inline HRESULT ITaskbarList4_SetThumbnailClip(ITaskbarList4* This,HWND hwnd,RECT *prcClip) { 17034 return This->lpVtbl->SetThumbnailClip(This,hwnd,prcClip); 17035 } 17036 /*** ITaskbarList4 methods ***/ 17037 static inline HRESULT ITaskbarList4_SetTabProperties(ITaskbarList4* This,HWND hwndTab,STPFLAG stpFlags) { 17038 return This->lpVtbl->SetTabProperties(This,hwndTab,stpFlags); 17039 } 17040 #endif 17041 #endif 17042 17043 #endif 17044 17045 17046 #endif /* __ITaskbarList4_INTERFACE_DEFINED__ */ 17047 17048 17049 /***************************************************************************** 17050 * IStartMenuPinnedList interface 17051 */ 17052 #ifndef __IStartMenuPinnedList_INTERFACE_DEFINED__ 17053 #define __IStartMenuPinnedList_INTERFACE_DEFINED__ 17054 17055 DEFINE_GUID(IID_IStartMenuPinnedList, 0x4cd19ada, 0x25a5, 0x4a32, 0xb3,0xb7, 0x34,0x7b,0xee,0x5b,0xe3,0x6b); 17056 #if defined(__cplusplus) && !defined(CINTERFACE) 17057 MIDL_INTERFACE("4cd19ada-25a5-4a32-b3b7-347bee5be36b") 17058 IStartMenuPinnedList : public IUnknown 17059 { 17060 virtual HRESULT STDMETHODCALLTYPE RemoveFromList( 17061 IShellItem *pitem) = 0; 17062 17063 }; 17064 #ifdef __CRT_UUID_DECL 17065 __CRT_UUID_DECL(IStartMenuPinnedList, 0x4cd19ada, 0x25a5, 0x4a32, 0xb3,0xb7, 0x34,0x7b,0xee,0x5b,0xe3,0x6b) 17066 #endif 17067 #else 17068 typedef struct IStartMenuPinnedListVtbl { 17069 BEGIN_INTERFACE 17070 17071 /*** IUnknown methods ***/ 17072 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 17073 IStartMenuPinnedList *This, 17074 REFIID riid, 17075 void **ppvObject); 17076 17077 ULONG (STDMETHODCALLTYPE *AddRef)( 17078 IStartMenuPinnedList *This); 17079 17080 ULONG (STDMETHODCALLTYPE *Release)( 17081 IStartMenuPinnedList *This); 17082 17083 /*** IStartMenuPinnedList methods ***/ 17084 HRESULT (STDMETHODCALLTYPE *RemoveFromList)( 17085 IStartMenuPinnedList *This, 17086 IShellItem *pitem); 17087 17088 END_INTERFACE 17089 } IStartMenuPinnedListVtbl; 17090 17091 interface IStartMenuPinnedList { 17092 CONST_VTBL IStartMenuPinnedListVtbl* lpVtbl; 17093 }; 17094 17095 #ifdef COBJMACROS 17096 #ifndef WIDL_C_INLINE_WRAPPERS 17097 /*** IUnknown methods ***/ 17098 #define IStartMenuPinnedList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 17099 #define IStartMenuPinnedList_AddRef(This) (This)->lpVtbl->AddRef(This) 17100 #define IStartMenuPinnedList_Release(This) (This)->lpVtbl->Release(This) 17101 /*** IStartMenuPinnedList methods ***/ 17102 #define IStartMenuPinnedList_RemoveFromList(This,pitem) (This)->lpVtbl->RemoveFromList(This,pitem) 17103 #else 17104 /*** IUnknown methods ***/ 17105 static inline HRESULT IStartMenuPinnedList_QueryInterface(IStartMenuPinnedList* This,REFIID riid,void **ppvObject) { 17106 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 17107 } 17108 static inline ULONG IStartMenuPinnedList_AddRef(IStartMenuPinnedList* This) { 17109 return This->lpVtbl->AddRef(This); 17110 } 17111 static inline ULONG IStartMenuPinnedList_Release(IStartMenuPinnedList* This) { 17112 return This->lpVtbl->Release(This); 17113 } 17114 /*** IStartMenuPinnedList methods ***/ 17115 static inline HRESULT IStartMenuPinnedList_RemoveFromList(IStartMenuPinnedList* This,IShellItem *pitem) { 17116 return This->lpVtbl->RemoveFromList(This,pitem); 17117 } 17118 #endif 17119 #endif 17120 17121 #endif 17122 17123 17124 #endif /* __IStartMenuPinnedList_INTERFACE_DEFINED__ */ 17125 17126 17127 /***************************************************************************** 17128 * ICDBurn interface 17129 */ 17130 #ifndef __ICDBurn_INTERFACE_DEFINED__ 17131 #define __ICDBurn_INTERFACE_DEFINED__ 17132 17133 DEFINE_GUID(IID_ICDBurn, 0x3d73a659, 0xe5d0, 0x4d42, 0xaf,0xc0, 0x51,0x21,0xba,0x42,0x5c,0x8d); 17134 #if defined(__cplusplus) && !defined(CINTERFACE) 17135 MIDL_INTERFACE("3d73a659-e5d0-4d42-afc0-5121ba425c8d") 17136 ICDBurn : public IUnknown 17137 { 17138 virtual HRESULT STDMETHODCALLTYPE GetRecorderDriveLetter( 17139 LPWSTR pszDrive, 17140 UINT cch) = 0; 17141 17142 virtual HRESULT STDMETHODCALLTYPE Burn( 17143 HWND hwnd) = 0; 17144 17145 virtual HRESULT STDMETHODCALLTYPE HasRecordableDrive( 17146 WINBOOL *pfHasRecorder) = 0; 17147 17148 }; 17149 #ifdef __CRT_UUID_DECL 17150 __CRT_UUID_DECL(ICDBurn, 0x3d73a659, 0xe5d0, 0x4d42, 0xaf,0xc0, 0x51,0x21,0xba,0x42,0x5c,0x8d) 17151 #endif 17152 #else 17153 typedef struct ICDBurnVtbl { 17154 BEGIN_INTERFACE 17155 17156 /*** IUnknown methods ***/ 17157 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 17158 ICDBurn *This, 17159 REFIID riid, 17160 void **ppvObject); 17161 17162 ULONG (STDMETHODCALLTYPE *AddRef)( 17163 ICDBurn *This); 17164 17165 ULONG (STDMETHODCALLTYPE *Release)( 17166 ICDBurn *This); 17167 17168 /*** ICDBurn methods ***/ 17169 HRESULT (STDMETHODCALLTYPE *GetRecorderDriveLetter)( 17170 ICDBurn *This, 17171 LPWSTR pszDrive, 17172 UINT cch); 17173 17174 HRESULT (STDMETHODCALLTYPE *Burn)( 17175 ICDBurn *This, 17176 HWND hwnd); 17177 17178 HRESULT (STDMETHODCALLTYPE *HasRecordableDrive)( 17179 ICDBurn *This, 17180 WINBOOL *pfHasRecorder); 17181 17182 END_INTERFACE 17183 } ICDBurnVtbl; 17184 17185 interface ICDBurn { 17186 CONST_VTBL ICDBurnVtbl* lpVtbl; 17187 }; 17188 17189 #ifdef COBJMACROS 17190 #ifndef WIDL_C_INLINE_WRAPPERS 17191 /*** IUnknown methods ***/ 17192 #define ICDBurn_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 17193 #define ICDBurn_AddRef(This) (This)->lpVtbl->AddRef(This) 17194 #define ICDBurn_Release(This) (This)->lpVtbl->Release(This) 17195 /*** ICDBurn methods ***/ 17196 #define ICDBurn_GetRecorderDriveLetter(This,pszDrive,cch) (This)->lpVtbl->GetRecorderDriveLetter(This,pszDrive,cch) 17197 #define ICDBurn_Burn(This,hwnd) (This)->lpVtbl->Burn(This,hwnd) 17198 #define ICDBurn_HasRecordableDrive(This,pfHasRecorder) (This)->lpVtbl->HasRecordableDrive(This,pfHasRecorder) 17199 #else 17200 /*** IUnknown methods ***/ 17201 static inline HRESULT ICDBurn_QueryInterface(ICDBurn* This,REFIID riid,void **ppvObject) { 17202 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 17203 } 17204 static inline ULONG ICDBurn_AddRef(ICDBurn* This) { 17205 return This->lpVtbl->AddRef(This); 17206 } 17207 static inline ULONG ICDBurn_Release(ICDBurn* This) { 17208 return This->lpVtbl->Release(This); 17209 } 17210 /*** ICDBurn methods ***/ 17211 static inline HRESULT ICDBurn_GetRecorderDriveLetter(ICDBurn* This,LPWSTR pszDrive,UINT cch) { 17212 return This->lpVtbl->GetRecorderDriveLetter(This,pszDrive,cch); 17213 } 17214 static inline HRESULT ICDBurn_Burn(ICDBurn* This,HWND hwnd) { 17215 return This->lpVtbl->Burn(This,hwnd); 17216 } 17217 static inline HRESULT ICDBurn_HasRecordableDrive(ICDBurn* This,WINBOOL *pfHasRecorder) { 17218 return This->lpVtbl->HasRecordableDrive(This,pfHasRecorder); 17219 } 17220 #endif 17221 #endif 17222 17223 #endif 17224 17225 17226 #endif /* __ICDBurn_INTERFACE_DEFINED__ */ 17227 17228 17229 #define IDD_WIZEXTN_FIRST 0x5000 17230 #define IDD_WIZEXTN_LAST 0x5100 17231 17232 /***************************************************************************** 17233 * IWizardSite interface 17234 */ 17235 #ifndef __IWizardSite_INTERFACE_DEFINED__ 17236 #define __IWizardSite_INTERFACE_DEFINED__ 17237 17238 DEFINE_GUID(IID_IWizardSite, 0x88960f5b, 0x422f, 0x4e7b, 0x80,0x13, 0x73,0x41,0x53,0x81,0xc3,0xc3); 17239 #if defined(__cplusplus) && !defined(CINTERFACE) 17240 MIDL_INTERFACE("88960f5b-422f-4e7b-8013-73415381c3c3") 17241 IWizardSite : public IUnknown 17242 { 17243 virtual HRESULT STDMETHODCALLTYPE GetPreviousPage( 17244 HPROPSHEETPAGE *phpage) = 0; 17245 17246 virtual HRESULT STDMETHODCALLTYPE GetNextPage( 17247 HPROPSHEETPAGE *phpage) = 0; 17248 17249 virtual HRESULT STDMETHODCALLTYPE GetCancelledPage( 17250 HPROPSHEETPAGE *phpage) = 0; 17251 17252 }; 17253 #ifdef __CRT_UUID_DECL 17254 __CRT_UUID_DECL(IWizardSite, 0x88960f5b, 0x422f, 0x4e7b, 0x80,0x13, 0x73,0x41,0x53,0x81,0xc3,0xc3) 17255 #endif 17256 #else 17257 typedef struct IWizardSiteVtbl { 17258 BEGIN_INTERFACE 17259 17260 /*** IUnknown methods ***/ 17261 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 17262 IWizardSite *This, 17263 REFIID riid, 17264 void **ppvObject); 17265 17266 ULONG (STDMETHODCALLTYPE *AddRef)( 17267 IWizardSite *This); 17268 17269 ULONG (STDMETHODCALLTYPE *Release)( 17270 IWizardSite *This); 17271 17272 /*** IWizardSite methods ***/ 17273 HRESULT (STDMETHODCALLTYPE *GetPreviousPage)( 17274 IWizardSite *This, 17275 HPROPSHEETPAGE *phpage); 17276 17277 HRESULT (STDMETHODCALLTYPE *GetNextPage)( 17278 IWizardSite *This, 17279 HPROPSHEETPAGE *phpage); 17280 17281 HRESULT (STDMETHODCALLTYPE *GetCancelledPage)( 17282 IWizardSite *This, 17283 HPROPSHEETPAGE *phpage); 17284 17285 END_INTERFACE 17286 } IWizardSiteVtbl; 17287 17288 interface IWizardSite { 17289 CONST_VTBL IWizardSiteVtbl* lpVtbl; 17290 }; 17291 17292 #ifdef COBJMACROS 17293 #ifndef WIDL_C_INLINE_WRAPPERS 17294 /*** IUnknown methods ***/ 17295 #define IWizardSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 17296 #define IWizardSite_AddRef(This) (This)->lpVtbl->AddRef(This) 17297 #define IWizardSite_Release(This) (This)->lpVtbl->Release(This) 17298 /*** IWizardSite methods ***/ 17299 #define IWizardSite_GetPreviousPage(This,phpage) (This)->lpVtbl->GetPreviousPage(This,phpage) 17300 #define IWizardSite_GetNextPage(This,phpage) (This)->lpVtbl->GetNextPage(This,phpage) 17301 #define IWizardSite_GetCancelledPage(This,phpage) (This)->lpVtbl->GetCancelledPage(This,phpage) 17302 #else 17303 /*** IUnknown methods ***/ 17304 static inline HRESULT IWizardSite_QueryInterface(IWizardSite* This,REFIID riid,void **ppvObject) { 17305 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 17306 } 17307 static inline ULONG IWizardSite_AddRef(IWizardSite* This) { 17308 return This->lpVtbl->AddRef(This); 17309 } 17310 static inline ULONG IWizardSite_Release(IWizardSite* This) { 17311 return This->lpVtbl->Release(This); 17312 } 17313 /*** IWizardSite methods ***/ 17314 static inline HRESULT IWizardSite_GetPreviousPage(IWizardSite* This,HPROPSHEETPAGE *phpage) { 17315 return This->lpVtbl->GetPreviousPage(This,phpage); 17316 } 17317 static inline HRESULT IWizardSite_GetNextPage(IWizardSite* This,HPROPSHEETPAGE *phpage) { 17318 return This->lpVtbl->GetNextPage(This,phpage); 17319 } 17320 static inline HRESULT IWizardSite_GetCancelledPage(IWizardSite* This,HPROPSHEETPAGE *phpage) { 17321 return This->lpVtbl->GetCancelledPage(This,phpage); 17322 } 17323 #endif 17324 #endif 17325 17326 #endif 17327 17328 17329 #endif /* __IWizardSite_INTERFACE_DEFINED__ */ 17330 17331 17332 #define SID_WizardSite IID_IWizardSite 17333 17334 /***************************************************************************** 17335 * IWizardExtension interface 17336 */ 17337 #ifndef __IWizardExtension_INTERFACE_DEFINED__ 17338 #define __IWizardExtension_INTERFACE_DEFINED__ 17339 17340 DEFINE_GUID(IID_IWizardExtension, 0xc02ea696, 0x86cc, 0x491e, 0x9b,0x23, 0x74,0x39,0x4a,0x04,0x44,0xa8); 17341 #if defined(__cplusplus) && !defined(CINTERFACE) 17342 MIDL_INTERFACE("c02ea696-86cc-491e-9b23-74394a0444a8") 17343 IWizardExtension : public IUnknown 17344 { 17345 virtual HRESULT STDMETHODCALLTYPE AddPages( 17346 HPROPSHEETPAGE *aPages, 17347 UINT cPages, 17348 UINT *pnPagesAdded) = 0; 17349 17350 virtual HRESULT STDMETHODCALLTYPE GetFirstPage( 17351 HPROPSHEETPAGE *phpage) = 0; 17352 17353 virtual HRESULT STDMETHODCALLTYPE GetLastPage( 17354 HPROPSHEETPAGE *phpage) = 0; 17355 17356 }; 17357 #ifdef __CRT_UUID_DECL 17358 __CRT_UUID_DECL(IWizardExtension, 0xc02ea696, 0x86cc, 0x491e, 0x9b,0x23, 0x74,0x39,0x4a,0x04,0x44,0xa8) 17359 #endif 17360 #else 17361 typedef struct IWizardExtensionVtbl { 17362 BEGIN_INTERFACE 17363 17364 /*** IUnknown methods ***/ 17365 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 17366 IWizardExtension *This, 17367 REFIID riid, 17368 void **ppvObject); 17369 17370 ULONG (STDMETHODCALLTYPE *AddRef)( 17371 IWizardExtension *This); 17372 17373 ULONG (STDMETHODCALLTYPE *Release)( 17374 IWizardExtension *This); 17375 17376 /*** IWizardExtension methods ***/ 17377 HRESULT (STDMETHODCALLTYPE *AddPages)( 17378 IWizardExtension *This, 17379 HPROPSHEETPAGE *aPages, 17380 UINT cPages, 17381 UINT *pnPagesAdded); 17382 17383 HRESULT (STDMETHODCALLTYPE *GetFirstPage)( 17384 IWizardExtension *This, 17385 HPROPSHEETPAGE *phpage); 17386 17387 HRESULT (STDMETHODCALLTYPE *GetLastPage)( 17388 IWizardExtension *This, 17389 HPROPSHEETPAGE *phpage); 17390 17391 END_INTERFACE 17392 } IWizardExtensionVtbl; 17393 17394 interface IWizardExtension { 17395 CONST_VTBL IWizardExtensionVtbl* lpVtbl; 17396 }; 17397 17398 #ifdef COBJMACROS 17399 #ifndef WIDL_C_INLINE_WRAPPERS 17400 /*** IUnknown methods ***/ 17401 #define IWizardExtension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 17402 #define IWizardExtension_AddRef(This) (This)->lpVtbl->AddRef(This) 17403 #define IWizardExtension_Release(This) (This)->lpVtbl->Release(This) 17404 /*** IWizardExtension methods ***/ 17405 #define IWizardExtension_AddPages(This,aPages,cPages,pnPagesAdded) (This)->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded) 17406 #define IWizardExtension_GetFirstPage(This,phpage) (This)->lpVtbl->GetFirstPage(This,phpage) 17407 #define IWizardExtension_GetLastPage(This,phpage) (This)->lpVtbl->GetLastPage(This,phpage) 17408 #else 17409 /*** IUnknown methods ***/ 17410 static inline HRESULT IWizardExtension_QueryInterface(IWizardExtension* This,REFIID riid,void **ppvObject) { 17411 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 17412 } 17413 static inline ULONG IWizardExtension_AddRef(IWizardExtension* This) { 17414 return This->lpVtbl->AddRef(This); 17415 } 17416 static inline ULONG IWizardExtension_Release(IWizardExtension* This) { 17417 return This->lpVtbl->Release(This); 17418 } 17419 /*** IWizardExtension methods ***/ 17420 static inline HRESULT IWizardExtension_AddPages(IWizardExtension* This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded) { 17421 return This->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded); 17422 } 17423 static inline HRESULT IWizardExtension_GetFirstPage(IWizardExtension* This,HPROPSHEETPAGE *phpage) { 17424 return This->lpVtbl->GetFirstPage(This,phpage); 17425 } 17426 static inline HRESULT IWizardExtension_GetLastPage(IWizardExtension* This,HPROPSHEETPAGE *phpage) { 17427 return This->lpVtbl->GetLastPage(This,phpage); 17428 } 17429 #endif 17430 #endif 17431 17432 #endif 17433 17434 17435 #endif /* __IWizardExtension_INTERFACE_DEFINED__ */ 17436 17437 17438 /***************************************************************************** 17439 * IWebWizardExtension interface 17440 */ 17441 #ifndef __IWebWizardExtension_INTERFACE_DEFINED__ 17442 #define __IWebWizardExtension_INTERFACE_DEFINED__ 17443 17444 DEFINE_GUID(IID_IWebWizardExtension, 0x0e6b3f66, 0x98d1, 0x48c0, 0xa2,0x22, 0xfb,0xde,0x74,0xe2,0xfb,0xc5); 17445 #if defined(__cplusplus) && !defined(CINTERFACE) 17446 MIDL_INTERFACE("0e6b3f66-98d1-48c0-a222-fbde74e2fbc5") 17447 IWebWizardExtension : public IWizardExtension 17448 { 17449 virtual HRESULT STDMETHODCALLTYPE SetInitialURL( 17450 LPCWSTR pszURL) = 0; 17451 17452 virtual HRESULT STDMETHODCALLTYPE SetErrorURL( 17453 LPCWSTR pszErrorURL) = 0; 17454 17455 }; 17456 #ifdef __CRT_UUID_DECL 17457 __CRT_UUID_DECL(IWebWizardExtension, 0x0e6b3f66, 0x98d1, 0x48c0, 0xa2,0x22, 0xfb,0xde,0x74,0xe2,0xfb,0xc5) 17458 #endif 17459 #else 17460 typedef struct IWebWizardExtensionVtbl { 17461 BEGIN_INTERFACE 17462 17463 /*** IUnknown methods ***/ 17464 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 17465 IWebWizardExtension *This, 17466 REFIID riid, 17467 void **ppvObject); 17468 17469 ULONG (STDMETHODCALLTYPE *AddRef)( 17470 IWebWizardExtension *This); 17471 17472 ULONG (STDMETHODCALLTYPE *Release)( 17473 IWebWizardExtension *This); 17474 17475 /*** IWizardExtension methods ***/ 17476 HRESULT (STDMETHODCALLTYPE *AddPages)( 17477 IWebWizardExtension *This, 17478 HPROPSHEETPAGE *aPages, 17479 UINT cPages, 17480 UINT *pnPagesAdded); 17481 17482 HRESULT (STDMETHODCALLTYPE *GetFirstPage)( 17483 IWebWizardExtension *This, 17484 HPROPSHEETPAGE *phpage); 17485 17486 HRESULT (STDMETHODCALLTYPE *GetLastPage)( 17487 IWebWizardExtension *This, 17488 HPROPSHEETPAGE *phpage); 17489 17490 /*** IWebWizardExtension methods ***/ 17491 HRESULT (STDMETHODCALLTYPE *SetInitialURL)( 17492 IWebWizardExtension *This, 17493 LPCWSTR pszURL); 17494 17495 HRESULT (STDMETHODCALLTYPE *SetErrorURL)( 17496 IWebWizardExtension *This, 17497 LPCWSTR pszErrorURL); 17498 17499 END_INTERFACE 17500 } IWebWizardExtensionVtbl; 17501 17502 interface IWebWizardExtension { 17503 CONST_VTBL IWebWizardExtensionVtbl* lpVtbl; 17504 }; 17505 17506 #ifdef COBJMACROS 17507 #ifndef WIDL_C_INLINE_WRAPPERS 17508 /*** IUnknown methods ***/ 17509 #define IWebWizardExtension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 17510 #define IWebWizardExtension_AddRef(This) (This)->lpVtbl->AddRef(This) 17511 #define IWebWizardExtension_Release(This) (This)->lpVtbl->Release(This) 17512 /*** IWizardExtension methods ***/ 17513 #define IWebWizardExtension_AddPages(This,aPages,cPages,pnPagesAdded) (This)->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded) 17514 #define IWebWizardExtension_GetFirstPage(This,phpage) (This)->lpVtbl->GetFirstPage(This,phpage) 17515 #define IWebWizardExtension_GetLastPage(This,phpage) (This)->lpVtbl->GetLastPage(This,phpage) 17516 /*** IWebWizardExtension methods ***/ 17517 #define IWebWizardExtension_SetInitialURL(This,pszURL) (This)->lpVtbl->SetInitialURL(This,pszURL) 17518 #define IWebWizardExtension_SetErrorURL(This,pszErrorURL) (This)->lpVtbl->SetErrorURL(This,pszErrorURL) 17519 #else 17520 /*** IUnknown methods ***/ 17521 static inline HRESULT IWebWizardExtension_QueryInterface(IWebWizardExtension* This,REFIID riid,void **ppvObject) { 17522 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 17523 } 17524 static inline ULONG IWebWizardExtension_AddRef(IWebWizardExtension* This) { 17525 return This->lpVtbl->AddRef(This); 17526 } 17527 static inline ULONG IWebWizardExtension_Release(IWebWizardExtension* This) { 17528 return This->lpVtbl->Release(This); 17529 } 17530 /*** IWizardExtension methods ***/ 17531 static inline HRESULT IWebWizardExtension_AddPages(IWebWizardExtension* This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded) { 17532 return This->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded); 17533 } 17534 static inline HRESULT IWebWizardExtension_GetFirstPage(IWebWizardExtension* This,HPROPSHEETPAGE *phpage) { 17535 return This->lpVtbl->GetFirstPage(This,phpage); 17536 } 17537 static inline HRESULT IWebWizardExtension_GetLastPage(IWebWizardExtension* This,HPROPSHEETPAGE *phpage) { 17538 return This->lpVtbl->GetLastPage(This,phpage); 17539 } 17540 /*** IWebWizardExtension methods ***/ 17541 static inline HRESULT IWebWizardExtension_SetInitialURL(IWebWizardExtension* This,LPCWSTR pszURL) { 17542 return This->lpVtbl->SetInitialURL(This,pszURL); 17543 } 17544 static inline HRESULT IWebWizardExtension_SetErrorURL(IWebWizardExtension* This,LPCWSTR pszErrorURL) { 17545 return This->lpVtbl->SetErrorURL(This,pszErrorURL); 17546 } 17547 #endif 17548 #endif 17549 17550 #endif 17551 17552 17553 #endif /* __IWebWizardExtension_INTERFACE_DEFINED__ */ 17554 17555 17556 #define SID_WebWizardHost IID_IWebWizardExtension 17557 17558 #define SHPWHF_NORECOMPRESS 0x00000001 17559 #define SHPWHF_NONETPLACECREATE 0x00000002 17560 #define SHPWHF_NOFILESELECTOR 0x00000004 17561 #define SHPWHF_USEMRU 0x00000008 17562 #if NTDDI_VERSION >= NTDDI_VISTA 17563 #define SHPWHF_ANYLOCATION 0x00000100 17564 #endif 17565 #define SHPWHF_VALIDATEVIAWEBFOLDERS 0x00010000 17566 17567 #ifndef __IXMLDOMDocument_FWD_DEFINED__ 17568 #define __IXMLDOMDocument_FWD_DEFINED__ 17569 typedef interface IXMLDOMDocument IXMLDOMDocument; 17570 #ifdef __cplusplus 17571 interface IXMLDOMDocument; 17572 #endif /* __cplusplus */ 17573 #endif 17574 17575 17576 /***************************************************************************** 17577 * IPublishingWizard interface 17578 */ 17579 #ifndef __IPublishingWizard_INTERFACE_DEFINED__ 17580 #define __IPublishingWizard_INTERFACE_DEFINED__ 17581 17582 DEFINE_GUID(IID_IPublishingWizard, 0xaa9198bb, 0xccec, 0x472d, 0xbe,0xed, 0x19,0xa4,0xf6,0x73,0x3f,0x7a); 17583 #if defined(__cplusplus) && !defined(CINTERFACE) 17584 MIDL_INTERFACE("aa9198bb-ccec-472d-beed-19a4f6733f7a") 17585 IPublishingWizard : public IWizardExtension 17586 { 17587 virtual HRESULT STDMETHODCALLTYPE Initialize( 17588 IDataObject *pdo, 17589 DWORD dwOptions, 17590 LPCWSTR pszServiceScope) = 0; 17591 17592 virtual HRESULT STDMETHODCALLTYPE GetTransferManifest( 17593 HRESULT *phrFromTransfer, 17594 IXMLDOMDocument **pdocManifest) = 0; 17595 17596 }; 17597 #ifdef __CRT_UUID_DECL 17598 __CRT_UUID_DECL(IPublishingWizard, 0xaa9198bb, 0xccec, 0x472d, 0xbe,0xed, 0x19,0xa4,0xf6,0x73,0x3f,0x7a) 17599 #endif 17600 #else 17601 typedef struct IPublishingWizardVtbl { 17602 BEGIN_INTERFACE 17603 17604 /*** IUnknown methods ***/ 17605 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 17606 IPublishingWizard *This, 17607 REFIID riid, 17608 void **ppvObject); 17609 17610 ULONG (STDMETHODCALLTYPE *AddRef)( 17611 IPublishingWizard *This); 17612 17613 ULONG (STDMETHODCALLTYPE *Release)( 17614 IPublishingWizard *This); 17615 17616 /*** IWizardExtension methods ***/ 17617 HRESULT (STDMETHODCALLTYPE *AddPages)( 17618 IPublishingWizard *This, 17619 HPROPSHEETPAGE *aPages, 17620 UINT cPages, 17621 UINT *pnPagesAdded); 17622 17623 HRESULT (STDMETHODCALLTYPE *GetFirstPage)( 17624 IPublishingWizard *This, 17625 HPROPSHEETPAGE *phpage); 17626 17627 HRESULT (STDMETHODCALLTYPE *GetLastPage)( 17628 IPublishingWizard *This, 17629 HPROPSHEETPAGE *phpage); 17630 17631 /*** IPublishingWizard methods ***/ 17632 HRESULT (STDMETHODCALLTYPE *Initialize)( 17633 IPublishingWizard *This, 17634 IDataObject *pdo, 17635 DWORD dwOptions, 17636 LPCWSTR pszServiceScope); 17637 17638 HRESULT (STDMETHODCALLTYPE *GetTransferManifest)( 17639 IPublishingWizard *This, 17640 HRESULT *phrFromTransfer, 17641 IXMLDOMDocument **pdocManifest); 17642 17643 END_INTERFACE 17644 } IPublishingWizardVtbl; 17645 17646 interface IPublishingWizard { 17647 CONST_VTBL IPublishingWizardVtbl* lpVtbl; 17648 }; 17649 17650 #ifdef COBJMACROS 17651 #ifndef WIDL_C_INLINE_WRAPPERS 17652 /*** IUnknown methods ***/ 17653 #define IPublishingWizard_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 17654 #define IPublishingWizard_AddRef(This) (This)->lpVtbl->AddRef(This) 17655 #define IPublishingWizard_Release(This) (This)->lpVtbl->Release(This) 17656 /*** IWizardExtension methods ***/ 17657 #define IPublishingWizard_AddPages(This,aPages,cPages,pnPagesAdded) (This)->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded) 17658 #define IPublishingWizard_GetFirstPage(This,phpage) (This)->lpVtbl->GetFirstPage(This,phpage) 17659 #define IPublishingWizard_GetLastPage(This,phpage) (This)->lpVtbl->GetLastPage(This,phpage) 17660 /*** IPublishingWizard methods ***/ 17661 #define IPublishingWizard_Initialize(This,pdo,dwOptions,pszServiceScope) (This)->lpVtbl->Initialize(This,pdo,dwOptions,pszServiceScope) 17662 #define IPublishingWizard_GetTransferManifest(This,phrFromTransfer,pdocManifest) (This)->lpVtbl->GetTransferManifest(This,phrFromTransfer,pdocManifest) 17663 #else 17664 /*** IUnknown methods ***/ 17665 static inline HRESULT IPublishingWizard_QueryInterface(IPublishingWizard* This,REFIID riid,void **ppvObject) { 17666 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 17667 } 17668 static inline ULONG IPublishingWizard_AddRef(IPublishingWizard* This) { 17669 return This->lpVtbl->AddRef(This); 17670 } 17671 static inline ULONG IPublishingWizard_Release(IPublishingWizard* This) { 17672 return This->lpVtbl->Release(This); 17673 } 17674 /*** IWizardExtension methods ***/ 17675 static inline HRESULT IPublishingWizard_AddPages(IPublishingWizard* This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded) { 17676 return This->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded); 17677 } 17678 static inline HRESULT IPublishingWizard_GetFirstPage(IPublishingWizard* This,HPROPSHEETPAGE *phpage) { 17679 return This->lpVtbl->GetFirstPage(This,phpage); 17680 } 17681 static inline HRESULT IPublishingWizard_GetLastPage(IPublishingWizard* This,HPROPSHEETPAGE *phpage) { 17682 return This->lpVtbl->GetLastPage(This,phpage); 17683 } 17684 /*** IPublishingWizard methods ***/ 17685 static inline HRESULT IPublishingWizard_Initialize(IPublishingWizard* This,IDataObject *pdo,DWORD dwOptions,LPCWSTR pszServiceScope) { 17686 return This->lpVtbl->Initialize(This,pdo,dwOptions,pszServiceScope); 17687 } 17688 static inline HRESULT IPublishingWizard_GetTransferManifest(IPublishingWizard* This,HRESULT *phrFromTransfer,IXMLDOMDocument **pdocManifest) { 17689 return This->lpVtbl->GetTransferManifest(This,phrFromTransfer,pdocManifest); 17690 } 17691 #endif 17692 #endif 17693 17694 #endif 17695 17696 17697 #endif /* __IPublishingWizard_INTERFACE_DEFINED__ */ 17698 17699 17700 /***************************************************************************** 17701 * IFolderViewHost interface 17702 */ 17703 #ifndef __IFolderViewHost_INTERFACE_DEFINED__ 17704 #define __IFolderViewHost_INTERFACE_DEFINED__ 17705 17706 DEFINE_GUID(IID_IFolderViewHost, 0x1ea58f02, 0xd55a, 0x411d, 0xb0,0x9e, 0x9e,0x65,0xac,0x21,0x60,0x5b); 17707 #if defined(__cplusplus) && !defined(CINTERFACE) 17708 MIDL_INTERFACE("1ea58f02-d55a-411d-b09e-9e65ac21605b") 17709 IFolderViewHost : public IUnknown 17710 { 17711 virtual HRESULT STDMETHODCALLTYPE Initialize( 17712 HWND hwndParent, 17713 IDataObject *pdo, 17714 RECT *prc) = 0; 17715 17716 }; 17717 #ifdef __CRT_UUID_DECL 17718 __CRT_UUID_DECL(IFolderViewHost, 0x1ea58f02, 0xd55a, 0x411d, 0xb0,0x9e, 0x9e,0x65,0xac,0x21,0x60,0x5b) 17719 #endif 17720 #else 17721 typedef struct IFolderViewHostVtbl { 17722 BEGIN_INTERFACE 17723 17724 /*** IUnknown methods ***/ 17725 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 17726 IFolderViewHost *This, 17727 REFIID riid, 17728 void **ppvObject); 17729 17730 ULONG (STDMETHODCALLTYPE *AddRef)( 17731 IFolderViewHost *This); 17732 17733 ULONG (STDMETHODCALLTYPE *Release)( 17734 IFolderViewHost *This); 17735 17736 /*** IFolderViewHost methods ***/ 17737 HRESULT (STDMETHODCALLTYPE *Initialize)( 17738 IFolderViewHost *This, 17739 HWND hwndParent, 17740 IDataObject *pdo, 17741 RECT *prc); 17742 17743 END_INTERFACE 17744 } IFolderViewHostVtbl; 17745 17746 interface IFolderViewHost { 17747 CONST_VTBL IFolderViewHostVtbl* lpVtbl; 17748 }; 17749 17750 #ifdef COBJMACROS 17751 #ifndef WIDL_C_INLINE_WRAPPERS 17752 /*** IUnknown methods ***/ 17753 #define IFolderViewHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 17754 #define IFolderViewHost_AddRef(This) (This)->lpVtbl->AddRef(This) 17755 #define IFolderViewHost_Release(This) (This)->lpVtbl->Release(This) 17756 /*** IFolderViewHost methods ***/ 17757 #define IFolderViewHost_Initialize(This,hwndParent,pdo,prc) (This)->lpVtbl->Initialize(This,hwndParent,pdo,prc) 17758 #else 17759 /*** IUnknown methods ***/ 17760 static inline HRESULT IFolderViewHost_QueryInterface(IFolderViewHost* This,REFIID riid,void **ppvObject) { 17761 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 17762 } 17763 static inline ULONG IFolderViewHost_AddRef(IFolderViewHost* This) { 17764 return This->lpVtbl->AddRef(This); 17765 } 17766 static inline ULONG IFolderViewHost_Release(IFolderViewHost* This) { 17767 return This->lpVtbl->Release(This); 17768 } 17769 /*** IFolderViewHost methods ***/ 17770 static inline HRESULT IFolderViewHost_Initialize(IFolderViewHost* This,HWND hwndParent,IDataObject *pdo,RECT *prc) { 17771 return This->lpVtbl->Initialize(This,hwndParent,pdo,prc); 17772 } 17773 #endif 17774 #endif 17775 17776 #endif 17777 17778 17779 #endif /* __IFolderViewHost_INTERFACE_DEFINED__ */ 17780 17781 17782 #if _WIN32_IE >= _WIN32_IE_IE70 17783 /***************************************************************************** 17784 * IExplorerBrowserEvents interface 17785 */ 17786 #ifndef __IExplorerBrowserEvents_INTERFACE_DEFINED__ 17787 #define __IExplorerBrowserEvents_INTERFACE_DEFINED__ 17788 17789 DEFINE_GUID(IID_IExplorerBrowserEvents, 0x361bbdc7, 0xe6ee, 0x4e13, 0xbe,0x58, 0x58,0xe2,0x24,0x0c,0x81,0x0f); 17790 #if defined(__cplusplus) && !defined(CINTERFACE) 17791 MIDL_INTERFACE("361bbdc7-e6ee-4e13-be58-58e2240c810f") 17792 IExplorerBrowserEvents : public IUnknown 17793 { 17794 virtual HRESULT STDMETHODCALLTYPE OnNavigationPending( 17795 PCIDLIST_ABSOLUTE pidlFolder) = 0; 17796 17797 virtual HRESULT STDMETHODCALLTYPE OnViewCreated( 17798 IShellView *psv) = 0; 17799 17800 virtual HRESULT STDMETHODCALLTYPE OnNavigationComplete( 17801 PCIDLIST_ABSOLUTE pidlFolder) = 0; 17802 17803 virtual HRESULT STDMETHODCALLTYPE OnNavigationFailed( 17804 PCIDLIST_ABSOLUTE pidlFolder) = 0; 17805 17806 }; 17807 #ifdef __CRT_UUID_DECL 17808 __CRT_UUID_DECL(IExplorerBrowserEvents, 0x361bbdc7, 0xe6ee, 0x4e13, 0xbe,0x58, 0x58,0xe2,0x24,0x0c,0x81,0x0f) 17809 #endif 17810 #else 17811 typedef struct IExplorerBrowserEventsVtbl { 17812 BEGIN_INTERFACE 17813 17814 /*** IUnknown methods ***/ 17815 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 17816 IExplorerBrowserEvents *This, 17817 REFIID riid, 17818 void **ppvObject); 17819 17820 ULONG (STDMETHODCALLTYPE *AddRef)( 17821 IExplorerBrowserEvents *This); 17822 17823 ULONG (STDMETHODCALLTYPE *Release)( 17824 IExplorerBrowserEvents *This); 17825 17826 /*** IExplorerBrowserEvents methods ***/ 17827 HRESULT (STDMETHODCALLTYPE *OnNavigationPending)( 17828 IExplorerBrowserEvents *This, 17829 PCIDLIST_ABSOLUTE pidlFolder); 17830 17831 HRESULT (STDMETHODCALLTYPE *OnViewCreated)( 17832 IExplorerBrowserEvents *This, 17833 IShellView *psv); 17834 17835 HRESULT (STDMETHODCALLTYPE *OnNavigationComplete)( 17836 IExplorerBrowserEvents *This, 17837 PCIDLIST_ABSOLUTE pidlFolder); 17838 17839 HRESULT (STDMETHODCALLTYPE *OnNavigationFailed)( 17840 IExplorerBrowserEvents *This, 17841 PCIDLIST_ABSOLUTE pidlFolder); 17842 17843 END_INTERFACE 17844 } IExplorerBrowserEventsVtbl; 17845 17846 interface IExplorerBrowserEvents { 17847 CONST_VTBL IExplorerBrowserEventsVtbl* lpVtbl; 17848 }; 17849 17850 #ifdef COBJMACROS 17851 #ifndef WIDL_C_INLINE_WRAPPERS 17852 /*** IUnknown methods ***/ 17853 #define IExplorerBrowserEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 17854 #define IExplorerBrowserEvents_AddRef(This) (This)->lpVtbl->AddRef(This) 17855 #define IExplorerBrowserEvents_Release(This) (This)->lpVtbl->Release(This) 17856 /*** IExplorerBrowserEvents methods ***/ 17857 #define IExplorerBrowserEvents_OnNavigationPending(This,pidlFolder) (This)->lpVtbl->OnNavigationPending(This,pidlFolder) 17858 #define IExplorerBrowserEvents_OnViewCreated(This,psv) (This)->lpVtbl->OnViewCreated(This,psv) 17859 #define IExplorerBrowserEvents_OnNavigationComplete(This,pidlFolder) (This)->lpVtbl->OnNavigationComplete(This,pidlFolder) 17860 #define IExplorerBrowserEvents_OnNavigationFailed(This,pidlFolder) (This)->lpVtbl->OnNavigationFailed(This,pidlFolder) 17861 #else 17862 /*** IUnknown methods ***/ 17863 static inline HRESULT IExplorerBrowserEvents_QueryInterface(IExplorerBrowserEvents* This,REFIID riid,void **ppvObject) { 17864 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 17865 } 17866 static inline ULONG IExplorerBrowserEvents_AddRef(IExplorerBrowserEvents* This) { 17867 return This->lpVtbl->AddRef(This); 17868 } 17869 static inline ULONG IExplorerBrowserEvents_Release(IExplorerBrowserEvents* This) { 17870 return This->lpVtbl->Release(This); 17871 } 17872 /*** IExplorerBrowserEvents methods ***/ 17873 static inline HRESULT IExplorerBrowserEvents_OnNavigationPending(IExplorerBrowserEvents* This,PCIDLIST_ABSOLUTE pidlFolder) { 17874 return This->lpVtbl->OnNavigationPending(This,pidlFolder); 17875 } 17876 static inline HRESULT IExplorerBrowserEvents_OnViewCreated(IExplorerBrowserEvents* This,IShellView *psv) { 17877 return This->lpVtbl->OnViewCreated(This,psv); 17878 } 17879 static inline HRESULT IExplorerBrowserEvents_OnNavigationComplete(IExplorerBrowserEvents* This,PCIDLIST_ABSOLUTE pidlFolder) { 17880 return This->lpVtbl->OnNavigationComplete(This,pidlFolder); 17881 } 17882 static inline HRESULT IExplorerBrowserEvents_OnNavigationFailed(IExplorerBrowserEvents* This,PCIDLIST_ABSOLUTE pidlFolder) { 17883 return This->lpVtbl->OnNavigationFailed(This,pidlFolder); 17884 } 17885 #endif 17886 #endif 17887 17888 #endif 17889 17890 17891 #endif /* __IExplorerBrowserEvents_INTERFACE_DEFINED__ */ 17892 17893 17894 typedef enum EXPLORER_BROWSER_OPTIONS { 17895 EBO_NONE = 0x0, 17896 EBO_NAVIGATEONCE = 0x1, 17897 EBO_SHOWFRAMES = 0x2, 17898 EBO_ALWAYSNAVIGATE = 0x4, 17899 EBO_NOTRAVELLOG = 0x8, 17900 EBO_NOWRAPPERWINDOW = 0x10, 17901 EBO_HTMLSHAREPOINTVIEW = 0x20, 17902 EBO_NOBORDER = 0x40, 17903 EBO_NOPERSISTVIEWSTATE = 0x80 17904 } EXPLORER_BROWSER_OPTIONS; 17905 17906 DEFINE_ENUM_FLAG_OPERATORS(EXPLORER_BROWSER_OPTIONS) 17907 17908 typedef enum EXPLORER_BROWSER_FILL_FLAGS { 17909 EBF_NONE = 0x0, 17910 EBF_SELECTFROMDATAOBJECT = 0x100, 17911 EBF_NODROPTARGET = 0x200 17912 } EXPLORER_BROWSER_FILL_FLAGS; 17913 17914 DEFINE_ENUM_FLAG_OPERATORS(EXPLORER_BROWSER_FILL_FLAGS) 17915 17916 /***************************************************************************** 17917 * IExplorerBrowser interface 17918 */ 17919 #ifndef __IExplorerBrowser_INTERFACE_DEFINED__ 17920 #define __IExplorerBrowser_INTERFACE_DEFINED__ 17921 17922 DEFINE_GUID(IID_IExplorerBrowser, 0xdfd3b6b5, 0xc10c, 0x4be9, 0x85,0xf6, 0xa6,0x69,0x69,0xf4,0x02,0xf6); 17923 #if defined(__cplusplus) && !defined(CINTERFACE) 17924 MIDL_INTERFACE("dfd3b6b5-c10c-4be9-85f6-a66969f402f6") 17925 IExplorerBrowser : public IUnknown 17926 { 17927 virtual HRESULT STDMETHODCALLTYPE Initialize( 17928 HWND hwndParent, 17929 const RECT *prc, 17930 const FOLDERSETTINGS *pfs) = 0; 17931 17932 virtual HRESULT STDMETHODCALLTYPE Destroy( 17933 ) = 0; 17934 17935 virtual HRESULT STDMETHODCALLTYPE SetRect( 17936 HDWP *phdwp, 17937 RECT rcBrowser) = 0; 17938 17939 virtual HRESULT STDMETHODCALLTYPE SetPropertyBag( 17940 LPCWSTR pszPropertyBag) = 0; 17941 17942 virtual HRESULT STDMETHODCALLTYPE SetEmptyText( 17943 LPCWSTR pszEmptyText) = 0; 17944 17945 virtual HRESULT STDMETHODCALLTYPE SetFolderSettings( 17946 const FOLDERSETTINGS *pfs) = 0; 17947 17948 virtual HRESULT STDMETHODCALLTYPE Advise( 17949 IExplorerBrowserEvents *psbe, 17950 DWORD *pdwCookie) = 0; 17951 17952 virtual HRESULT STDMETHODCALLTYPE Unadvise( 17953 DWORD dwCookie) = 0; 17954 17955 virtual HRESULT STDMETHODCALLTYPE SetOptions( 17956 EXPLORER_BROWSER_OPTIONS dwFlag) = 0; 17957 17958 virtual HRESULT STDMETHODCALLTYPE GetOptions( 17959 EXPLORER_BROWSER_OPTIONS *pdwFlag) = 0; 17960 17961 virtual HRESULT STDMETHODCALLTYPE BrowseToIDList( 17962 PCUIDLIST_RELATIVE pidl, 17963 UINT uFlags) = 0; 17964 17965 virtual HRESULT STDMETHODCALLTYPE BrowseToObject( 17966 IUnknown *punk, 17967 UINT uFlags) = 0; 17968 17969 virtual HRESULT STDMETHODCALLTYPE FillFromObject( 17970 IUnknown *punk, 17971 EXPLORER_BROWSER_FILL_FLAGS dwFlags) = 0; 17972 17973 virtual HRESULT STDMETHODCALLTYPE RemoveAll( 17974 ) = 0; 17975 17976 virtual HRESULT STDMETHODCALLTYPE GetCurrentView( 17977 REFIID riid, 17978 void **ppv) = 0; 17979 17980 }; 17981 #ifdef __CRT_UUID_DECL 17982 __CRT_UUID_DECL(IExplorerBrowser, 0xdfd3b6b5, 0xc10c, 0x4be9, 0x85,0xf6, 0xa6,0x69,0x69,0xf4,0x02,0xf6) 17983 #endif 17984 #else 17985 typedef struct IExplorerBrowserVtbl { 17986 BEGIN_INTERFACE 17987 17988 /*** IUnknown methods ***/ 17989 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 17990 IExplorerBrowser *This, 17991 REFIID riid, 17992 void **ppvObject); 17993 17994 ULONG (STDMETHODCALLTYPE *AddRef)( 17995 IExplorerBrowser *This); 17996 17997 ULONG (STDMETHODCALLTYPE *Release)( 17998 IExplorerBrowser *This); 17999 18000 /*** IExplorerBrowser methods ***/ 18001 HRESULT (STDMETHODCALLTYPE *Initialize)( 18002 IExplorerBrowser *This, 18003 HWND hwndParent, 18004 const RECT *prc, 18005 const FOLDERSETTINGS *pfs); 18006 18007 HRESULT (STDMETHODCALLTYPE *Destroy)( 18008 IExplorerBrowser *This); 18009 18010 HRESULT (STDMETHODCALLTYPE *SetRect)( 18011 IExplorerBrowser *This, 18012 HDWP *phdwp, 18013 RECT rcBrowser); 18014 18015 HRESULT (STDMETHODCALLTYPE *SetPropertyBag)( 18016 IExplorerBrowser *This, 18017 LPCWSTR pszPropertyBag); 18018 18019 HRESULT (STDMETHODCALLTYPE *SetEmptyText)( 18020 IExplorerBrowser *This, 18021 LPCWSTR pszEmptyText); 18022 18023 HRESULT (STDMETHODCALLTYPE *SetFolderSettings)( 18024 IExplorerBrowser *This, 18025 const FOLDERSETTINGS *pfs); 18026 18027 HRESULT (STDMETHODCALLTYPE *Advise)( 18028 IExplorerBrowser *This, 18029 IExplorerBrowserEvents *psbe, 18030 DWORD *pdwCookie); 18031 18032 HRESULT (STDMETHODCALLTYPE *Unadvise)( 18033 IExplorerBrowser *This, 18034 DWORD dwCookie); 18035 18036 HRESULT (STDMETHODCALLTYPE *SetOptions)( 18037 IExplorerBrowser *This, 18038 EXPLORER_BROWSER_OPTIONS dwFlag); 18039 18040 HRESULT (STDMETHODCALLTYPE *GetOptions)( 18041 IExplorerBrowser *This, 18042 EXPLORER_BROWSER_OPTIONS *pdwFlag); 18043 18044 HRESULT (STDMETHODCALLTYPE *BrowseToIDList)( 18045 IExplorerBrowser *This, 18046 PCUIDLIST_RELATIVE pidl, 18047 UINT uFlags); 18048 18049 HRESULT (STDMETHODCALLTYPE *BrowseToObject)( 18050 IExplorerBrowser *This, 18051 IUnknown *punk, 18052 UINT uFlags); 18053 18054 HRESULT (STDMETHODCALLTYPE *FillFromObject)( 18055 IExplorerBrowser *This, 18056 IUnknown *punk, 18057 EXPLORER_BROWSER_FILL_FLAGS dwFlags); 18058 18059 HRESULT (STDMETHODCALLTYPE *RemoveAll)( 18060 IExplorerBrowser *This); 18061 18062 HRESULT (STDMETHODCALLTYPE *GetCurrentView)( 18063 IExplorerBrowser *This, 18064 REFIID riid, 18065 void **ppv); 18066 18067 END_INTERFACE 18068 } IExplorerBrowserVtbl; 18069 18070 interface IExplorerBrowser { 18071 CONST_VTBL IExplorerBrowserVtbl* lpVtbl; 18072 }; 18073 18074 #ifdef COBJMACROS 18075 #ifndef WIDL_C_INLINE_WRAPPERS 18076 /*** IUnknown methods ***/ 18077 #define IExplorerBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 18078 #define IExplorerBrowser_AddRef(This) (This)->lpVtbl->AddRef(This) 18079 #define IExplorerBrowser_Release(This) (This)->lpVtbl->Release(This) 18080 /*** IExplorerBrowser methods ***/ 18081 #define IExplorerBrowser_Initialize(This,hwndParent,prc,pfs) (This)->lpVtbl->Initialize(This,hwndParent,prc,pfs) 18082 #define IExplorerBrowser_Destroy(This) (This)->lpVtbl->Destroy(This) 18083 #define IExplorerBrowser_SetRect(This,phdwp,rcBrowser) (This)->lpVtbl->SetRect(This,phdwp,rcBrowser) 18084 #define IExplorerBrowser_SetPropertyBag(This,pszPropertyBag) (This)->lpVtbl->SetPropertyBag(This,pszPropertyBag) 18085 #define IExplorerBrowser_SetEmptyText(This,pszEmptyText) (This)->lpVtbl->SetEmptyText(This,pszEmptyText) 18086 #define IExplorerBrowser_SetFolderSettings(This,pfs) (This)->lpVtbl->SetFolderSettings(This,pfs) 18087 #define IExplorerBrowser_Advise(This,psbe,pdwCookie) (This)->lpVtbl->Advise(This,psbe,pdwCookie) 18088 #define IExplorerBrowser_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie) 18089 #define IExplorerBrowser_SetOptions(This,dwFlag) (This)->lpVtbl->SetOptions(This,dwFlag) 18090 #define IExplorerBrowser_GetOptions(This,pdwFlag) (This)->lpVtbl->GetOptions(This,pdwFlag) 18091 #define IExplorerBrowser_BrowseToIDList(This,pidl,uFlags) (This)->lpVtbl->BrowseToIDList(This,pidl,uFlags) 18092 #define IExplorerBrowser_BrowseToObject(This,punk,uFlags) (This)->lpVtbl->BrowseToObject(This,punk,uFlags) 18093 #define IExplorerBrowser_FillFromObject(This,punk,dwFlags) (This)->lpVtbl->FillFromObject(This,punk,dwFlags) 18094 #define IExplorerBrowser_RemoveAll(This) (This)->lpVtbl->RemoveAll(This) 18095 #define IExplorerBrowser_GetCurrentView(This,riid,ppv) (This)->lpVtbl->GetCurrentView(This,riid,ppv) 18096 #else 18097 /*** IUnknown methods ***/ 18098 static inline HRESULT IExplorerBrowser_QueryInterface(IExplorerBrowser* This,REFIID riid,void **ppvObject) { 18099 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 18100 } 18101 static inline ULONG IExplorerBrowser_AddRef(IExplorerBrowser* This) { 18102 return This->lpVtbl->AddRef(This); 18103 } 18104 static inline ULONG IExplorerBrowser_Release(IExplorerBrowser* This) { 18105 return This->lpVtbl->Release(This); 18106 } 18107 /*** IExplorerBrowser methods ***/ 18108 static inline HRESULT IExplorerBrowser_Initialize(IExplorerBrowser* This,HWND hwndParent,const RECT *prc,const FOLDERSETTINGS *pfs) { 18109 return This->lpVtbl->Initialize(This,hwndParent,prc,pfs); 18110 } 18111 static inline HRESULT IExplorerBrowser_Destroy(IExplorerBrowser* This) { 18112 return This->lpVtbl->Destroy(This); 18113 } 18114 static inline HRESULT IExplorerBrowser_SetRect(IExplorerBrowser* This,HDWP *phdwp,RECT rcBrowser) { 18115 return This->lpVtbl->SetRect(This,phdwp,rcBrowser); 18116 } 18117 static inline HRESULT IExplorerBrowser_SetPropertyBag(IExplorerBrowser* This,LPCWSTR pszPropertyBag) { 18118 return This->lpVtbl->SetPropertyBag(This,pszPropertyBag); 18119 } 18120 static inline HRESULT IExplorerBrowser_SetEmptyText(IExplorerBrowser* This,LPCWSTR pszEmptyText) { 18121 return This->lpVtbl->SetEmptyText(This,pszEmptyText); 18122 } 18123 static inline HRESULT IExplorerBrowser_SetFolderSettings(IExplorerBrowser* This,const FOLDERSETTINGS *pfs) { 18124 return This->lpVtbl->SetFolderSettings(This,pfs); 18125 } 18126 static inline HRESULT IExplorerBrowser_Advise(IExplorerBrowser* This,IExplorerBrowserEvents *psbe,DWORD *pdwCookie) { 18127 return This->lpVtbl->Advise(This,psbe,pdwCookie); 18128 } 18129 static inline HRESULT IExplorerBrowser_Unadvise(IExplorerBrowser* This,DWORD dwCookie) { 18130 return This->lpVtbl->Unadvise(This,dwCookie); 18131 } 18132 static inline HRESULT IExplorerBrowser_SetOptions(IExplorerBrowser* This,EXPLORER_BROWSER_OPTIONS dwFlag) { 18133 return This->lpVtbl->SetOptions(This,dwFlag); 18134 } 18135 static inline HRESULT IExplorerBrowser_GetOptions(IExplorerBrowser* This,EXPLORER_BROWSER_OPTIONS *pdwFlag) { 18136 return This->lpVtbl->GetOptions(This,pdwFlag); 18137 } 18138 static inline HRESULT IExplorerBrowser_BrowseToIDList(IExplorerBrowser* This,PCUIDLIST_RELATIVE pidl,UINT uFlags) { 18139 return This->lpVtbl->BrowseToIDList(This,pidl,uFlags); 18140 } 18141 static inline HRESULT IExplorerBrowser_BrowseToObject(IExplorerBrowser* This,IUnknown *punk,UINT uFlags) { 18142 return This->lpVtbl->BrowseToObject(This,punk,uFlags); 18143 } 18144 static inline HRESULT IExplorerBrowser_FillFromObject(IExplorerBrowser* This,IUnknown *punk,EXPLORER_BROWSER_FILL_FLAGS dwFlags) { 18145 return This->lpVtbl->FillFromObject(This,punk,dwFlags); 18146 } 18147 static inline HRESULT IExplorerBrowser_RemoveAll(IExplorerBrowser* This) { 18148 return This->lpVtbl->RemoveAll(This); 18149 } 18150 static inline HRESULT IExplorerBrowser_GetCurrentView(IExplorerBrowser* This,REFIID riid,void **ppv) { 18151 return This->lpVtbl->GetCurrentView(This,riid,ppv); 18152 } 18153 #endif 18154 #endif 18155 18156 #endif 18157 18158 18159 #endif /* __IExplorerBrowser_INTERFACE_DEFINED__ */ 18160 18161 18162 /***************************************************************************** 18163 * IAccessibleObject interface 18164 */ 18165 #ifndef __IAccessibleObject_INTERFACE_DEFINED__ 18166 #define __IAccessibleObject_INTERFACE_DEFINED__ 18167 18168 DEFINE_GUID(IID_IAccessibleObject, 0x95a391c5, 0x9ed4, 0x4c28, 0x84,0x01, 0xab,0x9e,0x06,0x71,0x9e,0x11); 18169 #if defined(__cplusplus) && !defined(CINTERFACE) 18170 MIDL_INTERFACE("95a391c5-9ed4-4c28-8401-ab9e06719e11") 18171 IAccessibleObject : public IUnknown 18172 { 18173 virtual HRESULT STDMETHODCALLTYPE SetAccessibleName( 18174 LPCWSTR pszName) = 0; 18175 18176 }; 18177 #ifdef __CRT_UUID_DECL 18178 __CRT_UUID_DECL(IAccessibleObject, 0x95a391c5, 0x9ed4, 0x4c28, 0x84,0x01, 0xab,0x9e,0x06,0x71,0x9e,0x11) 18179 #endif 18180 #else 18181 typedef struct IAccessibleObjectVtbl { 18182 BEGIN_INTERFACE 18183 18184 /*** IUnknown methods ***/ 18185 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 18186 IAccessibleObject *This, 18187 REFIID riid, 18188 void **ppvObject); 18189 18190 ULONG (STDMETHODCALLTYPE *AddRef)( 18191 IAccessibleObject *This); 18192 18193 ULONG (STDMETHODCALLTYPE *Release)( 18194 IAccessibleObject *This); 18195 18196 /*** IAccessibleObject methods ***/ 18197 HRESULT (STDMETHODCALLTYPE *SetAccessibleName)( 18198 IAccessibleObject *This, 18199 LPCWSTR pszName); 18200 18201 END_INTERFACE 18202 } IAccessibleObjectVtbl; 18203 18204 interface IAccessibleObject { 18205 CONST_VTBL IAccessibleObjectVtbl* lpVtbl; 18206 }; 18207 18208 #ifdef COBJMACROS 18209 #ifndef WIDL_C_INLINE_WRAPPERS 18210 /*** IUnknown methods ***/ 18211 #define IAccessibleObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 18212 #define IAccessibleObject_AddRef(This) (This)->lpVtbl->AddRef(This) 18213 #define IAccessibleObject_Release(This) (This)->lpVtbl->Release(This) 18214 /*** IAccessibleObject methods ***/ 18215 #define IAccessibleObject_SetAccessibleName(This,pszName) (This)->lpVtbl->SetAccessibleName(This,pszName) 18216 #else 18217 /*** IUnknown methods ***/ 18218 static inline HRESULT IAccessibleObject_QueryInterface(IAccessibleObject* This,REFIID riid,void **ppvObject) { 18219 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 18220 } 18221 static inline ULONG IAccessibleObject_AddRef(IAccessibleObject* This) { 18222 return This->lpVtbl->AddRef(This); 18223 } 18224 static inline ULONG IAccessibleObject_Release(IAccessibleObject* This) { 18225 return This->lpVtbl->Release(This); 18226 } 18227 /*** IAccessibleObject methods ***/ 18228 static inline HRESULT IAccessibleObject_SetAccessibleName(IAccessibleObject* This,LPCWSTR pszName) { 18229 return This->lpVtbl->SetAccessibleName(This,pszName); 18230 } 18231 #endif 18232 #endif 18233 18234 #endif 18235 18236 18237 #endif /* __IAccessibleObject_INTERFACE_DEFINED__ */ 18238 18239 #endif 18240 18241 /***************************************************************************** 18242 * IResultsFolder interface 18243 */ 18244 #ifndef __IResultsFolder_INTERFACE_DEFINED__ 18245 #define __IResultsFolder_INTERFACE_DEFINED__ 18246 18247 DEFINE_GUID(IID_IResultsFolder, 0x96e5ae6d, 0x6ae1, 0x4b1c, 0x90,0x0c, 0xc6,0x48,0x0e,0xaa,0x88,0x28); 18248 #if defined(__cplusplus) && !defined(CINTERFACE) 18249 MIDL_INTERFACE("96e5ae6d-6ae1-4b1c-900c-c6480eaa8828") 18250 IResultsFolder : public IUnknown 18251 { 18252 virtual HRESULT STDMETHODCALLTYPE AddItem( 18253 IShellItem *psi) = 0; 18254 18255 virtual HRESULT STDMETHODCALLTYPE AddIDList( 18256 PCIDLIST_ABSOLUTE pidl, 18257 PITEMID_CHILD *ppidlAdded) = 0; 18258 18259 virtual HRESULT STDMETHODCALLTYPE RemoveItem( 18260 IShellItem *psi) = 0; 18261 18262 virtual HRESULT STDMETHODCALLTYPE RemoveIDList( 18263 PCIDLIST_ABSOLUTE pidl) = 0; 18264 18265 virtual HRESULT STDMETHODCALLTYPE RemoveAll( 18266 ) = 0; 18267 18268 }; 18269 #ifdef __CRT_UUID_DECL 18270 __CRT_UUID_DECL(IResultsFolder, 0x96e5ae6d, 0x6ae1, 0x4b1c, 0x90,0x0c, 0xc6,0x48,0x0e,0xaa,0x88,0x28) 18271 #endif 18272 #else 18273 typedef struct IResultsFolderVtbl { 18274 BEGIN_INTERFACE 18275 18276 /*** IUnknown methods ***/ 18277 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 18278 IResultsFolder *This, 18279 REFIID riid, 18280 void **ppvObject); 18281 18282 ULONG (STDMETHODCALLTYPE *AddRef)( 18283 IResultsFolder *This); 18284 18285 ULONG (STDMETHODCALLTYPE *Release)( 18286 IResultsFolder *This); 18287 18288 /*** IResultsFolder methods ***/ 18289 HRESULT (STDMETHODCALLTYPE *AddItem)( 18290 IResultsFolder *This, 18291 IShellItem *psi); 18292 18293 HRESULT (STDMETHODCALLTYPE *AddIDList)( 18294 IResultsFolder *This, 18295 PCIDLIST_ABSOLUTE pidl, 18296 PITEMID_CHILD *ppidlAdded); 18297 18298 HRESULT (STDMETHODCALLTYPE *RemoveItem)( 18299 IResultsFolder *This, 18300 IShellItem *psi); 18301 18302 HRESULT (STDMETHODCALLTYPE *RemoveIDList)( 18303 IResultsFolder *This, 18304 PCIDLIST_ABSOLUTE pidl); 18305 18306 HRESULT (STDMETHODCALLTYPE *RemoveAll)( 18307 IResultsFolder *This); 18308 18309 END_INTERFACE 18310 } IResultsFolderVtbl; 18311 18312 interface IResultsFolder { 18313 CONST_VTBL IResultsFolderVtbl* lpVtbl; 18314 }; 18315 18316 #ifdef COBJMACROS 18317 #ifndef WIDL_C_INLINE_WRAPPERS 18318 /*** IUnknown methods ***/ 18319 #define IResultsFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 18320 #define IResultsFolder_AddRef(This) (This)->lpVtbl->AddRef(This) 18321 #define IResultsFolder_Release(This) (This)->lpVtbl->Release(This) 18322 /*** IResultsFolder methods ***/ 18323 #define IResultsFolder_AddItem(This,psi) (This)->lpVtbl->AddItem(This,psi) 18324 #define IResultsFolder_AddIDList(This,pidl,ppidlAdded) (This)->lpVtbl->AddIDList(This,pidl,ppidlAdded) 18325 #define IResultsFolder_RemoveItem(This,psi) (This)->lpVtbl->RemoveItem(This,psi) 18326 #define IResultsFolder_RemoveIDList(This,pidl) (This)->lpVtbl->RemoveIDList(This,pidl) 18327 #define IResultsFolder_RemoveAll(This) (This)->lpVtbl->RemoveAll(This) 18328 #else 18329 /*** IUnknown methods ***/ 18330 static inline HRESULT IResultsFolder_QueryInterface(IResultsFolder* This,REFIID riid,void **ppvObject) { 18331 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 18332 } 18333 static inline ULONG IResultsFolder_AddRef(IResultsFolder* This) { 18334 return This->lpVtbl->AddRef(This); 18335 } 18336 static inline ULONG IResultsFolder_Release(IResultsFolder* This) { 18337 return This->lpVtbl->Release(This); 18338 } 18339 /*** IResultsFolder methods ***/ 18340 static inline HRESULT IResultsFolder_AddItem(IResultsFolder* This,IShellItem *psi) { 18341 return This->lpVtbl->AddItem(This,psi); 18342 } 18343 static inline HRESULT IResultsFolder_AddIDList(IResultsFolder* This,PCIDLIST_ABSOLUTE pidl,PITEMID_CHILD *ppidlAdded) { 18344 return This->lpVtbl->AddIDList(This,pidl,ppidlAdded); 18345 } 18346 static inline HRESULT IResultsFolder_RemoveItem(IResultsFolder* This,IShellItem *psi) { 18347 return This->lpVtbl->RemoveItem(This,psi); 18348 } 18349 static inline HRESULT IResultsFolder_RemoveIDList(IResultsFolder* This,PCIDLIST_ABSOLUTE pidl) { 18350 return This->lpVtbl->RemoveIDList(This,pidl); 18351 } 18352 static inline HRESULT IResultsFolder_RemoveAll(IResultsFolder* This) { 18353 return This->lpVtbl->RemoveAll(This); 18354 } 18355 #endif 18356 #endif 18357 18358 #endif 18359 18360 HRESULT STDMETHODCALLTYPE IResultsFolder_RemoteAddIDList_Proxy( 18361 IResultsFolder* This, 18362 PCIDLIST_ABSOLUTE pidl, 18363 PITEMID_CHILD *ppidlAdded); 18364 void __RPC_STUB IResultsFolder_RemoteAddIDList_Stub( 18365 IRpcStubBuffer* This, 18366 IRpcChannelBuffer* pRpcChannelBuffer, 18367 PRPC_MESSAGE pRpcMessage, 18368 DWORD* pdwStubPhase); 18369 HRESULT CALLBACK IResultsFolder_AddIDList_Proxy( 18370 IResultsFolder* This, 18371 PCIDLIST_ABSOLUTE pidl, 18372 PITEMID_CHILD *ppidlAdded); 18373 HRESULT __RPC_STUB IResultsFolder_AddIDList_Stub( 18374 IResultsFolder* This, 18375 PCIDLIST_ABSOLUTE pidl, 18376 PITEMID_CHILD *ppidlAdded); 18377 18378 #endif /* __IResultsFolder_INTERFACE_DEFINED__ */ 18379 18380 #if _WIN32_IE >= _WIN32_IE_IE70 18381 /***************************************************************************** 18382 * IEnumObjects interface 18383 */ 18384 #ifndef __IEnumObjects_INTERFACE_DEFINED__ 18385 #define __IEnumObjects_INTERFACE_DEFINED__ 18386 18387 DEFINE_GUID(IID_IEnumObjects, 0x2c1c7e2e, 0x2d0e, 0x4059, 0x83,0x1e, 0x1e,0x6f,0x82,0x33,0x5c,0x2e); 18388 #if defined(__cplusplus) && !defined(CINTERFACE) 18389 MIDL_INTERFACE("2c1c7e2e-2d0e-4059-831e-1e6f82335c2e") 18390 IEnumObjects : public IUnknown 18391 { 18392 virtual HRESULT STDMETHODCALLTYPE Next( 18393 ULONG celt, 18394 REFIID riid, 18395 void **rgelt, 18396 ULONG *pceltFetched) = 0; 18397 18398 virtual HRESULT STDMETHODCALLTYPE Skip( 18399 ULONG celt) = 0; 18400 18401 virtual HRESULT STDMETHODCALLTYPE Reset( 18402 ) = 0; 18403 18404 virtual HRESULT STDMETHODCALLTYPE Clone( 18405 IEnumObjects **ppenum) = 0; 18406 18407 }; 18408 #ifdef __CRT_UUID_DECL 18409 __CRT_UUID_DECL(IEnumObjects, 0x2c1c7e2e, 0x2d0e, 0x4059, 0x83,0x1e, 0x1e,0x6f,0x82,0x33,0x5c,0x2e) 18410 #endif 18411 #else 18412 typedef struct IEnumObjectsVtbl { 18413 BEGIN_INTERFACE 18414 18415 /*** IUnknown methods ***/ 18416 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 18417 IEnumObjects *This, 18418 REFIID riid, 18419 void **ppvObject); 18420 18421 ULONG (STDMETHODCALLTYPE *AddRef)( 18422 IEnumObjects *This); 18423 18424 ULONG (STDMETHODCALLTYPE *Release)( 18425 IEnumObjects *This); 18426 18427 /*** IEnumObjects methods ***/ 18428 HRESULT (STDMETHODCALLTYPE *Next)( 18429 IEnumObjects *This, 18430 ULONG celt, 18431 REFIID riid, 18432 void **rgelt, 18433 ULONG *pceltFetched); 18434 18435 HRESULT (STDMETHODCALLTYPE *Skip)( 18436 IEnumObjects *This, 18437 ULONG celt); 18438 18439 HRESULT (STDMETHODCALLTYPE *Reset)( 18440 IEnumObjects *This); 18441 18442 HRESULT (STDMETHODCALLTYPE *Clone)( 18443 IEnumObjects *This, 18444 IEnumObjects **ppenum); 18445 18446 END_INTERFACE 18447 } IEnumObjectsVtbl; 18448 18449 interface IEnumObjects { 18450 CONST_VTBL IEnumObjectsVtbl* lpVtbl; 18451 }; 18452 18453 #ifdef COBJMACROS 18454 #ifndef WIDL_C_INLINE_WRAPPERS 18455 /*** IUnknown methods ***/ 18456 #define IEnumObjects_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 18457 #define IEnumObjects_AddRef(This) (This)->lpVtbl->AddRef(This) 18458 #define IEnumObjects_Release(This) (This)->lpVtbl->Release(This) 18459 /*** IEnumObjects methods ***/ 18460 #define IEnumObjects_Next(This,celt,riid,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,riid,rgelt,pceltFetched) 18461 #define IEnumObjects_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 18462 #define IEnumObjects_Reset(This) (This)->lpVtbl->Reset(This) 18463 #define IEnumObjects_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 18464 #else 18465 /*** IUnknown methods ***/ 18466 static inline HRESULT IEnumObjects_QueryInterface(IEnumObjects* This,REFIID riid,void **ppvObject) { 18467 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 18468 } 18469 static inline ULONG IEnumObjects_AddRef(IEnumObjects* This) { 18470 return This->lpVtbl->AddRef(This); 18471 } 18472 static inline ULONG IEnumObjects_Release(IEnumObjects* This) { 18473 return This->lpVtbl->Release(This); 18474 } 18475 /*** IEnumObjects methods ***/ 18476 static inline HRESULT IEnumObjects_Next(IEnumObjects* This,ULONG celt,REFIID riid,void **rgelt,ULONG *pceltFetched) { 18477 return This->lpVtbl->Next(This,celt,riid,rgelt,pceltFetched); 18478 } 18479 static inline HRESULT IEnumObjects_Skip(IEnumObjects* This,ULONG celt) { 18480 return This->lpVtbl->Skip(This,celt); 18481 } 18482 static inline HRESULT IEnumObjects_Reset(IEnumObjects* This) { 18483 return This->lpVtbl->Reset(This); 18484 } 18485 static inline HRESULT IEnumObjects_Clone(IEnumObjects* This,IEnumObjects **ppenum) { 18486 return This->lpVtbl->Clone(This,ppenum); 18487 } 18488 #endif 18489 #endif 18490 18491 #endif 18492 18493 HRESULT STDMETHODCALLTYPE IEnumObjects_RemoteNext_Proxy( 18494 IEnumObjects* This, 18495 ULONG celt, 18496 REFIID riid, 18497 void **rgelt, 18498 ULONG *pceltFetched); 18499 void __RPC_STUB IEnumObjects_RemoteNext_Stub( 18500 IRpcStubBuffer* This, 18501 IRpcChannelBuffer* pRpcChannelBuffer, 18502 PRPC_MESSAGE pRpcMessage, 18503 DWORD* pdwStubPhase); 18504 HRESULT CALLBACK IEnumObjects_Next_Proxy( 18505 IEnumObjects* This, 18506 ULONG celt, 18507 REFIID riid, 18508 void **rgelt, 18509 ULONG *pceltFetched); 18510 HRESULT __RPC_STUB IEnumObjects_Next_Stub( 18511 IEnumObjects* This, 18512 ULONG celt, 18513 REFIID riid, 18514 void **rgelt, 18515 ULONG *pceltFetched); 18516 18517 #endif /* __IEnumObjects_INTERFACE_DEFINED__ */ 18518 18519 18520 enum _OPPROGDLGF { 18521 OPPROGDLG_DEFAULT = 0x0, 18522 OPPROGDLG_ENABLEPAUSE = 0x80, 18523 OPPROGDLG_ALLOWUNDO = 0x100, 18524 OPPROGDLG_DONTDISPLAYSOURCEPATH = 0x200, 18525 OPPROGDLG_DONTDISPLAYDESTPATH = 0x400, 18526 OPPROGDLG_NOMULTIDAYESTIMATES = 0x800, 18527 OPPROGDLG_DONTDISPLAYLOCATIONS = 0x1000 18528 }; 18529 18530 typedef DWORD OPPROGDLGF; 18531 18532 /***************************************************************************** 18533 * IOperationsProgressDialog interface 18534 */ 18535 #ifndef __IOperationsProgressDialog_INTERFACE_DEFINED__ 18536 #define __IOperationsProgressDialog_INTERFACE_DEFINED__ 18537 18538 enum _PDMODE { 18539 PDM_DEFAULT = 0x0, 18540 PDM_RUN = 0x1, 18541 PDM_PREFLIGHT = 0x2, 18542 PDM_UNDOING = 0x4, 18543 PDM_ERRORSBLOCKING = 0x8, 18544 PDM_INDETERMINATE = 0x10 18545 }; 18546 18547 typedef DWORD PDMODE; 18548 18549 typedef enum PDOPSTATUS { 18550 PDOPS_RUNNING = 1, 18551 PDOPS_PAUSED = 2, 18552 PDOPS_CANCELLED = 3, 18553 PDOPS_STOPPED = 4, 18554 PDOPS_ERRORS = 5 18555 } PDOPSTATUS; 18556 18557 DEFINE_GUID(IID_IOperationsProgressDialog, 0x0c9fb851, 0xe5c9, 0x43eb, 0xa3,0x70, 0xf0,0x67,0x7b,0x13,0x87,0x4c); 18558 #if defined(__cplusplus) && !defined(CINTERFACE) 18559 MIDL_INTERFACE("0c9fb851-e5c9-43eb-a370-f0677b13874c") 18560 IOperationsProgressDialog : public IUnknown 18561 { 18562 virtual HRESULT STDMETHODCALLTYPE StartProgressDialog( 18563 HWND hwndOwner, 18564 OPPROGDLGF flags) = 0; 18565 18566 virtual HRESULT STDMETHODCALLTYPE StopProgressDialog( 18567 ) = 0; 18568 18569 virtual HRESULT STDMETHODCALLTYPE SetOperation( 18570 SPACTION action) = 0; 18571 18572 virtual HRESULT STDMETHODCALLTYPE SetMode( 18573 PDMODE mode) = 0; 18574 18575 virtual HRESULT STDMETHODCALLTYPE UpdateProgress( 18576 ULONGLONG ullPointsCurrent, 18577 ULONGLONG ullPointsTotal, 18578 ULONGLONG ullSizeCurrent, 18579 ULONGLONG ullSizeTotal, 18580 ULONGLONG ullItemsCurrent, 18581 ULONGLONG ullItemsTotal) = 0; 18582 18583 virtual HRESULT STDMETHODCALLTYPE UpdateLocations( 18584 IShellItem *psiSource, 18585 IShellItem *psiTarget, 18586 IShellItem *psiItem) = 0; 18587 18588 virtual HRESULT STDMETHODCALLTYPE ResetTimer( 18589 ) = 0; 18590 18591 virtual HRESULT STDMETHODCALLTYPE PauseTimer( 18592 ) = 0; 18593 18594 virtual HRESULT STDMETHODCALLTYPE ResumeTimer( 18595 ) = 0; 18596 18597 virtual HRESULT STDMETHODCALLTYPE GetMilliseconds( 18598 ULONGLONG *pullElapsed, 18599 ULONGLONG *pullRemaining) = 0; 18600 18601 virtual HRESULT STDMETHODCALLTYPE GetOperationStatus( 18602 PDOPSTATUS *popstatus) = 0; 18603 18604 }; 18605 #ifdef __CRT_UUID_DECL 18606 __CRT_UUID_DECL(IOperationsProgressDialog, 0x0c9fb851, 0xe5c9, 0x43eb, 0xa3,0x70, 0xf0,0x67,0x7b,0x13,0x87,0x4c) 18607 #endif 18608 #else 18609 typedef struct IOperationsProgressDialogVtbl { 18610 BEGIN_INTERFACE 18611 18612 /*** IUnknown methods ***/ 18613 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 18614 IOperationsProgressDialog *This, 18615 REFIID riid, 18616 void **ppvObject); 18617 18618 ULONG (STDMETHODCALLTYPE *AddRef)( 18619 IOperationsProgressDialog *This); 18620 18621 ULONG (STDMETHODCALLTYPE *Release)( 18622 IOperationsProgressDialog *This); 18623 18624 /*** IOperationsProgressDialog methods ***/ 18625 HRESULT (STDMETHODCALLTYPE *StartProgressDialog)( 18626 IOperationsProgressDialog *This, 18627 HWND hwndOwner, 18628 OPPROGDLGF flags); 18629 18630 HRESULT (STDMETHODCALLTYPE *StopProgressDialog)( 18631 IOperationsProgressDialog *This); 18632 18633 HRESULT (STDMETHODCALLTYPE *SetOperation)( 18634 IOperationsProgressDialog *This, 18635 SPACTION action); 18636 18637 HRESULT (STDMETHODCALLTYPE *SetMode)( 18638 IOperationsProgressDialog *This, 18639 PDMODE mode); 18640 18641 HRESULT (STDMETHODCALLTYPE *UpdateProgress)( 18642 IOperationsProgressDialog *This, 18643 ULONGLONG ullPointsCurrent, 18644 ULONGLONG ullPointsTotal, 18645 ULONGLONG ullSizeCurrent, 18646 ULONGLONG ullSizeTotal, 18647 ULONGLONG ullItemsCurrent, 18648 ULONGLONG ullItemsTotal); 18649 18650 HRESULT (STDMETHODCALLTYPE *UpdateLocations)( 18651 IOperationsProgressDialog *This, 18652 IShellItem *psiSource, 18653 IShellItem *psiTarget, 18654 IShellItem *psiItem); 18655 18656 HRESULT (STDMETHODCALLTYPE *ResetTimer)( 18657 IOperationsProgressDialog *This); 18658 18659 HRESULT (STDMETHODCALLTYPE *PauseTimer)( 18660 IOperationsProgressDialog *This); 18661 18662 HRESULT (STDMETHODCALLTYPE *ResumeTimer)( 18663 IOperationsProgressDialog *This); 18664 18665 HRESULT (STDMETHODCALLTYPE *GetMilliseconds)( 18666 IOperationsProgressDialog *This, 18667 ULONGLONG *pullElapsed, 18668 ULONGLONG *pullRemaining); 18669 18670 HRESULT (STDMETHODCALLTYPE *GetOperationStatus)( 18671 IOperationsProgressDialog *This, 18672 PDOPSTATUS *popstatus); 18673 18674 END_INTERFACE 18675 } IOperationsProgressDialogVtbl; 18676 18677 interface IOperationsProgressDialog { 18678 CONST_VTBL IOperationsProgressDialogVtbl* lpVtbl; 18679 }; 18680 18681 #ifdef COBJMACROS 18682 #ifndef WIDL_C_INLINE_WRAPPERS 18683 /*** IUnknown methods ***/ 18684 #define IOperationsProgressDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 18685 #define IOperationsProgressDialog_AddRef(This) (This)->lpVtbl->AddRef(This) 18686 #define IOperationsProgressDialog_Release(This) (This)->lpVtbl->Release(This) 18687 /*** IOperationsProgressDialog methods ***/ 18688 #define IOperationsProgressDialog_StartProgressDialog(This,hwndOwner,flags) (This)->lpVtbl->StartProgressDialog(This,hwndOwner,flags) 18689 #define IOperationsProgressDialog_StopProgressDialog(This) (This)->lpVtbl->StopProgressDialog(This) 18690 #define IOperationsProgressDialog_SetOperation(This,action) (This)->lpVtbl->SetOperation(This,action) 18691 #define IOperationsProgressDialog_SetMode(This,mode) (This)->lpVtbl->SetMode(This,mode) 18692 #define IOperationsProgressDialog_UpdateProgress(This,ullPointsCurrent,ullPointsTotal,ullSizeCurrent,ullSizeTotal,ullItemsCurrent,ullItemsTotal) (This)->lpVtbl->UpdateProgress(This,ullPointsCurrent,ullPointsTotal,ullSizeCurrent,ullSizeTotal,ullItemsCurrent,ullItemsTotal) 18693 #define IOperationsProgressDialog_UpdateLocations(This,psiSource,psiTarget,psiItem) (This)->lpVtbl->UpdateLocations(This,psiSource,psiTarget,psiItem) 18694 #define IOperationsProgressDialog_ResetTimer(This) (This)->lpVtbl->ResetTimer(This) 18695 #define IOperationsProgressDialog_PauseTimer(This) (This)->lpVtbl->PauseTimer(This) 18696 #define IOperationsProgressDialog_ResumeTimer(This) (This)->lpVtbl->ResumeTimer(This) 18697 #define IOperationsProgressDialog_GetMilliseconds(This,pullElapsed,pullRemaining) (This)->lpVtbl->GetMilliseconds(This,pullElapsed,pullRemaining) 18698 #define IOperationsProgressDialog_GetOperationStatus(This,popstatus) (This)->lpVtbl->GetOperationStatus(This,popstatus) 18699 #else 18700 /*** IUnknown methods ***/ 18701 static inline HRESULT IOperationsProgressDialog_QueryInterface(IOperationsProgressDialog* This,REFIID riid,void **ppvObject) { 18702 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 18703 } 18704 static inline ULONG IOperationsProgressDialog_AddRef(IOperationsProgressDialog* This) { 18705 return This->lpVtbl->AddRef(This); 18706 } 18707 static inline ULONG IOperationsProgressDialog_Release(IOperationsProgressDialog* This) { 18708 return This->lpVtbl->Release(This); 18709 } 18710 /*** IOperationsProgressDialog methods ***/ 18711 static inline HRESULT IOperationsProgressDialog_StartProgressDialog(IOperationsProgressDialog* This,HWND hwndOwner,OPPROGDLGF flags) { 18712 return This->lpVtbl->StartProgressDialog(This,hwndOwner,flags); 18713 } 18714 static inline HRESULT IOperationsProgressDialog_StopProgressDialog(IOperationsProgressDialog* This) { 18715 return This->lpVtbl->StopProgressDialog(This); 18716 } 18717 static inline HRESULT IOperationsProgressDialog_SetOperation(IOperationsProgressDialog* This,SPACTION action) { 18718 return This->lpVtbl->SetOperation(This,action); 18719 } 18720 static inline HRESULT IOperationsProgressDialog_SetMode(IOperationsProgressDialog* This,PDMODE mode) { 18721 return This->lpVtbl->SetMode(This,mode); 18722 } 18723 static inline HRESULT IOperationsProgressDialog_UpdateProgress(IOperationsProgressDialog* This,ULONGLONG ullPointsCurrent,ULONGLONG ullPointsTotal,ULONGLONG ullSizeCurrent,ULONGLONG ullSizeTotal,ULONGLONG ullItemsCurrent,ULONGLONG ullItemsTotal) { 18724 return This->lpVtbl->UpdateProgress(This,ullPointsCurrent,ullPointsTotal,ullSizeCurrent,ullSizeTotal,ullItemsCurrent,ullItemsTotal); 18725 } 18726 static inline HRESULT IOperationsProgressDialog_UpdateLocations(IOperationsProgressDialog* This,IShellItem *psiSource,IShellItem *psiTarget,IShellItem *psiItem) { 18727 return This->lpVtbl->UpdateLocations(This,psiSource,psiTarget,psiItem); 18728 } 18729 static inline HRESULT IOperationsProgressDialog_ResetTimer(IOperationsProgressDialog* This) { 18730 return This->lpVtbl->ResetTimer(This); 18731 } 18732 static inline HRESULT IOperationsProgressDialog_PauseTimer(IOperationsProgressDialog* This) { 18733 return This->lpVtbl->PauseTimer(This); 18734 } 18735 static inline HRESULT IOperationsProgressDialog_ResumeTimer(IOperationsProgressDialog* This) { 18736 return This->lpVtbl->ResumeTimer(This); 18737 } 18738 static inline HRESULT IOperationsProgressDialog_GetMilliseconds(IOperationsProgressDialog* This,ULONGLONG *pullElapsed,ULONGLONG *pullRemaining) { 18739 return This->lpVtbl->GetMilliseconds(This,pullElapsed,pullRemaining); 18740 } 18741 static inline HRESULT IOperationsProgressDialog_GetOperationStatus(IOperationsProgressDialog* This,PDOPSTATUS *popstatus) { 18742 return This->lpVtbl->GetOperationStatus(This,popstatus); 18743 } 18744 #endif 18745 #endif 18746 18747 #endif 18748 18749 18750 #endif /* __IOperationsProgressDialog_INTERFACE_DEFINED__ */ 18751 18752 18753 /***************************************************************************** 18754 * IIOCancelInformation interface 18755 */ 18756 #ifndef __IIOCancelInformation_INTERFACE_DEFINED__ 18757 #define __IIOCancelInformation_INTERFACE_DEFINED__ 18758 18759 DEFINE_GUID(IID_IIOCancelInformation, 0xf5b0bf81, 0x8cb5, 0x4b1b, 0x94,0x49, 0x1a,0x15,0x9e,0x0c,0x73,0x3c); 18760 #if defined(__cplusplus) && !defined(CINTERFACE) 18761 MIDL_INTERFACE("f5b0bf81-8cb5-4b1b-9449-1a159e0c733c") 18762 IIOCancelInformation : public IUnknown 18763 { 18764 virtual HRESULT STDMETHODCALLTYPE SetCancelInformation( 18765 DWORD dwThreadID, 18766 UINT uMsgCancel) = 0; 18767 18768 virtual HRESULT STDMETHODCALLTYPE GetCancelInformation( 18769 DWORD *pdwThreadID, 18770 UINT *puMsgCancel) = 0; 18771 18772 }; 18773 #ifdef __CRT_UUID_DECL 18774 __CRT_UUID_DECL(IIOCancelInformation, 0xf5b0bf81, 0x8cb5, 0x4b1b, 0x94,0x49, 0x1a,0x15,0x9e,0x0c,0x73,0x3c) 18775 #endif 18776 #else 18777 typedef struct IIOCancelInformationVtbl { 18778 BEGIN_INTERFACE 18779 18780 /*** IUnknown methods ***/ 18781 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 18782 IIOCancelInformation *This, 18783 REFIID riid, 18784 void **ppvObject); 18785 18786 ULONG (STDMETHODCALLTYPE *AddRef)( 18787 IIOCancelInformation *This); 18788 18789 ULONG (STDMETHODCALLTYPE *Release)( 18790 IIOCancelInformation *This); 18791 18792 /*** IIOCancelInformation methods ***/ 18793 HRESULT (STDMETHODCALLTYPE *SetCancelInformation)( 18794 IIOCancelInformation *This, 18795 DWORD dwThreadID, 18796 UINT uMsgCancel); 18797 18798 HRESULT (STDMETHODCALLTYPE *GetCancelInformation)( 18799 IIOCancelInformation *This, 18800 DWORD *pdwThreadID, 18801 UINT *puMsgCancel); 18802 18803 END_INTERFACE 18804 } IIOCancelInformationVtbl; 18805 18806 interface IIOCancelInformation { 18807 CONST_VTBL IIOCancelInformationVtbl* lpVtbl; 18808 }; 18809 18810 #ifdef COBJMACROS 18811 #ifndef WIDL_C_INLINE_WRAPPERS 18812 /*** IUnknown methods ***/ 18813 #define IIOCancelInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 18814 #define IIOCancelInformation_AddRef(This) (This)->lpVtbl->AddRef(This) 18815 #define IIOCancelInformation_Release(This) (This)->lpVtbl->Release(This) 18816 /*** IIOCancelInformation methods ***/ 18817 #define IIOCancelInformation_SetCancelInformation(This,dwThreadID,uMsgCancel) (This)->lpVtbl->SetCancelInformation(This,dwThreadID,uMsgCancel) 18818 #define IIOCancelInformation_GetCancelInformation(This,pdwThreadID,puMsgCancel) (This)->lpVtbl->GetCancelInformation(This,pdwThreadID,puMsgCancel) 18819 #else 18820 /*** IUnknown methods ***/ 18821 static inline HRESULT IIOCancelInformation_QueryInterface(IIOCancelInformation* This,REFIID riid,void **ppvObject) { 18822 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 18823 } 18824 static inline ULONG IIOCancelInformation_AddRef(IIOCancelInformation* This) { 18825 return This->lpVtbl->AddRef(This); 18826 } 18827 static inline ULONG IIOCancelInformation_Release(IIOCancelInformation* This) { 18828 return This->lpVtbl->Release(This); 18829 } 18830 /*** IIOCancelInformation methods ***/ 18831 static inline HRESULT IIOCancelInformation_SetCancelInformation(IIOCancelInformation* This,DWORD dwThreadID,UINT uMsgCancel) { 18832 return This->lpVtbl->SetCancelInformation(This,dwThreadID,uMsgCancel); 18833 } 18834 static inline HRESULT IIOCancelInformation_GetCancelInformation(IIOCancelInformation* This,DWORD *pdwThreadID,UINT *puMsgCancel) { 18835 return This->lpVtbl->GetCancelInformation(This,pdwThreadID,puMsgCancel); 18836 } 18837 #endif 18838 #endif 18839 18840 #endif 18841 18842 18843 #endif /* __IIOCancelInformation_INTERFACE_DEFINED__ */ 18844 18845 18846 #define FOFX_NOSKIPJUNCTIONS 0x00010000 18847 #define FOFX_PREFERHARDLINK 0x00020000 18848 #define FOFX_SHOWELEVATIONPROMPT 0x00040000 18849 #define FOFX_RECYCLEONDELETE 0x00080000 18850 #define FOFX_EARLYFAILURE 0x00100000 18851 #define FOFX_PRESERVEFILEEXTENSIONS 0x00200000 18852 #define FOFX_KEEPNEWERFILE 0x00400000 18853 #define FOFX_NOCOPYHOOKS 0x00800000 18854 #define FOFX_NOMINIMIZEBOX 0x01000000 18855 #define FOFX_MOVEACLSACROSSVOLUMES 0x02000000 18856 #define FOFX_DONTDISPLAYSOURCEPATH 0x04000000 18857 #define FOFX_DONTDISPLAYDESTPATH 0x08000000 18858 #define FOFX_REQUIREELEVATION 0x10000000 18859 #define FOFX_ADDUNDORECORD 0x20000000 18860 #define FOFX_COPYASDOWNLOAD 0x40000000 18861 #define FOFX_DONTDISPLAYLOCATIONS 0x80000000 18862 18863 /***************************************************************************** 18864 * IFileOperation interface 18865 */ 18866 #ifndef __IFileOperation_INTERFACE_DEFINED__ 18867 #define __IFileOperation_INTERFACE_DEFINED__ 18868 18869 DEFINE_GUID(IID_IFileOperation, 0x947aab5f, 0x0a5c, 0x4c13, 0xb4,0xd6, 0x4b,0xf7,0x83,0x6f,0xc9,0xf8); 18870 #if defined(__cplusplus) && !defined(CINTERFACE) 18871 MIDL_INTERFACE("947aab5f-0a5c-4c13-b4d6-4bf7836fc9f8") 18872 IFileOperation : public IUnknown 18873 { 18874 virtual HRESULT STDMETHODCALLTYPE Advise( 18875 IFileOperationProgressSink *pfops, 18876 DWORD *pdwCookie) = 0; 18877 18878 virtual HRESULT STDMETHODCALLTYPE Unadvise( 18879 DWORD dwCookie) = 0; 18880 18881 virtual HRESULT STDMETHODCALLTYPE SetOperationFlags( 18882 DWORD dwOperationFlags) = 0; 18883 18884 virtual HRESULT STDMETHODCALLTYPE SetProgressMessage( 18885 LPCWSTR pszMessage) = 0; 18886 18887 virtual HRESULT STDMETHODCALLTYPE SetProgressDialog( 18888 IOperationsProgressDialog *popd) = 0; 18889 18890 virtual HRESULT STDMETHODCALLTYPE SetProperties( 18891 IPropertyChangeArray *pproparray) = 0; 18892 18893 virtual HRESULT STDMETHODCALLTYPE SetOwnerWindow( 18894 HWND hwndOwner) = 0; 18895 18896 virtual HRESULT STDMETHODCALLTYPE ApplyPropertiesToItem( 18897 IShellItem *psiItem) = 0; 18898 18899 virtual HRESULT STDMETHODCALLTYPE ApplyPropertiesToItems( 18900 IUnknown *punkItems) = 0; 18901 18902 virtual HRESULT STDMETHODCALLTYPE RenameItem( 18903 IShellItem *psiItem, 18904 LPCWSTR pszNewName, 18905 IFileOperationProgressSink *pfopsItem) = 0; 18906 18907 virtual HRESULT STDMETHODCALLTYPE RenameItems( 18908 IUnknown *pUnkItems, 18909 LPCWSTR pszNewName) = 0; 18910 18911 virtual HRESULT STDMETHODCALLTYPE MoveItem( 18912 IShellItem *psiItem, 18913 IShellItem *psiDestinationFolder, 18914 LPCWSTR pszNewName, 18915 IFileOperationProgressSink *pfopsItem) = 0; 18916 18917 virtual HRESULT STDMETHODCALLTYPE MoveItems( 18918 IUnknown *punkItems, 18919 IShellItem *psiDestinationFolder) = 0; 18920 18921 virtual HRESULT STDMETHODCALLTYPE CopyItem( 18922 IShellItem *psiItem, 18923 IShellItem *psiDestinationFolder, 18924 LPCWSTR pszCopyName, 18925 IFileOperationProgressSink *pfopsItem) = 0; 18926 18927 virtual HRESULT STDMETHODCALLTYPE CopyItems( 18928 IUnknown *punkItems, 18929 IShellItem *psiDestinationFolder) = 0; 18930 18931 virtual HRESULT STDMETHODCALLTYPE DeleteItem( 18932 IShellItem *psiItem, 18933 IFileOperationProgressSink *pfopsItem) = 0; 18934 18935 virtual HRESULT STDMETHODCALLTYPE DeleteItems( 18936 IUnknown *punkItems) = 0; 18937 18938 virtual HRESULT STDMETHODCALLTYPE NewItem( 18939 IShellItem *psiDestinationFolder, 18940 DWORD dwFileAttributes, 18941 LPCWSTR pszName, 18942 LPCWSTR pszTemplateName, 18943 IFileOperationProgressSink *pfopsItem) = 0; 18944 18945 virtual HRESULT STDMETHODCALLTYPE PerformOperations( 18946 ) = 0; 18947 18948 virtual HRESULT STDMETHODCALLTYPE GetAnyOperationsAborted( 18949 WINBOOL *pfAnyOperationsAborted) = 0; 18950 18951 }; 18952 #ifdef __CRT_UUID_DECL 18953 __CRT_UUID_DECL(IFileOperation, 0x947aab5f, 0x0a5c, 0x4c13, 0xb4,0xd6, 0x4b,0xf7,0x83,0x6f,0xc9,0xf8) 18954 #endif 18955 #else 18956 typedef struct IFileOperationVtbl { 18957 BEGIN_INTERFACE 18958 18959 /*** IUnknown methods ***/ 18960 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 18961 IFileOperation *This, 18962 REFIID riid, 18963 void **ppvObject); 18964 18965 ULONG (STDMETHODCALLTYPE *AddRef)( 18966 IFileOperation *This); 18967 18968 ULONG (STDMETHODCALLTYPE *Release)( 18969 IFileOperation *This); 18970 18971 /*** IFileOperation methods ***/ 18972 HRESULT (STDMETHODCALLTYPE *Advise)( 18973 IFileOperation *This, 18974 IFileOperationProgressSink *pfops, 18975 DWORD *pdwCookie); 18976 18977 HRESULT (STDMETHODCALLTYPE *Unadvise)( 18978 IFileOperation *This, 18979 DWORD dwCookie); 18980 18981 HRESULT (STDMETHODCALLTYPE *SetOperationFlags)( 18982 IFileOperation *This, 18983 DWORD dwOperationFlags); 18984 18985 HRESULT (STDMETHODCALLTYPE *SetProgressMessage)( 18986 IFileOperation *This, 18987 LPCWSTR pszMessage); 18988 18989 HRESULT (STDMETHODCALLTYPE *SetProgressDialog)( 18990 IFileOperation *This, 18991 IOperationsProgressDialog *popd); 18992 18993 HRESULT (STDMETHODCALLTYPE *SetProperties)( 18994 IFileOperation *This, 18995 IPropertyChangeArray *pproparray); 18996 18997 HRESULT (STDMETHODCALLTYPE *SetOwnerWindow)( 18998 IFileOperation *This, 18999 HWND hwndOwner); 19000 19001 HRESULT (STDMETHODCALLTYPE *ApplyPropertiesToItem)( 19002 IFileOperation *This, 19003 IShellItem *psiItem); 19004 19005 HRESULT (STDMETHODCALLTYPE *ApplyPropertiesToItems)( 19006 IFileOperation *This, 19007 IUnknown *punkItems); 19008 19009 HRESULT (STDMETHODCALLTYPE *RenameItem)( 19010 IFileOperation *This, 19011 IShellItem *psiItem, 19012 LPCWSTR pszNewName, 19013 IFileOperationProgressSink *pfopsItem); 19014 19015 HRESULT (STDMETHODCALLTYPE *RenameItems)( 19016 IFileOperation *This, 19017 IUnknown *pUnkItems, 19018 LPCWSTR pszNewName); 19019 19020 HRESULT (STDMETHODCALLTYPE *MoveItem)( 19021 IFileOperation *This, 19022 IShellItem *psiItem, 19023 IShellItem *psiDestinationFolder, 19024 LPCWSTR pszNewName, 19025 IFileOperationProgressSink *pfopsItem); 19026 19027 HRESULT (STDMETHODCALLTYPE *MoveItems)( 19028 IFileOperation *This, 19029 IUnknown *punkItems, 19030 IShellItem *psiDestinationFolder); 19031 19032 HRESULT (STDMETHODCALLTYPE *CopyItem)( 19033 IFileOperation *This, 19034 IShellItem *psiItem, 19035 IShellItem *psiDestinationFolder, 19036 LPCWSTR pszCopyName, 19037 IFileOperationProgressSink *pfopsItem); 19038 19039 HRESULT (STDMETHODCALLTYPE *CopyItems)( 19040 IFileOperation *This, 19041 IUnknown *punkItems, 19042 IShellItem *psiDestinationFolder); 19043 19044 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 19045 IFileOperation *This, 19046 IShellItem *psiItem, 19047 IFileOperationProgressSink *pfopsItem); 19048 19049 HRESULT (STDMETHODCALLTYPE *DeleteItems)( 19050 IFileOperation *This, 19051 IUnknown *punkItems); 19052 19053 HRESULT (STDMETHODCALLTYPE *NewItem)( 19054 IFileOperation *This, 19055 IShellItem *psiDestinationFolder, 19056 DWORD dwFileAttributes, 19057 LPCWSTR pszName, 19058 LPCWSTR pszTemplateName, 19059 IFileOperationProgressSink *pfopsItem); 19060 19061 HRESULT (STDMETHODCALLTYPE *PerformOperations)( 19062 IFileOperation *This); 19063 19064 HRESULT (STDMETHODCALLTYPE *GetAnyOperationsAborted)( 19065 IFileOperation *This, 19066 WINBOOL *pfAnyOperationsAborted); 19067 19068 END_INTERFACE 19069 } IFileOperationVtbl; 19070 19071 interface IFileOperation { 19072 CONST_VTBL IFileOperationVtbl* lpVtbl; 19073 }; 19074 19075 #ifdef COBJMACROS 19076 #ifndef WIDL_C_INLINE_WRAPPERS 19077 /*** IUnknown methods ***/ 19078 #define IFileOperation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 19079 #define IFileOperation_AddRef(This) (This)->lpVtbl->AddRef(This) 19080 #define IFileOperation_Release(This) (This)->lpVtbl->Release(This) 19081 /*** IFileOperation methods ***/ 19082 #define IFileOperation_Advise(This,pfops,pdwCookie) (This)->lpVtbl->Advise(This,pfops,pdwCookie) 19083 #define IFileOperation_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie) 19084 #define IFileOperation_SetOperationFlags(This,dwOperationFlags) (This)->lpVtbl->SetOperationFlags(This,dwOperationFlags) 19085 #define IFileOperation_SetProgressMessage(This,pszMessage) (This)->lpVtbl->SetProgressMessage(This,pszMessage) 19086 #define IFileOperation_SetProgressDialog(This,popd) (This)->lpVtbl->SetProgressDialog(This,popd) 19087 #define IFileOperation_SetProperties(This,pproparray) (This)->lpVtbl->SetProperties(This,pproparray) 19088 #define IFileOperation_SetOwnerWindow(This,hwndOwner) (This)->lpVtbl->SetOwnerWindow(This,hwndOwner) 19089 #define IFileOperation_ApplyPropertiesToItem(This,psiItem) (This)->lpVtbl->ApplyPropertiesToItem(This,psiItem) 19090 #define IFileOperation_ApplyPropertiesToItems(This,punkItems) (This)->lpVtbl->ApplyPropertiesToItems(This,punkItems) 19091 #define IFileOperation_RenameItem(This,psiItem,pszNewName,pfopsItem) (This)->lpVtbl->RenameItem(This,psiItem,pszNewName,pfopsItem) 19092 #define IFileOperation_RenameItems(This,pUnkItems,pszNewName) (This)->lpVtbl->RenameItems(This,pUnkItems,pszNewName) 19093 #define IFileOperation_MoveItem(This,psiItem,psiDestinationFolder,pszNewName,pfopsItem) (This)->lpVtbl->MoveItem(This,psiItem,psiDestinationFolder,pszNewName,pfopsItem) 19094 #define IFileOperation_MoveItems(This,punkItems,psiDestinationFolder) (This)->lpVtbl->MoveItems(This,punkItems,psiDestinationFolder) 19095 #define IFileOperation_CopyItem(This,psiItem,psiDestinationFolder,pszCopyName,pfopsItem) (This)->lpVtbl->CopyItem(This,psiItem,psiDestinationFolder,pszCopyName,pfopsItem) 19096 #define IFileOperation_CopyItems(This,punkItems,psiDestinationFolder) (This)->lpVtbl->CopyItems(This,punkItems,psiDestinationFolder) 19097 #define IFileOperation_DeleteItem(This,psiItem,pfopsItem) (This)->lpVtbl->DeleteItem(This,psiItem,pfopsItem) 19098 #define IFileOperation_DeleteItems(This,punkItems) (This)->lpVtbl->DeleteItems(This,punkItems) 19099 #define IFileOperation_NewItem(This,psiDestinationFolder,dwFileAttributes,pszName,pszTemplateName,pfopsItem) (This)->lpVtbl->NewItem(This,psiDestinationFolder,dwFileAttributes,pszName,pszTemplateName,pfopsItem) 19100 #define IFileOperation_PerformOperations(This) (This)->lpVtbl->PerformOperations(This) 19101 #define IFileOperation_GetAnyOperationsAborted(This,pfAnyOperationsAborted) (This)->lpVtbl->GetAnyOperationsAborted(This,pfAnyOperationsAborted) 19102 #else 19103 /*** IUnknown methods ***/ 19104 static inline HRESULT IFileOperation_QueryInterface(IFileOperation* This,REFIID riid,void **ppvObject) { 19105 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 19106 } 19107 static inline ULONG IFileOperation_AddRef(IFileOperation* This) { 19108 return This->lpVtbl->AddRef(This); 19109 } 19110 static inline ULONG IFileOperation_Release(IFileOperation* This) { 19111 return This->lpVtbl->Release(This); 19112 } 19113 /*** IFileOperation methods ***/ 19114 static inline HRESULT IFileOperation_Advise(IFileOperation* This,IFileOperationProgressSink *pfops,DWORD *pdwCookie) { 19115 return This->lpVtbl->Advise(This,pfops,pdwCookie); 19116 } 19117 static inline HRESULT IFileOperation_Unadvise(IFileOperation* This,DWORD dwCookie) { 19118 return This->lpVtbl->Unadvise(This,dwCookie); 19119 } 19120 static inline HRESULT IFileOperation_SetOperationFlags(IFileOperation* This,DWORD dwOperationFlags) { 19121 return This->lpVtbl->SetOperationFlags(This,dwOperationFlags); 19122 } 19123 static inline HRESULT IFileOperation_SetProgressMessage(IFileOperation* This,LPCWSTR pszMessage) { 19124 return This->lpVtbl->SetProgressMessage(This,pszMessage); 19125 } 19126 static inline HRESULT IFileOperation_SetProgressDialog(IFileOperation* This,IOperationsProgressDialog *popd) { 19127 return This->lpVtbl->SetProgressDialog(This,popd); 19128 } 19129 static inline HRESULT IFileOperation_SetProperties(IFileOperation* This,IPropertyChangeArray *pproparray) { 19130 return This->lpVtbl->SetProperties(This,pproparray); 19131 } 19132 static inline HRESULT IFileOperation_SetOwnerWindow(IFileOperation* This,HWND hwndOwner) { 19133 return This->lpVtbl->SetOwnerWindow(This,hwndOwner); 19134 } 19135 static inline HRESULT IFileOperation_ApplyPropertiesToItem(IFileOperation* This,IShellItem *psiItem) { 19136 return This->lpVtbl->ApplyPropertiesToItem(This,psiItem); 19137 } 19138 static inline HRESULT IFileOperation_ApplyPropertiesToItems(IFileOperation* This,IUnknown *punkItems) { 19139 return This->lpVtbl->ApplyPropertiesToItems(This,punkItems); 19140 } 19141 static inline HRESULT IFileOperation_RenameItem(IFileOperation* This,IShellItem *psiItem,LPCWSTR pszNewName,IFileOperationProgressSink *pfopsItem) { 19142 return This->lpVtbl->RenameItem(This,psiItem,pszNewName,pfopsItem); 19143 } 19144 static inline HRESULT IFileOperation_RenameItems(IFileOperation* This,IUnknown *pUnkItems,LPCWSTR pszNewName) { 19145 return This->lpVtbl->RenameItems(This,pUnkItems,pszNewName); 19146 } 19147 static inline HRESULT IFileOperation_MoveItem(IFileOperation* This,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName,IFileOperationProgressSink *pfopsItem) { 19148 return This->lpVtbl->MoveItem(This,psiItem,psiDestinationFolder,pszNewName,pfopsItem); 19149 } 19150 static inline HRESULT IFileOperation_MoveItems(IFileOperation* This,IUnknown *punkItems,IShellItem *psiDestinationFolder) { 19151 return This->lpVtbl->MoveItems(This,punkItems,psiDestinationFolder); 19152 } 19153 static inline HRESULT IFileOperation_CopyItem(IFileOperation* This,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszCopyName,IFileOperationProgressSink *pfopsItem) { 19154 return This->lpVtbl->CopyItem(This,psiItem,psiDestinationFolder,pszCopyName,pfopsItem); 19155 } 19156 static inline HRESULT IFileOperation_CopyItems(IFileOperation* This,IUnknown *punkItems,IShellItem *psiDestinationFolder) { 19157 return This->lpVtbl->CopyItems(This,punkItems,psiDestinationFolder); 19158 } 19159 static inline HRESULT IFileOperation_DeleteItem(IFileOperation* This,IShellItem *psiItem,IFileOperationProgressSink *pfopsItem) { 19160 return This->lpVtbl->DeleteItem(This,psiItem,pfopsItem); 19161 } 19162 static inline HRESULT IFileOperation_DeleteItems(IFileOperation* This,IUnknown *punkItems) { 19163 return This->lpVtbl->DeleteItems(This,punkItems); 19164 } 19165 static inline HRESULT IFileOperation_NewItem(IFileOperation* This,IShellItem *psiDestinationFolder,DWORD dwFileAttributes,LPCWSTR pszName,LPCWSTR pszTemplateName,IFileOperationProgressSink *pfopsItem) { 19166 return This->lpVtbl->NewItem(This,psiDestinationFolder,dwFileAttributes,pszName,pszTemplateName,pfopsItem); 19167 } 19168 static inline HRESULT IFileOperation_PerformOperations(IFileOperation* This) { 19169 return This->lpVtbl->PerformOperations(This); 19170 } 19171 static inline HRESULT IFileOperation_GetAnyOperationsAborted(IFileOperation* This,WINBOOL *pfAnyOperationsAborted) { 19172 return This->lpVtbl->GetAnyOperationsAborted(This,pfAnyOperationsAborted); 19173 } 19174 #endif 19175 #endif 19176 19177 #endif 19178 19179 19180 #endif /* __IFileOperation_INTERFACE_DEFINED__ */ 19181 19182 19183 /***************************************************************************** 19184 * IObjectProvider interface 19185 */ 19186 #ifndef __IObjectProvider_INTERFACE_DEFINED__ 19187 #define __IObjectProvider_INTERFACE_DEFINED__ 19188 19189 DEFINE_GUID(IID_IObjectProvider, 0xa6087428, 0x3be3, 0x4d73, 0xb3,0x08, 0x7c,0x04,0xa5,0x40,0xbf,0x1a); 19190 #if defined(__cplusplus) && !defined(CINTERFACE) 19191 MIDL_INTERFACE("a6087428-3be3-4d73-b308-7c04a540bf1a") 19192 IObjectProvider : public IUnknown 19193 { 19194 virtual HRESULT STDMETHODCALLTYPE QueryObject( 19195 REFGUID guidObject, 19196 REFIID riid, 19197 void **ppvOut) = 0; 19198 19199 }; 19200 #ifdef __CRT_UUID_DECL 19201 __CRT_UUID_DECL(IObjectProvider, 0xa6087428, 0x3be3, 0x4d73, 0xb3,0x08, 0x7c,0x04,0xa5,0x40,0xbf,0x1a) 19202 #endif 19203 #else 19204 typedef struct IObjectProviderVtbl { 19205 BEGIN_INTERFACE 19206 19207 /*** IUnknown methods ***/ 19208 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 19209 IObjectProvider *This, 19210 REFIID riid, 19211 void **ppvObject); 19212 19213 ULONG (STDMETHODCALLTYPE *AddRef)( 19214 IObjectProvider *This); 19215 19216 ULONG (STDMETHODCALLTYPE *Release)( 19217 IObjectProvider *This); 19218 19219 /*** IObjectProvider methods ***/ 19220 HRESULT (STDMETHODCALLTYPE *QueryObject)( 19221 IObjectProvider *This, 19222 REFGUID guidObject, 19223 REFIID riid, 19224 void **ppvOut); 19225 19226 END_INTERFACE 19227 } IObjectProviderVtbl; 19228 19229 interface IObjectProvider { 19230 CONST_VTBL IObjectProviderVtbl* lpVtbl; 19231 }; 19232 19233 #ifdef COBJMACROS 19234 #ifndef WIDL_C_INLINE_WRAPPERS 19235 /*** IUnknown methods ***/ 19236 #define IObjectProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 19237 #define IObjectProvider_AddRef(This) (This)->lpVtbl->AddRef(This) 19238 #define IObjectProvider_Release(This) (This)->lpVtbl->Release(This) 19239 /*** IObjectProvider methods ***/ 19240 #define IObjectProvider_QueryObject(This,guidObject,riid,ppvOut) (This)->lpVtbl->QueryObject(This,guidObject,riid,ppvOut) 19241 #else 19242 /*** IUnknown methods ***/ 19243 static inline HRESULT IObjectProvider_QueryInterface(IObjectProvider* This,REFIID riid,void **ppvObject) { 19244 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 19245 } 19246 static inline ULONG IObjectProvider_AddRef(IObjectProvider* This) { 19247 return This->lpVtbl->AddRef(This); 19248 } 19249 static inline ULONG IObjectProvider_Release(IObjectProvider* This) { 19250 return This->lpVtbl->Release(This); 19251 } 19252 /*** IObjectProvider methods ***/ 19253 static inline HRESULT IObjectProvider_QueryObject(IObjectProvider* This,REFGUID guidObject,REFIID riid,void **ppvOut) { 19254 return This->lpVtbl->QueryObject(This,guidObject,riid,ppvOut); 19255 } 19256 #endif 19257 #endif 19258 19259 #endif 19260 19261 19262 #endif /* __IObjectProvider_INTERFACE_DEFINED__ */ 19263 19264 #endif 19265 19266 /***************************************************************************** 19267 * INamespaceWalkCB interface 19268 */ 19269 #ifndef __INamespaceWalkCB_INTERFACE_DEFINED__ 19270 #define __INamespaceWalkCB_INTERFACE_DEFINED__ 19271 19272 DEFINE_GUID(IID_INamespaceWalkCB, 0xd92995f8, 0xcf5e, 0x4a76, 0xbf,0x59, 0xea,0xd3,0x9e,0xa2,0xb9,0x7e); 19273 #if defined(__cplusplus) && !defined(CINTERFACE) 19274 MIDL_INTERFACE("d92995f8-cf5e-4a76-bf59-ead39ea2b97e") 19275 INamespaceWalkCB : public IUnknown 19276 { 19277 virtual HRESULT STDMETHODCALLTYPE FoundItem( 19278 IShellFolder *psf, 19279 PCUITEMID_CHILD pidl) = 0; 19280 19281 virtual HRESULT STDMETHODCALLTYPE EnterFolder( 19282 IShellFolder *psf, 19283 PCUITEMID_CHILD pidl) = 0; 19284 19285 virtual HRESULT STDMETHODCALLTYPE LeaveFolder( 19286 IShellFolder *psf, 19287 PCUITEMID_CHILD pidl) = 0; 19288 19289 virtual HRESULT STDMETHODCALLTYPE InitializeProgressDialog( 19290 LPWSTR *ppszTitle, 19291 LPWSTR *ppszCancel) = 0; 19292 19293 }; 19294 #ifdef __CRT_UUID_DECL 19295 __CRT_UUID_DECL(INamespaceWalkCB, 0xd92995f8, 0xcf5e, 0x4a76, 0xbf,0x59, 0xea,0xd3,0x9e,0xa2,0xb9,0x7e) 19296 #endif 19297 #else 19298 typedef struct INamespaceWalkCBVtbl { 19299 BEGIN_INTERFACE 19300 19301 /*** IUnknown methods ***/ 19302 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 19303 INamespaceWalkCB *This, 19304 REFIID riid, 19305 void **ppvObject); 19306 19307 ULONG (STDMETHODCALLTYPE *AddRef)( 19308 INamespaceWalkCB *This); 19309 19310 ULONG (STDMETHODCALLTYPE *Release)( 19311 INamespaceWalkCB *This); 19312 19313 /*** INamespaceWalkCB methods ***/ 19314 HRESULT (STDMETHODCALLTYPE *FoundItem)( 19315 INamespaceWalkCB *This, 19316 IShellFolder *psf, 19317 PCUITEMID_CHILD pidl); 19318 19319 HRESULT (STDMETHODCALLTYPE *EnterFolder)( 19320 INamespaceWalkCB *This, 19321 IShellFolder *psf, 19322 PCUITEMID_CHILD pidl); 19323 19324 HRESULT (STDMETHODCALLTYPE *LeaveFolder)( 19325 INamespaceWalkCB *This, 19326 IShellFolder *psf, 19327 PCUITEMID_CHILD pidl); 19328 19329 HRESULT (STDMETHODCALLTYPE *InitializeProgressDialog)( 19330 INamespaceWalkCB *This, 19331 LPWSTR *ppszTitle, 19332 LPWSTR *ppszCancel); 19333 19334 END_INTERFACE 19335 } INamespaceWalkCBVtbl; 19336 19337 interface INamespaceWalkCB { 19338 CONST_VTBL INamespaceWalkCBVtbl* lpVtbl; 19339 }; 19340 19341 #ifdef COBJMACROS 19342 #ifndef WIDL_C_INLINE_WRAPPERS 19343 /*** IUnknown methods ***/ 19344 #define INamespaceWalkCB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 19345 #define INamespaceWalkCB_AddRef(This) (This)->lpVtbl->AddRef(This) 19346 #define INamespaceWalkCB_Release(This) (This)->lpVtbl->Release(This) 19347 /*** INamespaceWalkCB methods ***/ 19348 #define INamespaceWalkCB_FoundItem(This,psf,pidl) (This)->lpVtbl->FoundItem(This,psf,pidl) 19349 #define INamespaceWalkCB_EnterFolder(This,psf,pidl) (This)->lpVtbl->EnterFolder(This,psf,pidl) 19350 #define INamespaceWalkCB_LeaveFolder(This,psf,pidl) (This)->lpVtbl->LeaveFolder(This,psf,pidl) 19351 #define INamespaceWalkCB_InitializeProgressDialog(This,ppszTitle,ppszCancel) (This)->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel) 19352 #else 19353 /*** IUnknown methods ***/ 19354 static inline HRESULT INamespaceWalkCB_QueryInterface(INamespaceWalkCB* This,REFIID riid,void **ppvObject) { 19355 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 19356 } 19357 static inline ULONG INamespaceWalkCB_AddRef(INamespaceWalkCB* This) { 19358 return This->lpVtbl->AddRef(This); 19359 } 19360 static inline ULONG INamespaceWalkCB_Release(INamespaceWalkCB* This) { 19361 return This->lpVtbl->Release(This); 19362 } 19363 /*** INamespaceWalkCB methods ***/ 19364 static inline HRESULT INamespaceWalkCB_FoundItem(INamespaceWalkCB* This,IShellFolder *psf,PCUITEMID_CHILD pidl) { 19365 return This->lpVtbl->FoundItem(This,psf,pidl); 19366 } 19367 static inline HRESULT INamespaceWalkCB_EnterFolder(INamespaceWalkCB* This,IShellFolder *psf,PCUITEMID_CHILD pidl) { 19368 return This->lpVtbl->EnterFolder(This,psf,pidl); 19369 } 19370 static inline HRESULT INamespaceWalkCB_LeaveFolder(INamespaceWalkCB* This,IShellFolder *psf,PCUITEMID_CHILD pidl) { 19371 return This->lpVtbl->LeaveFolder(This,psf,pidl); 19372 } 19373 static inline HRESULT INamespaceWalkCB_InitializeProgressDialog(INamespaceWalkCB* This,LPWSTR *ppszTitle,LPWSTR *ppszCancel) { 19374 return This->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel); 19375 } 19376 #endif 19377 #endif 19378 19379 #endif 19380 19381 19382 #endif /* __INamespaceWalkCB_INTERFACE_DEFINED__ */ 19383 19384 19385 #if _WIN32_IE >= _WIN32_IE_IE70 19386 /***************************************************************************** 19387 * INamespaceWalkCB2 interface 19388 */ 19389 #ifndef __INamespaceWalkCB2_INTERFACE_DEFINED__ 19390 #define __INamespaceWalkCB2_INTERFACE_DEFINED__ 19391 19392 DEFINE_GUID(IID_INamespaceWalkCB2, 0x7ac7492b, 0xc38e, 0x438a, 0x87,0xdb, 0x68,0x73,0x78,0x44,0xff,0x70); 19393 #if defined(__cplusplus) && !defined(CINTERFACE) 19394 MIDL_INTERFACE("7ac7492b-c38e-438a-87db-68737844ff70") 19395 INamespaceWalkCB2 : public INamespaceWalkCB 19396 { 19397 virtual HRESULT STDMETHODCALLTYPE WalkComplete( 19398 HRESULT hr) = 0; 19399 19400 }; 19401 #ifdef __CRT_UUID_DECL 19402 __CRT_UUID_DECL(INamespaceWalkCB2, 0x7ac7492b, 0xc38e, 0x438a, 0x87,0xdb, 0x68,0x73,0x78,0x44,0xff,0x70) 19403 #endif 19404 #else 19405 typedef struct INamespaceWalkCB2Vtbl { 19406 BEGIN_INTERFACE 19407 19408 /*** IUnknown methods ***/ 19409 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 19410 INamespaceWalkCB2 *This, 19411 REFIID riid, 19412 void **ppvObject); 19413 19414 ULONG (STDMETHODCALLTYPE *AddRef)( 19415 INamespaceWalkCB2 *This); 19416 19417 ULONG (STDMETHODCALLTYPE *Release)( 19418 INamespaceWalkCB2 *This); 19419 19420 /*** INamespaceWalkCB methods ***/ 19421 HRESULT (STDMETHODCALLTYPE *FoundItem)( 19422 INamespaceWalkCB2 *This, 19423 IShellFolder *psf, 19424 PCUITEMID_CHILD pidl); 19425 19426 HRESULT (STDMETHODCALLTYPE *EnterFolder)( 19427 INamespaceWalkCB2 *This, 19428 IShellFolder *psf, 19429 PCUITEMID_CHILD pidl); 19430 19431 HRESULT (STDMETHODCALLTYPE *LeaveFolder)( 19432 INamespaceWalkCB2 *This, 19433 IShellFolder *psf, 19434 PCUITEMID_CHILD pidl); 19435 19436 HRESULT (STDMETHODCALLTYPE *InitializeProgressDialog)( 19437 INamespaceWalkCB2 *This, 19438 LPWSTR *ppszTitle, 19439 LPWSTR *ppszCancel); 19440 19441 /*** INamespaceWalkCB2 methods ***/ 19442 HRESULT (STDMETHODCALLTYPE *WalkComplete)( 19443 INamespaceWalkCB2 *This, 19444 HRESULT hr); 19445 19446 END_INTERFACE 19447 } INamespaceWalkCB2Vtbl; 19448 19449 interface INamespaceWalkCB2 { 19450 CONST_VTBL INamespaceWalkCB2Vtbl* lpVtbl; 19451 }; 19452 19453 #ifdef COBJMACROS 19454 #ifndef WIDL_C_INLINE_WRAPPERS 19455 /*** IUnknown methods ***/ 19456 #define INamespaceWalkCB2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 19457 #define INamespaceWalkCB2_AddRef(This) (This)->lpVtbl->AddRef(This) 19458 #define INamespaceWalkCB2_Release(This) (This)->lpVtbl->Release(This) 19459 /*** INamespaceWalkCB methods ***/ 19460 #define INamespaceWalkCB2_FoundItem(This,psf,pidl) (This)->lpVtbl->FoundItem(This,psf,pidl) 19461 #define INamespaceWalkCB2_EnterFolder(This,psf,pidl) (This)->lpVtbl->EnterFolder(This,psf,pidl) 19462 #define INamespaceWalkCB2_LeaveFolder(This,psf,pidl) (This)->lpVtbl->LeaveFolder(This,psf,pidl) 19463 #define INamespaceWalkCB2_InitializeProgressDialog(This,ppszTitle,ppszCancel) (This)->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel) 19464 /*** INamespaceWalkCB2 methods ***/ 19465 #define INamespaceWalkCB2_WalkComplete(This,hr) (This)->lpVtbl->WalkComplete(This,hr) 19466 #else 19467 /*** IUnknown methods ***/ 19468 static inline HRESULT INamespaceWalkCB2_QueryInterface(INamespaceWalkCB2* This,REFIID riid,void **ppvObject) { 19469 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 19470 } 19471 static inline ULONG INamespaceWalkCB2_AddRef(INamespaceWalkCB2* This) { 19472 return This->lpVtbl->AddRef(This); 19473 } 19474 static inline ULONG INamespaceWalkCB2_Release(INamespaceWalkCB2* This) { 19475 return This->lpVtbl->Release(This); 19476 } 19477 /*** INamespaceWalkCB methods ***/ 19478 static inline HRESULT INamespaceWalkCB2_FoundItem(INamespaceWalkCB2* This,IShellFolder *psf,PCUITEMID_CHILD pidl) { 19479 return This->lpVtbl->FoundItem(This,psf,pidl); 19480 } 19481 static inline HRESULT INamespaceWalkCB2_EnterFolder(INamespaceWalkCB2* This,IShellFolder *psf,PCUITEMID_CHILD pidl) { 19482 return This->lpVtbl->EnterFolder(This,psf,pidl); 19483 } 19484 static inline HRESULT INamespaceWalkCB2_LeaveFolder(INamespaceWalkCB2* This,IShellFolder *psf,PCUITEMID_CHILD pidl) { 19485 return This->lpVtbl->LeaveFolder(This,psf,pidl); 19486 } 19487 static inline HRESULT INamespaceWalkCB2_InitializeProgressDialog(INamespaceWalkCB2* This,LPWSTR *ppszTitle,LPWSTR *ppszCancel) { 19488 return This->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel); 19489 } 19490 /*** INamespaceWalkCB2 methods ***/ 19491 static inline HRESULT INamespaceWalkCB2_WalkComplete(INamespaceWalkCB2* This,HRESULT hr) { 19492 return This->lpVtbl->WalkComplete(This,hr); 19493 } 19494 #endif 19495 #endif 19496 19497 #endif 19498 19499 19500 #endif /* __INamespaceWalkCB2_INTERFACE_DEFINED__ */ 19501 19502 #endif 19503 19504 /***************************************************************************** 19505 * INamespaceWalk interface 19506 */ 19507 #ifndef __INamespaceWalk_INTERFACE_DEFINED__ 19508 #define __INamespaceWalk_INTERFACE_DEFINED__ 19509 19510 typedef enum NAMESPACEWALKFLAG { 19511 NSWF_DEFAULT = 0x0, 19512 NSWF_NONE_IMPLIES_ALL = 0x1, 19513 NSWF_ONE_IMPLIES_ALL = 0x2, 19514 NSWF_DONT_TRAVERSE_LINKS = 0x4, 19515 NSWF_DONT_ACCUMULATE_RESULT = 0x8, 19516 NSWF_TRAVERSE_STREAM_JUNCTIONS = 0x10, 19517 NSWF_FILESYSTEM_ONLY = 0x20, 19518 NSWF_SHOW_PROGRESS = 0x40, 19519 NSWF_FLAG_VIEWORDER = 0x80, 19520 NSWF_IGNORE_AUTOPLAY_HIDA = 0x100, 19521 NSWF_ASYNC = 0x200, 19522 NSWF_DONT_RESOLVE_LINKS = 0x400, 19523 NSWF_ACCUMULATE_FOLDERS = 0x800, 19524 NSWF_DONT_SORT = 0x1000, 19525 NSWF_USE_TRANSFER_MEDIUM = 0x2000, 19526 NSWF_DONT_TRAVERSE_STREAM_JUNCTIONS = 0x4000, 19527 NSWF_ANY_IMPLIES_ALL = 0x8000 19528 } NAMESPACEWALKFLAG; 19529 19530 #define NSWF_ENUMERATE_BEST_EFFORT 0x00010000 19531 #define NSWF_TRAVERSE_ONLY_STORAGE 0x00020000 19532 19533 DEFINE_ENUM_FLAG_OPERATORS(NAMESPACEWALKFLAG) 19534 19535 DEFINE_GUID(IID_INamespaceWalk, 0x57ced8a7, 0x3f4a, 0x432c, 0x93,0x50, 0x30,0xf2,0x44,0x83,0xf7,0x4f); 19536 #if defined(__cplusplus) && !defined(CINTERFACE) 19537 MIDL_INTERFACE("57ced8a7-3f4a-432c-9350-30f24483f74f") 19538 INamespaceWalk : public IUnknown 19539 { 19540 virtual HRESULT STDMETHODCALLTYPE Walk( 19541 IUnknown *punkToWalk, 19542 DWORD dwFlags, 19543 int cDepth, 19544 INamespaceWalkCB *pnswcb) = 0; 19545 19546 virtual HRESULT STDMETHODCALLTYPE GetIDArrayResult( 19547 UINT *pcItems, 19548 PIDLIST_ABSOLUTE **prgpidl) = 0; 19549 19550 }; 19551 #ifdef __CRT_UUID_DECL 19552 __CRT_UUID_DECL(INamespaceWalk, 0x57ced8a7, 0x3f4a, 0x432c, 0x93,0x50, 0x30,0xf2,0x44,0x83,0xf7,0x4f) 19553 #endif 19554 #else 19555 typedef struct INamespaceWalkVtbl { 19556 BEGIN_INTERFACE 19557 19558 /*** IUnknown methods ***/ 19559 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 19560 INamespaceWalk *This, 19561 REFIID riid, 19562 void **ppvObject); 19563 19564 ULONG (STDMETHODCALLTYPE *AddRef)( 19565 INamespaceWalk *This); 19566 19567 ULONG (STDMETHODCALLTYPE *Release)( 19568 INamespaceWalk *This); 19569 19570 /*** INamespaceWalk methods ***/ 19571 HRESULT (STDMETHODCALLTYPE *Walk)( 19572 INamespaceWalk *This, 19573 IUnknown *punkToWalk, 19574 DWORD dwFlags, 19575 int cDepth, 19576 INamespaceWalkCB *pnswcb); 19577 19578 HRESULT (STDMETHODCALLTYPE *GetIDArrayResult)( 19579 INamespaceWalk *This, 19580 UINT *pcItems, 19581 PIDLIST_ABSOLUTE **prgpidl); 19582 19583 END_INTERFACE 19584 } INamespaceWalkVtbl; 19585 19586 interface INamespaceWalk { 19587 CONST_VTBL INamespaceWalkVtbl* lpVtbl; 19588 }; 19589 19590 #ifdef COBJMACROS 19591 #ifndef WIDL_C_INLINE_WRAPPERS 19592 /*** IUnknown methods ***/ 19593 #define INamespaceWalk_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 19594 #define INamespaceWalk_AddRef(This) (This)->lpVtbl->AddRef(This) 19595 #define INamespaceWalk_Release(This) (This)->lpVtbl->Release(This) 19596 /*** INamespaceWalk methods ***/ 19597 #define INamespaceWalk_Walk(This,punkToWalk,dwFlags,cDepth,pnswcb) (This)->lpVtbl->Walk(This,punkToWalk,dwFlags,cDepth,pnswcb) 19598 #define INamespaceWalk_GetIDArrayResult(This,pcItems,prgpidl) (This)->lpVtbl->GetIDArrayResult(This,pcItems,prgpidl) 19599 #else 19600 /*** IUnknown methods ***/ 19601 static inline HRESULT INamespaceWalk_QueryInterface(INamespaceWalk* This,REFIID riid,void **ppvObject) { 19602 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 19603 } 19604 static inline ULONG INamespaceWalk_AddRef(INamespaceWalk* This) { 19605 return This->lpVtbl->AddRef(This); 19606 } 19607 static inline ULONG INamespaceWalk_Release(INamespaceWalk* This) { 19608 return This->lpVtbl->Release(This); 19609 } 19610 /*** INamespaceWalk methods ***/ 19611 static inline HRESULT INamespaceWalk_Walk(INamespaceWalk* This,IUnknown *punkToWalk,DWORD dwFlags,int cDepth,INamespaceWalkCB *pnswcb) { 19612 return This->lpVtbl->Walk(This,punkToWalk,dwFlags,cDepth,pnswcb); 19613 } 19614 static inline HRESULT INamespaceWalk_GetIDArrayResult(INamespaceWalk* This,UINT *pcItems,PIDLIST_ABSOLUTE **prgpidl) { 19615 return This->lpVtbl->GetIDArrayResult(This,pcItems,prgpidl); 19616 } 19617 #endif 19618 #endif 19619 19620 #endif 19621 19622 19623 #endif /* __INamespaceWalk_INTERFACE_DEFINED__ */ 19624 19625 19626 __forceinline void FreeIDListArray(PIDLIST_RELATIVE *ppidls, UINT cItems) { 19627 UINT i; 19628 for (i = 0; i < cItems; i++) { 19629 CoTaskMemFree(ppidls[i]); 19630 } 19631 CoTaskMemFree(ppidls); 19632 } 19633 #if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus) 19634 __forceinline void FreeIDListArrayFull(PIDLIST_ABSOLUTE *ppidls, UINT cItems) { 19635 UINT i; 19636 for (i = 0; i < cItems; i++) 19637 CoTaskMemFree(ppidls[i]); 19638 CoTaskMemFree(ppidls); 19639 } 19640 __forceinline void FreeIDListArrayChild(PITEMID_CHILD *ppidls, UINT cItems) { 19641 UINT i; 19642 for (i = 0; i < cItems; i++) 19643 CoTaskMemFree(ppidls[i]); 19644 CoTaskMemFree(ppidls); 19645 } 19646 #else 19647 #define FreeIDListArrayFull FreeIDListArray 19648 #define FreeIDListArrayChild FreeIDListArray 19649 #endif 19650 19651 #define ACDD_VISIBLE 0x1 19652 19653 /***************************************************************************** 19654 * IAutoCompleteDropDown interface 19655 */ 19656 #ifndef __IAutoCompleteDropDown_INTERFACE_DEFINED__ 19657 #define __IAutoCompleteDropDown_INTERFACE_DEFINED__ 19658 19659 DEFINE_GUID(IID_IAutoCompleteDropDown, 0x3cd141f4, 0x3c6a, 0x11d2, 0xbc,0xaa, 0x00,0xc0,0x4f,0xd9,0x29,0xdb); 19660 #if defined(__cplusplus) && !defined(CINTERFACE) 19661 MIDL_INTERFACE("3cd141f4-3c6a-11d2-bcaa-00c04fd929db") 19662 IAutoCompleteDropDown : public IUnknown 19663 { 19664 virtual HRESULT STDMETHODCALLTYPE GetDropDownStatus( 19665 DWORD *pdwFlags, 19666 LPWSTR *ppwszString) = 0; 19667 19668 virtual HRESULT STDMETHODCALLTYPE ResetEnumerator( 19669 ) = 0; 19670 19671 }; 19672 #ifdef __CRT_UUID_DECL 19673 __CRT_UUID_DECL(IAutoCompleteDropDown, 0x3cd141f4, 0x3c6a, 0x11d2, 0xbc,0xaa, 0x00,0xc0,0x4f,0xd9,0x29,0xdb) 19674 #endif 19675 #else 19676 typedef struct IAutoCompleteDropDownVtbl { 19677 BEGIN_INTERFACE 19678 19679 /*** IUnknown methods ***/ 19680 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 19681 IAutoCompleteDropDown *This, 19682 REFIID riid, 19683 void **ppvObject); 19684 19685 ULONG (STDMETHODCALLTYPE *AddRef)( 19686 IAutoCompleteDropDown *This); 19687 19688 ULONG (STDMETHODCALLTYPE *Release)( 19689 IAutoCompleteDropDown *This); 19690 19691 /*** IAutoCompleteDropDown methods ***/ 19692 HRESULT (STDMETHODCALLTYPE *GetDropDownStatus)( 19693 IAutoCompleteDropDown *This, 19694 DWORD *pdwFlags, 19695 LPWSTR *ppwszString); 19696 19697 HRESULT (STDMETHODCALLTYPE *ResetEnumerator)( 19698 IAutoCompleteDropDown *This); 19699 19700 END_INTERFACE 19701 } IAutoCompleteDropDownVtbl; 19702 19703 interface IAutoCompleteDropDown { 19704 CONST_VTBL IAutoCompleteDropDownVtbl* lpVtbl; 19705 }; 19706 19707 #ifdef COBJMACROS 19708 #ifndef WIDL_C_INLINE_WRAPPERS 19709 /*** IUnknown methods ***/ 19710 #define IAutoCompleteDropDown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 19711 #define IAutoCompleteDropDown_AddRef(This) (This)->lpVtbl->AddRef(This) 19712 #define IAutoCompleteDropDown_Release(This) (This)->lpVtbl->Release(This) 19713 /*** IAutoCompleteDropDown methods ***/ 19714 #define IAutoCompleteDropDown_GetDropDownStatus(This,pdwFlags,ppwszString) (This)->lpVtbl->GetDropDownStatus(This,pdwFlags,ppwszString) 19715 #define IAutoCompleteDropDown_ResetEnumerator(This) (This)->lpVtbl->ResetEnumerator(This) 19716 #else 19717 /*** IUnknown methods ***/ 19718 static inline HRESULT IAutoCompleteDropDown_QueryInterface(IAutoCompleteDropDown* This,REFIID riid,void **ppvObject) { 19719 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 19720 } 19721 static inline ULONG IAutoCompleteDropDown_AddRef(IAutoCompleteDropDown* This) { 19722 return This->lpVtbl->AddRef(This); 19723 } 19724 static inline ULONG IAutoCompleteDropDown_Release(IAutoCompleteDropDown* This) { 19725 return This->lpVtbl->Release(This); 19726 } 19727 /*** IAutoCompleteDropDown methods ***/ 19728 static inline HRESULT IAutoCompleteDropDown_GetDropDownStatus(IAutoCompleteDropDown* This,DWORD *pdwFlags,LPWSTR *ppwszString) { 19729 return This->lpVtbl->GetDropDownStatus(This,pdwFlags,ppwszString); 19730 } 19731 static inline HRESULT IAutoCompleteDropDown_ResetEnumerator(IAutoCompleteDropDown* This) { 19732 return This->lpVtbl->ResetEnumerator(This); 19733 } 19734 #endif 19735 #endif 19736 19737 #endif 19738 19739 19740 #endif /* __IAutoCompleteDropDown_INTERFACE_DEFINED__ */ 19741 19742 19743 #include <pshpack8.h> 19744 typedef struct tagBANDSITEINFO { 19745 DWORD dwMask; 19746 DWORD dwState; 19747 DWORD dwStyle; 19748 } BANDSITEINFO; 19749 #include <poppack.h> 19750 enum tagBANDSITECID { 19751 BSID_BANDADDED = 0, 19752 BSID_BANDREMOVED = 1 19753 }; 19754 19755 #define BSIM_STATE 0x00000001 19756 #define BSIM_STYLE 0x00000002 19757 19758 #define BSSF_VISIBLE 0x00000001 19759 #define BSSF_NOTITLE 0x00000002 19760 #define BSSF_UNDELETEABLE 0x00001000 19761 19762 #define BSIS_AUTOGRIPPER 0x00000000 19763 #define BSIS_NOGRIPPER 0x00000001 19764 #define BSIS_ALWAYSGRIPPER 0x00000002 19765 #define BSIS_LEFTALIGN 0x00000004 19766 #define BSIS_SINGLECLICK 0x00000008 19767 #define BSIS_NOCONTEXTMENU 0x00000010 19768 #define BSIS_NODROPTARGET 0x00000020 19769 #define BSIS_NOCAPTION 0x00000040 19770 #define BSIS_PREFERNOLINEBREAK 0x00000080 19771 #define BSIS_LOCKED 0x00000100 19772 #if _WIN32_IE >= _WIN32_IE_IE70 19773 #define BSIS_PRESERVEORDERDURINGLAYOUT 0x00000200 19774 #define BSIS_FIXEDORDER 0x00000400 19775 #endif 19776 19777 #define SID_SBandSite IID_IBandSite 19778 #define CGID_BandSite IID_IBandSite 19779 19780 /***************************************************************************** 19781 * IBandSite interface 19782 */ 19783 #ifndef __IBandSite_INTERFACE_DEFINED__ 19784 #define __IBandSite_INTERFACE_DEFINED__ 19785 19786 DEFINE_GUID(IID_IBandSite, 0x4cf504b0, 0xde96, 0x11d0, 0x8b,0x3f, 0x00,0xa0,0xc9,0x11,0xe8,0xe5); 19787 #if defined(__cplusplus) && !defined(CINTERFACE) 19788 MIDL_INTERFACE("4cf504b0-de96-11d0-8b3f-00a0c911e8e5") 19789 IBandSite : public IUnknown 19790 { 19791 virtual HRESULT STDMETHODCALLTYPE AddBand( 19792 IUnknown *punk) = 0; 19793 19794 virtual HRESULT STDMETHODCALLTYPE EnumBands( 19795 UINT uBand, 19796 DWORD *pdwBandID) = 0; 19797 19798 virtual HRESULT STDMETHODCALLTYPE QueryBand( 19799 DWORD dwBandID, 19800 IDeskBand **ppstb, 19801 DWORD *pdwState, 19802 LPWSTR pszName, 19803 int cchName) = 0; 19804 19805 virtual HRESULT STDMETHODCALLTYPE SetBandState( 19806 DWORD dwBandID, 19807 DWORD dwMask, 19808 DWORD dwState) = 0; 19809 19810 virtual HRESULT STDMETHODCALLTYPE RemoveBand( 19811 DWORD dwBandID) = 0; 19812 19813 virtual HRESULT STDMETHODCALLTYPE GetBandObject( 19814 DWORD dwBandID, 19815 REFIID riid, 19816 void **ppv) = 0; 19817 19818 virtual HRESULT STDMETHODCALLTYPE SetBandSiteInfo( 19819 const BANDSITEINFO *pbsinfo) = 0; 19820 19821 virtual HRESULT STDMETHODCALLTYPE GetBandSiteInfo( 19822 BANDSITEINFO *pbsinfo) = 0; 19823 19824 }; 19825 #ifdef __CRT_UUID_DECL 19826 __CRT_UUID_DECL(IBandSite, 0x4cf504b0, 0xde96, 0x11d0, 0x8b,0x3f, 0x00,0xa0,0xc9,0x11,0xe8,0xe5) 19827 #endif 19828 #else 19829 typedef struct IBandSiteVtbl { 19830 BEGIN_INTERFACE 19831 19832 /*** IUnknown methods ***/ 19833 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 19834 IBandSite *This, 19835 REFIID riid, 19836 void **ppvObject); 19837 19838 ULONG (STDMETHODCALLTYPE *AddRef)( 19839 IBandSite *This); 19840 19841 ULONG (STDMETHODCALLTYPE *Release)( 19842 IBandSite *This); 19843 19844 /*** IBandSite methods ***/ 19845 HRESULT (STDMETHODCALLTYPE *AddBand)( 19846 IBandSite *This, 19847 IUnknown *punk); 19848 19849 HRESULT (STDMETHODCALLTYPE *EnumBands)( 19850 IBandSite *This, 19851 UINT uBand, 19852 DWORD *pdwBandID); 19853 19854 HRESULT (STDMETHODCALLTYPE *QueryBand)( 19855 IBandSite *This, 19856 DWORD dwBandID, 19857 IDeskBand **ppstb, 19858 DWORD *pdwState, 19859 LPWSTR pszName, 19860 int cchName); 19861 19862 HRESULT (STDMETHODCALLTYPE *SetBandState)( 19863 IBandSite *This, 19864 DWORD dwBandID, 19865 DWORD dwMask, 19866 DWORD dwState); 19867 19868 HRESULT (STDMETHODCALLTYPE *RemoveBand)( 19869 IBandSite *This, 19870 DWORD dwBandID); 19871 19872 HRESULT (STDMETHODCALLTYPE *GetBandObject)( 19873 IBandSite *This, 19874 DWORD dwBandID, 19875 REFIID riid, 19876 void **ppv); 19877 19878 HRESULT (STDMETHODCALLTYPE *SetBandSiteInfo)( 19879 IBandSite *This, 19880 const BANDSITEINFO *pbsinfo); 19881 19882 HRESULT (STDMETHODCALLTYPE *GetBandSiteInfo)( 19883 IBandSite *This, 19884 BANDSITEINFO *pbsinfo); 19885 19886 END_INTERFACE 19887 } IBandSiteVtbl; 19888 19889 interface IBandSite { 19890 CONST_VTBL IBandSiteVtbl* lpVtbl; 19891 }; 19892 19893 #ifdef COBJMACROS 19894 #ifndef WIDL_C_INLINE_WRAPPERS 19895 /*** IUnknown methods ***/ 19896 #define IBandSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 19897 #define IBandSite_AddRef(This) (This)->lpVtbl->AddRef(This) 19898 #define IBandSite_Release(This) (This)->lpVtbl->Release(This) 19899 /*** IBandSite methods ***/ 19900 #define IBandSite_AddBand(This,punk) (This)->lpVtbl->AddBand(This,punk) 19901 #define IBandSite_EnumBands(This,uBand,pdwBandID) (This)->lpVtbl->EnumBands(This,uBand,pdwBandID) 19902 #define IBandSite_QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName) (This)->lpVtbl->QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName) 19903 #define IBandSite_SetBandState(This,dwBandID,dwMask,dwState) (This)->lpVtbl->SetBandState(This,dwBandID,dwMask,dwState) 19904 #define IBandSite_RemoveBand(This,dwBandID) (This)->lpVtbl->RemoveBand(This,dwBandID) 19905 #define IBandSite_GetBandObject(This,dwBandID,riid,ppv) (This)->lpVtbl->GetBandObject(This,dwBandID,riid,ppv) 19906 #define IBandSite_SetBandSiteInfo(This,pbsinfo) (This)->lpVtbl->SetBandSiteInfo(This,pbsinfo) 19907 #define IBandSite_GetBandSiteInfo(This,pbsinfo) (This)->lpVtbl->GetBandSiteInfo(This,pbsinfo) 19908 #else 19909 /*** IUnknown methods ***/ 19910 static inline HRESULT IBandSite_QueryInterface(IBandSite* This,REFIID riid,void **ppvObject) { 19911 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 19912 } 19913 static inline ULONG IBandSite_AddRef(IBandSite* This) { 19914 return This->lpVtbl->AddRef(This); 19915 } 19916 static inline ULONG IBandSite_Release(IBandSite* This) { 19917 return This->lpVtbl->Release(This); 19918 } 19919 /*** IBandSite methods ***/ 19920 static inline HRESULT IBandSite_AddBand(IBandSite* This,IUnknown *punk) { 19921 return This->lpVtbl->AddBand(This,punk); 19922 } 19923 static inline HRESULT IBandSite_EnumBands(IBandSite* This,UINT uBand,DWORD *pdwBandID) { 19924 return This->lpVtbl->EnumBands(This,uBand,pdwBandID); 19925 } 19926 static inline HRESULT IBandSite_QueryBand(IBandSite* This,DWORD dwBandID,IDeskBand **ppstb,DWORD *pdwState,LPWSTR pszName,int cchName) { 19927 return This->lpVtbl->QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName); 19928 } 19929 static inline HRESULT IBandSite_SetBandState(IBandSite* This,DWORD dwBandID,DWORD dwMask,DWORD dwState) { 19930 return This->lpVtbl->SetBandState(This,dwBandID,dwMask,dwState); 19931 } 19932 static inline HRESULT IBandSite_RemoveBand(IBandSite* This,DWORD dwBandID) { 19933 return This->lpVtbl->RemoveBand(This,dwBandID); 19934 } 19935 static inline HRESULT IBandSite_GetBandObject(IBandSite* This,DWORD dwBandID,REFIID riid,void **ppv) { 19936 return This->lpVtbl->GetBandObject(This,dwBandID,riid,ppv); 19937 } 19938 static inline HRESULT IBandSite_SetBandSiteInfo(IBandSite* This,const BANDSITEINFO *pbsinfo) { 19939 return This->lpVtbl->SetBandSiteInfo(This,pbsinfo); 19940 } 19941 static inline HRESULT IBandSite_GetBandSiteInfo(IBandSite* This,BANDSITEINFO *pbsinfo) { 19942 return This->lpVtbl->GetBandSiteInfo(This,pbsinfo); 19943 } 19944 #endif 19945 #endif 19946 19947 #endif 19948 19949 HRESULT STDMETHODCALLTYPE IBandSite_RemoteQueryBand_Proxy( 19950 IBandSite* This, 19951 DWORD dwBandID, 19952 IDeskBand **ppstb, 19953 DWORD *pdwState, 19954 LPWSTR pszName, 19955 int cchName); 19956 void __RPC_STUB IBandSite_RemoteQueryBand_Stub( 19957 IRpcStubBuffer* This, 19958 IRpcChannelBuffer* pRpcChannelBuffer, 19959 PRPC_MESSAGE pRpcMessage, 19960 DWORD* pdwStubPhase); 19961 HRESULT CALLBACK IBandSite_QueryBand_Proxy( 19962 IBandSite* This, 19963 DWORD dwBandID, 19964 IDeskBand **ppstb, 19965 DWORD *pdwState, 19966 LPWSTR pszName, 19967 int cchName); 19968 HRESULT __RPC_STUB IBandSite_QueryBand_Stub( 19969 IBandSite* This, 19970 DWORD dwBandID, 19971 IDeskBand **ppstb, 19972 DWORD *pdwState, 19973 LPWSTR pszName, 19974 int cchName); 19975 19976 #endif /* __IBandSite_INTERFACE_DEFINED__ */ 19977 19978 19979 /***************************************************************************** 19980 * IModalWindow interface 19981 */ 19982 #ifndef __IModalWindow_INTERFACE_DEFINED__ 19983 #define __IModalWindow_INTERFACE_DEFINED__ 19984 19985 DEFINE_GUID(IID_IModalWindow, 0xb4db1657, 0x70d7, 0x485e, 0x8e,0x3e, 0x6f,0xcb,0x5a,0x5c,0x18,0x02); 19986 #if defined(__cplusplus) && !defined(CINTERFACE) 19987 MIDL_INTERFACE("b4db1657-70d7-485e-8e3e-6fcb5a5c1802") 19988 IModalWindow : public IUnknown 19989 { 19990 virtual HRESULT STDMETHODCALLTYPE Show( 19991 HWND hwndOwner) = 0; 19992 19993 }; 19994 #ifdef __CRT_UUID_DECL 19995 __CRT_UUID_DECL(IModalWindow, 0xb4db1657, 0x70d7, 0x485e, 0x8e,0x3e, 0x6f,0xcb,0x5a,0x5c,0x18,0x02) 19996 #endif 19997 #else 19998 typedef struct IModalWindowVtbl { 19999 BEGIN_INTERFACE 20000 20001 /*** IUnknown methods ***/ 20002 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 20003 IModalWindow *This, 20004 REFIID riid, 20005 void **ppvObject); 20006 20007 ULONG (STDMETHODCALLTYPE *AddRef)( 20008 IModalWindow *This); 20009 20010 ULONG (STDMETHODCALLTYPE *Release)( 20011 IModalWindow *This); 20012 20013 /*** IModalWindow methods ***/ 20014 HRESULT (STDMETHODCALLTYPE *Show)( 20015 IModalWindow *This, 20016 HWND hwndOwner); 20017 20018 END_INTERFACE 20019 } IModalWindowVtbl; 20020 20021 interface IModalWindow { 20022 CONST_VTBL IModalWindowVtbl* lpVtbl; 20023 }; 20024 20025 #ifdef COBJMACROS 20026 #ifndef WIDL_C_INLINE_WRAPPERS 20027 /*** IUnknown methods ***/ 20028 #define IModalWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 20029 #define IModalWindow_AddRef(This) (This)->lpVtbl->AddRef(This) 20030 #define IModalWindow_Release(This) (This)->lpVtbl->Release(This) 20031 /*** IModalWindow methods ***/ 20032 #define IModalWindow_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner) 20033 #else 20034 /*** IUnknown methods ***/ 20035 static inline HRESULT IModalWindow_QueryInterface(IModalWindow* This,REFIID riid,void **ppvObject) { 20036 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 20037 } 20038 static inline ULONG IModalWindow_AddRef(IModalWindow* This) { 20039 return This->lpVtbl->AddRef(This); 20040 } 20041 static inline ULONG IModalWindow_Release(IModalWindow* This) { 20042 return This->lpVtbl->Release(This); 20043 } 20044 /*** IModalWindow methods ***/ 20045 static inline HRESULT IModalWindow_Show(IModalWindow* This,HWND hwndOwner) { 20046 return This->lpVtbl->Show(This,hwndOwner); 20047 } 20048 #endif 20049 #endif 20050 20051 #endif 20052 20053 HRESULT STDMETHODCALLTYPE IModalWindow_RemoteShow_Proxy( 20054 IModalWindow* This, 20055 HWND hwndOwner); 20056 void __RPC_STUB IModalWindow_RemoteShow_Stub( 20057 IRpcStubBuffer* This, 20058 IRpcChannelBuffer* pRpcChannelBuffer, 20059 PRPC_MESSAGE pRpcMessage, 20060 DWORD* pdwStubPhase); 20061 HRESULT CALLBACK IModalWindow_Show_Proxy( 20062 IModalWindow* This, 20063 HWND hwndOwner); 20064 HRESULT __RPC_STUB IModalWindow_Show_Stub( 20065 IModalWindow* This, 20066 HWND hwndOwner); 20067 20068 #endif /* __IModalWindow_INTERFACE_DEFINED__ */ 20069 20070 20071 #define PROPSTR_EXTENSIONCOMPLETIONSTATE L"ExtensionCompletionState" 20072 20073 enum tagCDBURNINGEXTENSIONRET { 20074 CDBE_RET_DEFAULT = 0x0, 20075 CDBE_RET_DONTRUNOTHEREXTS = 0x1, 20076 CDBE_RET_STOPWIZARD = 0x2 20077 }; 20078 20079 #define SID_CDWizardHost IID_ICDBurnExt 20080 20081 enum _CDBE_ACTIONS { 20082 CDBE_TYPE_MUSIC = 0x1, 20083 CDBE_TYPE_DATA = 0x2, 20084 CDBE_TYPE_ALL = (int)0xffffffff 20085 }; 20086 20087 typedef DWORD CDBE_ACTIONS; 20088 20089 /***************************************************************************** 20090 * ICDBurnExt interface 20091 */ 20092 #ifndef __ICDBurnExt_INTERFACE_DEFINED__ 20093 #define __ICDBurnExt_INTERFACE_DEFINED__ 20094 20095 DEFINE_GUID(IID_ICDBurnExt, 0x2271dcca, 0x74fc, 0x4414, 0x8f,0xb7, 0xc5,0x6b,0x05,0xac,0xe2,0xd7); 20096 #if defined(__cplusplus) && !defined(CINTERFACE) 20097 MIDL_INTERFACE("2271dcca-74fc-4414-8fb7-c56b05ace2d7") 20098 ICDBurnExt : public IUnknown 20099 { 20100 virtual HRESULT STDMETHODCALLTYPE GetSupportedActionTypes( 20101 CDBE_ACTIONS *pdwActions) = 0; 20102 20103 }; 20104 #ifdef __CRT_UUID_DECL 20105 __CRT_UUID_DECL(ICDBurnExt, 0x2271dcca, 0x74fc, 0x4414, 0x8f,0xb7, 0xc5,0x6b,0x05,0xac,0xe2,0xd7) 20106 #endif 20107 #else 20108 typedef struct ICDBurnExtVtbl { 20109 BEGIN_INTERFACE 20110 20111 /*** IUnknown methods ***/ 20112 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 20113 ICDBurnExt *This, 20114 REFIID riid, 20115 void **ppvObject); 20116 20117 ULONG (STDMETHODCALLTYPE *AddRef)( 20118 ICDBurnExt *This); 20119 20120 ULONG (STDMETHODCALLTYPE *Release)( 20121 ICDBurnExt *This); 20122 20123 /*** ICDBurnExt methods ***/ 20124 HRESULT (STDMETHODCALLTYPE *GetSupportedActionTypes)( 20125 ICDBurnExt *This, 20126 CDBE_ACTIONS *pdwActions); 20127 20128 END_INTERFACE 20129 } ICDBurnExtVtbl; 20130 20131 interface ICDBurnExt { 20132 CONST_VTBL ICDBurnExtVtbl* lpVtbl; 20133 }; 20134 20135 #ifdef COBJMACROS 20136 #ifndef WIDL_C_INLINE_WRAPPERS 20137 /*** IUnknown methods ***/ 20138 #define ICDBurnExt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 20139 #define ICDBurnExt_AddRef(This) (This)->lpVtbl->AddRef(This) 20140 #define ICDBurnExt_Release(This) (This)->lpVtbl->Release(This) 20141 /*** ICDBurnExt methods ***/ 20142 #define ICDBurnExt_GetSupportedActionTypes(This,pdwActions) (This)->lpVtbl->GetSupportedActionTypes(This,pdwActions) 20143 #else 20144 /*** IUnknown methods ***/ 20145 static inline HRESULT ICDBurnExt_QueryInterface(ICDBurnExt* This,REFIID riid,void **ppvObject) { 20146 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 20147 } 20148 static inline ULONG ICDBurnExt_AddRef(ICDBurnExt* This) { 20149 return This->lpVtbl->AddRef(This); 20150 } 20151 static inline ULONG ICDBurnExt_Release(ICDBurnExt* This) { 20152 return This->lpVtbl->Release(This); 20153 } 20154 /*** ICDBurnExt methods ***/ 20155 static inline HRESULT ICDBurnExt_GetSupportedActionTypes(ICDBurnExt* This,CDBE_ACTIONS *pdwActions) { 20156 return This->lpVtbl->GetSupportedActionTypes(This,pdwActions); 20157 } 20158 #endif 20159 #endif 20160 20161 #endif 20162 20163 20164 #endif /* __ICDBurnExt_INTERFACE_DEFINED__ */ 20165 20166 20167 /***************************************************************************** 20168 * IContextMenuSite interface 20169 */ 20170 #ifndef __IContextMenuSite_INTERFACE_DEFINED__ 20171 #define __IContextMenuSite_INTERFACE_DEFINED__ 20172 20173 DEFINE_GUID(IID_IContextMenuSite, 0x0811aebe, 0x0b87, 0x4c54, 0x9e,0x72, 0x54,0x8c,0xf6,0x49,0x01,0x6b); 20174 #if defined(__cplusplus) && !defined(CINTERFACE) 20175 MIDL_INTERFACE("0811aebe-0b87-4c54-9e72-548cf649016b") 20176 IContextMenuSite : public IUnknown 20177 { 20178 virtual HRESULT STDMETHODCALLTYPE DoContextMenuPopup( 20179 IUnknown *punkContextMenu, 20180 UINT fFlags, 20181 POINT pt) = 0; 20182 20183 }; 20184 #ifdef __CRT_UUID_DECL 20185 __CRT_UUID_DECL(IContextMenuSite, 0x0811aebe, 0x0b87, 0x4c54, 0x9e,0x72, 0x54,0x8c,0xf6,0x49,0x01,0x6b) 20186 #endif 20187 #else 20188 typedef struct IContextMenuSiteVtbl { 20189 BEGIN_INTERFACE 20190 20191 /*** IUnknown methods ***/ 20192 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 20193 IContextMenuSite *This, 20194 REFIID riid, 20195 void **ppvObject); 20196 20197 ULONG (STDMETHODCALLTYPE *AddRef)( 20198 IContextMenuSite *This); 20199 20200 ULONG (STDMETHODCALLTYPE *Release)( 20201 IContextMenuSite *This); 20202 20203 /*** IContextMenuSite methods ***/ 20204 HRESULT (STDMETHODCALLTYPE *DoContextMenuPopup)( 20205 IContextMenuSite *This, 20206 IUnknown *punkContextMenu, 20207 UINT fFlags, 20208 POINT pt); 20209 20210 END_INTERFACE 20211 } IContextMenuSiteVtbl; 20212 20213 interface IContextMenuSite { 20214 CONST_VTBL IContextMenuSiteVtbl* lpVtbl; 20215 }; 20216 20217 #ifdef COBJMACROS 20218 #ifndef WIDL_C_INLINE_WRAPPERS 20219 /*** IUnknown methods ***/ 20220 #define IContextMenuSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 20221 #define IContextMenuSite_AddRef(This) (This)->lpVtbl->AddRef(This) 20222 #define IContextMenuSite_Release(This) (This)->lpVtbl->Release(This) 20223 /*** IContextMenuSite methods ***/ 20224 #define IContextMenuSite_DoContextMenuPopup(This,punkContextMenu,fFlags,pt) (This)->lpVtbl->DoContextMenuPopup(This,punkContextMenu,fFlags,pt) 20225 #else 20226 /*** IUnknown methods ***/ 20227 static inline HRESULT IContextMenuSite_QueryInterface(IContextMenuSite* This,REFIID riid,void **ppvObject) { 20228 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 20229 } 20230 static inline ULONG IContextMenuSite_AddRef(IContextMenuSite* This) { 20231 return This->lpVtbl->AddRef(This); 20232 } 20233 static inline ULONG IContextMenuSite_Release(IContextMenuSite* This) { 20234 return This->lpVtbl->Release(This); 20235 } 20236 /*** IContextMenuSite methods ***/ 20237 static inline HRESULT IContextMenuSite_DoContextMenuPopup(IContextMenuSite* This,IUnknown *punkContextMenu,UINT fFlags,POINT pt) { 20238 return This->lpVtbl->DoContextMenuPopup(This,punkContextMenu,fFlags,pt); 20239 } 20240 #endif 20241 #endif 20242 20243 #endif 20244 20245 20246 #endif /* __IContextMenuSite_INTERFACE_DEFINED__ */ 20247 20248 20249 /***************************************************************************** 20250 * IEnumReadyCallback interface 20251 */ 20252 #ifndef __IEnumReadyCallback_INTERFACE_DEFINED__ 20253 #define __IEnumReadyCallback_INTERFACE_DEFINED__ 20254 20255 DEFINE_GUID(IID_IEnumReadyCallback, 0x61e00d45, 0x8fff, 0x4e60, 0x92,0x4e, 0x65,0x37,0xb6,0x16,0x12,0xdd); 20256 #if defined(__cplusplus) && !defined(CINTERFACE) 20257 MIDL_INTERFACE("61e00d45-8fff-4e60-924e-6537b61612dd") 20258 IEnumReadyCallback : public IUnknown 20259 { 20260 virtual HRESULT STDMETHODCALLTYPE EnumReady( 20261 ) = 0; 20262 20263 }; 20264 #ifdef __CRT_UUID_DECL 20265 __CRT_UUID_DECL(IEnumReadyCallback, 0x61e00d45, 0x8fff, 0x4e60, 0x92,0x4e, 0x65,0x37,0xb6,0x16,0x12,0xdd) 20266 #endif 20267 #else 20268 typedef struct IEnumReadyCallbackVtbl { 20269 BEGIN_INTERFACE 20270 20271 /*** IUnknown methods ***/ 20272 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 20273 IEnumReadyCallback *This, 20274 REFIID riid, 20275 void **ppvObject); 20276 20277 ULONG (STDMETHODCALLTYPE *AddRef)( 20278 IEnumReadyCallback *This); 20279 20280 ULONG (STDMETHODCALLTYPE *Release)( 20281 IEnumReadyCallback *This); 20282 20283 /*** IEnumReadyCallback methods ***/ 20284 HRESULT (STDMETHODCALLTYPE *EnumReady)( 20285 IEnumReadyCallback *This); 20286 20287 END_INTERFACE 20288 } IEnumReadyCallbackVtbl; 20289 20290 interface IEnumReadyCallback { 20291 CONST_VTBL IEnumReadyCallbackVtbl* lpVtbl; 20292 }; 20293 20294 #ifdef COBJMACROS 20295 #ifndef WIDL_C_INLINE_WRAPPERS 20296 /*** IUnknown methods ***/ 20297 #define IEnumReadyCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 20298 #define IEnumReadyCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 20299 #define IEnumReadyCallback_Release(This) (This)->lpVtbl->Release(This) 20300 /*** IEnumReadyCallback methods ***/ 20301 #define IEnumReadyCallback_EnumReady(This) (This)->lpVtbl->EnumReady(This) 20302 #else 20303 /*** IUnknown methods ***/ 20304 static inline HRESULT IEnumReadyCallback_QueryInterface(IEnumReadyCallback* This,REFIID riid,void **ppvObject) { 20305 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 20306 } 20307 static inline ULONG IEnumReadyCallback_AddRef(IEnumReadyCallback* This) { 20308 return This->lpVtbl->AddRef(This); 20309 } 20310 static inline ULONG IEnumReadyCallback_Release(IEnumReadyCallback* This) { 20311 return This->lpVtbl->Release(This); 20312 } 20313 /*** IEnumReadyCallback methods ***/ 20314 static inline HRESULT IEnumReadyCallback_EnumReady(IEnumReadyCallback* This) { 20315 return This->lpVtbl->EnumReady(This); 20316 } 20317 #endif 20318 #endif 20319 20320 #endif 20321 20322 20323 #endif /* __IEnumReadyCallback_INTERFACE_DEFINED__ */ 20324 20325 20326 /***************************************************************************** 20327 * IEnumerableView interface 20328 */ 20329 #ifndef __IEnumerableView_INTERFACE_DEFINED__ 20330 #define __IEnumerableView_INTERFACE_DEFINED__ 20331 20332 DEFINE_GUID(IID_IEnumerableView, 0x8c8bf236, 0x1aec, 0x495f, 0x98,0x94, 0x91,0xd5,0x7c,0x3c,0x68,0x6f); 20333 #if defined(__cplusplus) && !defined(CINTERFACE) 20334 MIDL_INTERFACE("8c8bf236-1aec-495f-9894-91d57c3c686f") 20335 IEnumerableView : public IUnknown 20336 { 20337 virtual HRESULT STDMETHODCALLTYPE SetEnumReadyCallback( 20338 IEnumReadyCallback *percb) = 0; 20339 20340 virtual HRESULT STDMETHODCALLTYPE CreateEnumIDListFromContents( 20341 PCIDLIST_ABSOLUTE pidlFolder, 20342 DWORD dwEnumFlags, 20343 IEnumIDList **ppEnumIDList) = 0; 20344 20345 }; 20346 #ifdef __CRT_UUID_DECL 20347 __CRT_UUID_DECL(IEnumerableView, 0x8c8bf236, 0x1aec, 0x495f, 0x98,0x94, 0x91,0xd5,0x7c,0x3c,0x68,0x6f) 20348 #endif 20349 #else 20350 typedef struct IEnumerableViewVtbl { 20351 BEGIN_INTERFACE 20352 20353 /*** IUnknown methods ***/ 20354 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 20355 IEnumerableView *This, 20356 REFIID riid, 20357 void **ppvObject); 20358 20359 ULONG (STDMETHODCALLTYPE *AddRef)( 20360 IEnumerableView *This); 20361 20362 ULONG (STDMETHODCALLTYPE *Release)( 20363 IEnumerableView *This); 20364 20365 /*** IEnumerableView methods ***/ 20366 HRESULT (STDMETHODCALLTYPE *SetEnumReadyCallback)( 20367 IEnumerableView *This, 20368 IEnumReadyCallback *percb); 20369 20370 HRESULT (STDMETHODCALLTYPE *CreateEnumIDListFromContents)( 20371 IEnumerableView *This, 20372 PCIDLIST_ABSOLUTE pidlFolder, 20373 DWORD dwEnumFlags, 20374 IEnumIDList **ppEnumIDList); 20375 20376 END_INTERFACE 20377 } IEnumerableViewVtbl; 20378 20379 interface IEnumerableView { 20380 CONST_VTBL IEnumerableViewVtbl* lpVtbl; 20381 }; 20382 20383 #ifdef COBJMACROS 20384 #ifndef WIDL_C_INLINE_WRAPPERS 20385 /*** IUnknown methods ***/ 20386 #define IEnumerableView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 20387 #define IEnumerableView_AddRef(This) (This)->lpVtbl->AddRef(This) 20388 #define IEnumerableView_Release(This) (This)->lpVtbl->Release(This) 20389 /*** IEnumerableView methods ***/ 20390 #define IEnumerableView_SetEnumReadyCallback(This,percb) (This)->lpVtbl->SetEnumReadyCallback(This,percb) 20391 #define IEnumerableView_CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList) (This)->lpVtbl->CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList) 20392 #else 20393 /*** IUnknown methods ***/ 20394 static inline HRESULT IEnumerableView_QueryInterface(IEnumerableView* This,REFIID riid,void **ppvObject) { 20395 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 20396 } 20397 static inline ULONG IEnumerableView_AddRef(IEnumerableView* This) { 20398 return This->lpVtbl->AddRef(This); 20399 } 20400 static inline ULONG IEnumerableView_Release(IEnumerableView* This) { 20401 return This->lpVtbl->Release(This); 20402 } 20403 /*** IEnumerableView methods ***/ 20404 static inline HRESULT IEnumerableView_SetEnumReadyCallback(IEnumerableView* This,IEnumReadyCallback *percb) { 20405 return This->lpVtbl->SetEnumReadyCallback(This,percb); 20406 } 20407 static inline HRESULT IEnumerableView_CreateEnumIDListFromContents(IEnumerableView* This,PCIDLIST_ABSOLUTE pidlFolder,DWORD dwEnumFlags,IEnumIDList **ppEnumIDList) { 20408 return This->lpVtbl->CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList); 20409 } 20410 #endif 20411 #endif 20412 20413 #endif 20414 20415 20416 #endif /* __IEnumerableView_INTERFACE_DEFINED__ */ 20417 20418 20419 #define SID_EnumerableView IID_IEnumerableView 20420 20421 /***************************************************************************** 20422 * IInsertItem interface 20423 */ 20424 #ifndef __IInsertItem_INTERFACE_DEFINED__ 20425 #define __IInsertItem_INTERFACE_DEFINED__ 20426 20427 DEFINE_GUID(IID_IInsertItem, 0xd2b57227, 0x3d23, 0x4b95, 0x93,0xc0, 0x49,0x2b,0xd4,0x54,0xc3,0x56); 20428 #if defined(__cplusplus) && !defined(CINTERFACE) 20429 MIDL_INTERFACE("d2b57227-3d23-4b95-93c0-492bd454c356") 20430 IInsertItem : public IUnknown 20431 { 20432 virtual HRESULT STDMETHODCALLTYPE InsertItem( 20433 PCUIDLIST_RELATIVE pidl) = 0; 20434 20435 }; 20436 #ifdef __CRT_UUID_DECL 20437 __CRT_UUID_DECL(IInsertItem, 0xd2b57227, 0x3d23, 0x4b95, 0x93,0xc0, 0x49,0x2b,0xd4,0x54,0xc3,0x56) 20438 #endif 20439 #else 20440 typedef struct IInsertItemVtbl { 20441 BEGIN_INTERFACE 20442 20443 /*** IUnknown methods ***/ 20444 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 20445 IInsertItem *This, 20446 REFIID riid, 20447 void **ppvObject); 20448 20449 ULONG (STDMETHODCALLTYPE *AddRef)( 20450 IInsertItem *This); 20451 20452 ULONG (STDMETHODCALLTYPE *Release)( 20453 IInsertItem *This); 20454 20455 /*** IInsertItem methods ***/ 20456 HRESULT (STDMETHODCALLTYPE *InsertItem)( 20457 IInsertItem *This, 20458 PCUIDLIST_RELATIVE pidl); 20459 20460 END_INTERFACE 20461 } IInsertItemVtbl; 20462 20463 interface IInsertItem { 20464 CONST_VTBL IInsertItemVtbl* lpVtbl; 20465 }; 20466 20467 #ifdef COBJMACROS 20468 #ifndef WIDL_C_INLINE_WRAPPERS 20469 /*** IUnknown methods ***/ 20470 #define IInsertItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 20471 #define IInsertItem_AddRef(This) (This)->lpVtbl->AddRef(This) 20472 #define IInsertItem_Release(This) (This)->lpVtbl->Release(This) 20473 /*** IInsertItem methods ***/ 20474 #define IInsertItem_InsertItem(This,pidl) (This)->lpVtbl->InsertItem(This,pidl) 20475 #else 20476 /*** IUnknown methods ***/ 20477 static inline HRESULT IInsertItem_QueryInterface(IInsertItem* This,REFIID riid,void **ppvObject) { 20478 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 20479 } 20480 static inline ULONG IInsertItem_AddRef(IInsertItem* This) { 20481 return This->lpVtbl->AddRef(This); 20482 } 20483 static inline ULONG IInsertItem_Release(IInsertItem* This) { 20484 return This->lpVtbl->Release(This); 20485 } 20486 /*** IInsertItem methods ***/ 20487 static inline HRESULT IInsertItem_InsertItem(IInsertItem* This,PCUIDLIST_RELATIVE pidl) { 20488 return This->lpVtbl->InsertItem(This,pidl); 20489 } 20490 #endif 20491 #endif 20492 20493 #endif 20494 20495 20496 #endif /* __IInsertItem_INTERFACE_DEFINED__ */ 20497 20498 20499 /***************************************************************************** 20500 * IMenuBand interface 20501 */ 20502 #ifndef __IMenuBand_INTERFACE_DEFINED__ 20503 #define __IMenuBand_INTERFACE_DEFINED__ 20504 20505 enum tagMENUBANDHANDLERCID { 20506 MBHANDCID_PIDLSELECT = 0 20507 }; 20508 20509 DEFINE_GUID(IID_IMenuBand, 0x568804cd, 0xcbd7, 0x11d0, 0x98,0x16, 0x00,0xc0,0x4f,0xd9,0x19,0x72); 20510 #if defined(__cplusplus) && !defined(CINTERFACE) 20511 MIDL_INTERFACE("568804cd-cbd7-11d0-9816-00c04fd91972") 20512 IMenuBand : public IUnknown 20513 { 20514 virtual HRESULT STDMETHODCALLTYPE IsMenuMessage( 20515 MSG *pmsg) = 0; 20516 20517 virtual HRESULT STDMETHODCALLTYPE TranslateMenuMessage( 20518 MSG *pmsg, 20519 LRESULT *plRet) = 0; 20520 20521 }; 20522 #ifdef __CRT_UUID_DECL 20523 __CRT_UUID_DECL(IMenuBand, 0x568804cd, 0xcbd7, 0x11d0, 0x98,0x16, 0x00,0xc0,0x4f,0xd9,0x19,0x72) 20524 #endif 20525 #else 20526 typedef struct IMenuBandVtbl { 20527 BEGIN_INTERFACE 20528 20529 /*** IUnknown methods ***/ 20530 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 20531 IMenuBand *This, 20532 REFIID riid, 20533 void **ppvObject); 20534 20535 ULONG (STDMETHODCALLTYPE *AddRef)( 20536 IMenuBand *This); 20537 20538 ULONG (STDMETHODCALLTYPE *Release)( 20539 IMenuBand *This); 20540 20541 /*** IMenuBand methods ***/ 20542 HRESULT (STDMETHODCALLTYPE *IsMenuMessage)( 20543 IMenuBand *This, 20544 MSG *pmsg); 20545 20546 HRESULT (STDMETHODCALLTYPE *TranslateMenuMessage)( 20547 IMenuBand *This, 20548 MSG *pmsg, 20549 LRESULT *plRet); 20550 20551 END_INTERFACE 20552 } IMenuBandVtbl; 20553 20554 interface IMenuBand { 20555 CONST_VTBL IMenuBandVtbl* lpVtbl; 20556 }; 20557 20558 #ifdef COBJMACROS 20559 #ifndef WIDL_C_INLINE_WRAPPERS 20560 /*** IUnknown methods ***/ 20561 #define IMenuBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 20562 #define IMenuBand_AddRef(This) (This)->lpVtbl->AddRef(This) 20563 #define IMenuBand_Release(This) (This)->lpVtbl->Release(This) 20564 /*** IMenuBand methods ***/ 20565 #define IMenuBand_IsMenuMessage(This,pmsg) (This)->lpVtbl->IsMenuMessage(This,pmsg) 20566 #define IMenuBand_TranslateMenuMessage(This,pmsg,plRet) (This)->lpVtbl->TranslateMenuMessage(This,pmsg,plRet) 20567 #else 20568 /*** IUnknown methods ***/ 20569 static inline HRESULT IMenuBand_QueryInterface(IMenuBand* This,REFIID riid,void **ppvObject) { 20570 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 20571 } 20572 static inline ULONG IMenuBand_AddRef(IMenuBand* This) { 20573 return This->lpVtbl->AddRef(This); 20574 } 20575 static inline ULONG IMenuBand_Release(IMenuBand* This) { 20576 return This->lpVtbl->Release(This); 20577 } 20578 /*** IMenuBand methods ***/ 20579 static inline HRESULT IMenuBand_IsMenuMessage(IMenuBand* This,MSG *pmsg) { 20580 return This->lpVtbl->IsMenuMessage(This,pmsg); 20581 } 20582 static inline HRESULT IMenuBand_TranslateMenuMessage(IMenuBand* This,MSG *pmsg,LRESULT *plRet) { 20583 return This->lpVtbl->TranslateMenuMessage(This,pmsg,plRet); 20584 } 20585 #endif 20586 #endif 20587 20588 #endif 20589 20590 20591 #endif /* __IMenuBand_INTERFACE_DEFINED__ */ 20592 20593 20594 /***************************************************************************** 20595 * IFolderBandPriv interface 20596 */ 20597 #ifndef __IFolderBandPriv_INTERFACE_DEFINED__ 20598 #define __IFolderBandPriv_INTERFACE_DEFINED__ 20599 20600 DEFINE_GUID(IID_IFolderBandPriv, 0x47c01f95, 0xe185, 0x412c, 0xb5,0xc5, 0x4f,0x27,0xdf,0x96,0x5a,0xea); 20601 #if defined(__cplusplus) && !defined(CINTERFACE) 20602 MIDL_INTERFACE("47c01f95-e185-412c-b5c5-4f27df965aea") 20603 IFolderBandPriv : public IUnknown 20604 { 20605 virtual HRESULT STDMETHODCALLTYPE SetCascade( 20606 WINBOOL fCascade) = 0; 20607 20608 virtual HRESULT STDMETHODCALLTYPE SetAccelerators( 20609 WINBOOL fAccelerators) = 0; 20610 20611 virtual HRESULT STDMETHODCALLTYPE SetNoIcons( 20612 WINBOOL fNoIcons) = 0; 20613 20614 virtual HRESULT STDMETHODCALLTYPE SetNoText( 20615 WINBOOL fNoText) = 0; 20616 20617 }; 20618 #ifdef __CRT_UUID_DECL 20619 __CRT_UUID_DECL(IFolderBandPriv, 0x47c01f95, 0xe185, 0x412c, 0xb5,0xc5, 0x4f,0x27,0xdf,0x96,0x5a,0xea) 20620 #endif 20621 #else 20622 typedef struct IFolderBandPrivVtbl { 20623 BEGIN_INTERFACE 20624 20625 /*** IUnknown methods ***/ 20626 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 20627 IFolderBandPriv *This, 20628 REFIID riid, 20629 void **ppvObject); 20630 20631 ULONG (STDMETHODCALLTYPE *AddRef)( 20632 IFolderBandPriv *This); 20633 20634 ULONG (STDMETHODCALLTYPE *Release)( 20635 IFolderBandPriv *This); 20636 20637 /*** IFolderBandPriv methods ***/ 20638 HRESULT (STDMETHODCALLTYPE *SetCascade)( 20639 IFolderBandPriv *This, 20640 WINBOOL fCascade); 20641 20642 HRESULT (STDMETHODCALLTYPE *SetAccelerators)( 20643 IFolderBandPriv *This, 20644 WINBOOL fAccelerators); 20645 20646 HRESULT (STDMETHODCALLTYPE *SetNoIcons)( 20647 IFolderBandPriv *This, 20648 WINBOOL fNoIcons); 20649 20650 HRESULT (STDMETHODCALLTYPE *SetNoText)( 20651 IFolderBandPriv *This, 20652 WINBOOL fNoText); 20653 20654 END_INTERFACE 20655 } IFolderBandPrivVtbl; 20656 20657 interface IFolderBandPriv { 20658 CONST_VTBL IFolderBandPrivVtbl* lpVtbl; 20659 }; 20660 20661 #ifdef COBJMACROS 20662 #ifndef WIDL_C_INLINE_WRAPPERS 20663 /*** IUnknown methods ***/ 20664 #define IFolderBandPriv_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 20665 #define IFolderBandPriv_AddRef(This) (This)->lpVtbl->AddRef(This) 20666 #define IFolderBandPriv_Release(This) (This)->lpVtbl->Release(This) 20667 /*** IFolderBandPriv methods ***/ 20668 #define IFolderBandPriv_SetCascade(This,fCascade) (This)->lpVtbl->SetCascade(This,fCascade) 20669 #define IFolderBandPriv_SetAccelerators(This,fAccelerators) (This)->lpVtbl->SetAccelerators(This,fAccelerators) 20670 #define IFolderBandPriv_SetNoIcons(This,fNoIcons) (This)->lpVtbl->SetNoIcons(This,fNoIcons) 20671 #define IFolderBandPriv_SetNoText(This,fNoText) (This)->lpVtbl->SetNoText(This,fNoText) 20672 #else 20673 /*** IUnknown methods ***/ 20674 static inline HRESULT IFolderBandPriv_QueryInterface(IFolderBandPriv* This,REFIID riid,void **ppvObject) { 20675 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 20676 } 20677 static inline ULONG IFolderBandPriv_AddRef(IFolderBandPriv* This) { 20678 return This->lpVtbl->AddRef(This); 20679 } 20680 static inline ULONG IFolderBandPriv_Release(IFolderBandPriv* This) { 20681 return This->lpVtbl->Release(This); 20682 } 20683 /*** IFolderBandPriv methods ***/ 20684 static inline HRESULT IFolderBandPriv_SetCascade(IFolderBandPriv* This,WINBOOL fCascade) { 20685 return This->lpVtbl->SetCascade(This,fCascade); 20686 } 20687 static inline HRESULT IFolderBandPriv_SetAccelerators(IFolderBandPriv* This,WINBOOL fAccelerators) { 20688 return This->lpVtbl->SetAccelerators(This,fAccelerators); 20689 } 20690 static inline HRESULT IFolderBandPriv_SetNoIcons(IFolderBandPriv* This,WINBOOL fNoIcons) { 20691 return This->lpVtbl->SetNoIcons(This,fNoIcons); 20692 } 20693 static inline HRESULT IFolderBandPriv_SetNoText(IFolderBandPriv* This,WINBOOL fNoText) { 20694 return This->lpVtbl->SetNoText(This,fNoText); 20695 } 20696 #endif 20697 #endif 20698 20699 #endif 20700 20701 20702 #endif /* __IFolderBandPriv_INTERFACE_DEFINED__ */ 20703 20704 20705 /***************************************************************************** 20706 * IRegTreeItem interface 20707 */ 20708 #ifndef __IRegTreeItem_INTERFACE_DEFINED__ 20709 #define __IRegTreeItem_INTERFACE_DEFINED__ 20710 20711 DEFINE_GUID(IID_IRegTreeItem, 0xa9521922, 0x0812, 0x4d44, 0x9e,0xc3, 0x7f,0xd3,0x8c,0x72,0x6f,0x3d); 20712 #if defined(__cplusplus) && !defined(CINTERFACE) 20713 MIDL_INTERFACE("a9521922-0812-4d44-9ec3-7fd38c726f3d") 20714 IRegTreeItem : public IUnknown 20715 { 20716 virtual HRESULT STDMETHODCALLTYPE GetCheckState( 20717 WINBOOL *pbCheck) = 0; 20718 20719 virtual HRESULT STDMETHODCALLTYPE SetCheckState( 20720 WINBOOL bCheck) = 0; 20721 20722 }; 20723 #ifdef __CRT_UUID_DECL 20724 __CRT_UUID_DECL(IRegTreeItem, 0xa9521922, 0x0812, 0x4d44, 0x9e,0xc3, 0x7f,0xd3,0x8c,0x72,0x6f,0x3d) 20725 #endif 20726 #else 20727 typedef struct IRegTreeItemVtbl { 20728 BEGIN_INTERFACE 20729 20730 /*** IUnknown methods ***/ 20731 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 20732 IRegTreeItem *This, 20733 REFIID riid, 20734 void **ppvObject); 20735 20736 ULONG (STDMETHODCALLTYPE *AddRef)( 20737 IRegTreeItem *This); 20738 20739 ULONG (STDMETHODCALLTYPE *Release)( 20740 IRegTreeItem *This); 20741 20742 /*** IRegTreeItem methods ***/ 20743 HRESULT (STDMETHODCALLTYPE *GetCheckState)( 20744 IRegTreeItem *This, 20745 WINBOOL *pbCheck); 20746 20747 HRESULT (STDMETHODCALLTYPE *SetCheckState)( 20748 IRegTreeItem *This, 20749 WINBOOL bCheck); 20750 20751 END_INTERFACE 20752 } IRegTreeItemVtbl; 20753 20754 interface IRegTreeItem { 20755 CONST_VTBL IRegTreeItemVtbl* lpVtbl; 20756 }; 20757 20758 #ifdef COBJMACROS 20759 #ifndef WIDL_C_INLINE_WRAPPERS 20760 /*** IUnknown methods ***/ 20761 #define IRegTreeItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 20762 #define IRegTreeItem_AddRef(This) (This)->lpVtbl->AddRef(This) 20763 #define IRegTreeItem_Release(This) (This)->lpVtbl->Release(This) 20764 /*** IRegTreeItem methods ***/ 20765 #define IRegTreeItem_GetCheckState(This,pbCheck) (This)->lpVtbl->GetCheckState(This,pbCheck) 20766 #define IRegTreeItem_SetCheckState(This,bCheck) (This)->lpVtbl->SetCheckState(This,bCheck) 20767 #else 20768 /*** IUnknown methods ***/ 20769 static inline HRESULT IRegTreeItem_QueryInterface(IRegTreeItem* This,REFIID riid,void **ppvObject) { 20770 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 20771 } 20772 static inline ULONG IRegTreeItem_AddRef(IRegTreeItem* This) { 20773 return This->lpVtbl->AddRef(This); 20774 } 20775 static inline ULONG IRegTreeItem_Release(IRegTreeItem* This) { 20776 return This->lpVtbl->Release(This); 20777 } 20778 /*** IRegTreeItem methods ***/ 20779 static inline HRESULT IRegTreeItem_GetCheckState(IRegTreeItem* This,WINBOOL *pbCheck) { 20780 return This->lpVtbl->GetCheckState(This,pbCheck); 20781 } 20782 static inline HRESULT IRegTreeItem_SetCheckState(IRegTreeItem* This,WINBOOL bCheck) { 20783 return This->lpVtbl->SetCheckState(This,bCheck); 20784 } 20785 #endif 20786 #endif 20787 20788 #endif 20789 20790 20791 #endif /* __IRegTreeItem_INTERFACE_DEFINED__ */ 20792 20793 20794 /***************************************************************************** 20795 * IImageRecompress interface 20796 */ 20797 #ifndef __IImageRecompress_INTERFACE_DEFINED__ 20798 #define __IImageRecompress_INTERFACE_DEFINED__ 20799 20800 DEFINE_GUID(IID_IImageRecompress, 0x505f1513, 0x6b3e, 0x4892, 0xa2,0x72, 0x59,0xf8,0x88,0x9a,0x4d,0x3e); 20801 #if defined(__cplusplus) && !defined(CINTERFACE) 20802 MIDL_INTERFACE("505f1513-6b3e-4892-a272-59f8889a4d3e") 20803 IImageRecompress : public IUnknown 20804 { 20805 virtual HRESULT STDMETHODCALLTYPE RecompressImage( 20806 IShellItem *psi, 20807 int cx, 20808 int cy, 20809 int iQuality, 20810 IStorage *pstg, 20811 IStream **ppstrmOut) = 0; 20812 20813 }; 20814 #ifdef __CRT_UUID_DECL 20815 __CRT_UUID_DECL(IImageRecompress, 0x505f1513, 0x6b3e, 0x4892, 0xa2,0x72, 0x59,0xf8,0x88,0x9a,0x4d,0x3e) 20816 #endif 20817 #else 20818 typedef struct IImageRecompressVtbl { 20819 BEGIN_INTERFACE 20820 20821 /*** IUnknown methods ***/ 20822 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 20823 IImageRecompress *This, 20824 REFIID riid, 20825 void **ppvObject); 20826 20827 ULONG (STDMETHODCALLTYPE *AddRef)( 20828 IImageRecompress *This); 20829 20830 ULONG (STDMETHODCALLTYPE *Release)( 20831 IImageRecompress *This); 20832 20833 /*** IImageRecompress methods ***/ 20834 HRESULT (STDMETHODCALLTYPE *RecompressImage)( 20835 IImageRecompress *This, 20836 IShellItem *psi, 20837 int cx, 20838 int cy, 20839 int iQuality, 20840 IStorage *pstg, 20841 IStream **ppstrmOut); 20842 20843 END_INTERFACE 20844 } IImageRecompressVtbl; 20845 20846 interface IImageRecompress { 20847 CONST_VTBL IImageRecompressVtbl* lpVtbl; 20848 }; 20849 20850 #ifdef COBJMACROS 20851 #ifndef WIDL_C_INLINE_WRAPPERS 20852 /*** IUnknown methods ***/ 20853 #define IImageRecompress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 20854 #define IImageRecompress_AddRef(This) (This)->lpVtbl->AddRef(This) 20855 #define IImageRecompress_Release(This) (This)->lpVtbl->Release(This) 20856 /*** IImageRecompress methods ***/ 20857 #define IImageRecompress_RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut) (This)->lpVtbl->RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut) 20858 #else 20859 /*** IUnknown methods ***/ 20860 static inline HRESULT IImageRecompress_QueryInterface(IImageRecompress* This,REFIID riid,void **ppvObject) { 20861 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 20862 } 20863 static inline ULONG IImageRecompress_AddRef(IImageRecompress* This) { 20864 return This->lpVtbl->AddRef(This); 20865 } 20866 static inline ULONG IImageRecompress_Release(IImageRecompress* This) { 20867 return This->lpVtbl->Release(This); 20868 } 20869 /*** IImageRecompress methods ***/ 20870 static inline HRESULT IImageRecompress_RecompressImage(IImageRecompress* This,IShellItem *psi,int cx,int cy,int iQuality,IStorage *pstg,IStream **ppstrmOut) { 20871 return This->lpVtbl->RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut); 20872 } 20873 #endif 20874 #endif 20875 20876 #endif 20877 20878 20879 #endif /* __IImageRecompress_INTERFACE_DEFINED__ */ 20880 20881 20882 #if _WIN32_IE >= _WIN32_IE_IE60 20883 /***************************************************************************** 20884 * IDeskBar interface 20885 */ 20886 #ifndef __IDeskBar_INTERFACE_DEFINED__ 20887 #define __IDeskBar_INTERFACE_DEFINED__ 20888 20889 DEFINE_GUID(IID_IDeskBar, 0xeb0fe173, 0x1a3a, 0x11d0, 0x89,0xb3, 0x00,0xa0,0xc9,0x0a,0x90,0xac); 20890 #if defined(__cplusplus) && !defined(CINTERFACE) 20891 MIDL_INTERFACE("eb0fe173-1a3a-11d0-89b3-00a0c90a90ac") 20892 IDeskBar : public IOleWindow 20893 { 20894 virtual HRESULT STDMETHODCALLTYPE SetClient( 20895 IUnknown *punkClient) = 0; 20896 20897 virtual HRESULT STDMETHODCALLTYPE GetClient( 20898 IUnknown **ppunkClient) = 0; 20899 20900 virtual HRESULT STDMETHODCALLTYPE OnPosRectChangeDB( 20901 RECT *prc) = 0; 20902 20903 }; 20904 #ifdef __CRT_UUID_DECL 20905 __CRT_UUID_DECL(IDeskBar, 0xeb0fe173, 0x1a3a, 0x11d0, 0x89,0xb3, 0x00,0xa0,0xc9,0x0a,0x90,0xac) 20906 #endif 20907 #else 20908 typedef struct IDeskBarVtbl { 20909 BEGIN_INTERFACE 20910 20911 /*** IUnknown methods ***/ 20912 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 20913 IDeskBar *This, 20914 REFIID riid, 20915 void **ppvObject); 20916 20917 ULONG (STDMETHODCALLTYPE *AddRef)( 20918 IDeskBar *This); 20919 20920 ULONG (STDMETHODCALLTYPE *Release)( 20921 IDeskBar *This); 20922 20923 /*** IOleWindow methods ***/ 20924 HRESULT (STDMETHODCALLTYPE *GetWindow)( 20925 IDeskBar *This, 20926 HWND *phwnd); 20927 20928 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 20929 IDeskBar *This, 20930 WINBOOL fEnterMode); 20931 20932 /*** IDeskBar methods ***/ 20933 HRESULT (STDMETHODCALLTYPE *SetClient)( 20934 IDeskBar *This, 20935 IUnknown *punkClient); 20936 20937 HRESULT (STDMETHODCALLTYPE *GetClient)( 20938 IDeskBar *This, 20939 IUnknown **ppunkClient); 20940 20941 HRESULT (STDMETHODCALLTYPE *OnPosRectChangeDB)( 20942 IDeskBar *This, 20943 RECT *prc); 20944 20945 END_INTERFACE 20946 } IDeskBarVtbl; 20947 20948 interface IDeskBar { 20949 CONST_VTBL IDeskBarVtbl* lpVtbl; 20950 }; 20951 20952 #ifdef COBJMACROS 20953 #ifndef WIDL_C_INLINE_WRAPPERS 20954 /*** IUnknown methods ***/ 20955 #define IDeskBar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 20956 #define IDeskBar_AddRef(This) (This)->lpVtbl->AddRef(This) 20957 #define IDeskBar_Release(This) (This)->lpVtbl->Release(This) 20958 /*** IOleWindow methods ***/ 20959 #define IDeskBar_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 20960 #define IDeskBar_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 20961 /*** IDeskBar methods ***/ 20962 #define IDeskBar_SetClient(This,punkClient) (This)->lpVtbl->SetClient(This,punkClient) 20963 #define IDeskBar_GetClient(This,ppunkClient) (This)->lpVtbl->GetClient(This,ppunkClient) 20964 #define IDeskBar_OnPosRectChangeDB(This,prc) (This)->lpVtbl->OnPosRectChangeDB(This,prc) 20965 #else 20966 /*** IUnknown methods ***/ 20967 static inline HRESULT IDeskBar_QueryInterface(IDeskBar* This,REFIID riid,void **ppvObject) { 20968 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 20969 } 20970 static inline ULONG IDeskBar_AddRef(IDeskBar* This) { 20971 return This->lpVtbl->AddRef(This); 20972 } 20973 static inline ULONG IDeskBar_Release(IDeskBar* This) { 20974 return This->lpVtbl->Release(This); 20975 } 20976 /*** IOleWindow methods ***/ 20977 static inline HRESULT IDeskBar_GetWindow(IDeskBar* This,HWND *phwnd) { 20978 return This->lpVtbl->GetWindow(This,phwnd); 20979 } 20980 static inline HRESULT IDeskBar_ContextSensitiveHelp(IDeskBar* This,WINBOOL fEnterMode) { 20981 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 20982 } 20983 /*** IDeskBar methods ***/ 20984 static inline HRESULT IDeskBar_SetClient(IDeskBar* This,IUnknown *punkClient) { 20985 return This->lpVtbl->SetClient(This,punkClient); 20986 } 20987 static inline HRESULT IDeskBar_GetClient(IDeskBar* This,IUnknown **ppunkClient) { 20988 return This->lpVtbl->GetClient(This,ppunkClient); 20989 } 20990 static inline HRESULT IDeskBar_OnPosRectChangeDB(IDeskBar* This,RECT *prc) { 20991 return This->lpVtbl->OnPosRectChangeDB(This,prc); 20992 } 20993 #endif 20994 #endif 20995 20996 #endif 20997 20998 20999 #endif /* __IDeskBar_INTERFACE_DEFINED__ */ 21000 21001 21002 /***************************************************************************** 21003 * IMenuPopup interface 21004 */ 21005 #ifndef __IMenuPopup_INTERFACE_DEFINED__ 21006 #define __IMenuPopup_INTERFACE_DEFINED__ 21007 21008 enum tagMENUPOPUPSELECT { 21009 MPOS_EXECUTE = 0, 21010 MPOS_FULLCANCEL = 1, 21011 MPOS_CANCELLEVEL = 2, 21012 MPOS_SELECTLEFT = 3, 21013 MPOS_SELECTRIGHT = 4, 21014 MPOS_CHILDTRACKING = 5 21015 }; 21016 21017 enum tagMENUPOPUPPOPUPFLAGS { 21018 MPPF_SETFOCUS = 0x1, 21019 MPPF_INITIALSELECT = 0x2, 21020 MPPF_NOANIMATE = 0x4, 21021 MPPF_KEYBOARD = 0x10, 21022 MPPF_REPOSITION = 0x20, 21023 MPPF_FORCEZORDER = 0x40, 21024 MPPF_FINALSELECT = 0x80, 21025 MPPF_TOP = 0x20000000, 21026 MPPF_LEFT = 0x40000000, 21027 MPPF_RIGHT = 0x60000000, 21028 MPPF_BOTTOM = (int)0x80000000, 21029 MPPF_POS_MASK = (int)0xe0000000, 21030 MPPF_ALIGN_LEFT = 0x2000000, 21031 MPPF_ALIGN_RIGHT = 0x4000000 21032 }; 21033 21034 typedef int MP_POPUPFLAGS; 21035 21036 DEFINE_GUID(IID_IMenuPopup, 0xd1e7afeb, 0x6a2e, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4); 21037 #if defined(__cplusplus) && !defined(CINTERFACE) 21038 MIDL_INTERFACE("d1e7afeb-6a2e-11d0-8c78-00c04fd918b4") 21039 IMenuPopup : public IDeskBar 21040 { 21041 virtual HRESULT STDMETHODCALLTYPE Popup( 21042 POINTL *ppt, 21043 RECTL *prcExclude, 21044 MP_POPUPFLAGS dwFlags) = 0; 21045 21046 virtual HRESULT STDMETHODCALLTYPE OnSelect( 21047 DWORD dwSelectType) = 0; 21048 21049 virtual HRESULT STDMETHODCALLTYPE SetSubMenu( 21050 IMenuPopup *pmp, 21051 WINBOOL fSet) = 0; 21052 21053 }; 21054 #ifdef __CRT_UUID_DECL 21055 __CRT_UUID_DECL(IMenuPopup, 0xd1e7afeb, 0x6a2e, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4) 21056 #endif 21057 #else 21058 typedef struct IMenuPopupVtbl { 21059 BEGIN_INTERFACE 21060 21061 /*** IUnknown methods ***/ 21062 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 21063 IMenuPopup *This, 21064 REFIID riid, 21065 void **ppvObject); 21066 21067 ULONG (STDMETHODCALLTYPE *AddRef)( 21068 IMenuPopup *This); 21069 21070 ULONG (STDMETHODCALLTYPE *Release)( 21071 IMenuPopup *This); 21072 21073 /*** IOleWindow methods ***/ 21074 HRESULT (STDMETHODCALLTYPE *GetWindow)( 21075 IMenuPopup *This, 21076 HWND *phwnd); 21077 21078 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 21079 IMenuPopup *This, 21080 WINBOOL fEnterMode); 21081 21082 /*** IDeskBar methods ***/ 21083 HRESULT (STDMETHODCALLTYPE *SetClient)( 21084 IMenuPopup *This, 21085 IUnknown *punkClient); 21086 21087 HRESULT (STDMETHODCALLTYPE *GetClient)( 21088 IMenuPopup *This, 21089 IUnknown **ppunkClient); 21090 21091 HRESULT (STDMETHODCALLTYPE *OnPosRectChangeDB)( 21092 IMenuPopup *This, 21093 RECT *prc); 21094 21095 /*** IMenuPopup methods ***/ 21096 HRESULT (STDMETHODCALLTYPE *Popup)( 21097 IMenuPopup *This, 21098 POINTL *ppt, 21099 RECTL *prcExclude, 21100 MP_POPUPFLAGS dwFlags); 21101 21102 HRESULT (STDMETHODCALLTYPE *OnSelect)( 21103 IMenuPopup *This, 21104 DWORD dwSelectType); 21105 21106 HRESULT (STDMETHODCALLTYPE *SetSubMenu)( 21107 IMenuPopup *This, 21108 IMenuPopup *pmp, 21109 WINBOOL fSet); 21110 21111 END_INTERFACE 21112 } IMenuPopupVtbl; 21113 21114 interface IMenuPopup { 21115 CONST_VTBL IMenuPopupVtbl* lpVtbl; 21116 }; 21117 21118 #ifdef COBJMACROS 21119 #ifndef WIDL_C_INLINE_WRAPPERS 21120 /*** IUnknown methods ***/ 21121 #define IMenuPopup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 21122 #define IMenuPopup_AddRef(This) (This)->lpVtbl->AddRef(This) 21123 #define IMenuPopup_Release(This) (This)->lpVtbl->Release(This) 21124 /*** IOleWindow methods ***/ 21125 #define IMenuPopup_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 21126 #define IMenuPopup_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 21127 /*** IDeskBar methods ***/ 21128 #define IMenuPopup_SetClient(This,punkClient) (This)->lpVtbl->SetClient(This,punkClient) 21129 #define IMenuPopup_GetClient(This,ppunkClient) (This)->lpVtbl->GetClient(This,ppunkClient) 21130 #define IMenuPopup_OnPosRectChangeDB(This,prc) (This)->lpVtbl->OnPosRectChangeDB(This,prc) 21131 /*** IMenuPopup methods ***/ 21132 #define IMenuPopup_Popup(This,ppt,prcExclude,dwFlags) (This)->lpVtbl->Popup(This,ppt,prcExclude,dwFlags) 21133 #define IMenuPopup_OnSelect(This,dwSelectType) (This)->lpVtbl->OnSelect(This,dwSelectType) 21134 #define IMenuPopup_SetSubMenu(This,pmp,fSet) (This)->lpVtbl->SetSubMenu(This,pmp,fSet) 21135 #else 21136 /*** IUnknown methods ***/ 21137 static inline HRESULT IMenuPopup_QueryInterface(IMenuPopup* This,REFIID riid,void **ppvObject) { 21138 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 21139 } 21140 static inline ULONG IMenuPopup_AddRef(IMenuPopup* This) { 21141 return This->lpVtbl->AddRef(This); 21142 } 21143 static inline ULONG IMenuPopup_Release(IMenuPopup* This) { 21144 return This->lpVtbl->Release(This); 21145 } 21146 /*** IOleWindow methods ***/ 21147 static inline HRESULT IMenuPopup_GetWindow(IMenuPopup* This,HWND *phwnd) { 21148 return This->lpVtbl->GetWindow(This,phwnd); 21149 } 21150 static inline HRESULT IMenuPopup_ContextSensitiveHelp(IMenuPopup* This,WINBOOL fEnterMode) { 21151 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 21152 } 21153 /*** IDeskBar methods ***/ 21154 static inline HRESULT IMenuPopup_SetClient(IMenuPopup* This,IUnknown *punkClient) { 21155 return This->lpVtbl->SetClient(This,punkClient); 21156 } 21157 static inline HRESULT IMenuPopup_GetClient(IMenuPopup* This,IUnknown **ppunkClient) { 21158 return This->lpVtbl->GetClient(This,ppunkClient); 21159 } 21160 static inline HRESULT IMenuPopup_OnPosRectChangeDB(IMenuPopup* This,RECT *prc) { 21161 return This->lpVtbl->OnPosRectChangeDB(This,prc); 21162 } 21163 /*** IMenuPopup methods ***/ 21164 static inline HRESULT IMenuPopup_Popup(IMenuPopup* This,POINTL *ppt,RECTL *prcExclude,MP_POPUPFLAGS dwFlags) { 21165 return This->lpVtbl->Popup(This,ppt,prcExclude,dwFlags); 21166 } 21167 static inline HRESULT IMenuPopup_OnSelect(IMenuPopup* This,DWORD dwSelectType) { 21168 return This->lpVtbl->OnSelect(This,dwSelectType); 21169 } 21170 static inline HRESULT IMenuPopup_SetSubMenu(IMenuPopup* This,IMenuPopup *pmp,WINBOOL fSet) { 21171 return This->lpVtbl->SetSubMenu(This,pmp,fSet); 21172 } 21173 #endif 21174 #endif 21175 21176 #endif 21177 21178 21179 #endif /* __IMenuPopup_INTERFACE_DEFINED__ */ 21180 21181 #endif 21182 21183 #if NTDDI_VERSION >= NTDDI_VISTA 21184 typedef enum FILE_USAGE_TYPE { 21185 FUT_PLAYING = 0, 21186 FUT_EDITING = 1, 21187 FUT_GENERIC = 2 21188 } FILE_USAGE_TYPE; 21189 21190 #define OF_CAP_CANSWITCHTO 0x0001 21191 #define OF_CAP_CANCLOSE 0x0002 21192 21193 /***************************************************************************** 21194 * IFileIsInUse interface 21195 */ 21196 #ifndef __IFileIsInUse_INTERFACE_DEFINED__ 21197 #define __IFileIsInUse_INTERFACE_DEFINED__ 21198 21199 DEFINE_GUID(IID_IFileIsInUse, 0x64a1cbf0, 0x3a1a, 0x4461, 0x91,0x58, 0x37,0x69,0x69,0x69,0x39,0x50); 21200 #if defined(__cplusplus) && !defined(CINTERFACE) 21201 MIDL_INTERFACE("64a1cbf0-3a1a-4461-9158-376969693950") 21202 IFileIsInUse : public IUnknown 21203 { 21204 virtual HRESULT STDMETHODCALLTYPE GetAppName( 21205 LPWSTR *ppszName) = 0; 21206 21207 virtual HRESULT STDMETHODCALLTYPE GetUsage( 21208 FILE_USAGE_TYPE *pfut) = 0; 21209 21210 virtual HRESULT STDMETHODCALLTYPE GetCapabilities( 21211 DWORD *pdwCapFlags) = 0; 21212 21213 virtual HRESULT STDMETHODCALLTYPE GetSwitchToHWND( 21214 HWND *phwnd) = 0; 21215 21216 virtual HRESULT STDMETHODCALLTYPE CloseFile( 21217 ) = 0; 21218 21219 }; 21220 #ifdef __CRT_UUID_DECL 21221 __CRT_UUID_DECL(IFileIsInUse, 0x64a1cbf0, 0x3a1a, 0x4461, 0x91,0x58, 0x37,0x69,0x69,0x69,0x39,0x50) 21222 #endif 21223 #else 21224 typedef struct IFileIsInUseVtbl { 21225 BEGIN_INTERFACE 21226 21227 /*** IUnknown methods ***/ 21228 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 21229 IFileIsInUse *This, 21230 REFIID riid, 21231 void **ppvObject); 21232 21233 ULONG (STDMETHODCALLTYPE *AddRef)( 21234 IFileIsInUse *This); 21235 21236 ULONG (STDMETHODCALLTYPE *Release)( 21237 IFileIsInUse *This); 21238 21239 /*** IFileIsInUse methods ***/ 21240 HRESULT (STDMETHODCALLTYPE *GetAppName)( 21241 IFileIsInUse *This, 21242 LPWSTR *ppszName); 21243 21244 HRESULT (STDMETHODCALLTYPE *GetUsage)( 21245 IFileIsInUse *This, 21246 FILE_USAGE_TYPE *pfut); 21247 21248 HRESULT (STDMETHODCALLTYPE *GetCapabilities)( 21249 IFileIsInUse *This, 21250 DWORD *pdwCapFlags); 21251 21252 HRESULT (STDMETHODCALLTYPE *GetSwitchToHWND)( 21253 IFileIsInUse *This, 21254 HWND *phwnd); 21255 21256 HRESULT (STDMETHODCALLTYPE *CloseFile)( 21257 IFileIsInUse *This); 21258 21259 END_INTERFACE 21260 } IFileIsInUseVtbl; 21261 21262 interface IFileIsInUse { 21263 CONST_VTBL IFileIsInUseVtbl* lpVtbl; 21264 }; 21265 21266 #ifdef COBJMACROS 21267 #ifndef WIDL_C_INLINE_WRAPPERS 21268 /*** IUnknown methods ***/ 21269 #define IFileIsInUse_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 21270 #define IFileIsInUse_AddRef(This) (This)->lpVtbl->AddRef(This) 21271 #define IFileIsInUse_Release(This) (This)->lpVtbl->Release(This) 21272 /*** IFileIsInUse methods ***/ 21273 #define IFileIsInUse_GetAppName(This,ppszName) (This)->lpVtbl->GetAppName(This,ppszName) 21274 #define IFileIsInUse_GetUsage(This,pfut) (This)->lpVtbl->GetUsage(This,pfut) 21275 #define IFileIsInUse_GetCapabilities(This,pdwCapFlags) (This)->lpVtbl->GetCapabilities(This,pdwCapFlags) 21276 #define IFileIsInUse_GetSwitchToHWND(This,phwnd) (This)->lpVtbl->GetSwitchToHWND(This,phwnd) 21277 #define IFileIsInUse_CloseFile(This) (This)->lpVtbl->CloseFile(This) 21278 #else 21279 /*** IUnknown methods ***/ 21280 static inline HRESULT IFileIsInUse_QueryInterface(IFileIsInUse* This,REFIID riid,void **ppvObject) { 21281 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 21282 } 21283 static inline ULONG IFileIsInUse_AddRef(IFileIsInUse* This) { 21284 return This->lpVtbl->AddRef(This); 21285 } 21286 static inline ULONG IFileIsInUse_Release(IFileIsInUse* This) { 21287 return This->lpVtbl->Release(This); 21288 } 21289 /*** IFileIsInUse methods ***/ 21290 static inline HRESULT IFileIsInUse_GetAppName(IFileIsInUse* This,LPWSTR *ppszName) { 21291 return This->lpVtbl->GetAppName(This,ppszName); 21292 } 21293 static inline HRESULT IFileIsInUse_GetUsage(IFileIsInUse* This,FILE_USAGE_TYPE *pfut) { 21294 return This->lpVtbl->GetUsage(This,pfut); 21295 } 21296 static inline HRESULT IFileIsInUse_GetCapabilities(IFileIsInUse* This,DWORD *pdwCapFlags) { 21297 return This->lpVtbl->GetCapabilities(This,pdwCapFlags); 21298 } 21299 static inline HRESULT IFileIsInUse_GetSwitchToHWND(IFileIsInUse* This,HWND *phwnd) { 21300 return This->lpVtbl->GetSwitchToHWND(This,phwnd); 21301 } 21302 static inline HRESULT IFileIsInUse_CloseFile(IFileIsInUse* This) { 21303 return This->lpVtbl->CloseFile(This); 21304 } 21305 #endif 21306 #endif 21307 21308 #endif 21309 21310 21311 #endif /* __IFileIsInUse_INTERFACE_DEFINED__ */ 21312 21313 21314 #ifndef __IFileDialog_FWD_DEFINED__ 21315 #define __IFileDialog_FWD_DEFINED__ 21316 typedef interface IFileDialog IFileDialog; 21317 #ifdef __cplusplus 21318 interface IFileDialog; 21319 #endif /* __cplusplus */ 21320 #endif 21321 21322 21323 typedef enum FDE_OVERWRITE_RESPONSE { 21324 FDEOR_DEFAULT = 0, 21325 FDEOR_ACCEPT = 1, 21326 FDEOR_REFUSE = 2 21327 } FDE_OVERWRITE_RESPONSE; 21328 21329 typedef enum FDE_SHAREVIOLATION_RESPONSE { 21330 FDESVR_DEFAULT = 0, 21331 FDESVR_ACCEPT = 1, 21332 FDESVR_REFUSE = 2 21333 } FDE_SHAREVIOLATION_RESPONSE; 21334 21335 typedef enum FDAP { 21336 FDAP_BOTTOM = 0, 21337 FDAP_TOP = 1 21338 } FDAP; 21339 21340 /***************************************************************************** 21341 * IFileDialogEvents interface 21342 */ 21343 #ifndef __IFileDialogEvents_INTERFACE_DEFINED__ 21344 #define __IFileDialogEvents_INTERFACE_DEFINED__ 21345 21346 DEFINE_GUID(IID_IFileDialogEvents, 0x973510db, 0x7d7f, 0x452b, 0x89,0x75, 0x74,0xa8,0x58,0x28,0xd3,0x54); 21347 #if defined(__cplusplus) && !defined(CINTERFACE) 21348 MIDL_INTERFACE("973510db-7d7f-452b-8975-74a85828d354") 21349 IFileDialogEvents : public IUnknown 21350 { 21351 virtual HRESULT STDMETHODCALLTYPE OnFileOk( 21352 IFileDialog *pfd) = 0; 21353 21354 virtual HRESULT STDMETHODCALLTYPE OnFolderChanging( 21355 IFileDialog *pfd, 21356 IShellItem *psiFolder) = 0; 21357 21358 virtual HRESULT STDMETHODCALLTYPE OnFolderChange( 21359 IFileDialog *pfd) = 0; 21360 21361 virtual HRESULT STDMETHODCALLTYPE OnSelectionChange( 21362 IFileDialog *pfd) = 0; 21363 21364 virtual HRESULT STDMETHODCALLTYPE OnShareViolation( 21365 IFileDialog *pfd, 21366 IShellItem *psi, 21367 FDE_SHAREVIOLATION_RESPONSE *pResponse) = 0; 21368 21369 virtual HRESULT STDMETHODCALLTYPE OnTypeChange( 21370 IFileDialog *pfd) = 0; 21371 21372 virtual HRESULT STDMETHODCALLTYPE OnOverwrite( 21373 IFileDialog *pfd, 21374 IShellItem *psi, 21375 FDE_OVERWRITE_RESPONSE *pResponse) = 0; 21376 21377 }; 21378 #ifdef __CRT_UUID_DECL 21379 __CRT_UUID_DECL(IFileDialogEvents, 0x973510db, 0x7d7f, 0x452b, 0x89,0x75, 0x74,0xa8,0x58,0x28,0xd3,0x54) 21380 #endif 21381 #else 21382 typedef struct IFileDialogEventsVtbl { 21383 BEGIN_INTERFACE 21384 21385 /*** IUnknown methods ***/ 21386 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 21387 IFileDialogEvents *This, 21388 REFIID riid, 21389 void **ppvObject); 21390 21391 ULONG (STDMETHODCALLTYPE *AddRef)( 21392 IFileDialogEvents *This); 21393 21394 ULONG (STDMETHODCALLTYPE *Release)( 21395 IFileDialogEvents *This); 21396 21397 /*** IFileDialogEvents methods ***/ 21398 HRESULT (STDMETHODCALLTYPE *OnFileOk)( 21399 IFileDialogEvents *This, 21400 IFileDialog *pfd); 21401 21402 HRESULT (STDMETHODCALLTYPE *OnFolderChanging)( 21403 IFileDialogEvents *This, 21404 IFileDialog *pfd, 21405 IShellItem *psiFolder); 21406 21407 HRESULT (STDMETHODCALLTYPE *OnFolderChange)( 21408 IFileDialogEvents *This, 21409 IFileDialog *pfd); 21410 21411 HRESULT (STDMETHODCALLTYPE *OnSelectionChange)( 21412 IFileDialogEvents *This, 21413 IFileDialog *pfd); 21414 21415 HRESULT (STDMETHODCALLTYPE *OnShareViolation)( 21416 IFileDialogEvents *This, 21417 IFileDialog *pfd, 21418 IShellItem *psi, 21419 FDE_SHAREVIOLATION_RESPONSE *pResponse); 21420 21421 HRESULT (STDMETHODCALLTYPE *OnTypeChange)( 21422 IFileDialogEvents *This, 21423 IFileDialog *pfd); 21424 21425 HRESULT (STDMETHODCALLTYPE *OnOverwrite)( 21426 IFileDialogEvents *This, 21427 IFileDialog *pfd, 21428 IShellItem *psi, 21429 FDE_OVERWRITE_RESPONSE *pResponse); 21430 21431 END_INTERFACE 21432 } IFileDialogEventsVtbl; 21433 21434 interface IFileDialogEvents { 21435 CONST_VTBL IFileDialogEventsVtbl* lpVtbl; 21436 }; 21437 21438 #ifdef COBJMACROS 21439 #ifndef WIDL_C_INLINE_WRAPPERS 21440 /*** IUnknown methods ***/ 21441 #define IFileDialogEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 21442 #define IFileDialogEvents_AddRef(This) (This)->lpVtbl->AddRef(This) 21443 #define IFileDialogEvents_Release(This) (This)->lpVtbl->Release(This) 21444 /*** IFileDialogEvents methods ***/ 21445 #define IFileDialogEvents_OnFileOk(This,pfd) (This)->lpVtbl->OnFileOk(This,pfd) 21446 #define IFileDialogEvents_OnFolderChanging(This,pfd,psiFolder) (This)->lpVtbl->OnFolderChanging(This,pfd,psiFolder) 21447 #define IFileDialogEvents_OnFolderChange(This,pfd) (This)->lpVtbl->OnFolderChange(This,pfd) 21448 #define IFileDialogEvents_OnSelectionChange(This,pfd) (This)->lpVtbl->OnSelectionChange(This,pfd) 21449 #define IFileDialogEvents_OnShareViolation(This,pfd,psi,pResponse) (This)->lpVtbl->OnShareViolation(This,pfd,psi,pResponse) 21450 #define IFileDialogEvents_OnTypeChange(This,pfd) (This)->lpVtbl->OnTypeChange(This,pfd) 21451 #define IFileDialogEvents_OnOverwrite(This,pfd,psi,pResponse) (This)->lpVtbl->OnOverwrite(This,pfd,psi,pResponse) 21452 #else 21453 /*** IUnknown methods ***/ 21454 static inline HRESULT IFileDialogEvents_QueryInterface(IFileDialogEvents* This,REFIID riid,void **ppvObject) { 21455 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 21456 } 21457 static inline ULONG IFileDialogEvents_AddRef(IFileDialogEvents* This) { 21458 return This->lpVtbl->AddRef(This); 21459 } 21460 static inline ULONG IFileDialogEvents_Release(IFileDialogEvents* This) { 21461 return This->lpVtbl->Release(This); 21462 } 21463 /*** IFileDialogEvents methods ***/ 21464 static inline HRESULT IFileDialogEvents_OnFileOk(IFileDialogEvents* This,IFileDialog *pfd) { 21465 return This->lpVtbl->OnFileOk(This,pfd); 21466 } 21467 static inline HRESULT IFileDialogEvents_OnFolderChanging(IFileDialogEvents* This,IFileDialog *pfd,IShellItem *psiFolder) { 21468 return This->lpVtbl->OnFolderChanging(This,pfd,psiFolder); 21469 } 21470 static inline HRESULT IFileDialogEvents_OnFolderChange(IFileDialogEvents* This,IFileDialog *pfd) { 21471 return This->lpVtbl->OnFolderChange(This,pfd); 21472 } 21473 static inline HRESULT IFileDialogEvents_OnSelectionChange(IFileDialogEvents* This,IFileDialog *pfd) { 21474 return This->lpVtbl->OnSelectionChange(This,pfd); 21475 } 21476 static inline HRESULT IFileDialogEvents_OnShareViolation(IFileDialogEvents* This,IFileDialog *pfd,IShellItem *psi,FDE_SHAREVIOLATION_RESPONSE *pResponse) { 21477 return This->lpVtbl->OnShareViolation(This,pfd,psi,pResponse); 21478 } 21479 static inline HRESULT IFileDialogEvents_OnTypeChange(IFileDialogEvents* This,IFileDialog *pfd) { 21480 return This->lpVtbl->OnTypeChange(This,pfd); 21481 } 21482 static inline HRESULT IFileDialogEvents_OnOverwrite(IFileDialogEvents* This,IFileDialog *pfd,IShellItem *psi,FDE_OVERWRITE_RESPONSE *pResponse) { 21483 return This->lpVtbl->OnOverwrite(This,pfd,psi,pResponse); 21484 } 21485 #endif 21486 #endif 21487 21488 #endif 21489 21490 21491 #endif /* __IFileDialogEvents_INTERFACE_DEFINED__ */ 21492 21493 21494 #ifndef __IShellItemFilter_FWD_DEFINED__ 21495 #define __IShellItemFilter_FWD_DEFINED__ 21496 typedef interface IShellItemFilter IShellItemFilter; 21497 #ifdef __cplusplus 21498 interface IShellItemFilter; 21499 #endif /* __cplusplus */ 21500 #endif 21501 21502 21503 /***************************************************************************** 21504 * IFileDialog interface 21505 */ 21506 #ifndef __IFileDialog_INTERFACE_DEFINED__ 21507 #define __IFileDialog_INTERFACE_DEFINED__ 21508 21509 enum _FILEOPENDIALOGOPTIONS { 21510 FOS_OVERWRITEPROMPT = 0x2, 21511 FOS_STRICTFILETYPES = 0x4, 21512 FOS_NOCHANGEDIR = 0x8, 21513 FOS_PICKFOLDERS = 0x20, 21514 FOS_FORCEFILESYSTEM = 0x40, 21515 FOS_ALLNONSTORAGEITEMS = 0x80, 21516 FOS_NOVALIDATE = 0x100, 21517 FOS_ALLOWMULTISELECT = 0x200, 21518 FOS_PATHMUSTEXIST = 0x800, 21519 FOS_FILEMUSTEXIST = 0x1000, 21520 FOS_CREATEPROMPT = 0x2000, 21521 FOS_SHAREAWARE = 0x4000, 21522 FOS_NOREADONLYRETURN = 0x8000, 21523 FOS_NOTESTFILECREATE = 0x10000, 21524 FOS_HIDEMRUPLACES = 0x20000, 21525 FOS_HIDEPINNEDPLACES = 0x40000, 21526 FOS_NODEREFERENCELINKS = 0x100000, 21527 FOS_DONTADDTORECENT = 0x2000000, 21528 FOS_FORCESHOWHIDDEN = 0x10000000, 21529 FOS_DEFAULTNOMINIMODE = 0x20000000, 21530 FOS_FORCEPREVIEWPANEON = 0x40000000, 21531 FOS_SUPPORTSTREAMABLEITEMS = 0x80000000 21532 }; 21533 21534 typedef DWORD FILEOPENDIALOGOPTIONS; 21535 21536 DEFINE_GUID(IID_IFileDialog, 0x42f85136, 0xdb7e, 0x439c, 0x85,0xf1, 0xe4,0x07,0x5d,0x13,0x5f,0xc8); 21537 #if defined(__cplusplus) && !defined(CINTERFACE) 21538 MIDL_INTERFACE("42f85136-db7e-439c-85f1-e4075d135fc8") 21539 IFileDialog : public IModalWindow 21540 { 21541 virtual HRESULT STDMETHODCALLTYPE SetFileTypes( 21542 UINT cFileTypes, 21543 const COMDLG_FILTERSPEC *rgFilterSpec) = 0; 21544 21545 virtual HRESULT STDMETHODCALLTYPE SetFileTypeIndex( 21546 UINT iFileType) = 0; 21547 21548 virtual HRESULT STDMETHODCALLTYPE GetFileTypeIndex( 21549 UINT *piFileType) = 0; 21550 21551 virtual HRESULT STDMETHODCALLTYPE Advise( 21552 IFileDialogEvents *pfde, 21553 DWORD *pdwCookie) = 0; 21554 21555 virtual HRESULT STDMETHODCALLTYPE Unadvise( 21556 DWORD dwCookie) = 0; 21557 21558 virtual HRESULT STDMETHODCALLTYPE SetOptions( 21559 FILEOPENDIALOGOPTIONS fos) = 0; 21560 21561 virtual HRESULT STDMETHODCALLTYPE GetOptions( 21562 FILEOPENDIALOGOPTIONS *pfos) = 0; 21563 21564 virtual HRESULT STDMETHODCALLTYPE SetDefaultFolder( 21565 IShellItem *psi) = 0; 21566 21567 virtual HRESULT STDMETHODCALLTYPE SetFolder( 21568 IShellItem *psi) = 0; 21569 21570 virtual HRESULT STDMETHODCALLTYPE GetFolder( 21571 IShellItem **ppsi) = 0; 21572 21573 virtual HRESULT STDMETHODCALLTYPE GetCurrentSelection( 21574 IShellItem **ppsi) = 0; 21575 21576 virtual HRESULT STDMETHODCALLTYPE SetFileName( 21577 LPCWSTR pszName) = 0; 21578 21579 virtual HRESULT STDMETHODCALLTYPE GetFileName( 21580 LPWSTR *pszName) = 0; 21581 21582 virtual HRESULT STDMETHODCALLTYPE SetTitle( 21583 LPCWSTR pszTitle) = 0; 21584 21585 virtual HRESULT STDMETHODCALLTYPE SetOkButtonLabel( 21586 LPCWSTR pszText) = 0; 21587 21588 virtual HRESULT STDMETHODCALLTYPE SetFileNameLabel( 21589 LPCWSTR pszLabel) = 0; 21590 21591 virtual HRESULT STDMETHODCALLTYPE GetResult( 21592 IShellItem **ppsi) = 0; 21593 21594 virtual HRESULT STDMETHODCALLTYPE AddPlace( 21595 IShellItem *psi, 21596 FDAP fdap) = 0; 21597 21598 virtual HRESULT STDMETHODCALLTYPE SetDefaultExtension( 21599 LPCWSTR pszDefaultExtension) = 0; 21600 21601 virtual HRESULT STDMETHODCALLTYPE Close( 21602 HRESULT hr) = 0; 21603 21604 virtual HRESULT STDMETHODCALLTYPE SetClientGuid( 21605 REFGUID guid) = 0; 21606 21607 virtual HRESULT STDMETHODCALLTYPE ClearClientData( 21608 ) = 0; 21609 21610 virtual HRESULT STDMETHODCALLTYPE SetFilter( 21611 IShellItemFilter *pFilter) = 0; 21612 21613 }; 21614 #ifdef __CRT_UUID_DECL 21615 __CRT_UUID_DECL(IFileDialog, 0x42f85136, 0xdb7e, 0x439c, 0x85,0xf1, 0xe4,0x07,0x5d,0x13,0x5f,0xc8) 21616 #endif 21617 #else 21618 typedef struct IFileDialogVtbl { 21619 BEGIN_INTERFACE 21620 21621 /*** IUnknown methods ***/ 21622 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 21623 IFileDialog *This, 21624 REFIID riid, 21625 void **ppvObject); 21626 21627 ULONG (STDMETHODCALLTYPE *AddRef)( 21628 IFileDialog *This); 21629 21630 ULONG (STDMETHODCALLTYPE *Release)( 21631 IFileDialog *This); 21632 21633 /*** IModalWindow methods ***/ 21634 HRESULT (STDMETHODCALLTYPE *Show)( 21635 IFileDialog *This, 21636 HWND hwndOwner); 21637 21638 /*** IFileDialog methods ***/ 21639 HRESULT (STDMETHODCALLTYPE *SetFileTypes)( 21640 IFileDialog *This, 21641 UINT cFileTypes, 21642 const COMDLG_FILTERSPEC *rgFilterSpec); 21643 21644 HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)( 21645 IFileDialog *This, 21646 UINT iFileType); 21647 21648 HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)( 21649 IFileDialog *This, 21650 UINT *piFileType); 21651 21652 HRESULT (STDMETHODCALLTYPE *Advise)( 21653 IFileDialog *This, 21654 IFileDialogEvents *pfde, 21655 DWORD *pdwCookie); 21656 21657 HRESULT (STDMETHODCALLTYPE *Unadvise)( 21658 IFileDialog *This, 21659 DWORD dwCookie); 21660 21661 HRESULT (STDMETHODCALLTYPE *SetOptions)( 21662 IFileDialog *This, 21663 FILEOPENDIALOGOPTIONS fos); 21664 21665 HRESULT (STDMETHODCALLTYPE *GetOptions)( 21666 IFileDialog *This, 21667 FILEOPENDIALOGOPTIONS *pfos); 21668 21669 HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)( 21670 IFileDialog *This, 21671 IShellItem *psi); 21672 21673 HRESULT (STDMETHODCALLTYPE *SetFolder)( 21674 IFileDialog *This, 21675 IShellItem *psi); 21676 21677 HRESULT (STDMETHODCALLTYPE *GetFolder)( 21678 IFileDialog *This, 21679 IShellItem **ppsi); 21680 21681 HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)( 21682 IFileDialog *This, 21683 IShellItem **ppsi); 21684 21685 HRESULT (STDMETHODCALLTYPE *SetFileName)( 21686 IFileDialog *This, 21687 LPCWSTR pszName); 21688 21689 HRESULT (STDMETHODCALLTYPE *GetFileName)( 21690 IFileDialog *This, 21691 LPWSTR *pszName); 21692 21693 HRESULT (STDMETHODCALLTYPE *SetTitle)( 21694 IFileDialog *This, 21695 LPCWSTR pszTitle); 21696 21697 HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)( 21698 IFileDialog *This, 21699 LPCWSTR pszText); 21700 21701 HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)( 21702 IFileDialog *This, 21703 LPCWSTR pszLabel); 21704 21705 HRESULT (STDMETHODCALLTYPE *GetResult)( 21706 IFileDialog *This, 21707 IShellItem **ppsi); 21708 21709 HRESULT (STDMETHODCALLTYPE *AddPlace)( 21710 IFileDialog *This, 21711 IShellItem *psi, 21712 FDAP fdap); 21713 21714 HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)( 21715 IFileDialog *This, 21716 LPCWSTR pszDefaultExtension); 21717 21718 HRESULT (STDMETHODCALLTYPE *Close)( 21719 IFileDialog *This, 21720 HRESULT hr); 21721 21722 HRESULT (STDMETHODCALLTYPE *SetClientGuid)( 21723 IFileDialog *This, 21724 REFGUID guid); 21725 21726 HRESULT (STDMETHODCALLTYPE *ClearClientData)( 21727 IFileDialog *This); 21728 21729 HRESULT (STDMETHODCALLTYPE *SetFilter)( 21730 IFileDialog *This, 21731 IShellItemFilter *pFilter); 21732 21733 END_INTERFACE 21734 } IFileDialogVtbl; 21735 21736 interface IFileDialog { 21737 CONST_VTBL IFileDialogVtbl* lpVtbl; 21738 }; 21739 21740 #ifdef COBJMACROS 21741 #ifndef WIDL_C_INLINE_WRAPPERS 21742 /*** IUnknown methods ***/ 21743 #define IFileDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 21744 #define IFileDialog_AddRef(This) (This)->lpVtbl->AddRef(This) 21745 #define IFileDialog_Release(This) (This)->lpVtbl->Release(This) 21746 /*** IModalWindow methods ***/ 21747 #define IFileDialog_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner) 21748 /*** IFileDialog methods ***/ 21749 #define IFileDialog_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec) 21750 #define IFileDialog_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType) 21751 #define IFileDialog_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType) 21752 #define IFileDialog_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie) 21753 #define IFileDialog_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie) 21754 #define IFileDialog_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos) 21755 #define IFileDialog_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos) 21756 #define IFileDialog_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi) 21757 #define IFileDialog_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi) 21758 #define IFileDialog_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi) 21759 #define IFileDialog_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi) 21760 #define IFileDialog_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName) 21761 #define IFileDialog_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName) 21762 #define IFileDialog_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle) 21763 #define IFileDialog_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText) 21764 #define IFileDialog_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel) 21765 #define IFileDialog_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi) 21766 #define IFileDialog_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap) 21767 #define IFileDialog_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension) 21768 #define IFileDialog_Close(This,hr) (This)->lpVtbl->Close(This,hr) 21769 #define IFileDialog_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid) 21770 #define IFileDialog_ClearClientData(This) (This)->lpVtbl->ClearClientData(This) 21771 #define IFileDialog_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter) 21772 #else 21773 /*** IUnknown methods ***/ 21774 static inline HRESULT IFileDialog_QueryInterface(IFileDialog* This,REFIID riid,void **ppvObject) { 21775 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 21776 } 21777 static inline ULONG IFileDialog_AddRef(IFileDialog* This) { 21778 return This->lpVtbl->AddRef(This); 21779 } 21780 static inline ULONG IFileDialog_Release(IFileDialog* This) { 21781 return This->lpVtbl->Release(This); 21782 } 21783 /*** IModalWindow methods ***/ 21784 static inline HRESULT IFileDialog_Show(IFileDialog* This,HWND hwndOwner) { 21785 return This->lpVtbl->Show(This,hwndOwner); 21786 } 21787 /*** IFileDialog methods ***/ 21788 static inline HRESULT IFileDialog_SetFileTypes(IFileDialog* This,UINT cFileTypes,const COMDLG_FILTERSPEC *rgFilterSpec) { 21789 return This->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec); 21790 } 21791 static inline HRESULT IFileDialog_SetFileTypeIndex(IFileDialog* This,UINT iFileType) { 21792 return This->lpVtbl->SetFileTypeIndex(This,iFileType); 21793 } 21794 static inline HRESULT IFileDialog_GetFileTypeIndex(IFileDialog* This,UINT *piFileType) { 21795 return This->lpVtbl->GetFileTypeIndex(This,piFileType); 21796 } 21797 static inline HRESULT IFileDialog_Advise(IFileDialog* This,IFileDialogEvents *pfde,DWORD *pdwCookie) { 21798 return This->lpVtbl->Advise(This,pfde,pdwCookie); 21799 } 21800 static inline HRESULT IFileDialog_Unadvise(IFileDialog* This,DWORD dwCookie) { 21801 return This->lpVtbl->Unadvise(This,dwCookie); 21802 } 21803 static inline HRESULT IFileDialog_SetOptions(IFileDialog* This,FILEOPENDIALOGOPTIONS fos) { 21804 return This->lpVtbl->SetOptions(This,fos); 21805 } 21806 static inline HRESULT IFileDialog_GetOptions(IFileDialog* This,FILEOPENDIALOGOPTIONS *pfos) { 21807 return This->lpVtbl->GetOptions(This,pfos); 21808 } 21809 static inline HRESULT IFileDialog_SetDefaultFolder(IFileDialog* This,IShellItem *psi) { 21810 return This->lpVtbl->SetDefaultFolder(This,psi); 21811 } 21812 static inline HRESULT IFileDialog_SetFolder(IFileDialog* This,IShellItem *psi) { 21813 return This->lpVtbl->SetFolder(This,psi); 21814 } 21815 static inline HRESULT IFileDialog_GetFolder(IFileDialog* This,IShellItem **ppsi) { 21816 return This->lpVtbl->GetFolder(This,ppsi); 21817 } 21818 static inline HRESULT IFileDialog_GetCurrentSelection(IFileDialog* This,IShellItem **ppsi) { 21819 return This->lpVtbl->GetCurrentSelection(This,ppsi); 21820 } 21821 static inline HRESULT IFileDialog_SetFileName(IFileDialog* This,LPCWSTR pszName) { 21822 return This->lpVtbl->SetFileName(This,pszName); 21823 } 21824 static inline HRESULT IFileDialog_GetFileName(IFileDialog* This,LPWSTR *pszName) { 21825 return This->lpVtbl->GetFileName(This,pszName); 21826 } 21827 static inline HRESULT IFileDialog_SetTitle(IFileDialog* This,LPCWSTR pszTitle) { 21828 return This->lpVtbl->SetTitle(This,pszTitle); 21829 } 21830 static inline HRESULT IFileDialog_SetOkButtonLabel(IFileDialog* This,LPCWSTR pszText) { 21831 return This->lpVtbl->SetOkButtonLabel(This,pszText); 21832 } 21833 static inline HRESULT IFileDialog_SetFileNameLabel(IFileDialog* This,LPCWSTR pszLabel) { 21834 return This->lpVtbl->SetFileNameLabel(This,pszLabel); 21835 } 21836 static inline HRESULT IFileDialog_GetResult(IFileDialog* This,IShellItem **ppsi) { 21837 return This->lpVtbl->GetResult(This,ppsi); 21838 } 21839 static inline HRESULT IFileDialog_AddPlace(IFileDialog* This,IShellItem *psi,FDAP fdap) { 21840 return This->lpVtbl->AddPlace(This,psi,fdap); 21841 } 21842 static inline HRESULT IFileDialog_SetDefaultExtension(IFileDialog* This,LPCWSTR pszDefaultExtension) { 21843 return This->lpVtbl->SetDefaultExtension(This,pszDefaultExtension); 21844 } 21845 static inline HRESULT IFileDialog_Close(IFileDialog* This,HRESULT hr) { 21846 return This->lpVtbl->Close(This,hr); 21847 } 21848 static inline HRESULT IFileDialog_SetClientGuid(IFileDialog* This,REFGUID guid) { 21849 return This->lpVtbl->SetClientGuid(This,guid); 21850 } 21851 static inline HRESULT IFileDialog_ClearClientData(IFileDialog* This) { 21852 return This->lpVtbl->ClearClientData(This); 21853 } 21854 static inline HRESULT IFileDialog_SetFilter(IFileDialog* This,IShellItemFilter *pFilter) { 21855 return This->lpVtbl->SetFilter(This,pFilter); 21856 } 21857 #endif 21858 #endif 21859 21860 #endif 21861 21862 21863 #endif /* __IFileDialog_INTERFACE_DEFINED__ */ 21864 21865 21866 /***************************************************************************** 21867 * IFileSaveDialog interface 21868 */ 21869 #ifndef __IFileSaveDialog_INTERFACE_DEFINED__ 21870 #define __IFileSaveDialog_INTERFACE_DEFINED__ 21871 21872 DEFINE_GUID(IID_IFileSaveDialog, 0x84bccd23, 0x5fde, 0x4cdb, 0xae,0xa4, 0xaf,0x64,0xb8,0x3d,0x78,0xab); 21873 #if defined(__cplusplus) && !defined(CINTERFACE) 21874 MIDL_INTERFACE("84bccd23-5fde-4cdb-aea4-af64b83d78ab") 21875 IFileSaveDialog : public IFileDialog 21876 { 21877 virtual HRESULT STDMETHODCALLTYPE SetSaveAsItem( 21878 IShellItem *psi) = 0; 21879 21880 virtual HRESULT STDMETHODCALLTYPE SetProperties( 21881 IPropertyStore *pStore) = 0; 21882 21883 virtual HRESULT STDMETHODCALLTYPE SetCollectedProperties( 21884 IPropertyDescriptionList *pList, 21885 WINBOOL fAppendDefault) = 0; 21886 21887 virtual HRESULT STDMETHODCALLTYPE GetProperties( 21888 IPropertyStore **ppStore) = 0; 21889 21890 virtual HRESULT STDMETHODCALLTYPE ApplyProperties( 21891 IShellItem *psi, 21892 IPropertyStore *pStore, 21893 HWND hwnd, 21894 IFileOperationProgressSink *pSink) = 0; 21895 21896 }; 21897 #ifdef __CRT_UUID_DECL 21898 __CRT_UUID_DECL(IFileSaveDialog, 0x84bccd23, 0x5fde, 0x4cdb, 0xae,0xa4, 0xaf,0x64,0xb8,0x3d,0x78,0xab) 21899 #endif 21900 #else 21901 typedef struct IFileSaveDialogVtbl { 21902 BEGIN_INTERFACE 21903 21904 /*** IUnknown methods ***/ 21905 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 21906 IFileSaveDialog *This, 21907 REFIID riid, 21908 void **ppvObject); 21909 21910 ULONG (STDMETHODCALLTYPE *AddRef)( 21911 IFileSaveDialog *This); 21912 21913 ULONG (STDMETHODCALLTYPE *Release)( 21914 IFileSaveDialog *This); 21915 21916 /*** IModalWindow methods ***/ 21917 HRESULT (STDMETHODCALLTYPE *Show)( 21918 IFileSaveDialog *This, 21919 HWND hwndOwner); 21920 21921 /*** IFileDialog methods ***/ 21922 HRESULT (STDMETHODCALLTYPE *SetFileTypes)( 21923 IFileSaveDialog *This, 21924 UINT cFileTypes, 21925 const COMDLG_FILTERSPEC *rgFilterSpec); 21926 21927 HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)( 21928 IFileSaveDialog *This, 21929 UINT iFileType); 21930 21931 HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)( 21932 IFileSaveDialog *This, 21933 UINT *piFileType); 21934 21935 HRESULT (STDMETHODCALLTYPE *Advise)( 21936 IFileSaveDialog *This, 21937 IFileDialogEvents *pfde, 21938 DWORD *pdwCookie); 21939 21940 HRESULT (STDMETHODCALLTYPE *Unadvise)( 21941 IFileSaveDialog *This, 21942 DWORD dwCookie); 21943 21944 HRESULT (STDMETHODCALLTYPE *SetOptions)( 21945 IFileSaveDialog *This, 21946 FILEOPENDIALOGOPTIONS fos); 21947 21948 HRESULT (STDMETHODCALLTYPE *GetOptions)( 21949 IFileSaveDialog *This, 21950 FILEOPENDIALOGOPTIONS *pfos); 21951 21952 HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)( 21953 IFileSaveDialog *This, 21954 IShellItem *psi); 21955 21956 HRESULT (STDMETHODCALLTYPE *SetFolder)( 21957 IFileSaveDialog *This, 21958 IShellItem *psi); 21959 21960 HRESULT (STDMETHODCALLTYPE *GetFolder)( 21961 IFileSaveDialog *This, 21962 IShellItem **ppsi); 21963 21964 HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)( 21965 IFileSaveDialog *This, 21966 IShellItem **ppsi); 21967 21968 HRESULT (STDMETHODCALLTYPE *SetFileName)( 21969 IFileSaveDialog *This, 21970 LPCWSTR pszName); 21971 21972 HRESULT (STDMETHODCALLTYPE *GetFileName)( 21973 IFileSaveDialog *This, 21974 LPWSTR *pszName); 21975 21976 HRESULT (STDMETHODCALLTYPE *SetTitle)( 21977 IFileSaveDialog *This, 21978 LPCWSTR pszTitle); 21979 21980 HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)( 21981 IFileSaveDialog *This, 21982 LPCWSTR pszText); 21983 21984 HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)( 21985 IFileSaveDialog *This, 21986 LPCWSTR pszLabel); 21987 21988 HRESULT (STDMETHODCALLTYPE *GetResult)( 21989 IFileSaveDialog *This, 21990 IShellItem **ppsi); 21991 21992 HRESULT (STDMETHODCALLTYPE *AddPlace)( 21993 IFileSaveDialog *This, 21994 IShellItem *psi, 21995 FDAP fdap); 21996 21997 HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)( 21998 IFileSaveDialog *This, 21999 LPCWSTR pszDefaultExtension); 22000 22001 HRESULT (STDMETHODCALLTYPE *Close)( 22002 IFileSaveDialog *This, 22003 HRESULT hr); 22004 22005 HRESULT (STDMETHODCALLTYPE *SetClientGuid)( 22006 IFileSaveDialog *This, 22007 REFGUID guid); 22008 22009 HRESULT (STDMETHODCALLTYPE *ClearClientData)( 22010 IFileSaveDialog *This); 22011 22012 HRESULT (STDMETHODCALLTYPE *SetFilter)( 22013 IFileSaveDialog *This, 22014 IShellItemFilter *pFilter); 22015 22016 /*** IFileSaveDialog methods ***/ 22017 HRESULT (STDMETHODCALLTYPE *SetSaveAsItem)( 22018 IFileSaveDialog *This, 22019 IShellItem *psi); 22020 22021 HRESULT (STDMETHODCALLTYPE *SetProperties)( 22022 IFileSaveDialog *This, 22023 IPropertyStore *pStore); 22024 22025 HRESULT (STDMETHODCALLTYPE *SetCollectedProperties)( 22026 IFileSaveDialog *This, 22027 IPropertyDescriptionList *pList, 22028 WINBOOL fAppendDefault); 22029 22030 HRESULT (STDMETHODCALLTYPE *GetProperties)( 22031 IFileSaveDialog *This, 22032 IPropertyStore **ppStore); 22033 22034 HRESULT (STDMETHODCALLTYPE *ApplyProperties)( 22035 IFileSaveDialog *This, 22036 IShellItem *psi, 22037 IPropertyStore *pStore, 22038 HWND hwnd, 22039 IFileOperationProgressSink *pSink); 22040 22041 END_INTERFACE 22042 } IFileSaveDialogVtbl; 22043 22044 interface IFileSaveDialog { 22045 CONST_VTBL IFileSaveDialogVtbl* lpVtbl; 22046 }; 22047 22048 #ifdef COBJMACROS 22049 #ifndef WIDL_C_INLINE_WRAPPERS 22050 /*** IUnknown methods ***/ 22051 #define IFileSaveDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 22052 #define IFileSaveDialog_AddRef(This) (This)->lpVtbl->AddRef(This) 22053 #define IFileSaveDialog_Release(This) (This)->lpVtbl->Release(This) 22054 /*** IModalWindow methods ***/ 22055 #define IFileSaveDialog_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner) 22056 /*** IFileDialog methods ***/ 22057 #define IFileSaveDialog_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec) 22058 #define IFileSaveDialog_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType) 22059 #define IFileSaveDialog_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType) 22060 #define IFileSaveDialog_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie) 22061 #define IFileSaveDialog_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie) 22062 #define IFileSaveDialog_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos) 22063 #define IFileSaveDialog_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos) 22064 #define IFileSaveDialog_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi) 22065 #define IFileSaveDialog_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi) 22066 #define IFileSaveDialog_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi) 22067 #define IFileSaveDialog_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi) 22068 #define IFileSaveDialog_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName) 22069 #define IFileSaveDialog_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName) 22070 #define IFileSaveDialog_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle) 22071 #define IFileSaveDialog_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText) 22072 #define IFileSaveDialog_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel) 22073 #define IFileSaveDialog_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi) 22074 #define IFileSaveDialog_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap) 22075 #define IFileSaveDialog_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension) 22076 #define IFileSaveDialog_Close(This,hr) (This)->lpVtbl->Close(This,hr) 22077 #define IFileSaveDialog_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid) 22078 #define IFileSaveDialog_ClearClientData(This) (This)->lpVtbl->ClearClientData(This) 22079 #define IFileSaveDialog_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter) 22080 /*** IFileSaveDialog methods ***/ 22081 #define IFileSaveDialog_SetSaveAsItem(This,psi) (This)->lpVtbl->SetSaveAsItem(This,psi) 22082 #define IFileSaveDialog_SetProperties(This,pStore) (This)->lpVtbl->SetProperties(This,pStore) 22083 #define IFileSaveDialog_SetCollectedProperties(This,pList,fAppendDefault) (This)->lpVtbl->SetCollectedProperties(This,pList,fAppendDefault) 22084 #define IFileSaveDialog_GetProperties(This,ppStore) (This)->lpVtbl->GetProperties(This,ppStore) 22085 #define IFileSaveDialog_ApplyProperties(This,psi,pStore,hwnd,pSink) (This)->lpVtbl->ApplyProperties(This,psi,pStore,hwnd,pSink) 22086 #else 22087 /*** IUnknown methods ***/ 22088 static inline HRESULT IFileSaveDialog_QueryInterface(IFileSaveDialog* This,REFIID riid,void **ppvObject) { 22089 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 22090 } 22091 static inline ULONG IFileSaveDialog_AddRef(IFileSaveDialog* This) { 22092 return This->lpVtbl->AddRef(This); 22093 } 22094 static inline ULONG IFileSaveDialog_Release(IFileSaveDialog* This) { 22095 return This->lpVtbl->Release(This); 22096 } 22097 /*** IModalWindow methods ***/ 22098 static inline HRESULT IFileSaveDialog_Show(IFileSaveDialog* This,HWND hwndOwner) { 22099 return This->lpVtbl->Show(This,hwndOwner); 22100 } 22101 /*** IFileDialog methods ***/ 22102 static inline HRESULT IFileSaveDialog_SetFileTypes(IFileSaveDialog* This,UINT cFileTypes,const COMDLG_FILTERSPEC *rgFilterSpec) { 22103 return This->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec); 22104 } 22105 static inline HRESULT IFileSaveDialog_SetFileTypeIndex(IFileSaveDialog* This,UINT iFileType) { 22106 return This->lpVtbl->SetFileTypeIndex(This,iFileType); 22107 } 22108 static inline HRESULT IFileSaveDialog_GetFileTypeIndex(IFileSaveDialog* This,UINT *piFileType) { 22109 return This->lpVtbl->GetFileTypeIndex(This,piFileType); 22110 } 22111 static inline HRESULT IFileSaveDialog_Advise(IFileSaveDialog* This,IFileDialogEvents *pfde,DWORD *pdwCookie) { 22112 return This->lpVtbl->Advise(This,pfde,pdwCookie); 22113 } 22114 static inline HRESULT IFileSaveDialog_Unadvise(IFileSaveDialog* This,DWORD dwCookie) { 22115 return This->lpVtbl->Unadvise(This,dwCookie); 22116 } 22117 static inline HRESULT IFileSaveDialog_SetOptions(IFileSaveDialog* This,FILEOPENDIALOGOPTIONS fos) { 22118 return This->lpVtbl->SetOptions(This,fos); 22119 } 22120 static inline HRESULT IFileSaveDialog_GetOptions(IFileSaveDialog* This,FILEOPENDIALOGOPTIONS *pfos) { 22121 return This->lpVtbl->GetOptions(This,pfos); 22122 } 22123 static inline HRESULT IFileSaveDialog_SetDefaultFolder(IFileSaveDialog* This,IShellItem *psi) { 22124 return This->lpVtbl->SetDefaultFolder(This,psi); 22125 } 22126 static inline HRESULT IFileSaveDialog_SetFolder(IFileSaveDialog* This,IShellItem *psi) { 22127 return This->lpVtbl->SetFolder(This,psi); 22128 } 22129 static inline HRESULT IFileSaveDialog_GetFolder(IFileSaveDialog* This,IShellItem **ppsi) { 22130 return This->lpVtbl->GetFolder(This,ppsi); 22131 } 22132 static inline HRESULT IFileSaveDialog_GetCurrentSelection(IFileSaveDialog* This,IShellItem **ppsi) { 22133 return This->lpVtbl->GetCurrentSelection(This,ppsi); 22134 } 22135 static inline HRESULT IFileSaveDialog_SetFileName(IFileSaveDialog* This,LPCWSTR pszName) { 22136 return This->lpVtbl->SetFileName(This,pszName); 22137 } 22138 static inline HRESULT IFileSaveDialog_GetFileName(IFileSaveDialog* This,LPWSTR *pszName) { 22139 return This->lpVtbl->GetFileName(This,pszName); 22140 } 22141 static inline HRESULT IFileSaveDialog_SetTitle(IFileSaveDialog* This,LPCWSTR pszTitle) { 22142 return This->lpVtbl->SetTitle(This,pszTitle); 22143 } 22144 static inline HRESULT IFileSaveDialog_SetOkButtonLabel(IFileSaveDialog* This,LPCWSTR pszText) { 22145 return This->lpVtbl->SetOkButtonLabel(This,pszText); 22146 } 22147 static inline HRESULT IFileSaveDialog_SetFileNameLabel(IFileSaveDialog* This,LPCWSTR pszLabel) { 22148 return This->lpVtbl->SetFileNameLabel(This,pszLabel); 22149 } 22150 static inline HRESULT IFileSaveDialog_GetResult(IFileSaveDialog* This,IShellItem **ppsi) { 22151 return This->lpVtbl->GetResult(This,ppsi); 22152 } 22153 static inline HRESULT IFileSaveDialog_AddPlace(IFileSaveDialog* This,IShellItem *psi,FDAP fdap) { 22154 return This->lpVtbl->AddPlace(This,psi,fdap); 22155 } 22156 static inline HRESULT IFileSaveDialog_SetDefaultExtension(IFileSaveDialog* This,LPCWSTR pszDefaultExtension) { 22157 return This->lpVtbl->SetDefaultExtension(This,pszDefaultExtension); 22158 } 22159 static inline HRESULT IFileSaveDialog_Close(IFileSaveDialog* This,HRESULT hr) { 22160 return This->lpVtbl->Close(This,hr); 22161 } 22162 static inline HRESULT IFileSaveDialog_SetClientGuid(IFileSaveDialog* This,REFGUID guid) { 22163 return This->lpVtbl->SetClientGuid(This,guid); 22164 } 22165 static inline HRESULT IFileSaveDialog_ClearClientData(IFileSaveDialog* This) { 22166 return This->lpVtbl->ClearClientData(This); 22167 } 22168 static inline HRESULT IFileSaveDialog_SetFilter(IFileSaveDialog* This,IShellItemFilter *pFilter) { 22169 return This->lpVtbl->SetFilter(This,pFilter); 22170 } 22171 /*** IFileSaveDialog methods ***/ 22172 static inline HRESULT IFileSaveDialog_SetSaveAsItem(IFileSaveDialog* This,IShellItem *psi) { 22173 return This->lpVtbl->SetSaveAsItem(This,psi); 22174 } 22175 static inline HRESULT IFileSaveDialog_SetProperties(IFileSaveDialog* This,IPropertyStore *pStore) { 22176 return This->lpVtbl->SetProperties(This,pStore); 22177 } 22178 static inline HRESULT IFileSaveDialog_SetCollectedProperties(IFileSaveDialog* This,IPropertyDescriptionList *pList,WINBOOL fAppendDefault) { 22179 return This->lpVtbl->SetCollectedProperties(This,pList,fAppendDefault); 22180 } 22181 static inline HRESULT IFileSaveDialog_GetProperties(IFileSaveDialog* This,IPropertyStore **ppStore) { 22182 return This->lpVtbl->GetProperties(This,ppStore); 22183 } 22184 static inline HRESULT IFileSaveDialog_ApplyProperties(IFileSaveDialog* This,IShellItem *psi,IPropertyStore *pStore,HWND hwnd,IFileOperationProgressSink *pSink) { 22185 return This->lpVtbl->ApplyProperties(This,psi,pStore,hwnd,pSink); 22186 } 22187 #endif 22188 #endif 22189 22190 #endif 22191 22192 22193 #endif /* __IFileSaveDialog_INTERFACE_DEFINED__ */ 22194 22195 22196 /***************************************************************************** 22197 * IFileOpenDialog interface 22198 */ 22199 #ifndef __IFileOpenDialog_INTERFACE_DEFINED__ 22200 #define __IFileOpenDialog_INTERFACE_DEFINED__ 22201 22202 DEFINE_GUID(IID_IFileOpenDialog, 0xd57c7288, 0xd4ad, 0x4768, 0xbe,0x02, 0x9d,0x96,0x95,0x32,0xd9,0x60); 22203 #if defined(__cplusplus) && !defined(CINTERFACE) 22204 MIDL_INTERFACE("d57c7288-d4ad-4768-be02-9d969532d960") 22205 IFileOpenDialog : public IFileDialog 22206 { 22207 virtual HRESULT STDMETHODCALLTYPE GetResults( 22208 IShellItemArray **ppenum) = 0; 22209 22210 virtual HRESULT STDMETHODCALLTYPE GetSelectedItems( 22211 IShellItemArray **ppsai) = 0; 22212 22213 }; 22214 #ifdef __CRT_UUID_DECL 22215 __CRT_UUID_DECL(IFileOpenDialog, 0xd57c7288, 0xd4ad, 0x4768, 0xbe,0x02, 0x9d,0x96,0x95,0x32,0xd9,0x60) 22216 #endif 22217 #else 22218 typedef struct IFileOpenDialogVtbl { 22219 BEGIN_INTERFACE 22220 22221 /*** IUnknown methods ***/ 22222 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 22223 IFileOpenDialog *This, 22224 REFIID riid, 22225 void **ppvObject); 22226 22227 ULONG (STDMETHODCALLTYPE *AddRef)( 22228 IFileOpenDialog *This); 22229 22230 ULONG (STDMETHODCALLTYPE *Release)( 22231 IFileOpenDialog *This); 22232 22233 /*** IModalWindow methods ***/ 22234 HRESULT (STDMETHODCALLTYPE *Show)( 22235 IFileOpenDialog *This, 22236 HWND hwndOwner); 22237 22238 /*** IFileDialog methods ***/ 22239 HRESULT (STDMETHODCALLTYPE *SetFileTypes)( 22240 IFileOpenDialog *This, 22241 UINT cFileTypes, 22242 const COMDLG_FILTERSPEC *rgFilterSpec); 22243 22244 HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)( 22245 IFileOpenDialog *This, 22246 UINT iFileType); 22247 22248 HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)( 22249 IFileOpenDialog *This, 22250 UINT *piFileType); 22251 22252 HRESULT (STDMETHODCALLTYPE *Advise)( 22253 IFileOpenDialog *This, 22254 IFileDialogEvents *pfde, 22255 DWORD *pdwCookie); 22256 22257 HRESULT (STDMETHODCALLTYPE *Unadvise)( 22258 IFileOpenDialog *This, 22259 DWORD dwCookie); 22260 22261 HRESULT (STDMETHODCALLTYPE *SetOptions)( 22262 IFileOpenDialog *This, 22263 FILEOPENDIALOGOPTIONS fos); 22264 22265 HRESULT (STDMETHODCALLTYPE *GetOptions)( 22266 IFileOpenDialog *This, 22267 FILEOPENDIALOGOPTIONS *pfos); 22268 22269 HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)( 22270 IFileOpenDialog *This, 22271 IShellItem *psi); 22272 22273 HRESULT (STDMETHODCALLTYPE *SetFolder)( 22274 IFileOpenDialog *This, 22275 IShellItem *psi); 22276 22277 HRESULT (STDMETHODCALLTYPE *GetFolder)( 22278 IFileOpenDialog *This, 22279 IShellItem **ppsi); 22280 22281 HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)( 22282 IFileOpenDialog *This, 22283 IShellItem **ppsi); 22284 22285 HRESULT (STDMETHODCALLTYPE *SetFileName)( 22286 IFileOpenDialog *This, 22287 LPCWSTR pszName); 22288 22289 HRESULT (STDMETHODCALLTYPE *GetFileName)( 22290 IFileOpenDialog *This, 22291 LPWSTR *pszName); 22292 22293 HRESULT (STDMETHODCALLTYPE *SetTitle)( 22294 IFileOpenDialog *This, 22295 LPCWSTR pszTitle); 22296 22297 HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)( 22298 IFileOpenDialog *This, 22299 LPCWSTR pszText); 22300 22301 HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)( 22302 IFileOpenDialog *This, 22303 LPCWSTR pszLabel); 22304 22305 HRESULT (STDMETHODCALLTYPE *GetResult)( 22306 IFileOpenDialog *This, 22307 IShellItem **ppsi); 22308 22309 HRESULT (STDMETHODCALLTYPE *AddPlace)( 22310 IFileOpenDialog *This, 22311 IShellItem *psi, 22312 FDAP fdap); 22313 22314 HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)( 22315 IFileOpenDialog *This, 22316 LPCWSTR pszDefaultExtension); 22317 22318 HRESULT (STDMETHODCALLTYPE *Close)( 22319 IFileOpenDialog *This, 22320 HRESULT hr); 22321 22322 HRESULT (STDMETHODCALLTYPE *SetClientGuid)( 22323 IFileOpenDialog *This, 22324 REFGUID guid); 22325 22326 HRESULT (STDMETHODCALLTYPE *ClearClientData)( 22327 IFileOpenDialog *This); 22328 22329 HRESULT (STDMETHODCALLTYPE *SetFilter)( 22330 IFileOpenDialog *This, 22331 IShellItemFilter *pFilter); 22332 22333 /*** IFileOpenDialog methods ***/ 22334 HRESULT (STDMETHODCALLTYPE *GetResults)( 22335 IFileOpenDialog *This, 22336 IShellItemArray **ppenum); 22337 22338 HRESULT (STDMETHODCALLTYPE *GetSelectedItems)( 22339 IFileOpenDialog *This, 22340 IShellItemArray **ppsai); 22341 22342 END_INTERFACE 22343 } IFileOpenDialogVtbl; 22344 22345 interface IFileOpenDialog { 22346 CONST_VTBL IFileOpenDialogVtbl* lpVtbl; 22347 }; 22348 22349 #ifdef COBJMACROS 22350 #ifndef WIDL_C_INLINE_WRAPPERS 22351 /*** IUnknown methods ***/ 22352 #define IFileOpenDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 22353 #define IFileOpenDialog_AddRef(This) (This)->lpVtbl->AddRef(This) 22354 #define IFileOpenDialog_Release(This) (This)->lpVtbl->Release(This) 22355 /*** IModalWindow methods ***/ 22356 #define IFileOpenDialog_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner) 22357 /*** IFileDialog methods ***/ 22358 #define IFileOpenDialog_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec) 22359 #define IFileOpenDialog_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType) 22360 #define IFileOpenDialog_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType) 22361 #define IFileOpenDialog_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie) 22362 #define IFileOpenDialog_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie) 22363 #define IFileOpenDialog_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos) 22364 #define IFileOpenDialog_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos) 22365 #define IFileOpenDialog_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi) 22366 #define IFileOpenDialog_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi) 22367 #define IFileOpenDialog_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi) 22368 #define IFileOpenDialog_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi) 22369 #define IFileOpenDialog_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName) 22370 #define IFileOpenDialog_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName) 22371 #define IFileOpenDialog_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle) 22372 #define IFileOpenDialog_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText) 22373 #define IFileOpenDialog_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel) 22374 #define IFileOpenDialog_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi) 22375 #define IFileOpenDialog_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap) 22376 #define IFileOpenDialog_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension) 22377 #define IFileOpenDialog_Close(This,hr) (This)->lpVtbl->Close(This,hr) 22378 #define IFileOpenDialog_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid) 22379 #define IFileOpenDialog_ClearClientData(This) (This)->lpVtbl->ClearClientData(This) 22380 #define IFileOpenDialog_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter) 22381 /*** IFileOpenDialog methods ***/ 22382 #define IFileOpenDialog_GetResults(This,ppenum) (This)->lpVtbl->GetResults(This,ppenum) 22383 #define IFileOpenDialog_GetSelectedItems(This,ppsai) (This)->lpVtbl->GetSelectedItems(This,ppsai) 22384 #else 22385 /*** IUnknown methods ***/ 22386 static inline HRESULT IFileOpenDialog_QueryInterface(IFileOpenDialog* This,REFIID riid,void **ppvObject) { 22387 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 22388 } 22389 static inline ULONG IFileOpenDialog_AddRef(IFileOpenDialog* This) { 22390 return This->lpVtbl->AddRef(This); 22391 } 22392 static inline ULONG IFileOpenDialog_Release(IFileOpenDialog* This) { 22393 return This->lpVtbl->Release(This); 22394 } 22395 /*** IModalWindow methods ***/ 22396 static inline HRESULT IFileOpenDialog_Show(IFileOpenDialog* This,HWND hwndOwner) { 22397 return This->lpVtbl->Show(This,hwndOwner); 22398 } 22399 /*** IFileDialog methods ***/ 22400 static inline HRESULT IFileOpenDialog_SetFileTypes(IFileOpenDialog* This,UINT cFileTypes,const COMDLG_FILTERSPEC *rgFilterSpec) { 22401 return This->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec); 22402 } 22403 static inline HRESULT IFileOpenDialog_SetFileTypeIndex(IFileOpenDialog* This,UINT iFileType) { 22404 return This->lpVtbl->SetFileTypeIndex(This,iFileType); 22405 } 22406 static inline HRESULT IFileOpenDialog_GetFileTypeIndex(IFileOpenDialog* This,UINT *piFileType) { 22407 return This->lpVtbl->GetFileTypeIndex(This,piFileType); 22408 } 22409 static inline HRESULT IFileOpenDialog_Advise(IFileOpenDialog* This,IFileDialogEvents *pfde,DWORD *pdwCookie) { 22410 return This->lpVtbl->Advise(This,pfde,pdwCookie); 22411 } 22412 static inline HRESULT IFileOpenDialog_Unadvise(IFileOpenDialog* This,DWORD dwCookie) { 22413 return This->lpVtbl->Unadvise(This,dwCookie); 22414 } 22415 static inline HRESULT IFileOpenDialog_SetOptions(IFileOpenDialog* This,FILEOPENDIALOGOPTIONS fos) { 22416 return This->lpVtbl->SetOptions(This,fos); 22417 } 22418 static inline HRESULT IFileOpenDialog_GetOptions(IFileOpenDialog* This,FILEOPENDIALOGOPTIONS *pfos) { 22419 return This->lpVtbl->GetOptions(This,pfos); 22420 } 22421 static inline HRESULT IFileOpenDialog_SetDefaultFolder(IFileOpenDialog* This,IShellItem *psi) { 22422 return This->lpVtbl->SetDefaultFolder(This,psi); 22423 } 22424 static inline HRESULT IFileOpenDialog_SetFolder(IFileOpenDialog* This,IShellItem *psi) { 22425 return This->lpVtbl->SetFolder(This,psi); 22426 } 22427 static inline HRESULT IFileOpenDialog_GetFolder(IFileOpenDialog* This,IShellItem **ppsi) { 22428 return This->lpVtbl->GetFolder(This,ppsi); 22429 } 22430 static inline HRESULT IFileOpenDialog_GetCurrentSelection(IFileOpenDialog* This,IShellItem **ppsi) { 22431 return This->lpVtbl->GetCurrentSelection(This,ppsi); 22432 } 22433 static inline HRESULT IFileOpenDialog_SetFileName(IFileOpenDialog* This,LPCWSTR pszName) { 22434 return This->lpVtbl->SetFileName(This,pszName); 22435 } 22436 static inline HRESULT IFileOpenDialog_GetFileName(IFileOpenDialog* This,LPWSTR *pszName) { 22437 return This->lpVtbl->GetFileName(This,pszName); 22438 } 22439 static inline HRESULT IFileOpenDialog_SetTitle(IFileOpenDialog* This,LPCWSTR pszTitle) { 22440 return This->lpVtbl->SetTitle(This,pszTitle); 22441 } 22442 static inline HRESULT IFileOpenDialog_SetOkButtonLabel(IFileOpenDialog* This,LPCWSTR pszText) { 22443 return This->lpVtbl->SetOkButtonLabel(This,pszText); 22444 } 22445 static inline HRESULT IFileOpenDialog_SetFileNameLabel(IFileOpenDialog* This,LPCWSTR pszLabel) { 22446 return This->lpVtbl->SetFileNameLabel(This,pszLabel); 22447 } 22448 static inline HRESULT IFileOpenDialog_GetResult(IFileOpenDialog* This,IShellItem **ppsi) { 22449 return This->lpVtbl->GetResult(This,ppsi); 22450 } 22451 static inline HRESULT IFileOpenDialog_AddPlace(IFileOpenDialog* This,IShellItem *psi,FDAP fdap) { 22452 return This->lpVtbl->AddPlace(This,psi,fdap); 22453 } 22454 static inline HRESULT IFileOpenDialog_SetDefaultExtension(IFileOpenDialog* This,LPCWSTR pszDefaultExtension) { 22455 return This->lpVtbl->SetDefaultExtension(This,pszDefaultExtension); 22456 } 22457 static inline HRESULT IFileOpenDialog_Close(IFileOpenDialog* This,HRESULT hr) { 22458 return This->lpVtbl->Close(This,hr); 22459 } 22460 static inline HRESULT IFileOpenDialog_SetClientGuid(IFileOpenDialog* This,REFGUID guid) { 22461 return This->lpVtbl->SetClientGuid(This,guid); 22462 } 22463 static inline HRESULT IFileOpenDialog_ClearClientData(IFileOpenDialog* This) { 22464 return This->lpVtbl->ClearClientData(This); 22465 } 22466 static inline HRESULT IFileOpenDialog_SetFilter(IFileOpenDialog* This,IShellItemFilter *pFilter) { 22467 return This->lpVtbl->SetFilter(This,pFilter); 22468 } 22469 /*** IFileOpenDialog methods ***/ 22470 static inline HRESULT IFileOpenDialog_GetResults(IFileOpenDialog* This,IShellItemArray **ppenum) { 22471 return This->lpVtbl->GetResults(This,ppenum); 22472 } 22473 static inline HRESULT IFileOpenDialog_GetSelectedItems(IFileOpenDialog* This,IShellItemArray **ppsai) { 22474 return This->lpVtbl->GetSelectedItems(This,ppsai); 22475 } 22476 #endif 22477 #endif 22478 22479 #endif 22480 22481 22482 #endif /* __IFileOpenDialog_INTERFACE_DEFINED__ */ 22483 22484 22485 typedef enum CDCONTROLSTATEF { 22486 CDCS_INACTIVE = 0x0, 22487 CDCS_ENABLED = 0x1, 22488 CDCS_VISIBLE = 0x2, 22489 CDCS_ENABLEDVISIBLE = 0x3 22490 } CDCONTROLSTATEF; 22491 22492 DEFINE_ENUM_FLAG_OPERATORS(CDCONTROLSTATEF) 22493 22494 /***************************************************************************** 22495 * IFileDialogCustomize interface 22496 */ 22497 #ifndef __IFileDialogCustomize_INTERFACE_DEFINED__ 22498 #define __IFileDialogCustomize_INTERFACE_DEFINED__ 22499 22500 DEFINE_GUID(IID_IFileDialogCustomize, 0xe6fdd21a, 0x163f, 0x4975, 0x9c,0x8c, 0xa6,0x9f,0x1b,0xa3,0x70,0x34); 22501 #if defined(__cplusplus) && !defined(CINTERFACE) 22502 MIDL_INTERFACE("e6fdd21a-163f-4975-9c8c-a69f1ba37034") 22503 IFileDialogCustomize : public IUnknown 22504 { 22505 virtual HRESULT STDMETHODCALLTYPE EnableOpenDropDown( 22506 DWORD dwIDCtl) = 0; 22507 22508 virtual HRESULT STDMETHODCALLTYPE AddMenu( 22509 DWORD dwIDCtl, 22510 LPCWSTR pszLabel) = 0; 22511 22512 virtual HRESULT STDMETHODCALLTYPE AddPushButton( 22513 DWORD dwIDCtl, 22514 LPCWSTR pszLabel) = 0; 22515 22516 virtual HRESULT STDMETHODCALLTYPE AddComboBox( 22517 DWORD dwIDCtl) = 0; 22518 22519 virtual HRESULT STDMETHODCALLTYPE AddRadioButtonList( 22520 DWORD dwIDCtl) = 0; 22521 22522 virtual HRESULT STDMETHODCALLTYPE AddCheckButton( 22523 DWORD dwIDCtl, 22524 LPCWSTR pszLabel, 22525 WINBOOL bChecked) = 0; 22526 22527 virtual HRESULT STDMETHODCALLTYPE AddEditBox( 22528 DWORD dwIDCtl, 22529 LPCWSTR pszText) = 0; 22530 22531 virtual HRESULT STDMETHODCALLTYPE AddSeparator( 22532 DWORD dwIDCtl) = 0; 22533 22534 virtual HRESULT STDMETHODCALLTYPE AddText( 22535 DWORD dwIDCtl, 22536 LPCWSTR pszText) = 0; 22537 22538 virtual HRESULT STDMETHODCALLTYPE SetControlLabel( 22539 DWORD dwIDCtl, 22540 LPCWSTR pszLabel) = 0; 22541 22542 virtual HRESULT STDMETHODCALLTYPE GetControlState( 22543 DWORD dwIDCtl, 22544 CDCONTROLSTATEF *pdwState) = 0; 22545 22546 virtual HRESULT STDMETHODCALLTYPE SetControlState( 22547 DWORD dwIDCtl, 22548 CDCONTROLSTATEF dwState) = 0; 22549 22550 virtual HRESULT STDMETHODCALLTYPE GetEditBoxText( 22551 DWORD dwIDCtl, 22552 WCHAR **ppszText) = 0; 22553 22554 virtual HRESULT STDMETHODCALLTYPE SetEditBoxText( 22555 DWORD dwIDCtl, 22556 LPCWSTR pszText) = 0; 22557 22558 virtual HRESULT STDMETHODCALLTYPE GetCheckButtonState( 22559 DWORD dwIDCtl, 22560 WINBOOL *pbChecked) = 0; 22561 22562 virtual HRESULT STDMETHODCALLTYPE SetCheckButtonState( 22563 DWORD dwIDCtl, 22564 WINBOOL bChecked) = 0; 22565 22566 virtual HRESULT STDMETHODCALLTYPE AddControlItem( 22567 DWORD dwIDCtl, 22568 DWORD dwIDItem, 22569 LPCWSTR pszLabel) = 0; 22570 22571 virtual HRESULT STDMETHODCALLTYPE RemoveControlItem( 22572 DWORD dwIDCtl, 22573 DWORD dwIDItem) = 0; 22574 22575 virtual HRESULT STDMETHODCALLTYPE RemoveAllControlItems( 22576 DWORD dwIDCtl) = 0; 22577 22578 virtual HRESULT STDMETHODCALLTYPE GetControlItemState( 22579 DWORD dwIDCtl, 22580 DWORD dwIDItem, 22581 CDCONTROLSTATEF *pdwState) = 0; 22582 22583 virtual HRESULT STDMETHODCALLTYPE SetControlItemState( 22584 DWORD dwIDCtl, 22585 DWORD dwIDItem, 22586 CDCONTROLSTATEF dwState) = 0; 22587 22588 virtual HRESULT STDMETHODCALLTYPE GetSelectedControlItem( 22589 DWORD dwIDCtl, 22590 DWORD *pdwIDItem) = 0; 22591 22592 virtual HRESULT STDMETHODCALLTYPE SetSelectedControlItem( 22593 DWORD dwIDCtl, 22594 DWORD dwIDItem) = 0; 22595 22596 virtual HRESULT STDMETHODCALLTYPE StartVisualGroup( 22597 DWORD dwIDCtl, 22598 LPCWSTR pszLabel) = 0; 22599 22600 virtual HRESULT STDMETHODCALLTYPE EndVisualGroup( 22601 ) = 0; 22602 22603 virtual HRESULT STDMETHODCALLTYPE MakeProminent( 22604 DWORD dwIDCtl) = 0; 22605 22606 virtual HRESULT STDMETHODCALLTYPE SetControlItemText( 22607 DWORD dwIDCtl, 22608 DWORD dwIDItem, 22609 LPCWSTR pszLabel) = 0; 22610 22611 }; 22612 #ifdef __CRT_UUID_DECL 22613 __CRT_UUID_DECL(IFileDialogCustomize, 0xe6fdd21a, 0x163f, 0x4975, 0x9c,0x8c, 0xa6,0x9f,0x1b,0xa3,0x70,0x34) 22614 #endif 22615 #else 22616 typedef struct IFileDialogCustomizeVtbl { 22617 BEGIN_INTERFACE 22618 22619 /*** IUnknown methods ***/ 22620 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 22621 IFileDialogCustomize *This, 22622 REFIID riid, 22623 void **ppvObject); 22624 22625 ULONG (STDMETHODCALLTYPE *AddRef)( 22626 IFileDialogCustomize *This); 22627 22628 ULONG (STDMETHODCALLTYPE *Release)( 22629 IFileDialogCustomize *This); 22630 22631 /*** IFileDialogCustomize methods ***/ 22632 HRESULT (STDMETHODCALLTYPE *EnableOpenDropDown)( 22633 IFileDialogCustomize *This, 22634 DWORD dwIDCtl); 22635 22636 HRESULT (STDMETHODCALLTYPE *AddMenu)( 22637 IFileDialogCustomize *This, 22638 DWORD dwIDCtl, 22639 LPCWSTR pszLabel); 22640 22641 HRESULT (STDMETHODCALLTYPE *AddPushButton)( 22642 IFileDialogCustomize *This, 22643 DWORD dwIDCtl, 22644 LPCWSTR pszLabel); 22645 22646 HRESULT (STDMETHODCALLTYPE *AddComboBox)( 22647 IFileDialogCustomize *This, 22648 DWORD dwIDCtl); 22649 22650 HRESULT (STDMETHODCALLTYPE *AddRadioButtonList)( 22651 IFileDialogCustomize *This, 22652 DWORD dwIDCtl); 22653 22654 HRESULT (STDMETHODCALLTYPE *AddCheckButton)( 22655 IFileDialogCustomize *This, 22656 DWORD dwIDCtl, 22657 LPCWSTR pszLabel, 22658 WINBOOL bChecked); 22659 22660 HRESULT (STDMETHODCALLTYPE *AddEditBox)( 22661 IFileDialogCustomize *This, 22662 DWORD dwIDCtl, 22663 LPCWSTR pszText); 22664 22665 HRESULT (STDMETHODCALLTYPE *AddSeparator)( 22666 IFileDialogCustomize *This, 22667 DWORD dwIDCtl); 22668 22669 HRESULT (STDMETHODCALLTYPE *AddText)( 22670 IFileDialogCustomize *This, 22671 DWORD dwIDCtl, 22672 LPCWSTR pszText); 22673 22674 HRESULT (STDMETHODCALLTYPE *SetControlLabel)( 22675 IFileDialogCustomize *This, 22676 DWORD dwIDCtl, 22677 LPCWSTR pszLabel); 22678 22679 HRESULT (STDMETHODCALLTYPE *GetControlState)( 22680 IFileDialogCustomize *This, 22681 DWORD dwIDCtl, 22682 CDCONTROLSTATEF *pdwState); 22683 22684 HRESULT (STDMETHODCALLTYPE *SetControlState)( 22685 IFileDialogCustomize *This, 22686 DWORD dwIDCtl, 22687 CDCONTROLSTATEF dwState); 22688 22689 HRESULT (STDMETHODCALLTYPE *GetEditBoxText)( 22690 IFileDialogCustomize *This, 22691 DWORD dwIDCtl, 22692 WCHAR **ppszText); 22693 22694 HRESULT (STDMETHODCALLTYPE *SetEditBoxText)( 22695 IFileDialogCustomize *This, 22696 DWORD dwIDCtl, 22697 LPCWSTR pszText); 22698 22699 HRESULT (STDMETHODCALLTYPE *GetCheckButtonState)( 22700 IFileDialogCustomize *This, 22701 DWORD dwIDCtl, 22702 WINBOOL *pbChecked); 22703 22704 HRESULT (STDMETHODCALLTYPE *SetCheckButtonState)( 22705 IFileDialogCustomize *This, 22706 DWORD dwIDCtl, 22707 WINBOOL bChecked); 22708 22709 HRESULT (STDMETHODCALLTYPE *AddControlItem)( 22710 IFileDialogCustomize *This, 22711 DWORD dwIDCtl, 22712 DWORD dwIDItem, 22713 LPCWSTR pszLabel); 22714 22715 HRESULT (STDMETHODCALLTYPE *RemoveControlItem)( 22716 IFileDialogCustomize *This, 22717 DWORD dwIDCtl, 22718 DWORD dwIDItem); 22719 22720 HRESULT (STDMETHODCALLTYPE *RemoveAllControlItems)( 22721 IFileDialogCustomize *This, 22722 DWORD dwIDCtl); 22723 22724 HRESULT (STDMETHODCALLTYPE *GetControlItemState)( 22725 IFileDialogCustomize *This, 22726 DWORD dwIDCtl, 22727 DWORD dwIDItem, 22728 CDCONTROLSTATEF *pdwState); 22729 22730 HRESULT (STDMETHODCALLTYPE *SetControlItemState)( 22731 IFileDialogCustomize *This, 22732 DWORD dwIDCtl, 22733 DWORD dwIDItem, 22734 CDCONTROLSTATEF dwState); 22735 22736 HRESULT (STDMETHODCALLTYPE *GetSelectedControlItem)( 22737 IFileDialogCustomize *This, 22738 DWORD dwIDCtl, 22739 DWORD *pdwIDItem); 22740 22741 HRESULT (STDMETHODCALLTYPE *SetSelectedControlItem)( 22742 IFileDialogCustomize *This, 22743 DWORD dwIDCtl, 22744 DWORD dwIDItem); 22745 22746 HRESULT (STDMETHODCALLTYPE *StartVisualGroup)( 22747 IFileDialogCustomize *This, 22748 DWORD dwIDCtl, 22749 LPCWSTR pszLabel); 22750 22751 HRESULT (STDMETHODCALLTYPE *EndVisualGroup)( 22752 IFileDialogCustomize *This); 22753 22754 HRESULT (STDMETHODCALLTYPE *MakeProminent)( 22755 IFileDialogCustomize *This, 22756 DWORD dwIDCtl); 22757 22758 HRESULT (STDMETHODCALLTYPE *SetControlItemText)( 22759 IFileDialogCustomize *This, 22760 DWORD dwIDCtl, 22761 DWORD dwIDItem, 22762 LPCWSTR pszLabel); 22763 22764 END_INTERFACE 22765 } IFileDialogCustomizeVtbl; 22766 22767 interface IFileDialogCustomize { 22768 CONST_VTBL IFileDialogCustomizeVtbl* lpVtbl; 22769 }; 22770 22771 #ifdef COBJMACROS 22772 #ifndef WIDL_C_INLINE_WRAPPERS 22773 /*** IUnknown methods ***/ 22774 #define IFileDialogCustomize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 22775 #define IFileDialogCustomize_AddRef(This) (This)->lpVtbl->AddRef(This) 22776 #define IFileDialogCustomize_Release(This) (This)->lpVtbl->Release(This) 22777 /*** IFileDialogCustomize methods ***/ 22778 #define IFileDialogCustomize_EnableOpenDropDown(This,dwIDCtl) (This)->lpVtbl->EnableOpenDropDown(This,dwIDCtl) 22779 #define IFileDialogCustomize_AddMenu(This,dwIDCtl,pszLabel) (This)->lpVtbl->AddMenu(This,dwIDCtl,pszLabel) 22780 #define IFileDialogCustomize_AddPushButton(This,dwIDCtl,pszLabel) (This)->lpVtbl->AddPushButton(This,dwIDCtl,pszLabel) 22781 #define IFileDialogCustomize_AddComboBox(This,dwIDCtl) (This)->lpVtbl->AddComboBox(This,dwIDCtl) 22782 #define IFileDialogCustomize_AddRadioButtonList(This,dwIDCtl) (This)->lpVtbl->AddRadioButtonList(This,dwIDCtl) 22783 #define IFileDialogCustomize_AddCheckButton(This,dwIDCtl,pszLabel,bChecked) (This)->lpVtbl->AddCheckButton(This,dwIDCtl,pszLabel,bChecked) 22784 #define IFileDialogCustomize_AddEditBox(This,dwIDCtl,pszText) (This)->lpVtbl->AddEditBox(This,dwIDCtl,pszText) 22785 #define IFileDialogCustomize_AddSeparator(This,dwIDCtl) (This)->lpVtbl->AddSeparator(This,dwIDCtl) 22786 #define IFileDialogCustomize_AddText(This,dwIDCtl,pszText) (This)->lpVtbl->AddText(This,dwIDCtl,pszText) 22787 #define IFileDialogCustomize_SetControlLabel(This,dwIDCtl,pszLabel) (This)->lpVtbl->SetControlLabel(This,dwIDCtl,pszLabel) 22788 #define IFileDialogCustomize_GetControlState(This,dwIDCtl,pdwState) (This)->lpVtbl->GetControlState(This,dwIDCtl,pdwState) 22789 #define IFileDialogCustomize_SetControlState(This,dwIDCtl,dwState) (This)->lpVtbl->SetControlState(This,dwIDCtl,dwState) 22790 #define IFileDialogCustomize_GetEditBoxText(This,dwIDCtl,ppszText) (This)->lpVtbl->GetEditBoxText(This,dwIDCtl,ppszText) 22791 #define IFileDialogCustomize_SetEditBoxText(This,dwIDCtl,pszText) (This)->lpVtbl->SetEditBoxText(This,dwIDCtl,pszText) 22792 #define IFileDialogCustomize_GetCheckButtonState(This,dwIDCtl,pbChecked) (This)->lpVtbl->GetCheckButtonState(This,dwIDCtl,pbChecked) 22793 #define IFileDialogCustomize_SetCheckButtonState(This,dwIDCtl,bChecked) (This)->lpVtbl->SetCheckButtonState(This,dwIDCtl,bChecked) 22794 #define IFileDialogCustomize_AddControlItem(This,dwIDCtl,dwIDItem,pszLabel) (This)->lpVtbl->AddControlItem(This,dwIDCtl,dwIDItem,pszLabel) 22795 #define IFileDialogCustomize_RemoveControlItem(This,dwIDCtl,dwIDItem) (This)->lpVtbl->RemoveControlItem(This,dwIDCtl,dwIDItem) 22796 #define IFileDialogCustomize_RemoveAllControlItems(This,dwIDCtl) (This)->lpVtbl->RemoveAllControlItems(This,dwIDCtl) 22797 #define IFileDialogCustomize_GetControlItemState(This,dwIDCtl,dwIDItem,pdwState) (This)->lpVtbl->GetControlItemState(This,dwIDCtl,dwIDItem,pdwState) 22798 #define IFileDialogCustomize_SetControlItemState(This,dwIDCtl,dwIDItem,dwState) (This)->lpVtbl->SetControlItemState(This,dwIDCtl,dwIDItem,dwState) 22799 #define IFileDialogCustomize_GetSelectedControlItem(This,dwIDCtl,pdwIDItem) (This)->lpVtbl->GetSelectedControlItem(This,dwIDCtl,pdwIDItem) 22800 #define IFileDialogCustomize_SetSelectedControlItem(This,dwIDCtl,dwIDItem) (This)->lpVtbl->SetSelectedControlItem(This,dwIDCtl,dwIDItem) 22801 #define IFileDialogCustomize_StartVisualGroup(This,dwIDCtl,pszLabel) (This)->lpVtbl->StartVisualGroup(This,dwIDCtl,pszLabel) 22802 #define IFileDialogCustomize_EndVisualGroup(This) (This)->lpVtbl->EndVisualGroup(This) 22803 #define IFileDialogCustomize_MakeProminent(This,dwIDCtl) (This)->lpVtbl->MakeProminent(This,dwIDCtl) 22804 #define IFileDialogCustomize_SetControlItemText(This,dwIDCtl,dwIDItem,pszLabel) (This)->lpVtbl->SetControlItemText(This,dwIDCtl,dwIDItem,pszLabel) 22805 #else 22806 /*** IUnknown methods ***/ 22807 static inline HRESULT IFileDialogCustomize_QueryInterface(IFileDialogCustomize* This,REFIID riid,void **ppvObject) { 22808 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 22809 } 22810 static inline ULONG IFileDialogCustomize_AddRef(IFileDialogCustomize* This) { 22811 return This->lpVtbl->AddRef(This); 22812 } 22813 static inline ULONG IFileDialogCustomize_Release(IFileDialogCustomize* This) { 22814 return This->lpVtbl->Release(This); 22815 } 22816 /*** IFileDialogCustomize methods ***/ 22817 static inline HRESULT IFileDialogCustomize_EnableOpenDropDown(IFileDialogCustomize* This,DWORD dwIDCtl) { 22818 return This->lpVtbl->EnableOpenDropDown(This,dwIDCtl); 22819 } 22820 static inline HRESULT IFileDialogCustomize_AddMenu(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel) { 22821 return This->lpVtbl->AddMenu(This,dwIDCtl,pszLabel); 22822 } 22823 static inline HRESULT IFileDialogCustomize_AddPushButton(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel) { 22824 return This->lpVtbl->AddPushButton(This,dwIDCtl,pszLabel); 22825 } 22826 static inline HRESULT IFileDialogCustomize_AddComboBox(IFileDialogCustomize* This,DWORD dwIDCtl) { 22827 return This->lpVtbl->AddComboBox(This,dwIDCtl); 22828 } 22829 static inline HRESULT IFileDialogCustomize_AddRadioButtonList(IFileDialogCustomize* This,DWORD dwIDCtl) { 22830 return This->lpVtbl->AddRadioButtonList(This,dwIDCtl); 22831 } 22832 static inline HRESULT IFileDialogCustomize_AddCheckButton(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel,WINBOOL bChecked) { 22833 return This->lpVtbl->AddCheckButton(This,dwIDCtl,pszLabel,bChecked); 22834 } 22835 static inline HRESULT IFileDialogCustomize_AddEditBox(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszText) { 22836 return This->lpVtbl->AddEditBox(This,dwIDCtl,pszText); 22837 } 22838 static inline HRESULT IFileDialogCustomize_AddSeparator(IFileDialogCustomize* This,DWORD dwIDCtl) { 22839 return This->lpVtbl->AddSeparator(This,dwIDCtl); 22840 } 22841 static inline HRESULT IFileDialogCustomize_AddText(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszText) { 22842 return This->lpVtbl->AddText(This,dwIDCtl,pszText); 22843 } 22844 static inline HRESULT IFileDialogCustomize_SetControlLabel(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel) { 22845 return This->lpVtbl->SetControlLabel(This,dwIDCtl,pszLabel); 22846 } 22847 static inline HRESULT IFileDialogCustomize_GetControlState(IFileDialogCustomize* This,DWORD dwIDCtl,CDCONTROLSTATEF *pdwState) { 22848 return This->lpVtbl->GetControlState(This,dwIDCtl,pdwState); 22849 } 22850 static inline HRESULT IFileDialogCustomize_SetControlState(IFileDialogCustomize* This,DWORD dwIDCtl,CDCONTROLSTATEF dwState) { 22851 return This->lpVtbl->SetControlState(This,dwIDCtl,dwState); 22852 } 22853 static inline HRESULT IFileDialogCustomize_GetEditBoxText(IFileDialogCustomize* This,DWORD dwIDCtl,WCHAR **ppszText) { 22854 return This->lpVtbl->GetEditBoxText(This,dwIDCtl,ppszText); 22855 } 22856 static inline HRESULT IFileDialogCustomize_SetEditBoxText(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszText) { 22857 return This->lpVtbl->SetEditBoxText(This,dwIDCtl,pszText); 22858 } 22859 static inline HRESULT IFileDialogCustomize_GetCheckButtonState(IFileDialogCustomize* This,DWORD dwIDCtl,WINBOOL *pbChecked) { 22860 return This->lpVtbl->GetCheckButtonState(This,dwIDCtl,pbChecked); 22861 } 22862 static inline HRESULT IFileDialogCustomize_SetCheckButtonState(IFileDialogCustomize* This,DWORD dwIDCtl,WINBOOL bChecked) { 22863 return This->lpVtbl->SetCheckButtonState(This,dwIDCtl,bChecked); 22864 } 22865 static inline HRESULT IFileDialogCustomize_AddControlItem(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem,LPCWSTR pszLabel) { 22866 return This->lpVtbl->AddControlItem(This,dwIDCtl,dwIDItem,pszLabel); 22867 } 22868 static inline HRESULT IFileDialogCustomize_RemoveControlItem(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem) { 22869 return This->lpVtbl->RemoveControlItem(This,dwIDCtl,dwIDItem); 22870 } 22871 static inline HRESULT IFileDialogCustomize_RemoveAllControlItems(IFileDialogCustomize* This,DWORD dwIDCtl) { 22872 return This->lpVtbl->RemoveAllControlItems(This,dwIDCtl); 22873 } 22874 static inline HRESULT IFileDialogCustomize_GetControlItemState(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem,CDCONTROLSTATEF *pdwState) { 22875 return This->lpVtbl->GetControlItemState(This,dwIDCtl,dwIDItem,pdwState); 22876 } 22877 static inline HRESULT IFileDialogCustomize_SetControlItemState(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem,CDCONTROLSTATEF dwState) { 22878 return This->lpVtbl->SetControlItemState(This,dwIDCtl,dwIDItem,dwState); 22879 } 22880 static inline HRESULT IFileDialogCustomize_GetSelectedControlItem(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD *pdwIDItem) { 22881 return This->lpVtbl->GetSelectedControlItem(This,dwIDCtl,pdwIDItem); 22882 } 22883 static inline HRESULT IFileDialogCustomize_SetSelectedControlItem(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem) { 22884 return This->lpVtbl->SetSelectedControlItem(This,dwIDCtl,dwIDItem); 22885 } 22886 static inline HRESULT IFileDialogCustomize_StartVisualGroup(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel) { 22887 return This->lpVtbl->StartVisualGroup(This,dwIDCtl,pszLabel); 22888 } 22889 static inline HRESULT IFileDialogCustomize_EndVisualGroup(IFileDialogCustomize* This) { 22890 return This->lpVtbl->EndVisualGroup(This); 22891 } 22892 static inline HRESULT IFileDialogCustomize_MakeProminent(IFileDialogCustomize* This,DWORD dwIDCtl) { 22893 return This->lpVtbl->MakeProminent(This,dwIDCtl); 22894 } 22895 static inline HRESULT IFileDialogCustomize_SetControlItemText(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem,LPCWSTR pszLabel) { 22896 return This->lpVtbl->SetControlItemText(This,dwIDCtl,dwIDItem,pszLabel); 22897 } 22898 #endif 22899 #endif 22900 22901 #endif 22902 22903 22904 #endif /* __IFileDialogCustomize_INTERFACE_DEFINED__ */ 22905 22906 22907 /***************************************************************************** 22908 * IFileDialogControlEvents interface 22909 */ 22910 #ifndef __IFileDialogControlEvents_INTERFACE_DEFINED__ 22911 #define __IFileDialogControlEvents_INTERFACE_DEFINED__ 22912 22913 DEFINE_GUID(IID_IFileDialogControlEvents, 0x36116642, 0xd713, 0x4b97, 0x9b,0x83, 0x74,0x84,0xa9,0xd0,0x04,0x33); 22914 #if defined(__cplusplus) && !defined(CINTERFACE) 22915 MIDL_INTERFACE("36116642-d713-4b97-9b83-7484a9d00433") 22916 IFileDialogControlEvents : public IUnknown 22917 { 22918 virtual HRESULT STDMETHODCALLTYPE OnItemSelected( 22919 IFileDialogCustomize *pfdc, 22920 DWORD dwIDCtl, 22921 DWORD dwIDItem) = 0; 22922 22923 virtual HRESULT STDMETHODCALLTYPE OnButtonClicked( 22924 IFileDialogCustomize *pfdc, 22925 DWORD dwIDCtl) = 0; 22926 22927 virtual HRESULT STDMETHODCALLTYPE OnCheckButtonToggled( 22928 IFileDialogCustomize *pfdc, 22929 DWORD dwIDCtl, 22930 WINBOOL bChecked) = 0; 22931 22932 virtual HRESULT STDMETHODCALLTYPE OnControlActivating( 22933 IFileDialogCustomize *pfdc, 22934 DWORD dwIDCtl) = 0; 22935 22936 }; 22937 #ifdef __CRT_UUID_DECL 22938 __CRT_UUID_DECL(IFileDialogControlEvents, 0x36116642, 0xd713, 0x4b97, 0x9b,0x83, 0x74,0x84,0xa9,0xd0,0x04,0x33) 22939 #endif 22940 #else 22941 typedef struct IFileDialogControlEventsVtbl { 22942 BEGIN_INTERFACE 22943 22944 /*** IUnknown methods ***/ 22945 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 22946 IFileDialogControlEvents *This, 22947 REFIID riid, 22948 void **ppvObject); 22949 22950 ULONG (STDMETHODCALLTYPE *AddRef)( 22951 IFileDialogControlEvents *This); 22952 22953 ULONG (STDMETHODCALLTYPE *Release)( 22954 IFileDialogControlEvents *This); 22955 22956 /*** IFileDialogControlEvents methods ***/ 22957 HRESULT (STDMETHODCALLTYPE *OnItemSelected)( 22958 IFileDialogControlEvents *This, 22959 IFileDialogCustomize *pfdc, 22960 DWORD dwIDCtl, 22961 DWORD dwIDItem); 22962 22963 HRESULT (STDMETHODCALLTYPE *OnButtonClicked)( 22964 IFileDialogControlEvents *This, 22965 IFileDialogCustomize *pfdc, 22966 DWORD dwIDCtl); 22967 22968 HRESULT (STDMETHODCALLTYPE *OnCheckButtonToggled)( 22969 IFileDialogControlEvents *This, 22970 IFileDialogCustomize *pfdc, 22971 DWORD dwIDCtl, 22972 WINBOOL bChecked); 22973 22974 HRESULT (STDMETHODCALLTYPE *OnControlActivating)( 22975 IFileDialogControlEvents *This, 22976 IFileDialogCustomize *pfdc, 22977 DWORD dwIDCtl); 22978 22979 END_INTERFACE 22980 } IFileDialogControlEventsVtbl; 22981 22982 interface IFileDialogControlEvents { 22983 CONST_VTBL IFileDialogControlEventsVtbl* lpVtbl; 22984 }; 22985 22986 #ifdef COBJMACROS 22987 #ifndef WIDL_C_INLINE_WRAPPERS 22988 /*** IUnknown methods ***/ 22989 #define IFileDialogControlEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 22990 #define IFileDialogControlEvents_AddRef(This) (This)->lpVtbl->AddRef(This) 22991 #define IFileDialogControlEvents_Release(This) (This)->lpVtbl->Release(This) 22992 /*** IFileDialogControlEvents methods ***/ 22993 #define IFileDialogControlEvents_OnItemSelected(This,pfdc,dwIDCtl,dwIDItem) (This)->lpVtbl->OnItemSelected(This,pfdc,dwIDCtl,dwIDItem) 22994 #define IFileDialogControlEvents_OnButtonClicked(This,pfdc,dwIDCtl) (This)->lpVtbl->OnButtonClicked(This,pfdc,dwIDCtl) 22995 #define IFileDialogControlEvents_OnCheckButtonToggled(This,pfdc,dwIDCtl,bChecked) (This)->lpVtbl->OnCheckButtonToggled(This,pfdc,dwIDCtl,bChecked) 22996 #define IFileDialogControlEvents_OnControlActivating(This,pfdc,dwIDCtl) (This)->lpVtbl->OnControlActivating(This,pfdc,dwIDCtl) 22997 #else 22998 /*** IUnknown methods ***/ 22999 static inline HRESULT IFileDialogControlEvents_QueryInterface(IFileDialogControlEvents* This,REFIID riid,void **ppvObject) { 23000 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 23001 } 23002 static inline ULONG IFileDialogControlEvents_AddRef(IFileDialogControlEvents* This) { 23003 return This->lpVtbl->AddRef(This); 23004 } 23005 static inline ULONG IFileDialogControlEvents_Release(IFileDialogControlEvents* This) { 23006 return This->lpVtbl->Release(This); 23007 } 23008 /*** IFileDialogControlEvents methods ***/ 23009 static inline HRESULT IFileDialogControlEvents_OnItemSelected(IFileDialogControlEvents* This,IFileDialogCustomize *pfdc,DWORD dwIDCtl,DWORD dwIDItem) { 23010 return This->lpVtbl->OnItemSelected(This,pfdc,dwIDCtl,dwIDItem); 23011 } 23012 static inline HRESULT IFileDialogControlEvents_OnButtonClicked(IFileDialogControlEvents* This,IFileDialogCustomize *pfdc,DWORD dwIDCtl) { 23013 return This->lpVtbl->OnButtonClicked(This,pfdc,dwIDCtl); 23014 } 23015 static inline HRESULT IFileDialogControlEvents_OnCheckButtonToggled(IFileDialogControlEvents* This,IFileDialogCustomize *pfdc,DWORD dwIDCtl,WINBOOL bChecked) { 23016 return This->lpVtbl->OnCheckButtonToggled(This,pfdc,dwIDCtl,bChecked); 23017 } 23018 static inline HRESULT IFileDialogControlEvents_OnControlActivating(IFileDialogControlEvents* This,IFileDialogCustomize *pfdc,DWORD dwIDCtl) { 23019 return This->lpVtbl->OnControlActivating(This,pfdc,dwIDCtl); 23020 } 23021 #endif 23022 #endif 23023 23024 #endif 23025 23026 23027 #endif /* __IFileDialogControlEvents_INTERFACE_DEFINED__ */ 23028 23029 23030 /***************************************************************************** 23031 * IFileDialog2 interface 23032 */ 23033 #ifndef __IFileDialog2_INTERFACE_DEFINED__ 23034 #define __IFileDialog2_INTERFACE_DEFINED__ 23035 23036 DEFINE_GUID(IID_IFileDialog2, 0x61744fc7, 0x85b5, 0x4791, 0xa9,0xb0, 0x27,0x22,0x76,0x30,0x9b,0x13); 23037 #if defined(__cplusplus) && !defined(CINTERFACE) 23038 MIDL_INTERFACE("61744fc7-85b5-4791-a9b0-272276309b13") 23039 IFileDialog2 : public IFileDialog 23040 { 23041 virtual HRESULT STDMETHODCALLTYPE SetCancelButtonLabel( 23042 LPCWSTR pszLabel) = 0; 23043 23044 virtual HRESULT STDMETHODCALLTYPE SetNavigationRoot( 23045 IShellItem *psi) = 0; 23046 23047 }; 23048 #ifdef __CRT_UUID_DECL 23049 __CRT_UUID_DECL(IFileDialog2, 0x61744fc7, 0x85b5, 0x4791, 0xa9,0xb0, 0x27,0x22,0x76,0x30,0x9b,0x13) 23050 #endif 23051 #else 23052 typedef struct IFileDialog2Vtbl { 23053 BEGIN_INTERFACE 23054 23055 /*** IUnknown methods ***/ 23056 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 23057 IFileDialog2 *This, 23058 REFIID riid, 23059 void **ppvObject); 23060 23061 ULONG (STDMETHODCALLTYPE *AddRef)( 23062 IFileDialog2 *This); 23063 23064 ULONG (STDMETHODCALLTYPE *Release)( 23065 IFileDialog2 *This); 23066 23067 /*** IModalWindow methods ***/ 23068 HRESULT (STDMETHODCALLTYPE *Show)( 23069 IFileDialog2 *This, 23070 HWND hwndOwner); 23071 23072 /*** IFileDialog methods ***/ 23073 HRESULT (STDMETHODCALLTYPE *SetFileTypes)( 23074 IFileDialog2 *This, 23075 UINT cFileTypes, 23076 const COMDLG_FILTERSPEC *rgFilterSpec); 23077 23078 HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)( 23079 IFileDialog2 *This, 23080 UINT iFileType); 23081 23082 HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)( 23083 IFileDialog2 *This, 23084 UINT *piFileType); 23085 23086 HRESULT (STDMETHODCALLTYPE *Advise)( 23087 IFileDialog2 *This, 23088 IFileDialogEvents *pfde, 23089 DWORD *pdwCookie); 23090 23091 HRESULT (STDMETHODCALLTYPE *Unadvise)( 23092 IFileDialog2 *This, 23093 DWORD dwCookie); 23094 23095 HRESULT (STDMETHODCALLTYPE *SetOptions)( 23096 IFileDialog2 *This, 23097 FILEOPENDIALOGOPTIONS fos); 23098 23099 HRESULT (STDMETHODCALLTYPE *GetOptions)( 23100 IFileDialog2 *This, 23101 FILEOPENDIALOGOPTIONS *pfos); 23102 23103 HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)( 23104 IFileDialog2 *This, 23105 IShellItem *psi); 23106 23107 HRESULT (STDMETHODCALLTYPE *SetFolder)( 23108 IFileDialog2 *This, 23109 IShellItem *psi); 23110 23111 HRESULT (STDMETHODCALLTYPE *GetFolder)( 23112 IFileDialog2 *This, 23113 IShellItem **ppsi); 23114 23115 HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)( 23116 IFileDialog2 *This, 23117 IShellItem **ppsi); 23118 23119 HRESULT (STDMETHODCALLTYPE *SetFileName)( 23120 IFileDialog2 *This, 23121 LPCWSTR pszName); 23122 23123 HRESULT (STDMETHODCALLTYPE *GetFileName)( 23124 IFileDialog2 *This, 23125 LPWSTR *pszName); 23126 23127 HRESULT (STDMETHODCALLTYPE *SetTitle)( 23128 IFileDialog2 *This, 23129 LPCWSTR pszTitle); 23130 23131 HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)( 23132 IFileDialog2 *This, 23133 LPCWSTR pszText); 23134 23135 HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)( 23136 IFileDialog2 *This, 23137 LPCWSTR pszLabel); 23138 23139 HRESULT (STDMETHODCALLTYPE *GetResult)( 23140 IFileDialog2 *This, 23141 IShellItem **ppsi); 23142 23143 HRESULT (STDMETHODCALLTYPE *AddPlace)( 23144 IFileDialog2 *This, 23145 IShellItem *psi, 23146 FDAP fdap); 23147 23148 HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)( 23149 IFileDialog2 *This, 23150 LPCWSTR pszDefaultExtension); 23151 23152 HRESULT (STDMETHODCALLTYPE *Close)( 23153 IFileDialog2 *This, 23154 HRESULT hr); 23155 23156 HRESULT (STDMETHODCALLTYPE *SetClientGuid)( 23157 IFileDialog2 *This, 23158 REFGUID guid); 23159 23160 HRESULT (STDMETHODCALLTYPE *ClearClientData)( 23161 IFileDialog2 *This); 23162 23163 HRESULT (STDMETHODCALLTYPE *SetFilter)( 23164 IFileDialog2 *This, 23165 IShellItemFilter *pFilter); 23166 23167 /*** IFileDialog2 methods ***/ 23168 HRESULT (STDMETHODCALLTYPE *SetCancelButtonLabel)( 23169 IFileDialog2 *This, 23170 LPCWSTR pszLabel); 23171 23172 HRESULT (STDMETHODCALLTYPE *SetNavigationRoot)( 23173 IFileDialog2 *This, 23174 IShellItem *psi); 23175 23176 END_INTERFACE 23177 } IFileDialog2Vtbl; 23178 23179 interface IFileDialog2 { 23180 CONST_VTBL IFileDialog2Vtbl* lpVtbl; 23181 }; 23182 23183 #ifdef COBJMACROS 23184 #ifndef WIDL_C_INLINE_WRAPPERS 23185 /*** IUnknown methods ***/ 23186 #define IFileDialog2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 23187 #define IFileDialog2_AddRef(This) (This)->lpVtbl->AddRef(This) 23188 #define IFileDialog2_Release(This) (This)->lpVtbl->Release(This) 23189 /*** IModalWindow methods ***/ 23190 #define IFileDialog2_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner) 23191 /*** IFileDialog methods ***/ 23192 #define IFileDialog2_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec) 23193 #define IFileDialog2_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType) 23194 #define IFileDialog2_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType) 23195 #define IFileDialog2_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie) 23196 #define IFileDialog2_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie) 23197 #define IFileDialog2_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos) 23198 #define IFileDialog2_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos) 23199 #define IFileDialog2_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi) 23200 #define IFileDialog2_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi) 23201 #define IFileDialog2_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi) 23202 #define IFileDialog2_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi) 23203 #define IFileDialog2_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName) 23204 #define IFileDialog2_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName) 23205 #define IFileDialog2_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle) 23206 #define IFileDialog2_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText) 23207 #define IFileDialog2_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel) 23208 #define IFileDialog2_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi) 23209 #define IFileDialog2_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap) 23210 #define IFileDialog2_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension) 23211 #define IFileDialog2_Close(This,hr) (This)->lpVtbl->Close(This,hr) 23212 #define IFileDialog2_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid) 23213 #define IFileDialog2_ClearClientData(This) (This)->lpVtbl->ClearClientData(This) 23214 #define IFileDialog2_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter) 23215 /*** IFileDialog2 methods ***/ 23216 #define IFileDialog2_SetCancelButtonLabel(This,pszLabel) (This)->lpVtbl->SetCancelButtonLabel(This,pszLabel) 23217 #define IFileDialog2_SetNavigationRoot(This,psi) (This)->lpVtbl->SetNavigationRoot(This,psi) 23218 #else 23219 /*** IUnknown methods ***/ 23220 static inline HRESULT IFileDialog2_QueryInterface(IFileDialog2* This,REFIID riid,void **ppvObject) { 23221 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 23222 } 23223 static inline ULONG IFileDialog2_AddRef(IFileDialog2* This) { 23224 return This->lpVtbl->AddRef(This); 23225 } 23226 static inline ULONG IFileDialog2_Release(IFileDialog2* This) { 23227 return This->lpVtbl->Release(This); 23228 } 23229 /*** IModalWindow methods ***/ 23230 static inline HRESULT IFileDialog2_Show(IFileDialog2* This,HWND hwndOwner) { 23231 return This->lpVtbl->Show(This,hwndOwner); 23232 } 23233 /*** IFileDialog methods ***/ 23234 static inline HRESULT IFileDialog2_SetFileTypes(IFileDialog2* This,UINT cFileTypes,const COMDLG_FILTERSPEC *rgFilterSpec) { 23235 return This->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec); 23236 } 23237 static inline HRESULT IFileDialog2_SetFileTypeIndex(IFileDialog2* This,UINT iFileType) { 23238 return This->lpVtbl->SetFileTypeIndex(This,iFileType); 23239 } 23240 static inline HRESULT IFileDialog2_GetFileTypeIndex(IFileDialog2* This,UINT *piFileType) { 23241 return This->lpVtbl->GetFileTypeIndex(This,piFileType); 23242 } 23243 static inline HRESULT IFileDialog2_Advise(IFileDialog2* This,IFileDialogEvents *pfde,DWORD *pdwCookie) { 23244 return This->lpVtbl->Advise(This,pfde,pdwCookie); 23245 } 23246 static inline HRESULT IFileDialog2_Unadvise(IFileDialog2* This,DWORD dwCookie) { 23247 return This->lpVtbl->Unadvise(This,dwCookie); 23248 } 23249 static inline HRESULT IFileDialog2_SetOptions(IFileDialog2* This,FILEOPENDIALOGOPTIONS fos) { 23250 return This->lpVtbl->SetOptions(This,fos); 23251 } 23252 static inline HRESULT IFileDialog2_GetOptions(IFileDialog2* This,FILEOPENDIALOGOPTIONS *pfos) { 23253 return This->lpVtbl->GetOptions(This,pfos); 23254 } 23255 static inline HRESULT IFileDialog2_SetDefaultFolder(IFileDialog2* This,IShellItem *psi) { 23256 return This->lpVtbl->SetDefaultFolder(This,psi); 23257 } 23258 static inline HRESULT IFileDialog2_SetFolder(IFileDialog2* This,IShellItem *psi) { 23259 return This->lpVtbl->SetFolder(This,psi); 23260 } 23261 static inline HRESULT IFileDialog2_GetFolder(IFileDialog2* This,IShellItem **ppsi) { 23262 return This->lpVtbl->GetFolder(This,ppsi); 23263 } 23264 static inline HRESULT IFileDialog2_GetCurrentSelection(IFileDialog2* This,IShellItem **ppsi) { 23265 return This->lpVtbl->GetCurrentSelection(This,ppsi); 23266 } 23267 static inline HRESULT IFileDialog2_SetFileName(IFileDialog2* This,LPCWSTR pszName) { 23268 return This->lpVtbl->SetFileName(This,pszName); 23269 } 23270 static inline HRESULT IFileDialog2_GetFileName(IFileDialog2* This,LPWSTR *pszName) { 23271 return This->lpVtbl->GetFileName(This,pszName); 23272 } 23273 static inline HRESULT IFileDialog2_SetTitle(IFileDialog2* This,LPCWSTR pszTitle) { 23274 return This->lpVtbl->SetTitle(This,pszTitle); 23275 } 23276 static inline HRESULT IFileDialog2_SetOkButtonLabel(IFileDialog2* This,LPCWSTR pszText) { 23277 return This->lpVtbl->SetOkButtonLabel(This,pszText); 23278 } 23279 static inline HRESULT IFileDialog2_SetFileNameLabel(IFileDialog2* This,LPCWSTR pszLabel) { 23280 return This->lpVtbl->SetFileNameLabel(This,pszLabel); 23281 } 23282 static inline HRESULT IFileDialog2_GetResult(IFileDialog2* This,IShellItem **ppsi) { 23283 return This->lpVtbl->GetResult(This,ppsi); 23284 } 23285 static inline HRESULT IFileDialog2_AddPlace(IFileDialog2* This,IShellItem *psi,FDAP fdap) { 23286 return This->lpVtbl->AddPlace(This,psi,fdap); 23287 } 23288 static inline HRESULT IFileDialog2_SetDefaultExtension(IFileDialog2* This,LPCWSTR pszDefaultExtension) { 23289 return This->lpVtbl->SetDefaultExtension(This,pszDefaultExtension); 23290 } 23291 static inline HRESULT IFileDialog2_Close(IFileDialog2* This,HRESULT hr) { 23292 return This->lpVtbl->Close(This,hr); 23293 } 23294 static inline HRESULT IFileDialog2_SetClientGuid(IFileDialog2* This,REFGUID guid) { 23295 return This->lpVtbl->SetClientGuid(This,guid); 23296 } 23297 static inline HRESULT IFileDialog2_ClearClientData(IFileDialog2* This) { 23298 return This->lpVtbl->ClearClientData(This); 23299 } 23300 static inline HRESULT IFileDialog2_SetFilter(IFileDialog2* This,IShellItemFilter *pFilter) { 23301 return This->lpVtbl->SetFilter(This,pFilter); 23302 } 23303 /*** IFileDialog2 methods ***/ 23304 static inline HRESULT IFileDialog2_SetCancelButtonLabel(IFileDialog2* This,LPCWSTR pszLabel) { 23305 return This->lpVtbl->SetCancelButtonLabel(This,pszLabel); 23306 } 23307 static inline HRESULT IFileDialog2_SetNavigationRoot(IFileDialog2* This,IShellItem *psi) { 23308 return This->lpVtbl->SetNavigationRoot(This,psi); 23309 } 23310 #endif 23311 #endif 23312 23313 #endif 23314 23315 23316 #endif /* __IFileDialog2_INTERFACE_DEFINED__ */ 23317 23318 23319 typedef enum ASSOCIATIONLEVEL { 23320 AL_MACHINE = 0, 23321 AL_EFFECTIVE = 1, 23322 AL_USER = 2 23323 } ASSOCIATIONLEVEL; 23324 23325 typedef enum ASSOCIATIONTYPE { 23326 AT_FILEEXTENSION = 0, 23327 AT_URLPROTOCOL = 1, 23328 AT_STARTMENUCLIENT = 2, 23329 AT_MIMETYPE = 3 23330 } ASSOCIATIONTYPE; 23331 23332 /***************************************************************************** 23333 * IApplicationAssociationRegistration interface 23334 */ 23335 #ifndef __IApplicationAssociationRegistration_INTERFACE_DEFINED__ 23336 #define __IApplicationAssociationRegistration_INTERFACE_DEFINED__ 23337 23338 DEFINE_GUID(IID_IApplicationAssociationRegistration, 0x4e530b0a, 0xe611, 0x4c77, 0xa3,0xac, 0x90,0x31,0xd0,0x22,0x28,0x1b); 23339 #if defined(__cplusplus) && !defined(CINTERFACE) 23340 MIDL_INTERFACE("4e530b0a-e611-4c77-a3ac-9031d022281b") 23341 IApplicationAssociationRegistration : public IUnknown 23342 { 23343 virtual HRESULT STDMETHODCALLTYPE QueryCurrentDefault( 23344 LPCWSTR pszQuery, 23345 ASSOCIATIONTYPE atQueryType, 23346 ASSOCIATIONLEVEL alQueryLevel, 23347 LPWSTR *ppszAssociation) = 0; 23348 23349 virtual HRESULT STDMETHODCALLTYPE QueryAppIsDefault( 23350 LPCWSTR pszQuery, 23351 ASSOCIATIONTYPE atQueryType, 23352 ASSOCIATIONLEVEL alQueryLevel, 23353 LPCWSTR pszAppRegistryName, 23354 WINBOOL *pfDefault) = 0; 23355 23356 virtual HRESULT STDMETHODCALLTYPE QueryAppIsDefaultAll( 23357 ASSOCIATIONLEVEL alQueryLevel, 23358 LPCWSTR pszAppRegistryName, 23359 WINBOOL *pfDefault) = 0; 23360 23361 virtual HRESULT STDMETHODCALLTYPE SetAppAsDefault( 23362 LPCWSTR pszAppRegistryName, 23363 LPCWSTR pszSet, 23364 ASSOCIATIONTYPE atSetType) = 0; 23365 23366 virtual HRESULT STDMETHODCALLTYPE SetAppAsDefaultAll( 23367 LPCWSTR pszAppRegistryName) = 0; 23368 23369 virtual HRESULT STDMETHODCALLTYPE ClearUserAssociations( 23370 ) = 0; 23371 23372 }; 23373 #ifdef __CRT_UUID_DECL 23374 __CRT_UUID_DECL(IApplicationAssociationRegistration, 0x4e530b0a, 0xe611, 0x4c77, 0xa3,0xac, 0x90,0x31,0xd0,0x22,0x28,0x1b) 23375 #endif 23376 #else 23377 typedef struct IApplicationAssociationRegistrationVtbl { 23378 BEGIN_INTERFACE 23379 23380 /*** IUnknown methods ***/ 23381 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 23382 IApplicationAssociationRegistration *This, 23383 REFIID riid, 23384 void **ppvObject); 23385 23386 ULONG (STDMETHODCALLTYPE *AddRef)( 23387 IApplicationAssociationRegistration *This); 23388 23389 ULONG (STDMETHODCALLTYPE *Release)( 23390 IApplicationAssociationRegistration *This); 23391 23392 /*** IApplicationAssociationRegistration methods ***/ 23393 HRESULT (STDMETHODCALLTYPE *QueryCurrentDefault)( 23394 IApplicationAssociationRegistration *This, 23395 LPCWSTR pszQuery, 23396 ASSOCIATIONTYPE atQueryType, 23397 ASSOCIATIONLEVEL alQueryLevel, 23398 LPWSTR *ppszAssociation); 23399 23400 HRESULT (STDMETHODCALLTYPE *QueryAppIsDefault)( 23401 IApplicationAssociationRegistration *This, 23402 LPCWSTR pszQuery, 23403 ASSOCIATIONTYPE atQueryType, 23404 ASSOCIATIONLEVEL alQueryLevel, 23405 LPCWSTR pszAppRegistryName, 23406 WINBOOL *pfDefault); 23407 23408 HRESULT (STDMETHODCALLTYPE *QueryAppIsDefaultAll)( 23409 IApplicationAssociationRegistration *This, 23410 ASSOCIATIONLEVEL alQueryLevel, 23411 LPCWSTR pszAppRegistryName, 23412 WINBOOL *pfDefault); 23413 23414 HRESULT (STDMETHODCALLTYPE *SetAppAsDefault)( 23415 IApplicationAssociationRegistration *This, 23416 LPCWSTR pszAppRegistryName, 23417 LPCWSTR pszSet, 23418 ASSOCIATIONTYPE atSetType); 23419 23420 HRESULT (STDMETHODCALLTYPE *SetAppAsDefaultAll)( 23421 IApplicationAssociationRegistration *This, 23422 LPCWSTR pszAppRegistryName); 23423 23424 HRESULT (STDMETHODCALLTYPE *ClearUserAssociations)( 23425 IApplicationAssociationRegistration *This); 23426 23427 END_INTERFACE 23428 } IApplicationAssociationRegistrationVtbl; 23429 23430 interface IApplicationAssociationRegistration { 23431 CONST_VTBL IApplicationAssociationRegistrationVtbl* lpVtbl; 23432 }; 23433 23434 #ifdef COBJMACROS 23435 #ifndef WIDL_C_INLINE_WRAPPERS 23436 /*** IUnknown methods ***/ 23437 #define IApplicationAssociationRegistration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 23438 #define IApplicationAssociationRegistration_AddRef(This) (This)->lpVtbl->AddRef(This) 23439 #define IApplicationAssociationRegistration_Release(This) (This)->lpVtbl->Release(This) 23440 /*** IApplicationAssociationRegistration methods ***/ 23441 #define IApplicationAssociationRegistration_QueryCurrentDefault(This,pszQuery,atQueryType,alQueryLevel,ppszAssociation) (This)->lpVtbl->QueryCurrentDefault(This,pszQuery,atQueryType,alQueryLevel,ppszAssociation) 23442 #define IApplicationAssociationRegistration_QueryAppIsDefault(This,pszQuery,atQueryType,alQueryLevel,pszAppRegistryName,pfDefault) (This)->lpVtbl->QueryAppIsDefault(This,pszQuery,atQueryType,alQueryLevel,pszAppRegistryName,pfDefault) 23443 #define IApplicationAssociationRegistration_QueryAppIsDefaultAll(This,alQueryLevel,pszAppRegistryName,pfDefault) (This)->lpVtbl->QueryAppIsDefaultAll(This,alQueryLevel,pszAppRegistryName,pfDefault) 23444 #define IApplicationAssociationRegistration_SetAppAsDefault(This,pszAppRegistryName,pszSet,atSetType) (This)->lpVtbl->SetAppAsDefault(This,pszAppRegistryName,pszSet,atSetType) 23445 #define IApplicationAssociationRegistration_SetAppAsDefaultAll(This,pszAppRegistryName) (This)->lpVtbl->SetAppAsDefaultAll(This,pszAppRegistryName) 23446 #define IApplicationAssociationRegistration_ClearUserAssociations(This) (This)->lpVtbl->ClearUserAssociations(This) 23447 #else 23448 /*** IUnknown methods ***/ 23449 static inline HRESULT IApplicationAssociationRegistration_QueryInterface(IApplicationAssociationRegistration* This,REFIID riid,void **ppvObject) { 23450 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 23451 } 23452 static inline ULONG IApplicationAssociationRegistration_AddRef(IApplicationAssociationRegistration* This) { 23453 return This->lpVtbl->AddRef(This); 23454 } 23455 static inline ULONG IApplicationAssociationRegistration_Release(IApplicationAssociationRegistration* This) { 23456 return This->lpVtbl->Release(This); 23457 } 23458 /*** IApplicationAssociationRegistration methods ***/ 23459 static inline HRESULT IApplicationAssociationRegistration_QueryCurrentDefault(IApplicationAssociationRegistration* This,LPCWSTR pszQuery,ASSOCIATIONTYPE atQueryType,ASSOCIATIONLEVEL alQueryLevel,LPWSTR *ppszAssociation) { 23460 return This->lpVtbl->QueryCurrentDefault(This,pszQuery,atQueryType,alQueryLevel,ppszAssociation); 23461 } 23462 static inline HRESULT IApplicationAssociationRegistration_QueryAppIsDefault(IApplicationAssociationRegistration* This,LPCWSTR pszQuery,ASSOCIATIONTYPE atQueryType,ASSOCIATIONLEVEL alQueryLevel,LPCWSTR pszAppRegistryName,WINBOOL *pfDefault) { 23463 return This->lpVtbl->QueryAppIsDefault(This,pszQuery,atQueryType,alQueryLevel,pszAppRegistryName,pfDefault); 23464 } 23465 static inline HRESULT IApplicationAssociationRegistration_QueryAppIsDefaultAll(IApplicationAssociationRegistration* This,ASSOCIATIONLEVEL alQueryLevel,LPCWSTR pszAppRegistryName,WINBOOL *pfDefault) { 23466 return This->lpVtbl->QueryAppIsDefaultAll(This,alQueryLevel,pszAppRegistryName,pfDefault); 23467 } 23468 static inline HRESULT IApplicationAssociationRegistration_SetAppAsDefault(IApplicationAssociationRegistration* This,LPCWSTR pszAppRegistryName,LPCWSTR pszSet,ASSOCIATIONTYPE atSetType) { 23469 return This->lpVtbl->SetAppAsDefault(This,pszAppRegistryName,pszSet,atSetType); 23470 } 23471 static inline HRESULT IApplicationAssociationRegistration_SetAppAsDefaultAll(IApplicationAssociationRegistration* This,LPCWSTR pszAppRegistryName) { 23472 return This->lpVtbl->SetAppAsDefaultAll(This,pszAppRegistryName); 23473 } 23474 static inline HRESULT IApplicationAssociationRegistration_ClearUserAssociations(IApplicationAssociationRegistration* This) { 23475 return This->lpVtbl->ClearUserAssociations(This); 23476 } 23477 #endif 23478 #endif 23479 23480 #endif 23481 23482 23483 #endif /* __IApplicationAssociationRegistration_INTERFACE_DEFINED__ */ 23484 23485 23486 SHSTDAPI SHCreateAssociationRegistration(REFIID riid, void **ppv); 23487 23488 /***************************************************************************** 23489 * IApplicationAssociationRegistrationUI interface 23490 */ 23491 #ifndef __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__ 23492 #define __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__ 23493 23494 DEFINE_GUID(IID_IApplicationAssociationRegistrationUI, 0x1f76a169, 0xf994, 0x40ac, 0x8f,0xc8, 0x09,0x59,0xe8,0x87,0x47,0x10); 23495 #if defined(__cplusplus) && !defined(CINTERFACE) 23496 MIDL_INTERFACE("1f76a169-f994-40ac-8fc8-0959e8874710") 23497 IApplicationAssociationRegistrationUI : public IUnknown 23498 { 23499 virtual HRESULT STDMETHODCALLTYPE LaunchAdvancedAssociationUI( 23500 LPCWSTR pszAppRegistryName) = 0; 23501 23502 }; 23503 #ifdef __CRT_UUID_DECL 23504 __CRT_UUID_DECL(IApplicationAssociationRegistrationUI, 0x1f76a169, 0xf994, 0x40ac, 0x8f,0xc8, 0x09,0x59,0xe8,0x87,0x47,0x10) 23505 #endif 23506 #else 23507 typedef struct IApplicationAssociationRegistrationUIVtbl { 23508 BEGIN_INTERFACE 23509 23510 /*** IUnknown methods ***/ 23511 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 23512 IApplicationAssociationRegistrationUI *This, 23513 REFIID riid, 23514 void **ppvObject); 23515 23516 ULONG (STDMETHODCALLTYPE *AddRef)( 23517 IApplicationAssociationRegistrationUI *This); 23518 23519 ULONG (STDMETHODCALLTYPE *Release)( 23520 IApplicationAssociationRegistrationUI *This); 23521 23522 /*** IApplicationAssociationRegistrationUI methods ***/ 23523 HRESULT (STDMETHODCALLTYPE *LaunchAdvancedAssociationUI)( 23524 IApplicationAssociationRegistrationUI *This, 23525 LPCWSTR pszAppRegistryName); 23526 23527 END_INTERFACE 23528 } IApplicationAssociationRegistrationUIVtbl; 23529 23530 interface IApplicationAssociationRegistrationUI { 23531 CONST_VTBL IApplicationAssociationRegistrationUIVtbl* lpVtbl; 23532 }; 23533 23534 #ifdef COBJMACROS 23535 #ifndef WIDL_C_INLINE_WRAPPERS 23536 /*** IUnknown methods ***/ 23537 #define IApplicationAssociationRegistrationUI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 23538 #define IApplicationAssociationRegistrationUI_AddRef(This) (This)->lpVtbl->AddRef(This) 23539 #define IApplicationAssociationRegistrationUI_Release(This) (This)->lpVtbl->Release(This) 23540 /*** IApplicationAssociationRegistrationUI methods ***/ 23541 #define IApplicationAssociationRegistrationUI_LaunchAdvancedAssociationUI(This,pszAppRegistryName) (This)->lpVtbl->LaunchAdvancedAssociationUI(This,pszAppRegistryName) 23542 #else 23543 /*** IUnknown methods ***/ 23544 static inline HRESULT IApplicationAssociationRegistrationUI_QueryInterface(IApplicationAssociationRegistrationUI* This,REFIID riid,void **ppvObject) { 23545 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 23546 } 23547 static inline ULONG IApplicationAssociationRegistrationUI_AddRef(IApplicationAssociationRegistrationUI* This) { 23548 return This->lpVtbl->AddRef(This); 23549 } 23550 static inline ULONG IApplicationAssociationRegistrationUI_Release(IApplicationAssociationRegistrationUI* This) { 23551 return This->lpVtbl->Release(This); 23552 } 23553 /*** IApplicationAssociationRegistrationUI methods ***/ 23554 static inline HRESULT IApplicationAssociationRegistrationUI_LaunchAdvancedAssociationUI(IApplicationAssociationRegistrationUI* This,LPCWSTR pszAppRegistryName) { 23555 return This->lpVtbl->LaunchAdvancedAssociationUI(This,pszAppRegistryName); 23556 } 23557 #endif 23558 #endif 23559 23560 #endif 23561 23562 23563 #endif /* __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__ */ 23564 23565 #endif 23566 23567 #include <pshpack1.h> 23568 typedef struct DELEGATEITEMID { 23569 WORD cbSize; 23570 WORD wOuter; 23571 WORD cbInner; 23572 BYTE rgb[1]; 23573 } DELEGATEITEMID; 23574 #include <poppack.h> 23575 23576 typedef const UNALIGNED DELEGATEITEMID *PCDELEGATEITEMID; 23577 typedef UNALIGNED DELEGATEITEMID *PDELEGATEITEMID; 23578 23579 /***************************************************************************** 23580 * IDelegateFolder interface 23581 */ 23582 #ifndef __IDelegateFolder_INTERFACE_DEFINED__ 23583 #define __IDelegateFolder_INTERFACE_DEFINED__ 23584 23585 DEFINE_GUID(IID_IDelegateFolder, 0xadd8ba80, 0x002b, 0x11d0, 0x8f,0x0f, 0x00,0xc0,0x4f,0xd7,0xd0,0x62); 23586 #if defined(__cplusplus) && !defined(CINTERFACE) 23587 MIDL_INTERFACE("add8ba80-002b-11d0-8f0f-00c04fd7d062") 23588 IDelegateFolder : public IUnknown 23589 { 23590 virtual HRESULT STDMETHODCALLTYPE SetItemAlloc( 23591 IMalloc *pmalloc) = 0; 23592 23593 }; 23594 #ifdef __CRT_UUID_DECL 23595 __CRT_UUID_DECL(IDelegateFolder, 0xadd8ba80, 0x002b, 0x11d0, 0x8f,0x0f, 0x00,0xc0,0x4f,0xd7,0xd0,0x62) 23596 #endif 23597 #else 23598 typedef struct IDelegateFolderVtbl { 23599 BEGIN_INTERFACE 23600 23601 /*** IUnknown methods ***/ 23602 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 23603 IDelegateFolder *This, 23604 REFIID riid, 23605 void **ppvObject); 23606 23607 ULONG (STDMETHODCALLTYPE *AddRef)( 23608 IDelegateFolder *This); 23609 23610 ULONG (STDMETHODCALLTYPE *Release)( 23611 IDelegateFolder *This); 23612 23613 /*** IDelegateFolder methods ***/ 23614 HRESULT (STDMETHODCALLTYPE *SetItemAlloc)( 23615 IDelegateFolder *This, 23616 IMalloc *pmalloc); 23617 23618 END_INTERFACE 23619 } IDelegateFolderVtbl; 23620 23621 interface IDelegateFolder { 23622 CONST_VTBL IDelegateFolderVtbl* lpVtbl; 23623 }; 23624 23625 #ifdef COBJMACROS 23626 #ifndef WIDL_C_INLINE_WRAPPERS 23627 /*** IUnknown methods ***/ 23628 #define IDelegateFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 23629 #define IDelegateFolder_AddRef(This) (This)->lpVtbl->AddRef(This) 23630 #define IDelegateFolder_Release(This) (This)->lpVtbl->Release(This) 23631 /*** IDelegateFolder methods ***/ 23632 #define IDelegateFolder_SetItemAlloc(This,pmalloc) (This)->lpVtbl->SetItemAlloc(This,pmalloc) 23633 #else 23634 /*** IUnknown methods ***/ 23635 static inline HRESULT IDelegateFolder_QueryInterface(IDelegateFolder* This,REFIID riid,void **ppvObject) { 23636 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 23637 } 23638 static inline ULONG IDelegateFolder_AddRef(IDelegateFolder* This) { 23639 return This->lpVtbl->AddRef(This); 23640 } 23641 static inline ULONG IDelegateFolder_Release(IDelegateFolder* This) { 23642 return This->lpVtbl->Release(This); 23643 } 23644 /*** IDelegateFolder methods ***/ 23645 static inline HRESULT IDelegateFolder_SetItemAlloc(IDelegateFolder* This,IMalloc *pmalloc) { 23646 return This->lpVtbl->SetItemAlloc(This,pmalloc); 23647 } 23648 #endif 23649 #endif 23650 23651 #endif 23652 23653 23654 #endif /* __IDelegateFolder_INTERFACE_DEFINED__ */ 23655 23656 23657 #if _WIN32_IE >= _WIN32_IE_IE60 23658 /***************************************************************************** 23659 * IBrowserFrameOptions interface 23660 */ 23661 #ifndef __IBrowserFrameOptions_INTERFACE_DEFINED__ 23662 #define __IBrowserFrameOptions_INTERFACE_DEFINED__ 23663 23664 typedef IBrowserFrameOptions *LPBROWSERFRAMEOPTIONS; 23665 23666 enum _BROWSERFRAMEOPTIONS { 23667 BFO_NONE = 0x0, 23668 BFO_BROWSER_PERSIST_SETTINGS = 0x1, 23669 BFO_RENAME_FOLDER_OPTIONS_TOINTERNET = 0x2, 23670 BFO_BOTH_OPTIONS = 0x4, 23671 BIF_PREFER_INTERNET_SHORTCUT = 0x8, 23672 BFO_BROWSE_NO_IN_NEW_PROCESS = 0x10, 23673 BFO_ENABLE_HYPERLINK_TRACKING = 0x20, 23674 BFO_USE_IE_OFFLINE_SUPPORT = 0x40, 23675 BFO_SUBSTITUE_INTERNET_START_PAGE = 0x80, 23676 BFO_USE_IE_LOGOBANDING = 0x100, 23677 BFO_ADD_IE_TOCAPTIONBAR = 0x200, 23678 BFO_USE_DIALUP_REF = 0x400, 23679 BFO_USE_IE_TOOLBAR = 0x800, 23680 BFO_NO_PARENT_FOLDER_SUPPORT = 0x1000, 23681 BFO_NO_REOPEN_NEXT_RESTART = 0x2000, 23682 BFO_GO_HOME_PAGE = 0x4000, 23683 BFO_PREFER_IEPROCESS = 0x8000, 23684 BFO_SHOW_NAVIGATION_CANCELLED = 0x10000, 23685 BFO_USE_IE_STATUSBAR = 0x20000, 23686 BFO_QUERY_ALL = (int)0xffffffff 23687 }; 23688 23689 typedef DWORD BROWSERFRAMEOPTIONS; 23690 23691 DEFINE_GUID(IID_IBrowserFrameOptions, 0x10df43c8, 0x1dbe, 0x11d3, 0x8b,0x34, 0x00,0x60,0x97,0xdf,0x5b,0xd4); 23692 #if defined(__cplusplus) && !defined(CINTERFACE) 23693 MIDL_INTERFACE("10df43c8-1dbe-11d3-8b34-006097df5bd4") 23694 IBrowserFrameOptions : public IUnknown 23695 { 23696 virtual HRESULT STDMETHODCALLTYPE GetFrameOptions( 23697 BROWSERFRAMEOPTIONS dwMask, 23698 BROWSERFRAMEOPTIONS *pdwOptions) = 0; 23699 23700 }; 23701 #ifdef __CRT_UUID_DECL 23702 __CRT_UUID_DECL(IBrowserFrameOptions, 0x10df43c8, 0x1dbe, 0x11d3, 0x8b,0x34, 0x00,0x60,0x97,0xdf,0x5b,0xd4) 23703 #endif 23704 #else 23705 typedef struct IBrowserFrameOptionsVtbl { 23706 BEGIN_INTERFACE 23707 23708 /*** IUnknown methods ***/ 23709 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 23710 IBrowserFrameOptions *This, 23711 REFIID riid, 23712 void **ppvObject); 23713 23714 ULONG (STDMETHODCALLTYPE *AddRef)( 23715 IBrowserFrameOptions *This); 23716 23717 ULONG (STDMETHODCALLTYPE *Release)( 23718 IBrowserFrameOptions *This); 23719 23720 /*** IBrowserFrameOptions methods ***/ 23721 HRESULT (STDMETHODCALLTYPE *GetFrameOptions)( 23722 IBrowserFrameOptions *This, 23723 BROWSERFRAMEOPTIONS dwMask, 23724 BROWSERFRAMEOPTIONS *pdwOptions); 23725 23726 END_INTERFACE 23727 } IBrowserFrameOptionsVtbl; 23728 23729 interface IBrowserFrameOptions { 23730 CONST_VTBL IBrowserFrameOptionsVtbl* lpVtbl; 23731 }; 23732 23733 #ifdef COBJMACROS 23734 #ifndef WIDL_C_INLINE_WRAPPERS 23735 /*** IUnknown methods ***/ 23736 #define IBrowserFrameOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 23737 #define IBrowserFrameOptions_AddRef(This) (This)->lpVtbl->AddRef(This) 23738 #define IBrowserFrameOptions_Release(This) (This)->lpVtbl->Release(This) 23739 /*** IBrowserFrameOptions methods ***/ 23740 #define IBrowserFrameOptions_GetFrameOptions(This,dwMask,pdwOptions) (This)->lpVtbl->GetFrameOptions(This,dwMask,pdwOptions) 23741 #else 23742 /*** IUnknown methods ***/ 23743 static inline HRESULT IBrowserFrameOptions_QueryInterface(IBrowserFrameOptions* This,REFIID riid,void **ppvObject) { 23744 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 23745 } 23746 static inline ULONG IBrowserFrameOptions_AddRef(IBrowserFrameOptions* This) { 23747 return This->lpVtbl->AddRef(This); 23748 } 23749 static inline ULONG IBrowserFrameOptions_Release(IBrowserFrameOptions* This) { 23750 return This->lpVtbl->Release(This); 23751 } 23752 /*** IBrowserFrameOptions methods ***/ 23753 static inline HRESULT IBrowserFrameOptions_GetFrameOptions(IBrowserFrameOptions* This,BROWSERFRAMEOPTIONS dwMask,BROWSERFRAMEOPTIONS *pdwOptions) { 23754 return This->lpVtbl->GetFrameOptions(This,dwMask,pdwOptions); 23755 } 23756 #endif 23757 #endif 23758 23759 #endif 23760 23761 23762 #endif /* __IBrowserFrameOptions_INTERFACE_DEFINED__ */ 23763 23764 #endif 23765 23766 #if _WIN32_IE >= _WIN32_IE_IE60SP2 23767 typedef enum NWMF { 23768 NWMF_UNLOADING = 0x1, 23769 NWMF_USERINITED = 0x2, 23770 NWMF_FIRST = 0x4, 23771 NWMF_OVERRIDEKEY = 0x8, 23772 NWMF_SHOWHELP = 0x10, 23773 NWMF_HTMLDIALOG = 0x20, 23774 NWMF_FROMDIALOGCHILD = 0x40, 23775 NWMF_USERREQUESTED = 0x80, 23776 NWMF_USERALLOWED = 0x100, 23777 NWMF_FORCEWINDOW = 0x10000, 23778 NWMF_FORCETAB = 0x20000, 23779 NWMF_SUGGESTWINDOW = 0x40000, 23780 NWMF_SUGGESTTAB = 0x80000, 23781 NWMF_INACTIVETAB = 0x100000 23782 } NWMF; 23783 23784 DEFINE_ENUM_FLAG_OPERATORS(NWMF) 23785 23786 #define SID_SNewWindowManager IID_INewWindowManager 23787 23788 /***************************************************************************** 23789 * INewWindowManager interface 23790 */ 23791 #ifndef __INewWindowManager_INTERFACE_DEFINED__ 23792 #define __INewWindowManager_INTERFACE_DEFINED__ 23793 23794 DEFINE_GUID(IID_INewWindowManager, 0xd2bc4c84, 0x3f72, 0x4a52, 0xa6,0x04, 0x7b,0xcb,0xf3,0x98,0x2c,0xbb); 23795 #if defined(__cplusplus) && !defined(CINTERFACE) 23796 MIDL_INTERFACE("d2bc4c84-3f72-4a52-a604-7bcbf3982cbb") 23797 INewWindowManager : public IUnknown 23798 { 23799 virtual HRESULT STDMETHODCALLTYPE EvaluateNewWindow( 23800 LPCWSTR pszUrl, 23801 LPCWSTR pszName, 23802 LPCWSTR pszUrlContext, 23803 LPCWSTR pszFeatures, 23804 WINBOOL fReplace, 23805 DWORD dwFlags, 23806 DWORD dwUserActionTime) = 0; 23807 23808 }; 23809 #ifdef __CRT_UUID_DECL 23810 __CRT_UUID_DECL(INewWindowManager, 0xd2bc4c84, 0x3f72, 0x4a52, 0xa6,0x04, 0x7b,0xcb,0xf3,0x98,0x2c,0xbb) 23811 #endif 23812 #else 23813 typedef struct INewWindowManagerVtbl { 23814 BEGIN_INTERFACE 23815 23816 /*** IUnknown methods ***/ 23817 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 23818 INewWindowManager *This, 23819 REFIID riid, 23820 void **ppvObject); 23821 23822 ULONG (STDMETHODCALLTYPE *AddRef)( 23823 INewWindowManager *This); 23824 23825 ULONG (STDMETHODCALLTYPE *Release)( 23826 INewWindowManager *This); 23827 23828 /*** INewWindowManager methods ***/ 23829 HRESULT (STDMETHODCALLTYPE *EvaluateNewWindow)( 23830 INewWindowManager *This, 23831 LPCWSTR pszUrl, 23832 LPCWSTR pszName, 23833 LPCWSTR pszUrlContext, 23834 LPCWSTR pszFeatures, 23835 WINBOOL fReplace, 23836 DWORD dwFlags, 23837 DWORD dwUserActionTime); 23838 23839 END_INTERFACE 23840 } INewWindowManagerVtbl; 23841 23842 interface INewWindowManager { 23843 CONST_VTBL INewWindowManagerVtbl* lpVtbl; 23844 }; 23845 23846 #ifdef COBJMACROS 23847 #ifndef WIDL_C_INLINE_WRAPPERS 23848 /*** IUnknown methods ***/ 23849 #define INewWindowManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 23850 #define INewWindowManager_AddRef(This) (This)->lpVtbl->AddRef(This) 23851 #define INewWindowManager_Release(This) (This)->lpVtbl->Release(This) 23852 /*** INewWindowManager methods ***/ 23853 #define INewWindowManager_EvaluateNewWindow(This,pszUrl,pszName,pszUrlContext,pszFeatures,fReplace,dwFlags,dwUserActionTime) (This)->lpVtbl->EvaluateNewWindow(This,pszUrl,pszName,pszUrlContext,pszFeatures,fReplace,dwFlags,dwUserActionTime) 23854 #else 23855 /*** IUnknown methods ***/ 23856 static inline HRESULT INewWindowManager_QueryInterface(INewWindowManager* This,REFIID riid,void **ppvObject) { 23857 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 23858 } 23859 static inline ULONG INewWindowManager_AddRef(INewWindowManager* This) { 23860 return This->lpVtbl->AddRef(This); 23861 } 23862 static inline ULONG INewWindowManager_Release(INewWindowManager* This) { 23863 return This->lpVtbl->Release(This); 23864 } 23865 /*** INewWindowManager methods ***/ 23866 static inline HRESULT INewWindowManager_EvaluateNewWindow(INewWindowManager* This,LPCWSTR pszUrl,LPCWSTR pszName,LPCWSTR pszUrlContext,LPCWSTR pszFeatures,WINBOOL fReplace,DWORD dwFlags,DWORD dwUserActionTime) { 23867 return This->lpVtbl->EvaluateNewWindow(This,pszUrl,pszName,pszUrlContext,pszFeatures,fReplace,dwFlags,dwUserActionTime); 23868 } 23869 #endif 23870 #endif 23871 23872 #endif 23873 23874 23875 #endif /* __INewWindowManager_INTERFACE_DEFINED__ */ 23876 23877 23878 /***************************************************************************** 23879 * IAttachmentExecute interface 23880 */ 23881 #ifndef __IAttachmentExecute_INTERFACE_DEFINED__ 23882 #define __IAttachmentExecute_INTERFACE_DEFINED__ 23883 23884 typedef enum ATTACHMENT_PROMPT { 23885 ATTACHMENT_PROMPT_NONE = 0x0, 23886 ATTACHMENT_PROMPT_SAVE = 0x1, 23887 ATTACHMENT_PROMPT_EXEC = 0x2, 23888 ATTACHMENT_PROMPT_EXEC_OR_SAVE = 0x3 23889 } ATTACHMENT_PROMPT; 23890 23891 typedef enum ATTACHMENT_ACTION { 23892 ATTACHMENT_ACTION_CANCEL = 0x0, 23893 ATTACHMENT_ACTION_SAVE = 0x1, 23894 ATTACHMENT_ACTION_EXEC = 0x2 23895 } ATTACHMENT_ACTION; 23896 23897 DEFINE_GUID(IID_IAttachmentExecute, 0x73db1241, 0x1e85, 0x4581, 0x8e,0x4f, 0xa8,0x1e,0x1d,0x0f,0x8c,0x57); 23898 #if defined(__cplusplus) && !defined(CINTERFACE) 23899 MIDL_INTERFACE("73db1241-1e85-4581-8e4f-a81e1d0f8c57") 23900 IAttachmentExecute : public IUnknown 23901 { 23902 virtual HRESULT STDMETHODCALLTYPE SetClientTitle( 23903 LPCWSTR pszTitle) = 0; 23904 23905 virtual HRESULT STDMETHODCALLTYPE SetClientGuid( 23906 REFGUID guid) = 0; 23907 23908 virtual HRESULT STDMETHODCALLTYPE SetLocalPath( 23909 LPCWSTR pszLocalPath) = 0; 23910 23911 virtual HRESULT STDMETHODCALLTYPE SetFileName( 23912 LPCWSTR pszFileName) = 0; 23913 23914 virtual HRESULT STDMETHODCALLTYPE SetSource( 23915 LPCWSTR pszSource) = 0; 23916 23917 virtual HRESULT STDMETHODCALLTYPE SetReferrer( 23918 LPCWSTR pszReferrer) = 0; 23919 23920 virtual HRESULT STDMETHODCALLTYPE CheckPolicy( 23921 ) = 0; 23922 23923 virtual HRESULT STDMETHODCALLTYPE Prompt( 23924 HWND hwnd, 23925 ATTACHMENT_PROMPT prompt, 23926 ATTACHMENT_ACTION *paction) = 0; 23927 23928 virtual HRESULT STDMETHODCALLTYPE Save( 23929 ) = 0; 23930 23931 virtual HRESULT STDMETHODCALLTYPE Execute( 23932 HWND hwnd, 23933 LPCWSTR pszVerb, 23934 HANDLE *phProcess) = 0; 23935 23936 virtual HRESULT STDMETHODCALLTYPE SaveWithUI( 23937 HWND hwnd) = 0; 23938 23939 virtual HRESULT STDMETHODCALLTYPE ClearClientState( 23940 ) = 0; 23941 23942 }; 23943 #ifdef __CRT_UUID_DECL 23944 __CRT_UUID_DECL(IAttachmentExecute, 0x73db1241, 0x1e85, 0x4581, 0x8e,0x4f, 0xa8,0x1e,0x1d,0x0f,0x8c,0x57) 23945 #endif 23946 #else 23947 typedef struct IAttachmentExecuteVtbl { 23948 BEGIN_INTERFACE 23949 23950 /*** IUnknown methods ***/ 23951 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 23952 IAttachmentExecute *This, 23953 REFIID riid, 23954 void **ppvObject); 23955 23956 ULONG (STDMETHODCALLTYPE *AddRef)( 23957 IAttachmentExecute *This); 23958 23959 ULONG (STDMETHODCALLTYPE *Release)( 23960 IAttachmentExecute *This); 23961 23962 /*** IAttachmentExecute methods ***/ 23963 HRESULT (STDMETHODCALLTYPE *SetClientTitle)( 23964 IAttachmentExecute *This, 23965 LPCWSTR pszTitle); 23966 23967 HRESULT (STDMETHODCALLTYPE *SetClientGuid)( 23968 IAttachmentExecute *This, 23969 REFGUID guid); 23970 23971 HRESULT (STDMETHODCALLTYPE *SetLocalPath)( 23972 IAttachmentExecute *This, 23973 LPCWSTR pszLocalPath); 23974 23975 HRESULT (STDMETHODCALLTYPE *SetFileName)( 23976 IAttachmentExecute *This, 23977 LPCWSTR pszFileName); 23978 23979 HRESULT (STDMETHODCALLTYPE *SetSource)( 23980 IAttachmentExecute *This, 23981 LPCWSTR pszSource); 23982 23983 HRESULT (STDMETHODCALLTYPE *SetReferrer)( 23984 IAttachmentExecute *This, 23985 LPCWSTR pszReferrer); 23986 23987 HRESULT (STDMETHODCALLTYPE *CheckPolicy)( 23988 IAttachmentExecute *This); 23989 23990 HRESULT (STDMETHODCALLTYPE *Prompt)( 23991 IAttachmentExecute *This, 23992 HWND hwnd, 23993 ATTACHMENT_PROMPT prompt, 23994 ATTACHMENT_ACTION *paction); 23995 23996 HRESULT (STDMETHODCALLTYPE *Save)( 23997 IAttachmentExecute *This); 23998 23999 HRESULT (STDMETHODCALLTYPE *Execute)( 24000 IAttachmentExecute *This, 24001 HWND hwnd, 24002 LPCWSTR pszVerb, 24003 HANDLE *phProcess); 24004 24005 HRESULT (STDMETHODCALLTYPE *SaveWithUI)( 24006 IAttachmentExecute *This, 24007 HWND hwnd); 24008 24009 HRESULT (STDMETHODCALLTYPE *ClearClientState)( 24010 IAttachmentExecute *This); 24011 24012 END_INTERFACE 24013 } IAttachmentExecuteVtbl; 24014 24015 interface IAttachmentExecute { 24016 CONST_VTBL IAttachmentExecuteVtbl* lpVtbl; 24017 }; 24018 24019 #ifdef COBJMACROS 24020 #ifndef WIDL_C_INLINE_WRAPPERS 24021 /*** IUnknown methods ***/ 24022 #define IAttachmentExecute_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 24023 #define IAttachmentExecute_AddRef(This) (This)->lpVtbl->AddRef(This) 24024 #define IAttachmentExecute_Release(This) (This)->lpVtbl->Release(This) 24025 /*** IAttachmentExecute methods ***/ 24026 #define IAttachmentExecute_SetClientTitle(This,pszTitle) (This)->lpVtbl->SetClientTitle(This,pszTitle) 24027 #define IAttachmentExecute_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid) 24028 #define IAttachmentExecute_SetLocalPath(This,pszLocalPath) (This)->lpVtbl->SetLocalPath(This,pszLocalPath) 24029 #define IAttachmentExecute_SetFileName(This,pszFileName) (This)->lpVtbl->SetFileName(This,pszFileName) 24030 #define IAttachmentExecute_SetSource(This,pszSource) (This)->lpVtbl->SetSource(This,pszSource) 24031 #define IAttachmentExecute_SetReferrer(This,pszReferrer) (This)->lpVtbl->SetReferrer(This,pszReferrer) 24032 #define IAttachmentExecute_CheckPolicy(This) (This)->lpVtbl->CheckPolicy(This) 24033 #define IAttachmentExecute_Prompt(This,hwnd,prompt,paction) (This)->lpVtbl->Prompt(This,hwnd,prompt,paction) 24034 #define IAttachmentExecute_Save(This) (This)->lpVtbl->Save(This) 24035 #define IAttachmentExecute_Execute(This,hwnd,pszVerb,phProcess) (This)->lpVtbl->Execute(This,hwnd,pszVerb,phProcess) 24036 #define IAttachmentExecute_SaveWithUI(This,hwnd) (This)->lpVtbl->SaveWithUI(This,hwnd) 24037 #define IAttachmentExecute_ClearClientState(This) (This)->lpVtbl->ClearClientState(This) 24038 #else 24039 /*** IUnknown methods ***/ 24040 static inline HRESULT IAttachmentExecute_QueryInterface(IAttachmentExecute* This,REFIID riid,void **ppvObject) { 24041 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 24042 } 24043 static inline ULONG IAttachmentExecute_AddRef(IAttachmentExecute* This) { 24044 return This->lpVtbl->AddRef(This); 24045 } 24046 static inline ULONG IAttachmentExecute_Release(IAttachmentExecute* This) { 24047 return This->lpVtbl->Release(This); 24048 } 24049 /*** IAttachmentExecute methods ***/ 24050 static inline HRESULT IAttachmentExecute_SetClientTitle(IAttachmentExecute* This,LPCWSTR pszTitle) { 24051 return This->lpVtbl->SetClientTitle(This,pszTitle); 24052 } 24053 static inline HRESULT IAttachmentExecute_SetClientGuid(IAttachmentExecute* This,REFGUID guid) { 24054 return This->lpVtbl->SetClientGuid(This,guid); 24055 } 24056 static inline HRESULT IAttachmentExecute_SetLocalPath(IAttachmentExecute* This,LPCWSTR pszLocalPath) { 24057 return This->lpVtbl->SetLocalPath(This,pszLocalPath); 24058 } 24059 static inline HRESULT IAttachmentExecute_SetFileName(IAttachmentExecute* This,LPCWSTR pszFileName) { 24060 return This->lpVtbl->SetFileName(This,pszFileName); 24061 } 24062 static inline HRESULT IAttachmentExecute_SetSource(IAttachmentExecute* This,LPCWSTR pszSource) { 24063 return This->lpVtbl->SetSource(This,pszSource); 24064 } 24065 static inline HRESULT IAttachmentExecute_SetReferrer(IAttachmentExecute* This,LPCWSTR pszReferrer) { 24066 return This->lpVtbl->SetReferrer(This,pszReferrer); 24067 } 24068 static inline HRESULT IAttachmentExecute_CheckPolicy(IAttachmentExecute* This) { 24069 return This->lpVtbl->CheckPolicy(This); 24070 } 24071 static inline HRESULT IAttachmentExecute_Prompt(IAttachmentExecute* This,HWND hwnd,ATTACHMENT_PROMPT prompt,ATTACHMENT_ACTION *paction) { 24072 return This->lpVtbl->Prompt(This,hwnd,prompt,paction); 24073 } 24074 static inline HRESULT IAttachmentExecute_Save(IAttachmentExecute* This) { 24075 return This->lpVtbl->Save(This); 24076 } 24077 static inline HRESULT IAttachmentExecute_Execute(IAttachmentExecute* This,HWND hwnd,LPCWSTR pszVerb,HANDLE *phProcess) { 24078 return This->lpVtbl->Execute(This,hwnd,pszVerb,phProcess); 24079 } 24080 static inline HRESULT IAttachmentExecute_SaveWithUI(IAttachmentExecute* This,HWND hwnd) { 24081 return This->lpVtbl->SaveWithUI(This,hwnd); 24082 } 24083 static inline HRESULT IAttachmentExecute_ClearClientState(IAttachmentExecute* This) { 24084 return This->lpVtbl->ClearClientState(This); 24085 } 24086 #endif 24087 #endif 24088 24089 #endif 24090 24091 24092 #endif /* __IAttachmentExecute_INTERFACE_DEFINED__ */ 24093 24094 #endif 24095 24096 #if _WIN32_IE >= _WIN32_IE_IE60 24097 24098 #include <pshpack8.h> 24099 typedef struct tagSMDATA { 24100 DWORD dwMask; 24101 DWORD dwFlags; 24102 HMENU hmenu; 24103 HWND hwnd; 24104 UINT uId; 24105 UINT uIdParent; 24106 UINT uIdAncestor; 24107 IUnknown *punk; 24108 PIDLIST_ABSOLUTE pidlFolder; 24109 PUITEMID_CHILD pidlItem; 24110 IShellFolder *psf; 24111 void *pvUserData; 24112 } SMDATA; 24113 typedef struct tagSMDATA *LPSMDATA; 24114 24115 #define SMDM_SHELLFOLDER 0x00000001 24116 #define SMDM_HMENU 0x00000002 24117 #define SMDM_TOOLBAR 0x00000004 24118 24119 typedef struct tagSMINFO { 24120 DWORD dwMask; 24121 DWORD dwType; 24122 DWORD dwFlags; 24123 int iIcon; 24124 } SMINFO; 24125 typedef struct tagSMINFO *PSMINFO; 24126 24127 typedef struct SHCSCHANGENOTIFYSTRUCT { 24128 LONG lEvent; 24129 PCIDLIST_ABSOLUTE pidl1; 24130 PCIDLIST_ABSOLUTE pidl2; 24131 } SMCSHCHANGENOTIFYSTRUCT; 24132 typedef struct SHCSCHANGENOTIFYSTRUCT *PSMCSHCHANGENOTIFYSTRUCT; 24133 #include <poppack.h> 24134 24135 enum tagSMINFOMASK { 24136 SMIM_TYPE = 0x1, 24137 SMIM_FLAGS = 0x2, 24138 SMIM_ICON = 0x4 24139 }; 24140 24141 enum tagSMINFOTYPE { 24142 SMIT_SEPARATOR = 0x1, 24143 SMIT_STRING = 0x2 24144 }; 24145 24146 enum tagSMINFOFLAGS { 24147 SMIF_ICON = 0x1, 24148 SMIF_ACCELERATOR = 0x2, 24149 SMIF_DROPTARGET = 0x4, 24150 SMIF_SUBMENU = 0x8, 24151 SMIF_CHECKED = 0x20, 24152 SMIF_DROPCASCADE = 0x40, 24153 SMIF_HIDDEN = 0x80, 24154 SMIF_DISABLED = 0x100, 24155 SMIF_TRACKPOPUP = 0x200, 24156 SMIF_DEMOTED = 0x400, 24157 SMIF_ALTSTATE = 0x800, 24158 SMIF_DRAGNDROP = 0x1000, 24159 SMIF_NEW = 0x2000 24160 }; 24161 24162 #define SMC_INITMENU 0x00000001 24163 #define SMC_CREATE 0x00000002 24164 #define SMC_EXITMENU 0x00000003 24165 #define SMC_GETINFO 0x00000005 24166 #define SMC_GETSFINFO 0x00000006 24167 #define SMC_GETOBJECT 0x00000007 24168 #define SMC_GETSFOBJECT 0x00000008 24169 #define SMC_SFEXEC 0x00000009 24170 #define SMC_SFSELECTITEM 0x0000000A 24171 #define SMC_REFRESH 0x00000010 24172 #define SMC_DEMOTE 0x00000011 24173 #define SMC_PROMOTE 0x00000012 24174 #define SMC_DEFAULTICON 0x00000016 24175 #define SMC_NEWITEM 0x00000017 24176 #define SMC_CHEVRONEXPAND 0x00000019 24177 #define SMC_DISPLAYCHEVRONTIP 0x0000002A 24178 #define SMC_SETSFOBJECT 0x0000002D 24179 #define SMC_SHCHANGENOTIFY 0x0000002E 24180 #define SMC_CHEVRONGETTIP 0x0000002F 24181 #define SMC_SFDDRESTRICTED 0x00000030 24182 #if _WIN32_IE >= _WIN32_IE_IE70 24183 #define SMC_SFEXEC_MIDDLE 0x00000031 24184 #define SMC_GETAUTOEXPANDSTATE 0x00000041 24185 #define SMC_AUTOEXPANDCHANGE 0x00000042 24186 #define SMC_GETCONTEXTMENUMODIFIER 0x00000043 24187 #define SMC_GETBKCONTEXTMENU 0x00000044 24188 #define SMC_OPEN 0x00000045 24189 24190 #define SMAE_EXPANDED 0x00000001 24191 #define SMAE_CONTRACTED 0x00000002 24192 24193 #define SMAE_USER 0x00000004 24194 24195 #define SMAE_VALID 0x00000007 24196 #endif 24197 24198 /***************************************************************************** 24199 * IShellMenuCallback interface 24200 */ 24201 #ifndef __IShellMenuCallback_INTERFACE_DEFINED__ 24202 #define __IShellMenuCallback_INTERFACE_DEFINED__ 24203 24204 DEFINE_GUID(IID_IShellMenuCallback, 0x4ca300a1, 0x9b8d, 0x11d1, 0x8b,0x22, 0x00,0xc0,0x4f,0xd9,0x18,0xd0); 24205 #if defined(__cplusplus) && !defined(CINTERFACE) 24206 MIDL_INTERFACE("4ca300a1-9b8d-11d1-8b22-00c04fd918d0") 24207 IShellMenuCallback : public IUnknown 24208 { 24209 virtual HRESULT STDMETHODCALLTYPE CallbackSM( 24210 LPSMDATA psmd, 24211 UINT uMsg, 24212 WPARAM wParam, 24213 LPARAM lParam) = 0; 24214 24215 }; 24216 #ifdef __CRT_UUID_DECL 24217 __CRT_UUID_DECL(IShellMenuCallback, 0x4ca300a1, 0x9b8d, 0x11d1, 0x8b,0x22, 0x00,0xc0,0x4f,0xd9,0x18,0xd0) 24218 #endif 24219 #else 24220 typedef struct IShellMenuCallbackVtbl { 24221 BEGIN_INTERFACE 24222 24223 /*** IUnknown methods ***/ 24224 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 24225 IShellMenuCallback *This, 24226 REFIID riid, 24227 void **ppvObject); 24228 24229 ULONG (STDMETHODCALLTYPE *AddRef)( 24230 IShellMenuCallback *This); 24231 24232 ULONG (STDMETHODCALLTYPE *Release)( 24233 IShellMenuCallback *This); 24234 24235 /*** IShellMenuCallback methods ***/ 24236 HRESULT (STDMETHODCALLTYPE *CallbackSM)( 24237 IShellMenuCallback *This, 24238 LPSMDATA psmd, 24239 UINT uMsg, 24240 WPARAM wParam, 24241 LPARAM lParam); 24242 24243 END_INTERFACE 24244 } IShellMenuCallbackVtbl; 24245 24246 interface IShellMenuCallback { 24247 CONST_VTBL IShellMenuCallbackVtbl* lpVtbl; 24248 }; 24249 24250 #ifdef COBJMACROS 24251 #ifndef WIDL_C_INLINE_WRAPPERS 24252 /*** IUnknown methods ***/ 24253 #define IShellMenuCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 24254 #define IShellMenuCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 24255 #define IShellMenuCallback_Release(This) (This)->lpVtbl->Release(This) 24256 /*** IShellMenuCallback methods ***/ 24257 #define IShellMenuCallback_CallbackSM(This,psmd,uMsg,wParam,lParam) (This)->lpVtbl->CallbackSM(This,psmd,uMsg,wParam,lParam) 24258 #else 24259 /*** IUnknown methods ***/ 24260 static inline HRESULT IShellMenuCallback_QueryInterface(IShellMenuCallback* This,REFIID riid,void **ppvObject) { 24261 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 24262 } 24263 static inline ULONG IShellMenuCallback_AddRef(IShellMenuCallback* This) { 24264 return This->lpVtbl->AddRef(This); 24265 } 24266 static inline ULONG IShellMenuCallback_Release(IShellMenuCallback* This) { 24267 return This->lpVtbl->Release(This); 24268 } 24269 /*** IShellMenuCallback methods ***/ 24270 static inline HRESULT IShellMenuCallback_CallbackSM(IShellMenuCallback* This,LPSMDATA psmd,UINT uMsg,WPARAM wParam,LPARAM lParam) { 24271 return This->lpVtbl->CallbackSM(This,psmd,uMsg,wParam,lParam); 24272 } 24273 #endif 24274 #endif 24275 24276 #endif 24277 24278 24279 #endif /* __IShellMenuCallback_INTERFACE_DEFINED__ */ 24280 24281 24282 #define SMINIT_DEFAULT 0x00000000 24283 #define SMINIT_RESTRICT_DRAGDROP 0x00000002 24284 #define SMINIT_TOPLEVEL 0x00000004 24285 #define SMINIT_CACHED 0x00000010 24286 #if _WIN32_IE >= _WIN32_IE_IE70 24287 #define SMINIT_AUTOEXPAND 0x00000100 24288 #define SMINIT_AUTOTOOLTIP 0x00000200 24289 #define SMINIT_DROPONCONTAINER 0x00000400 24290 #endif 24291 24292 #define SMINIT_VERTICAL 0x10000000 24293 #define SMINIT_HORIZONTAL 0x20000000 24294 24295 #define ANCESTORDEFAULT (UINT)-1 24296 24297 #define SMSET_TOP 0x10000000 24298 #define SMSET_BOTTOM 0x20000000 24299 #define SMSET_DONTOWN 0x00000001 24300 24301 #define SMINV_REFRESH 0x00000001 24302 #define SMINV_ID 0x00000008 24303 24304 /***************************************************************************** 24305 * IShellMenu interface 24306 */ 24307 #ifndef __IShellMenu_INTERFACE_DEFINED__ 24308 #define __IShellMenu_INTERFACE_DEFINED__ 24309 24310 DEFINE_GUID(IID_IShellMenu, 0xee1f7637, 0xe138, 0x11d1, 0x83,0x79, 0x00,0xc0,0x4f,0xd9,0x18,0xd0); 24311 #if defined(__cplusplus) && !defined(CINTERFACE) 24312 MIDL_INTERFACE("ee1f7637-e138-11d1-8379-00c04fd918d0") 24313 IShellMenu : public IUnknown 24314 { 24315 virtual HRESULT STDMETHODCALLTYPE Initialize( 24316 IShellMenuCallback *psmc, 24317 UINT uId, 24318 UINT uIdAncestor, 24319 DWORD dwFlags) = 0; 24320 24321 virtual HRESULT STDMETHODCALLTYPE GetMenuInfo( 24322 IShellMenuCallback **ppsmc, 24323 UINT *puId, 24324 UINT *puIdAncestor, 24325 DWORD *pdwFlags) = 0; 24326 24327 virtual HRESULT STDMETHODCALLTYPE SetShellFolder( 24328 IShellFolder *psf, 24329 PCIDLIST_ABSOLUTE pidlFolder, 24330 HKEY hKey, 24331 DWORD dwFlags) = 0; 24332 24333 virtual HRESULT STDMETHODCALLTYPE GetShellFolder( 24334 DWORD *pdwFlags, 24335 PIDLIST_ABSOLUTE *ppidl, 24336 REFIID riid, 24337 void **ppv) = 0; 24338 24339 virtual HRESULT STDMETHODCALLTYPE SetMenu( 24340 HMENU hmenu, 24341 HWND hwnd, 24342 DWORD dwFlags) = 0; 24343 24344 virtual HRESULT STDMETHODCALLTYPE GetMenu( 24345 HMENU *phmenu, 24346 HWND *phwnd, 24347 DWORD *pdwFlags) = 0; 24348 24349 virtual HRESULT STDMETHODCALLTYPE InvalidateItem( 24350 LPSMDATA psmd, 24351 DWORD dwFlags) = 0; 24352 24353 virtual HRESULT STDMETHODCALLTYPE GetState( 24354 LPSMDATA psmd) = 0; 24355 24356 virtual HRESULT STDMETHODCALLTYPE SetMenuToolbar( 24357 IUnknown *punk, 24358 DWORD dwFlags) = 0; 24359 24360 }; 24361 #ifdef __CRT_UUID_DECL 24362 __CRT_UUID_DECL(IShellMenu, 0xee1f7637, 0xe138, 0x11d1, 0x83,0x79, 0x00,0xc0,0x4f,0xd9,0x18,0xd0) 24363 #endif 24364 #else 24365 typedef struct IShellMenuVtbl { 24366 BEGIN_INTERFACE 24367 24368 /*** IUnknown methods ***/ 24369 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 24370 IShellMenu *This, 24371 REFIID riid, 24372 void **ppvObject); 24373 24374 ULONG (STDMETHODCALLTYPE *AddRef)( 24375 IShellMenu *This); 24376 24377 ULONG (STDMETHODCALLTYPE *Release)( 24378 IShellMenu *This); 24379 24380 /*** IShellMenu methods ***/ 24381 HRESULT (STDMETHODCALLTYPE *Initialize)( 24382 IShellMenu *This, 24383 IShellMenuCallback *psmc, 24384 UINT uId, 24385 UINT uIdAncestor, 24386 DWORD dwFlags); 24387 24388 HRESULT (STDMETHODCALLTYPE *GetMenuInfo)( 24389 IShellMenu *This, 24390 IShellMenuCallback **ppsmc, 24391 UINT *puId, 24392 UINT *puIdAncestor, 24393 DWORD *pdwFlags); 24394 24395 HRESULT (STDMETHODCALLTYPE *SetShellFolder)( 24396 IShellMenu *This, 24397 IShellFolder *psf, 24398 PCIDLIST_ABSOLUTE pidlFolder, 24399 HKEY hKey, 24400 DWORD dwFlags); 24401 24402 HRESULT (STDMETHODCALLTYPE *GetShellFolder)( 24403 IShellMenu *This, 24404 DWORD *pdwFlags, 24405 PIDLIST_ABSOLUTE *ppidl, 24406 REFIID riid, 24407 void **ppv); 24408 24409 HRESULT (STDMETHODCALLTYPE *SetMenu)( 24410 IShellMenu *This, 24411 HMENU hmenu, 24412 HWND hwnd, 24413 DWORD dwFlags); 24414 24415 HRESULT (STDMETHODCALLTYPE *GetMenu)( 24416 IShellMenu *This, 24417 HMENU *phmenu, 24418 HWND *phwnd, 24419 DWORD *pdwFlags); 24420 24421 HRESULT (STDMETHODCALLTYPE *InvalidateItem)( 24422 IShellMenu *This, 24423 LPSMDATA psmd, 24424 DWORD dwFlags); 24425 24426 HRESULT (STDMETHODCALLTYPE *GetState)( 24427 IShellMenu *This, 24428 LPSMDATA psmd); 24429 24430 HRESULT (STDMETHODCALLTYPE *SetMenuToolbar)( 24431 IShellMenu *This, 24432 IUnknown *punk, 24433 DWORD dwFlags); 24434 24435 END_INTERFACE 24436 } IShellMenuVtbl; 24437 24438 interface IShellMenu { 24439 CONST_VTBL IShellMenuVtbl* lpVtbl; 24440 }; 24441 24442 #ifdef COBJMACROS 24443 #ifndef WIDL_C_INLINE_WRAPPERS 24444 /*** IUnknown methods ***/ 24445 #define IShellMenu_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 24446 #define IShellMenu_AddRef(This) (This)->lpVtbl->AddRef(This) 24447 #define IShellMenu_Release(This) (This)->lpVtbl->Release(This) 24448 /*** IShellMenu methods ***/ 24449 #define IShellMenu_Initialize(This,psmc,uId,uIdAncestor,dwFlags) (This)->lpVtbl->Initialize(This,psmc,uId,uIdAncestor,dwFlags) 24450 #define IShellMenu_GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags) (This)->lpVtbl->GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags) 24451 #define IShellMenu_SetShellFolder(This,psf,pidlFolder,hKey,dwFlags) (This)->lpVtbl->SetShellFolder(This,psf,pidlFolder,hKey,dwFlags) 24452 #define IShellMenu_GetShellFolder(This,pdwFlags,ppidl,riid,ppv) (This)->lpVtbl->GetShellFolder(This,pdwFlags,ppidl,riid,ppv) 24453 #define IShellMenu_SetMenu(This,hmenu,hwnd,dwFlags) (This)->lpVtbl->SetMenu(This,hmenu,hwnd,dwFlags) 24454 #define IShellMenu_GetMenu(This,phmenu,phwnd,pdwFlags) (This)->lpVtbl->GetMenu(This,phmenu,phwnd,pdwFlags) 24455 #define IShellMenu_InvalidateItem(This,psmd,dwFlags) (This)->lpVtbl->InvalidateItem(This,psmd,dwFlags) 24456 #define IShellMenu_GetState(This,psmd) (This)->lpVtbl->GetState(This,psmd) 24457 #define IShellMenu_SetMenuToolbar(This,punk,dwFlags) (This)->lpVtbl->SetMenuToolbar(This,punk,dwFlags) 24458 #else 24459 /*** IUnknown methods ***/ 24460 static inline HRESULT IShellMenu_QueryInterface(IShellMenu* This,REFIID riid,void **ppvObject) { 24461 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 24462 } 24463 static inline ULONG IShellMenu_AddRef(IShellMenu* This) { 24464 return This->lpVtbl->AddRef(This); 24465 } 24466 static inline ULONG IShellMenu_Release(IShellMenu* This) { 24467 return This->lpVtbl->Release(This); 24468 } 24469 /*** IShellMenu methods ***/ 24470 static inline HRESULT IShellMenu_Initialize(IShellMenu* This,IShellMenuCallback *psmc,UINT uId,UINT uIdAncestor,DWORD dwFlags) { 24471 return This->lpVtbl->Initialize(This,psmc,uId,uIdAncestor,dwFlags); 24472 } 24473 static inline HRESULT IShellMenu_GetMenuInfo(IShellMenu* This,IShellMenuCallback **ppsmc,UINT *puId,UINT *puIdAncestor,DWORD *pdwFlags) { 24474 return This->lpVtbl->GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags); 24475 } 24476 static inline HRESULT IShellMenu_SetShellFolder(IShellMenu* This,IShellFolder *psf,PCIDLIST_ABSOLUTE pidlFolder,HKEY hKey,DWORD dwFlags) { 24477 return This->lpVtbl->SetShellFolder(This,psf,pidlFolder,hKey,dwFlags); 24478 } 24479 static inline HRESULT IShellMenu_GetShellFolder(IShellMenu* This,DWORD *pdwFlags,PIDLIST_ABSOLUTE *ppidl,REFIID riid,void **ppv) { 24480 return This->lpVtbl->GetShellFolder(This,pdwFlags,ppidl,riid,ppv); 24481 } 24482 static inline HRESULT IShellMenu_SetMenu(IShellMenu* This,HMENU hmenu,HWND hwnd,DWORD dwFlags) { 24483 return This->lpVtbl->SetMenu(This,hmenu,hwnd,dwFlags); 24484 } 24485 static inline HRESULT IShellMenu_GetMenu(IShellMenu* This,HMENU *phmenu,HWND *phwnd,DWORD *pdwFlags) { 24486 return This->lpVtbl->GetMenu(This,phmenu,phwnd,pdwFlags); 24487 } 24488 static inline HRESULT IShellMenu_InvalidateItem(IShellMenu* This,LPSMDATA psmd,DWORD dwFlags) { 24489 return This->lpVtbl->InvalidateItem(This,psmd,dwFlags); 24490 } 24491 static inline HRESULT IShellMenu_GetState(IShellMenu* This,LPSMDATA psmd) { 24492 return This->lpVtbl->GetState(This,psmd); 24493 } 24494 static inline HRESULT IShellMenu_SetMenuToolbar(IShellMenu* This,IUnknown *punk,DWORD dwFlags) { 24495 return This->lpVtbl->SetMenuToolbar(This,punk,dwFlags); 24496 } 24497 #endif 24498 #endif 24499 24500 #endif 24501 24502 24503 #endif /* __IShellMenu_INTERFACE_DEFINED__ */ 24504 24505 #endif 24506 24507 /***************************************************************************** 24508 * IShellRunDll interface 24509 */ 24510 #ifndef __IShellRunDll_INTERFACE_DEFINED__ 24511 #define __IShellRunDll_INTERFACE_DEFINED__ 24512 24513 DEFINE_GUID(IID_IShellRunDll, 0xfce4bde0, 0x4b68, 0x4b80, 0x8e,0x9c, 0x74,0x26,0x31,0x5a,0x73,0x88); 24514 #if defined(__cplusplus) && !defined(CINTERFACE) 24515 MIDL_INTERFACE("fce4bde0-4b68-4b80-8e9c-7426315a7388") 24516 IShellRunDll : public IUnknown 24517 { 24518 virtual HRESULT STDMETHODCALLTYPE Run( 24519 LPCWSTR pszArgs) = 0; 24520 24521 }; 24522 #ifdef __CRT_UUID_DECL 24523 __CRT_UUID_DECL(IShellRunDll, 0xfce4bde0, 0x4b68, 0x4b80, 0x8e,0x9c, 0x74,0x26,0x31,0x5a,0x73,0x88) 24524 #endif 24525 #else 24526 typedef struct IShellRunDllVtbl { 24527 BEGIN_INTERFACE 24528 24529 /*** IUnknown methods ***/ 24530 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 24531 IShellRunDll *This, 24532 REFIID riid, 24533 void **ppvObject); 24534 24535 ULONG (STDMETHODCALLTYPE *AddRef)( 24536 IShellRunDll *This); 24537 24538 ULONG (STDMETHODCALLTYPE *Release)( 24539 IShellRunDll *This); 24540 24541 /*** IShellRunDll methods ***/ 24542 HRESULT (STDMETHODCALLTYPE *Run)( 24543 IShellRunDll *This, 24544 LPCWSTR pszArgs); 24545 24546 END_INTERFACE 24547 } IShellRunDllVtbl; 24548 24549 interface IShellRunDll { 24550 CONST_VTBL IShellRunDllVtbl* lpVtbl; 24551 }; 24552 24553 #ifdef COBJMACROS 24554 #ifndef WIDL_C_INLINE_WRAPPERS 24555 /*** IUnknown methods ***/ 24556 #define IShellRunDll_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 24557 #define IShellRunDll_AddRef(This) (This)->lpVtbl->AddRef(This) 24558 #define IShellRunDll_Release(This) (This)->lpVtbl->Release(This) 24559 /*** IShellRunDll methods ***/ 24560 #define IShellRunDll_Run(This,pszArgs) (This)->lpVtbl->Run(This,pszArgs) 24561 #else 24562 /*** IUnknown methods ***/ 24563 static inline HRESULT IShellRunDll_QueryInterface(IShellRunDll* This,REFIID riid,void **ppvObject) { 24564 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 24565 } 24566 static inline ULONG IShellRunDll_AddRef(IShellRunDll* This) { 24567 return This->lpVtbl->AddRef(This); 24568 } 24569 static inline ULONG IShellRunDll_Release(IShellRunDll* This) { 24570 return This->lpVtbl->Release(This); 24571 } 24572 /*** IShellRunDll methods ***/ 24573 static inline HRESULT IShellRunDll_Run(IShellRunDll* This,LPCWSTR pszArgs) { 24574 return This->lpVtbl->Run(This,pszArgs); 24575 } 24576 #endif 24577 #endif 24578 24579 #endif 24580 24581 24582 #endif /* __IShellRunDll_INTERFACE_DEFINED__ */ 24583 24584 24585 #if NTDDI_VERSION >= NTDDI_VISTA 24586 typedef enum KF_CATEGORY { 24587 KF_CATEGORY_VIRTUAL = 1, 24588 KF_CATEGORY_FIXED = 2, 24589 KF_CATEGORY_COMMON = 3, 24590 KF_CATEGORY_PERUSER = 4 24591 } KF_CATEGORY; 24592 24593 enum _KF_DEFINITION_FLAGS { 24594 KFDF_LOCAL_REDIRECT_ONLY = 0x2, 24595 KFDF_ROAMABLE = 0x4, 24596 KFDF_PRECREATE = 0x8, 24597 KFDF_STREAM = 0x10, 24598 KFDF_PUBLISHEXPANDEDPATH = 0x20 24599 }; 24600 24601 typedef DWORD KF_DEFINITION_FLAGS; 24602 24603 enum _KF_REDIRECT_FLAGS { 24604 KF_REDIRECT_USER_EXCLUSIVE = 0x1, 24605 KF_REDIRECT_COPY_SOURCE_DACL = 0x2, 24606 KF_REDIRECT_OWNER_USER = 0x4, 24607 KF_REDIRECT_SET_OWNER_EXPLICIT = 0x8, 24608 KF_REDIRECT_CHECK_ONLY = 0x10, 24609 KF_REDIRECT_WITH_UI = 0x20, 24610 KF_REDIRECT_UNPIN = 0x40, 24611 KF_REDIRECT_PIN = 0x80, 24612 KF_REDIRECT_COPY_CONTENTS = 0x200, 24613 KF_REDIRECT_DEL_SOURCE_CONTENTS = 0x400, 24614 KF_REDIRECT_EXCLUDE_ALL_KNOWN_SUBFOLDERS = 0x800 24615 }; 24616 24617 typedef DWORD KF_REDIRECT_FLAGS; 24618 24619 enum _KF_REDIRECTION_CAPABILITIES { 24620 KF_REDIRECTION_CAPABILITIES_ALLOW_ALL = 0xff, 24621 KF_REDIRECTION_CAPABILITIES_REDIRECTABLE = 0x1, 24622 KF_REDIRECTION_CAPABILITIES_DENY_ALL = 0xfff00, 24623 KF_REDIRECTION_CAPABILITIES_DENY_POLICY_REDIRECTED = 0x100, 24624 KF_REDIRECTION_CAPABILITIES_DENY_POLICY = 0x200, 24625 KF_REDIRECTION_CAPABILITIES_DENY_PERMISSIONS = 0x400 24626 }; 24627 24628 typedef DWORD KF_REDIRECTION_CAPABILITIES; 24629 24630 typedef struct KNOWNFOLDER_DEFINITION { 24631 KF_CATEGORY category; 24632 LPWSTR pszName; 24633 LPWSTR pszDescription; 24634 KNOWNFOLDERID fidParent; 24635 LPWSTR pszRelativePath; 24636 LPWSTR pszParsingName; 24637 LPWSTR pszTooltip; 24638 LPWSTR pszLocalizedName; 24639 LPWSTR pszIcon; 24640 LPWSTR pszSecurity; 24641 DWORD dwAttributes; 24642 KF_DEFINITION_FLAGS kfdFlags; 24643 FOLDERTYPEID ftidType; 24644 } KNOWNFOLDER_DEFINITION; 24645 24646 /***************************************************************************** 24647 * IKnownFolder interface 24648 */ 24649 #ifndef __IKnownFolder_INTERFACE_DEFINED__ 24650 #define __IKnownFolder_INTERFACE_DEFINED__ 24651 24652 DEFINE_GUID(IID_IKnownFolder, 0x3aa7af7e, 0x9b36, 0x420c, 0xa8,0xe3, 0xf7,0x7d,0x46,0x74,0xa4,0x88); 24653 #if defined(__cplusplus) && !defined(CINTERFACE) 24654 MIDL_INTERFACE("3aa7af7e-9b36-420c-a8e3-f77d4674a488") 24655 IKnownFolder : public IUnknown 24656 { 24657 virtual HRESULT STDMETHODCALLTYPE GetId( 24658 KNOWNFOLDERID *pkfid) = 0; 24659 24660 virtual HRESULT STDMETHODCALLTYPE GetCategory( 24661 KF_CATEGORY *pCategory) = 0; 24662 24663 virtual HRESULT STDMETHODCALLTYPE GetShellItem( 24664 DWORD dwFlags, 24665 REFIID riid, 24666 void **ppv) = 0; 24667 24668 virtual HRESULT STDMETHODCALLTYPE GetPath( 24669 DWORD dwFlags, 24670 LPWSTR *ppszPath) = 0; 24671 24672 virtual HRESULT STDMETHODCALLTYPE SetPath( 24673 DWORD dwFlags, 24674 LPCWSTR pszPath) = 0; 24675 24676 virtual HRESULT STDMETHODCALLTYPE GetIDList( 24677 DWORD dwFlags, 24678 PIDLIST_ABSOLUTE *ppidl) = 0; 24679 24680 virtual HRESULT STDMETHODCALLTYPE GetFolderType( 24681 FOLDERTYPEID *pftid) = 0; 24682 24683 virtual HRESULT STDMETHODCALLTYPE GetRedirectionCapabilities( 24684 KF_REDIRECTION_CAPABILITIES *pCapabilities) = 0; 24685 24686 virtual HRESULT STDMETHODCALLTYPE GetFolderDefinition( 24687 KNOWNFOLDER_DEFINITION *pKFD) = 0; 24688 24689 }; 24690 #ifdef __CRT_UUID_DECL 24691 __CRT_UUID_DECL(IKnownFolder, 0x3aa7af7e, 0x9b36, 0x420c, 0xa8,0xe3, 0xf7,0x7d,0x46,0x74,0xa4,0x88) 24692 #endif 24693 #else 24694 typedef struct IKnownFolderVtbl { 24695 BEGIN_INTERFACE 24696 24697 /*** IUnknown methods ***/ 24698 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 24699 IKnownFolder *This, 24700 REFIID riid, 24701 void **ppvObject); 24702 24703 ULONG (STDMETHODCALLTYPE *AddRef)( 24704 IKnownFolder *This); 24705 24706 ULONG (STDMETHODCALLTYPE *Release)( 24707 IKnownFolder *This); 24708 24709 /*** IKnownFolder methods ***/ 24710 HRESULT (STDMETHODCALLTYPE *GetId)( 24711 IKnownFolder *This, 24712 KNOWNFOLDERID *pkfid); 24713 24714 HRESULT (STDMETHODCALLTYPE *GetCategory)( 24715 IKnownFolder *This, 24716 KF_CATEGORY *pCategory); 24717 24718 HRESULT (STDMETHODCALLTYPE *GetShellItem)( 24719 IKnownFolder *This, 24720 DWORD dwFlags, 24721 REFIID riid, 24722 void **ppv); 24723 24724 HRESULT (STDMETHODCALLTYPE *GetPath)( 24725 IKnownFolder *This, 24726 DWORD dwFlags, 24727 LPWSTR *ppszPath); 24728 24729 HRESULT (STDMETHODCALLTYPE *SetPath)( 24730 IKnownFolder *This, 24731 DWORD dwFlags, 24732 LPCWSTR pszPath); 24733 24734 HRESULT (STDMETHODCALLTYPE *GetIDList)( 24735 IKnownFolder *This, 24736 DWORD dwFlags, 24737 PIDLIST_ABSOLUTE *ppidl); 24738 24739 HRESULT (STDMETHODCALLTYPE *GetFolderType)( 24740 IKnownFolder *This, 24741 FOLDERTYPEID *pftid); 24742 24743 HRESULT (STDMETHODCALLTYPE *GetRedirectionCapabilities)( 24744 IKnownFolder *This, 24745 KF_REDIRECTION_CAPABILITIES *pCapabilities); 24746 24747 HRESULT (STDMETHODCALLTYPE *GetFolderDefinition)( 24748 IKnownFolder *This, 24749 KNOWNFOLDER_DEFINITION *pKFD); 24750 24751 END_INTERFACE 24752 } IKnownFolderVtbl; 24753 24754 interface IKnownFolder { 24755 CONST_VTBL IKnownFolderVtbl* lpVtbl; 24756 }; 24757 24758 #ifdef COBJMACROS 24759 #ifndef WIDL_C_INLINE_WRAPPERS 24760 /*** IUnknown methods ***/ 24761 #define IKnownFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 24762 #define IKnownFolder_AddRef(This) (This)->lpVtbl->AddRef(This) 24763 #define IKnownFolder_Release(This) (This)->lpVtbl->Release(This) 24764 /*** IKnownFolder methods ***/ 24765 #define IKnownFolder_GetId(This,pkfid) (This)->lpVtbl->GetId(This,pkfid) 24766 #define IKnownFolder_GetCategory(This,pCategory) (This)->lpVtbl->GetCategory(This,pCategory) 24767 #define IKnownFolder_GetShellItem(This,dwFlags,riid,ppv) (This)->lpVtbl->GetShellItem(This,dwFlags,riid,ppv) 24768 #define IKnownFolder_GetPath(This,dwFlags,ppszPath) (This)->lpVtbl->GetPath(This,dwFlags,ppszPath) 24769 #define IKnownFolder_SetPath(This,dwFlags,pszPath) (This)->lpVtbl->SetPath(This,dwFlags,pszPath) 24770 #define IKnownFolder_GetIDList(This,dwFlags,ppidl) (This)->lpVtbl->GetIDList(This,dwFlags,ppidl) 24771 #define IKnownFolder_GetFolderType(This,pftid) (This)->lpVtbl->GetFolderType(This,pftid) 24772 #define IKnownFolder_GetRedirectionCapabilities(This,pCapabilities) (This)->lpVtbl->GetRedirectionCapabilities(This,pCapabilities) 24773 #define IKnownFolder_GetFolderDefinition(This,pKFD) (This)->lpVtbl->GetFolderDefinition(This,pKFD) 24774 #else 24775 /*** IUnknown methods ***/ 24776 static inline HRESULT IKnownFolder_QueryInterface(IKnownFolder* This,REFIID riid,void **ppvObject) { 24777 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 24778 } 24779 static inline ULONG IKnownFolder_AddRef(IKnownFolder* This) { 24780 return This->lpVtbl->AddRef(This); 24781 } 24782 static inline ULONG IKnownFolder_Release(IKnownFolder* This) { 24783 return This->lpVtbl->Release(This); 24784 } 24785 /*** IKnownFolder methods ***/ 24786 static inline HRESULT IKnownFolder_GetId(IKnownFolder* This,KNOWNFOLDERID *pkfid) { 24787 return This->lpVtbl->GetId(This,pkfid); 24788 } 24789 static inline HRESULT IKnownFolder_GetCategory(IKnownFolder* This,KF_CATEGORY *pCategory) { 24790 return This->lpVtbl->GetCategory(This,pCategory); 24791 } 24792 static inline HRESULT IKnownFolder_GetShellItem(IKnownFolder* This,DWORD dwFlags,REFIID riid,void **ppv) { 24793 return This->lpVtbl->GetShellItem(This,dwFlags,riid,ppv); 24794 } 24795 static inline HRESULT IKnownFolder_GetPath(IKnownFolder* This,DWORD dwFlags,LPWSTR *ppszPath) { 24796 return This->lpVtbl->GetPath(This,dwFlags,ppszPath); 24797 } 24798 static inline HRESULT IKnownFolder_SetPath(IKnownFolder* This,DWORD dwFlags,LPCWSTR pszPath) { 24799 return This->lpVtbl->SetPath(This,dwFlags,pszPath); 24800 } 24801 static inline HRESULT IKnownFolder_GetIDList(IKnownFolder* This,DWORD dwFlags,PIDLIST_ABSOLUTE *ppidl) { 24802 return This->lpVtbl->GetIDList(This,dwFlags,ppidl); 24803 } 24804 static inline HRESULT IKnownFolder_GetFolderType(IKnownFolder* This,FOLDERTYPEID *pftid) { 24805 return This->lpVtbl->GetFolderType(This,pftid); 24806 } 24807 static inline HRESULT IKnownFolder_GetRedirectionCapabilities(IKnownFolder* This,KF_REDIRECTION_CAPABILITIES *pCapabilities) { 24808 return This->lpVtbl->GetRedirectionCapabilities(This,pCapabilities); 24809 } 24810 static inline HRESULT IKnownFolder_GetFolderDefinition(IKnownFolder* This,KNOWNFOLDER_DEFINITION *pKFD) { 24811 return This->lpVtbl->GetFolderDefinition(This,pKFD); 24812 } 24813 #endif 24814 #endif 24815 24816 #endif 24817 24818 24819 #endif /* __IKnownFolder_INTERFACE_DEFINED__ */ 24820 24821 24822 /***************************************************************************** 24823 * IKnownFolderManager interface 24824 */ 24825 #ifndef __IKnownFolderManager_INTERFACE_DEFINED__ 24826 #define __IKnownFolderManager_INTERFACE_DEFINED__ 24827 24828 typedef enum FFFP_MODE { 24829 FFFP_EXACTMATCH = 0, 24830 FFFP_NEARESTPARENTMATCH = 1 24831 } FFFP_MODE; 24832 24833 DEFINE_GUID(IID_IKnownFolderManager, 0x8be2d872, 0x86aa, 0x4d47, 0xb7,0x76, 0x32,0xcc,0xa4,0x0c,0x70,0x18); 24834 #if defined(__cplusplus) && !defined(CINTERFACE) 24835 MIDL_INTERFACE("8be2d872-86aa-4d47-b776-32cca40c7018") 24836 IKnownFolderManager : public IUnknown 24837 { 24838 virtual HRESULT STDMETHODCALLTYPE FolderIdFromCsidl( 24839 int nCsidl, 24840 KNOWNFOLDERID *pfid) = 0; 24841 24842 virtual HRESULT STDMETHODCALLTYPE FolderIdToCsidl( 24843 REFKNOWNFOLDERID rfid, 24844 int *pnCsidl) = 0; 24845 24846 virtual HRESULT STDMETHODCALLTYPE GetFolderIds( 24847 KNOWNFOLDERID **ppKFId, 24848 UINT *pCount) = 0; 24849 24850 virtual HRESULT STDMETHODCALLTYPE GetFolder( 24851 REFKNOWNFOLDERID rfid, 24852 IKnownFolder **ppkf) = 0; 24853 24854 virtual HRESULT STDMETHODCALLTYPE GetFolderByName( 24855 LPCWSTR pszCanonicalName, 24856 IKnownFolder **ppkf) = 0; 24857 24858 virtual HRESULT STDMETHODCALLTYPE RegisterFolder( 24859 REFKNOWNFOLDERID rfid, 24860 const KNOWNFOLDER_DEFINITION *pKFD) = 0; 24861 24862 virtual HRESULT STDMETHODCALLTYPE UnregisterFolder( 24863 REFKNOWNFOLDERID rfid) = 0; 24864 24865 virtual HRESULT STDMETHODCALLTYPE FindFolderFromPath( 24866 LPCWSTR pszPath, 24867 FFFP_MODE mode, 24868 IKnownFolder **ppkf) = 0; 24869 24870 virtual HRESULT STDMETHODCALLTYPE FindFolderFromIDList( 24871 PCIDLIST_ABSOLUTE pidl, 24872 IKnownFolder **ppkf) = 0; 24873 24874 virtual HRESULT STDMETHODCALLTYPE Redirect( 24875 REFKNOWNFOLDERID rfid, 24876 HWND hwnd, 24877 KF_REDIRECT_FLAGS flags, 24878 LPCWSTR pszTargetPath, 24879 UINT cFolders, 24880 const KNOWNFOLDERID *pExclusion, 24881 LPWSTR *ppszError) = 0; 24882 24883 }; 24884 #ifdef __CRT_UUID_DECL 24885 __CRT_UUID_DECL(IKnownFolderManager, 0x8be2d872, 0x86aa, 0x4d47, 0xb7,0x76, 0x32,0xcc,0xa4,0x0c,0x70,0x18) 24886 #endif 24887 #else 24888 typedef struct IKnownFolderManagerVtbl { 24889 BEGIN_INTERFACE 24890 24891 /*** IUnknown methods ***/ 24892 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 24893 IKnownFolderManager *This, 24894 REFIID riid, 24895 void **ppvObject); 24896 24897 ULONG (STDMETHODCALLTYPE *AddRef)( 24898 IKnownFolderManager *This); 24899 24900 ULONG (STDMETHODCALLTYPE *Release)( 24901 IKnownFolderManager *This); 24902 24903 /*** IKnownFolderManager methods ***/ 24904 HRESULT (STDMETHODCALLTYPE *FolderIdFromCsidl)( 24905 IKnownFolderManager *This, 24906 int nCsidl, 24907 KNOWNFOLDERID *pfid); 24908 24909 HRESULT (STDMETHODCALLTYPE *FolderIdToCsidl)( 24910 IKnownFolderManager *This, 24911 REFKNOWNFOLDERID rfid, 24912 int *pnCsidl); 24913 24914 HRESULT (STDMETHODCALLTYPE *GetFolderIds)( 24915 IKnownFolderManager *This, 24916 KNOWNFOLDERID **ppKFId, 24917 UINT *pCount); 24918 24919 HRESULT (STDMETHODCALLTYPE *GetFolder)( 24920 IKnownFolderManager *This, 24921 REFKNOWNFOLDERID rfid, 24922 IKnownFolder **ppkf); 24923 24924 HRESULT (STDMETHODCALLTYPE *GetFolderByName)( 24925 IKnownFolderManager *This, 24926 LPCWSTR pszCanonicalName, 24927 IKnownFolder **ppkf); 24928 24929 HRESULT (STDMETHODCALLTYPE *RegisterFolder)( 24930 IKnownFolderManager *This, 24931 REFKNOWNFOLDERID rfid, 24932 const KNOWNFOLDER_DEFINITION *pKFD); 24933 24934 HRESULT (STDMETHODCALLTYPE *UnregisterFolder)( 24935 IKnownFolderManager *This, 24936 REFKNOWNFOLDERID rfid); 24937 24938 HRESULT (STDMETHODCALLTYPE *FindFolderFromPath)( 24939 IKnownFolderManager *This, 24940 LPCWSTR pszPath, 24941 FFFP_MODE mode, 24942 IKnownFolder **ppkf); 24943 24944 HRESULT (STDMETHODCALLTYPE *FindFolderFromIDList)( 24945 IKnownFolderManager *This, 24946 PCIDLIST_ABSOLUTE pidl, 24947 IKnownFolder **ppkf); 24948 24949 HRESULT (STDMETHODCALLTYPE *Redirect)( 24950 IKnownFolderManager *This, 24951 REFKNOWNFOLDERID rfid, 24952 HWND hwnd, 24953 KF_REDIRECT_FLAGS flags, 24954 LPCWSTR pszTargetPath, 24955 UINT cFolders, 24956 const KNOWNFOLDERID *pExclusion, 24957 LPWSTR *ppszError); 24958 24959 END_INTERFACE 24960 } IKnownFolderManagerVtbl; 24961 24962 interface IKnownFolderManager { 24963 CONST_VTBL IKnownFolderManagerVtbl* lpVtbl; 24964 }; 24965 24966 #ifdef COBJMACROS 24967 #ifndef WIDL_C_INLINE_WRAPPERS 24968 /*** IUnknown methods ***/ 24969 #define IKnownFolderManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 24970 #define IKnownFolderManager_AddRef(This) (This)->lpVtbl->AddRef(This) 24971 #define IKnownFolderManager_Release(This) (This)->lpVtbl->Release(This) 24972 /*** IKnownFolderManager methods ***/ 24973 #define IKnownFolderManager_FolderIdFromCsidl(This,nCsidl,pfid) (This)->lpVtbl->FolderIdFromCsidl(This,nCsidl,pfid) 24974 #define IKnownFolderManager_FolderIdToCsidl(This,rfid,pnCsidl) (This)->lpVtbl->FolderIdToCsidl(This,rfid,pnCsidl) 24975 #define IKnownFolderManager_GetFolderIds(This,ppKFId,pCount) (This)->lpVtbl->GetFolderIds(This,ppKFId,pCount) 24976 #define IKnownFolderManager_GetFolder(This,rfid,ppkf) (This)->lpVtbl->GetFolder(This,rfid,ppkf) 24977 #define IKnownFolderManager_GetFolderByName(This,pszCanonicalName,ppkf) (This)->lpVtbl->GetFolderByName(This,pszCanonicalName,ppkf) 24978 #define IKnownFolderManager_RegisterFolder(This,rfid,pKFD) (This)->lpVtbl->RegisterFolder(This,rfid,pKFD) 24979 #define IKnownFolderManager_UnregisterFolder(This,rfid) (This)->lpVtbl->UnregisterFolder(This,rfid) 24980 #define IKnownFolderManager_FindFolderFromPath(This,pszPath,mode,ppkf) (This)->lpVtbl->FindFolderFromPath(This,pszPath,mode,ppkf) 24981 #define IKnownFolderManager_FindFolderFromIDList(This,pidl,ppkf) (This)->lpVtbl->FindFolderFromIDList(This,pidl,ppkf) 24982 #define IKnownFolderManager_Redirect(This,rfid,hwnd,flags,pszTargetPath,cFolders,pExclusion,ppszError) (This)->lpVtbl->Redirect(This,rfid,hwnd,flags,pszTargetPath,cFolders,pExclusion,ppszError) 24983 #else 24984 /*** IUnknown methods ***/ 24985 static inline HRESULT IKnownFolderManager_QueryInterface(IKnownFolderManager* This,REFIID riid,void **ppvObject) { 24986 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 24987 } 24988 static inline ULONG IKnownFolderManager_AddRef(IKnownFolderManager* This) { 24989 return This->lpVtbl->AddRef(This); 24990 } 24991 static inline ULONG IKnownFolderManager_Release(IKnownFolderManager* This) { 24992 return This->lpVtbl->Release(This); 24993 } 24994 /*** IKnownFolderManager methods ***/ 24995 static inline HRESULT IKnownFolderManager_FolderIdFromCsidl(IKnownFolderManager* This,int nCsidl,KNOWNFOLDERID *pfid) { 24996 return This->lpVtbl->FolderIdFromCsidl(This,nCsidl,pfid); 24997 } 24998 static inline HRESULT IKnownFolderManager_FolderIdToCsidl(IKnownFolderManager* This,REFKNOWNFOLDERID rfid,int *pnCsidl) { 24999 return This->lpVtbl->FolderIdToCsidl(This,rfid,pnCsidl); 25000 } 25001 static inline HRESULT IKnownFolderManager_GetFolderIds(IKnownFolderManager* This,KNOWNFOLDERID **ppKFId,UINT *pCount) { 25002 return This->lpVtbl->GetFolderIds(This,ppKFId,pCount); 25003 } 25004 static inline HRESULT IKnownFolderManager_GetFolder(IKnownFolderManager* This,REFKNOWNFOLDERID rfid,IKnownFolder **ppkf) { 25005 return This->lpVtbl->GetFolder(This,rfid,ppkf); 25006 } 25007 static inline HRESULT IKnownFolderManager_GetFolderByName(IKnownFolderManager* This,LPCWSTR pszCanonicalName,IKnownFolder **ppkf) { 25008 return This->lpVtbl->GetFolderByName(This,pszCanonicalName,ppkf); 25009 } 25010 static inline HRESULT IKnownFolderManager_RegisterFolder(IKnownFolderManager* This,REFKNOWNFOLDERID rfid,const KNOWNFOLDER_DEFINITION *pKFD) { 25011 return This->lpVtbl->RegisterFolder(This,rfid,pKFD); 25012 } 25013 static inline HRESULT IKnownFolderManager_UnregisterFolder(IKnownFolderManager* This,REFKNOWNFOLDERID rfid) { 25014 return This->lpVtbl->UnregisterFolder(This,rfid); 25015 } 25016 static inline HRESULT IKnownFolderManager_FindFolderFromPath(IKnownFolderManager* This,LPCWSTR pszPath,FFFP_MODE mode,IKnownFolder **ppkf) { 25017 return This->lpVtbl->FindFolderFromPath(This,pszPath,mode,ppkf); 25018 } 25019 static inline HRESULT IKnownFolderManager_FindFolderFromIDList(IKnownFolderManager* This,PCIDLIST_ABSOLUTE pidl,IKnownFolder **ppkf) { 25020 return This->lpVtbl->FindFolderFromIDList(This,pidl,ppkf); 25021 } 25022 static inline HRESULT IKnownFolderManager_Redirect(IKnownFolderManager* This,REFKNOWNFOLDERID rfid,HWND hwnd,KF_REDIRECT_FLAGS flags,LPCWSTR pszTargetPath,UINT cFolders,const KNOWNFOLDERID *pExclusion,LPWSTR *ppszError) { 25023 return This->lpVtbl->Redirect(This,rfid,hwnd,flags,pszTargetPath,cFolders,pExclusion,ppszError); 25024 } 25025 #endif 25026 #endif 25027 25028 #endif 25029 25030 HRESULT STDMETHODCALLTYPE IKnownFolderManager_RemoteRedirect_Proxy( 25031 IKnownFolderManager* This, 25032 REFKNOWNFOLDERID rfid, 25033 HWND hwnd, 25034 KF_REDIRECT_FLAGS flags, 25035 LPCWSTR pszTargetPath, 25036 UINT cFolders, 25037 const GUID *pExclusion, 25038 LPWSTR *ppszError); 25039 void __RPC_STUB IKnownFolderManager_RemoteRedirect_Stub( 25040 IRpcStubBuffer* This, 25041 IRpcChannelBuffer* pRpcChannelBuffer, 25042 PRPC_MESSAGE pRpcMessage, 25043 DWORD* pdwStubPhase); 25044 HRESULT CALLBACK IKnownFolderManager_Redirect_Proxy( 25045 IKnownFolderManager* This, 25046 REFKNOWNFOLDERID rfid, 25047 HWND hwnd, 25048 KF_REDIRECT_FLAGS flags, 25049 LPCWSTR pszTargetPath, 25050 UINT cFolders, 25051 const KNOWNFOLDERID *pExclusion, 25052 LPWSTR *ppszError); 25053 HRESULT __RPC_STUB IKnownFolderManager_Redirect_Stub( 25054 IKnownFolderManager* This, 25055 REFKNOWNFOLDERID rfid, 25056 HWND hwnd, 25057 KF_REDIRECT_FLAGS flags, 25058 LPCWSTR pszTargetPath, 25059 UINT cFolders, 25060 const GUID *pExclusion, 25061 LPWSTR *ppszError); 25062 25063 #endif /* __IKnownFolderManager_INTERFACE_DEFINED__ */ 25064 25065 25066 __forceinline void FreeKnownFolderDefinitionFields(KNOWNFOLDER_DEFINITION *pKFD) { 25067 CoTaskMemFree(pKFD->pszName); 25068 CoTaskMemFree(pKFD->pszDescription); 25069 CoTaskMemFree(pKFD->pszRelativePath); 25070 CoTaskMemFree(pKFD->pszParsingName); 25071 CoTaskMemFree(pKFD->pszTooltip); 25072 CoTaskMemFree(pKFD->pszLocalizedName); 25073 CoTaskMemFree(pKFD->pszIcon); 25074 CoTaskMemFree(pKFD->pszSecurity); 25075 } 25076 25077 typedef enum SHARE_ROLE { 25078 SHARE_ROLE_INVALID = -1, 25079 SHARE_ROLE_READER = 0, 25080 SHARE_ROLE_CONTRIBUTOR = 1, 25081 SHARE_ROLE_CO_OWNER = 2, 25082 SHARE_ROLE_OWNER = 3, 25083 SHARE_ROLE_CUSTOM = 4, 25084 SHARE_ROLE_MIXED = 5 25085 } SHARE_ROLE; 25086 25087 typedef enum DEF_SHARE_ID { 25088 DEFSHAREID_USERS = 1, 25089 DEFSHAREID_PUBLIC = 2 25090 } DEF_SHARE_ID; 25091 25092 /***************************************************************************** 25093 * ISharingConfigurationManager interface 25094 */ 25095 #ifndef __ISharingConfigurationManager_INTERFACE_DEFINED__ 25096 #define __ISharingConfigurationManager_INTERFACE_DEFINED__ 25097 25098 DEFINE_GUID(IID_ISharingConfigurationManager, 0xb4cd448a, 0x9c86, 0x4466, 0x92,0x01, 0x2e,0x62,0x10,0x5b,0x87,0xae); 25099 #if defined(__cplusplus) && !defined(CINTERFACE) 25100 MIDL_INTERFACE("b4cd448a-9c86-4466-9201-2e62105b87ae") 25101 ISharingConfigurationManager : public IUnknown 25102 { 25103 virtual HRESULT STDMETHODCALLTYPE CreateShare( 25104 DEF_SHARE_ID dsid, 25105 SHARE_ROLE role) = 0; 25106 25107 virtual HRESULT STDMETHODCALLTYPE DeleteShare( 25108 DEF_SHARE_ID dsid) = 0; 25109 25110 virtual HRESULT STDMETHODCALLTYPE ShareExists( 25111 DEF_SHARE_ID dsid) = 0; 25112 25113 virtual HRESULT STDMETHODCALLTYPE GetSharePermissions( 25114 DEF_SHARE_ID dsid, 25115 SHARE_ROLE *pRole) = 0; 25116 25117 virtual HRESULT STDMETHODCALLTYPE SharePrinters( 25118 ) = 0; 25119 25120 virtual HRESULT STDMETHODCALLTYPE StopSharingPrinters( 25121 ) = 0; 25122 25123 virtual HRESULT STDMETHODCALLTYPE ArePrintersShared( 25124 ) = 0; 25125 25126 }; 25127 #ifdef __CRT_UUID_DECL 25128 __CRT_UUID_DECL(ISharingConfigurationManager, 0xb4cd448a, 0x9c86, 0x4466, 0x92,0x01, 0x2e,0x62,0x10,0x5b,0x87,0xae) 25129 #endif 25130 #else 25131 typedef struct ISharingConfigurationManagerVtbl { 25132 BEGIN_INTERFACE 25133 25134 /*** IUnknown methods ***/ 25135 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 25136 ISharingConfigurationManager *This, 25137 REFIID riid, 25138 void **ppvObject); 25139 25140 ULONG (STDMETHODCALLTYPE *AddRef)( 25141 ISharingConfigurationManager *This); 25142 25143 ULONG (STDMETHODCALLTYPE *Release)( 25144 ISharingConfigurationManager *This); 25145 25146 /*** ISharingConfigurationManager methods ***/ 25147 HRESULT (STDMETHODCALLTYPE *CreateShare)( 25148 ISharingConfigurationManager *This, 25149 DEF_SHARE_ID dsid, 25150 SHARE_ROLE role); 25151 25152 HRESULT (STDMETHODCALLTYPE *DeleteShare)( 25153 ISharingConfigurationManager *This, 25154 DEF_SHARE_ID dsid); 25155 25156 HRESULT (STDMETHODCALLTYPE *ShareExists)( 25157 ISharingConfigurationManager *This, 25158 DEF_SHARE_ID dsid); 25159 25160 HRESULT (STDMETHODCALLTYPE *GetSharePermissions)( 25161 ISharingConfigurationManager *This, 25162 DEF_SHARE_ID dsid, 25163 SHARE_ROLE *pRole); 25164 25165 HRESULT (STDMETHODCALLTYPE *SharePrinters)( 25166 ISharingConfigurationManager *This); 25167 25168 HRESULT (STDMETHODCALLTYPE *StopSharingPrinters)( 25169 ISharingConfigurationManager *This); 25170 25171 HRESULT (STDMETHODCALLTYPE *ArePrintersShared)( 25172 ISharingConfigurationManager *This); 25173 25174 END_INTERFACE 25175 } ISharingConfigurationManagerVtbl; 25176 25177 interface ISharingConfigurationManager { 25178 CONST_VTBL ISharingConfigurationManagerVtbl* lpVtbl; 25179 }; 25180 25181 #ifdef COBJMACROS 25182 #ifndef WIDL_C_INLINE_WRAPPERS 25183 /*** IUnknown methods ***/ 25184 #define ISharingConfigurationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 25185 #define ISharingConfigurationManager_AddRef(This) (This)->lpVtbl->AddRef(This) 25186 #define ISharingConfigurationManager_Release(This) (This)->lpVtbl->Release(This) 25187 /*** ISharingConfigurationManager methods ***/ 25188 #define ISharingConfigurationManager_CreateShare(This,dsid,role) (This)->lpVtbl->CreateShare(This,dsid,role) 25189 #define ISharingConfigurationManager_DeleteShare(This,dsid) (This)->lpVtbl->DeleteShare(This,dsid) 25190 #define ISharingConfigurationManager_ShareExists(This,dsid) (This)->lpVtbl->ShareExists(This,dsid) 25191 #define ISharingConfigurationManager_GetSharePermissions(This,dsid,pRole) (This)->lpVtbl->GetSharePermissions(This,dsid,pRole) 25192 #define ISharingConfigurationManager_SharePrinters(This) (This)->lpVtbl->SharePrinters(This) 25193 #define ISharingConfigurationManager_StopSharingPrinters(This) (This)->lpVtbl->StopSharingPrinters(This) 25194 #define ISharingConfigurationManager_ArePrintersShared(This) (This)->lpVtbl->ArePrintersShared(This) 25195 #else 25196 /*** IUnknown methods ***/ 25197 static inline HRESULT ISharingConfigurationManager_QueryInterface(ISharingConfigurationManager* This,REFIID riid,void **ppvObject) { 25198 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 25199 } 25200 static inline ULONG ISharingConfigurationManager_AddRef(ISharingConfigurationManager* This) { 25201 return This->lpVtbl->AddRef(This); 25202 } 25203 static inline ULONG ISharingConfigurationManager_Release(ISharingConfigurationManager* This) { 25204 return This->lpVtbl->Release(This); 25205 } 25206 /*** ISharingConfigurationManager methods ***/ 25207 static inline HRESULT ISharingConfigurationManager_CreateShare(ISharingConfigurationManager* This,DEF_SHARE_ID dsid,SHARE_ROLE role) { 25208 return This->lpVtbl->CreateShare(This,dsid,role); 25209 } 25210 static inline HRESULT ISharingConfigurationManager_DeleteShare(ISharingConfigurationManager* This,DEF_SHARE_ID dsid) { 25211 return This->lpVtbl->DeleteShare(This,dsid); 25212 } 25213 static inline HRESULT ISharingConfigurationManager_ShareExists(ISharingConfigurationManager* This,DEF_SHARE_ID dsid) { 25214 return This->lpVtbl->ShareExists(This,dsid); 25215 } 25216 static inline HRESULT ISharingConfigurationManager_GetSharePermissions(ISharingConfigurationManager* This,DEF_SHARE_ID dsid,SHARE_ROLE *pRole) { 25217 return This->lpVtbl->GetSharePermissions(This,dsid,pRole); 25218 } 25219 static inline HRESULT ISharingConfigurationManager_SharePrinters(ISharingConfigurationManager* This) { 25220 return This->lpVtbl->SharePrinters(This); 25221 } 25222 static inline HRESULT ISharingConfigurationManager_StopSharingPrinters(ISharingConfigurationManager* This) { 25223 return This->lpVtbl->StopSharingPrinters(This); 25224 } 25225 static inline HRESULT ISharingConfigurationManager_ArePrintersShared(ISharingConfigurationManager* This) { 25226 return This->lpVtbl->ArePrintersShared(This); 25227 } 25228 #endif 25229 #endif 25230 25231 #endif 25232 25233 25234 #endif /* __ISharingConfigurationManager_INTERFACE_DEFINED__ */ 25235 25236 #endif 25237 25238 /***************************************************************************** 25239 * IPreviousVersionsInfo interface 25240 */ 25241 #ifndef __IPreviousVersionsInfo_INTERFACE_DEFINED__ 25242 #define __IPreviousVersionsInfo_INTERFACE_DEFINED__ 25243 25244 DEFINE_GUID(IID_IPreviousVersionsInfo, 0x76e54780, 0xad74, 0x48e3, 0xa6,0x95, 0x3b,0xa9,0xa0,0xaf,0xf1,0x0d); 25245 #if defined(__cplusplus) && !defined(CINTERFACE) 25246 MIDL_INTERFACE("76e54780-ad74-48e3-a695-3ba9a0aff10d") 25247 IPreviousVersionsInfo : public IUnknown 25248 { 25249 virtual HRESULT STDMETHODCALLTYPE AreSnapshotsAvailable( 25250 LPCWSTR pszPath, 25251 WINBOOL fOkToBeSlow, 25252 WINBOOL *pfAvailable) = 0; 25253 25254 }; 25255 #ifdef __CRT_UUID_DECL 25256 __CRT_UUID_DECL(IPreviousVersionsInfo, 0x76e54780, 0xad74, 0x48e3, 0xa6,0x95, 0x3b,0xa9,0xa0,0xaf,0xf1,0x0d) 25257 #endif 25258 #else 25259 typedef struct IPreviousVersionsInfoVtbl { 25260 BEGIN_INTERFACE 25261 25262 /*** IUnknown methods ***/ 25263 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 25264 IPreviousVersionsInfo *This, 25265 REFIID riid, 25266 void **ppvObject); 25267 25268 ULONG (STDMETHODCALLTYPE *AddRef)( 25269 IPreviousVersionsInfo *This); 25270 25271 ULONG (STDMETHODCALLTYPE *Release)( 25272 IPreviousVersionsInfo *This); 25273 25274 /*** IPreviousVersionsInfo methods ***/ 25275 HRESULT (STDMETHODCALLTYPE *AreSnapshotsAvailable)( 25276 IPreviousVersionsInfo *This, 25277 LPCWSTR pszPath, 25278 WINBOOL fOkToBeSlow, 25279 WINBOOL *pfAvailable); 25280 25281 END_INTERFACE 25282 } IPreviousVersionsInfoVtbl; 25283 25284 interface IPreviousVersionsInfo { 25285 CONST_VTBL IPreviousVersionsInfoVtbl* lpVtbl; 25286 }; 25287 25288 #ifdef COBJMACROS 25289 #ifndef WIDL_C_INLINE_WRAPPERS 25290 /*** IUnknown methods ***/ 25291 #define IPreviousVersionsInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 25292 #define IPreviousVersionsInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 25293 #define IPreviousVersionsInfo_Release(This) (This)->lpVtbl->Release(This) 25294 /*** IPreviousVersionsInfo methods ***/ 25295 #define IPreviousVersionsInfo_AreSnapshotsAvailable(This,pszPath,fOkToBeSlow,pfAvailable) (This)->lpVtbl->AreSnapshotsAvailable(This,pszPath,fOkToBeSlow,pfAvailable) 25296 #else 25297 /*** IUnknown methods ***/ 25298 static inline HRESULT IPreviousVersionsInfo_QueryInterface(IPreviousVersionsInfo* This,REFIID riid,void **ppvObject) { 25299 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 25300 } 25301 static inline ULONG IPreviousVersionsInfo_AddRef(IPreviousVersionsInfo* This) { 25302 return This->lpVtbl->AddRef(This); 25303 } 25304 static inline ULONG IPreviousVersionsInfo_Release(IPreviousVersionsInfo* This) { 25305 return This->lpVtbl->Release(This); 25306 } 25307 /*** IPreviousVersionsInfo methods ***/ 25308 static inline HRESULT IPreviousVersionsInfo_AreSnapshotsAvailable(IPreviousVersionsInfo* This,LPCWSTR pszPath,WINBOOL fOkToBeSlow,WINBOOL *pfAvailable) { 25309 return This->lpVtbl->AreSnapshotsAvailable(This,pszPath,fOkToBeSlow,pfAvailable); 25310 } 25311 #endif 25312 #endif 25313 25314 #endif 25315 25316 25317 #endif /* __IPreviousVersionsInfo_INTERFACE_DEFINED__ */ 25318 25319 25320 #if NTDDI_VERSION >= NTDDI_VISTA 25321 /***************************************************************************** 25322 * IRelatedItem interface 25323 */ 25324 #ifndef __IRelatedItem_INTERFACE_DEFINED__ 25325 #define __IRelatedItem_INTERFACE_DEFINED__ 25326 25327 DEFINE_GUID(IID_IRelatedItem, 0xa73ce67a, 0x8ab1, 0x44f1, 0x8d,0x43, 0xd2,0xfc,0xbf,0x6b,0x1c,0xd0); 25328 #if defined(__cplusplus) && !defined(CINTERFACE) 25329 MIDL_INTERFACE("a73ce67a-8ab1-44f1-8d43-d2fcbf6b1cd0") 25330 IRelatedItem : public IUnknown 25331 { 25332 virtual HRESULT STDMETHODCALLTYPE GetItemIDList( 25333 PIDLIST_ABSOLUTE *ppidl) = 0; 25334 25335 virtual HRESULT STDMETHODCALLTYPE GetItem( 25336 IShellItem **ppsi) = 0; 25337 25338 }; 25339 #ifdef __CRT_UUID_DECL 25340 __CRT_UUID_DECL(IRelatedItem, 0xa73ce67a, 0x8ab1, 0x44f1, 0x8d,0x43, 0xd2,0xfc,0xbf,0x6b,0x1c,0xd0) 25341 #endif 25342 #else 25343 typedef struct IRelatedItemVtbl { 25344 BEGIN_INTERFACE 25345 25346 /*** IUnknown methods ***/ 25347 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 25348 IRelatedItem *This, 25349 REFIID riid, 25350 void **ppvObject); 25351 25352 ULONG (STDMETHODCALLTYPE *AddRef)( 25353 IRelatedItem *This); 25354 25355 ULONG (STDMETHODCALLTYPE *Release)( 25356 IRelatedItem *This); 25357 25358 /*** IRelatedItem methods ***/ 25359 HRESULT (STDMETHODCALLTYPE *GetItemIDList)( 25360 IRelatedItem *This, 25361 PIDLIST_ABSOLUTE *ppidl); 25362 25363 HRESULT (STDMETHODCALLTYPE *GetItem)( 25364 IRelatedItem *This, 25365 IShellItem **ppsi); 25366 25367 END_INTERFACE 25368 } IRelatedItemVtbl; 25369 25370 interface IRelatedItem { 25371 CONST_VTBL IRelatedItemVtbl* lpVtbl; 25372 }; 25373 25374 #ifdef COBJMACROS 25375 #ifndef WIDL_C_INLINE_WRAPPERS 25376 /*** IUnknown methods ***/ 25377 #define IRelatedItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 25378 #define IRelatedItem_AddRef(This) (This)->lpVtbl->AddRef(This) 25379 #define IRelatedItem_Release(This) (This)->lpVtbl->Release(This) 25380 /*** IRelatedItem methods ***/ 25381 #define IRelatedItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl) 25382 #define IRelatedItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi) 25383 #else 25384 /*** IUnknown methods ***/ 25385 static inline HRESULT IRelatedItem_QueryInterface(IRelatedItem* This,REFIID riid,void **ppvObject) { 25386 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 25387 } 25388 static inline ULONG IRelatedItem_AddRef(IRelatedItem* This) { 25389 return This->lpVtbl->AddRef(This); 25390 } 25391 static inline ULONG IRelatedItem_Release(IRelatedItem* This) { 25392 return This->lpVtbl->Release(This); 25393 } 25394 /*** IRelatedItem methods ***/ 25395 static inline HRESULT IRelatedItem_GetItemIDList(IRelatedItem* This,PIDLIST_ABSOLUTE *ppidl) { 25396 return This->lpVtbl->GetItemIDList(This,ppidl); 25397 } 25398 static inline HRESULT IRelatedItem_GetItem(IRelatedItem* This,IShellItem **ppsi) { 25399 return This->lpVtbl->GetItem(This,ppsi); 25400 } 25401 #endif 25402 #endif 25403 25404 #endif 25405 25406 25407 #endif /* __IRelatedItem_INTERFACE_DEFINED__ */ 25408 25409 25410 /***************************************************************************** 25411 * IIdentityName interface 25412 */ 25413 #ifndef __IIdentityName_INTERFACE_DEFINED__ 25414 #define __IIdentityName_INTERFACE_DEFINED__ 25415 25416 DEFINE_GUID(IID_IIdentityName, 0x7d903fca, 0xd6f9, 0x4810, 0x83,0x32, 0x94,0x6c,0x01,0x77,0xe2,0x47); 25417 #if defined(__cplusplus) && !defined(CINTERFACE) 25418 MIDL_INTERFACE("7d903fca-d6f9-4810-8332-946c0177e247") 25419 IIdentityName : public IRelatedItem 25420 { 25421 }; 25422 #ifdef __CRT_UUID_DECL 25423 __CRT_UUID_DECL(IIdentityName, 0x7d903fca, 0xd6f9, 0x4810, 0x83,0x32, 0x94,0x6c,0x01,0x77,0xe2,0x47) 25424 #endif 25425 #else 25426 typedef struct IIdentityNameVtbl { 25427 BEGIN_INTERFACE 25428 25429 /*** IUnknown methods ***/ 25430 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 25431 IIdentityName *This, 25432 REFIID riid, 25433 void **ppvObject); 25434 25435 ULONG (STDMETHODCALLTYPE *AddRef)( 25436 IIdentityName *This); 25437 25438 ULONG (STDMETHODCALLTYPE *Release)( 25439 IIdentityName *This); 25440 25441 /*** IRelatedItem methods ***/ 25442 HRESULT (STDMETHODCALLTYPE *GetItemIDList)( 25443 IIdentityName *This, 25444 PIDLIST_ABSOLUTE *ppidl); 25445 25446 HRESULT (STDMETHODCALLTYPE *GetItem)( 25447 IIdentityName *This, 25448 IShellItem **ppsi); 25449 25450 END_INTERFACE 25451 } IIdentityNameVtbl; 25452 25453 interface IIdentityName { 25454 CONST_VTBL IIdentityNameVtbl* lpVtbl; 25455 }; 25456 25457 #ifdef COBJMACROS 25458 #ifndef WIDL_C_INLINE_WRAPPERS 25459 /*** IUnknown methods ***/ 25460 #define IIdentityName_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 25461 #define IIdentityName_AddRef(This) (This)->lpVtbl->AddRef(This) 25462 #define IIdentityName_Release(This) (This)->lpVtbl->Release(This) 25463 /*** IRelatedItem methods ***/ 25464 #define IIdentityName_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl) 25465 #define IIdentityName_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi) 25466 #else 25467 /*** IUnknown methods ***/ 25468 static inline HRESULT IIdentityName_QueryInterface(IIdentityName* This,REFIID riid,void **ppvObject) { 25469 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 25470 } 25471 static inline ULONG IIdentityName_AddRef(IIdentityName* This) { 25472 return This->lpVtbl->AddRef(This); 25473 } 25474 static inline ULONG IIdentityName_Release(IIdentityName* This) { 25475 return This->lpVtbl->Release(This); 25476 } 25477 /*** IRelatedItem methods ***/ 25478 static inline HRESULT IIdentityName_GetItemIDList(IIdentityName* This,PIDLIST_ABSOLUTE *ppidl) { 25479 return This->lpVtbl->GetItemIDList(This,ppidl); 25480 } 25481 static inline HRESULT IIdentityName_GetItem(IIdentityName* This,IShellItem **ppsi) { 25482 return This->lpVtbl->GetItem(This,ppsi); 25483 } 25484 #endif 25485 #endif 25486 25487 #endif 25488 25489 25490 #endif /* __IIdentityName_INTERFACE_DEFINED__ */ 25491 25492 25493 /***************************************************************************** 25494 * IDelegateItem interface 25495 */ 25496 #ifndef __IDelegateItem_INTERFACE_DEFINED__ 25497 #define __IDelegateItem_INTERFACE_DEFINED__ 25498 25499 DEFINE_GUID(IID_IDelegateItem, 0x3c5a1c94, 0xc951, 0x4cb7, 0xbb,0x6d, 0x3b,0x93,0xf3,0x0c,0xce,0x93); 25500 #if defined(__cplusplus) && !defined(CINTERFACE) 25501 MIDL_INTERFACE("3c5a1c94-c951-4cb7-bb6d-3b93f30cce93") 25502 IDelegateItem : public IRelatedItem 25503 { 25504 }; 25505 #ifdef __CRT_UUID_DECL 25506 __CRT_UUID_DECL(IDelegateItem, 0x3c5a1c94, 0xc951, 0x4cb7, 0xbb,0x6d, 0x3b,0x93,0xf3,0x0c,0xce,0x93) 25507 #endif 25508 #else 25509 typedef struct IDelegateItemVtbl { 25510 BEGIN_INTERFACE 25511 25512 /*** IUnknown methods ***/ 25513 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 25514 IDelegateItem *This, 25515 REFIID riid, 25516 void **ppvObject); 25517 25518 ULONG (STDMETHODCALLTYPE *AddRef)( 25519 IDelegateItem *This); 25520 25521 ULONG (STDMETHODCALLTYPE *Release)( 25522 IDelegateItem *This); 25523 25524 /*** IRelatedItem methods ***/ 25525 HRESULT (STDMETHODCALLTYPE *GetItemIDList)( 25526 IDelegateItem *This, 25527 PIDLIST_ABSOLUTE *ppidl); 25528 25529 HRESULT (STDMETHODCALLTYPE *GetItem)( 25530 IDelegateItem *This, 25531 IShellItem **ppsi); 25532 25533 END_INTERFACE 25534 } IDelegateItemVtbl; 25535 25536 interface IDelegateItem { 25537 CONST_VTBL IDelegateItemVtbl* lpVtbl; 25538 }; 25539 25540 #ifdef COBJMACROS 25541 #ifndef WIDL_C_INLINE_WRAPPERS 25542 /*** IUnknown methods ***/ 25543 #define IDelegateItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 25544 #define IDelegateItem_AddRef(This) (This)->lpVtbl->AddRef(This) 25545 #define IDelegateItem_Release(This) (This)->lpVtbl->Release(This) 25546 /*** IRelatedItem methods ***/ 25547 #define IDelegateItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl) 25548 #define IDelegateItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi) 25549 #else 25550 /*** IUnknown methods ***/ 25551 static inline HRESULT IDelegateItem_QueryInterface(IDelegateItem* This,REFIID riid,void **ppvObject) { 25552 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 25553 } 25554 static inline ULONG IDelegateItem_AddRef(IDelegateItem* This) { 25555 return This->lpVtbl->AddRef(This); 25556 } 25557 static inline ULONG IDelegateItem_Release(IDelegateItem* This) { 25558 return This->lpVtbl->Release(This); 25559 } 25560 /*** IRelatedItem methods ***/ 25561 static inline HRESULT IDelegateItem_GetItemIDList(IDelegateItem* This,PIDLIST_ABSOLUTE *ppidl) { 25562 return This->lpVtbl->GetItemIDList(This,ppidl); 25563 } 25564 static inline HRESULT IDelegateItem_GetItem(IDelegateItem* This,IShellItem **ppsi) { 25565 return This->lpVtbl->GetItem(This,ppsi); 25566 } 25567 #endif 25568 #endif 25569 25570 #endif 25571 25572 25573 #endif /* __IDelegateItem_INTERFACE_DEFINED__ */ 25574 25575 25576 /***************************************************************************** 25577 * ICurrentItem interface 25578 */ 25579 #ifndef __ICurrentItem_INTERFACE_DEFINED__ 25580 #define __ICurrentItem_INTERFACE_DEFINED__ 25581 25582 DEFINE_GUID(IID_ICurrentItem, 0x240a7174, 0xd653, 0x4a1d, 0xa6,0xd3, 0xd4,0x94,0x3c,0xfb,0xfe,0x3d); 25583 #if defined(__cplusplus) && !defined(CINTERFACE) 25584 MIDL_INTERFACE("240a7174-d653-4a1d-a6d3-d4943cfbfe3d") 25585 ICurrentItem : public IRelatedItem 25586 { 25587 }; 25588 #ifdef __CRT_UUID_DECL 25589 __CRT_UUID_DECL(ICurrentItem, 0x240a7174, 0xd653, 0x4a1d, 0xa6,0xd3, 0xd4,0x94,0x3c,0xfb,0xfe,0x3d) 25590 #endif 25591 #else 25592 typedef struct ICurrentItemVtbl { 25593 BEGIN_INTERFACE 25594 25595 /*** IUnknown methods ***/ 25596 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 25597 ICurrentItem *This, 25598 REFIID riid, 25599 void **ppvObject); 25600 25601 ULONG (STDMETHODCALLTYPE *AddRef)( 25602 ICurrentItem *This); 25603 25604 ULONG (STDMETHODCALLTYPE *Release)( 25605 ICurrentItem *This); 25606 25607 /*** IRelatedItem methods ***/ 25608 HRESULT (STDMETHODCALLTYPE *GetItemIDList)( 25609 ICurrentItem *This, 25610 PIDLIST_ABSOLUTE *ppidl); 25611 25612 HRESULT (STDMETHODCALLTYPE *GetItem)( 25613 ICurrentItem *This, 25614 IShellItem **ppsi); 25615 25616 END_INTERFACE 25617 } ICurrentItemVtbl; 25618 25619 interface ICurrentItem { 25620 CONST_VTBL ICurrentItemVtbl* lpVtbl; 25621 }; 25622 25623 #ifdef COBJMACROS 25624 #ifndef WIDL_C_INLINE_WRAPPERS 25625 /*** IUnknown methods ***/ 25626 #define ICurrentItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 25627 #define ICurrentItem_AddRef(This) (This)->lpVtbl->AddRef(This) 25628 #define ICurrentItem_Release(This) (This)->lpVtbl->Release(This) 25629 /*** IRelatedItem methods ***/ 25630 #define ICurrentItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl) 25631 #define ICurrentItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi) 25632 #else 25633 /*** IUnknown methods ***/ 25634 static inline HRESULT ICurrentItem_QueryInterface(ICurrentItem* This,REFIID riid,void **ppvObject) { 25635 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 25636 } 25637 static inline ULONG ICurrentItem_AddRef(ICurrentItem* This) { 25638 return This->lpVtbl->AddRef(This); 25639 } 25640 static inline ULONG ICurrentItem_Release(ICurrentItem* This) { 25641 return This->lpVtbl->Release(This); 25642 } 25643 /*** IRelatedItem methods ***/ 25644 static inline HRESULT ICurrentItem_GetItemIDList(ICurrentItem* This,PIDLIST_ABSOLUTE *ppidl) { 25645 return This->lpVtbl->GetItemIDList(This,ppidl); 25646 } 25647 static inline HRESULT ICurrentItem_GetItem(ICurrentItem* This,IShellItem **ppsi) { 25648 return This->lpVtbl->GetItem(This,ppsi); 25649 } 25650 #endif 25651 #endif 25652 25653 #endif 25654 25655 25656 #endif /* __ICurrentItem_INTERFACE_DEFINED__ */ 25657 25658 25659 /***************************************************************************** 25660 * ITransferMediumItem interface 25661 */ 25662 #ifndef __ITransferMediumItem_INTERFACE_DEFINED__ 25663 #define __ITransferMediumItem_INTERFACE_DEFINED__ 25664 25665 DEFINE_GUID(IID_ITransferMediumItem, 0x77f295d5, 0x2d6f, 0x4e19, 0xb8,0xae, 0x32,0x2f,0x3e,0x72,0x1a,0xb5); 25666 #if defined(__cplusplus) && !defined(CINTERFACE) 25667 MIDL_INTERFACE("77f295d5-2d6f-4e19-b8ae-322f3e721ab5") 25668 ITransferMediumItem : public IRelatedItem 25669 { 25670 }; 25671 #ifdef __CRT_UUID_DECL 25672 __CRT_UUID_DECL(ITransferMediumItem, 0x77f295d5, 0x2d6f, 0x4e19, 0xb8,0xae, 0x32,0x2f,0x3e,0x72,0x1a,0xb5) 25673 #endif 25674 #else 25675 typedef struct ITransferMediumItemVtbl { 25676 BEGIN_INTERFACE 25677 25678 /*** IUnknown methods ***/ 25679 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 25680 ITransferMediumItem *This, 25681 REFIID riid, 25682 void **ppvObject); 25683 25684 ULONG (STDMETHODCALLTYPE *AddRef)( 25685 ITransferMediumItem *This); 25686 25687 ULONG (STDMETHODCALLTYPE *Release)( 25688 ITransferMediumItem *This); 25689 25690 /*** IRelatedItem methods ***/ 25691 HRESULT (STDMETHODCALLTYPE *GetItemIDList)( 25692 ITransferMediumItem *This, 25693 PIDLIST_ABSOLUTE *ppidl); 25694 25695 HRESULT (STDMETHODCALLTYPE *GetItem)( 25696 ITransferMediumItem *This, 25697 IShellItem **ppsi); 25698 25699 END_INTERFACE 25700 } ITransferMediumItemVtbl; 25701 25702 interface ITransferMediumItem { 25703 CONST_VTBL ITransferMediumItemVtbl* lpVtbl; 25704 }; 25705 25706 #ifdef COBJMACROS 25707 #ifndef WIDL_C_INLINE_WRAPPERS 25708 /*** IUnknown methods ***/ 25709 #define ITransferMediumItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 25710 #define ITransferMediumItem_AddRef(This) (This)->lpVtbl->AddRef(This) 25711 #define ITransferMediumItem_Release(This) (This)->lpVtbl->Release(This) 25712 /*** IRelatedItem methods ***/ 25713 #define ITransferMediumItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl) 25714 #define ITransferMediumItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi) 25715 #else 25716 /*** IUnknown methods ***/ 25717 static inline HRESULT ITransferMediumItem_QueryInterface(ITransferMediumItem* This,REFIID riid,void **ppvObject) { 25718 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 25719 } 25720 static inline ULONG ITransferMediumItem_AddRef(ITransferMediumItem* This) { 25721 return This->lpVtbl->AddRef(This); 25722 } 25723 static inline ULONG ITransferMediumItem_Release(ITransferMediumItem* This) { 25724 return This->lpVtbl->Release(This); 25725 } 25726 /*** IRelatedItem methods ***/ 25727 static inline HRESULT ITransferMediumItem_GetItemIDList(ITransferMediumItem* This,PIDLIST_ABSOLUTE *ppidl) { 25728 return This->lpVtbl->GetItemIDList(This,ppidl); 25729 } 25730 static inline HRESULT ITransferMediumItem_GetItem(ITransferMediumItem* This,IShellItem **ppsi) { 25731 return This->lpVtbl->GetItem(This,ppsi); 25732 } 25733 #endif 25734 #endif 25735 25736 #endif 25737 25738 25739 #endif /* __ITransferMediumItem_INTERFACE_DEFINED__ */ 25740 25741 25742 /***************************************************************************** 25743 * IUseToBrowseItem interface 25744 */ 25745 #ifndef __IUseToBrowseItem_INTERFACE_DEFINED__ 25746 #define __IUseToBrowseItem_INTERFACE_DEFINED__ 25747 25748 DEFINE_GUID(IID_IUseToBrowseItem, 0x05edda5c, 0x98a3, 0x4717, 0x8a,0xdb, 0xc5,0xe7,0xda,0x99,0x1e,0xb1); 25749 #if defined(__cplusplus) && !defined(CINTERFACE) 25750 MIDL_INTERFACE("05edda5c-98a3-4717-8adb-c5e7da991eb1") 25751 IUseToBrowseItem : public IRelatedItem 25752 { 25753 }; 25754 #ifdef __CRT_UUID_DECL 25755 __CRT_UUID_DECL(IUseToBrowseItem, 0x05edda5c, 0x98a3, 0x4717, 0x8a,0xdb, 0xc5,0xe7,0xda,0x99,0x1e,0xb1) 25756 #endif 25757 #else 25758 typedef struct IUseToBrowseItemVtbl { 25759 BEGIN_INTERFACE 25760 25761 /*** IUnknown methods ***/ 25762 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 25763 IUseToBrowseItem *This, 25764 REFIID riid, 25765 void **ppvObject); 25766 25767 ULONG (STDMETHODCALLTYPE *AddRef)( 25768 IUseToBrowseItem *This); 25769 25770 ULONG (STDMETHODCALLTYPE *Release)( 25771 IUseToBrowseItem *This); 25772 25773 /*** IRelatedItem methods ***/ 25774 HRESULT (STDMETHODCALLTYPE *GetItemIDList)( 25775 IUseToBrowseItem *This, 25776 PIDLIST_ABSOLUTE *ppidl); 25777 25778 HRESULT (STDMETHODCALLTYPE *GetItem)( 25779 IUseToBrowseItem *This, 25780 IShellItem **ppsi); 25781 25782 END_INTERFACE 25783 } IUseToBrowseItemVtbl; 25784 25785 interface IUseToBrowseItem { 25786 CONST_VTBL IUseToBrowseItemVtbl* lpVtbl; 25787 }; 25788 25789 #ifdef COBJMACROS 25790 #ifndef WIDL_C_INLINE_WRAPPERS 25791 /*** IUnknown methods ***/ 25792 #define IUseToBrowseItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 25793 #define IUseToBrowseItem_AddRef(This) (This)->lpVtbl->AddRef(This) 25794 #define IUseToBrowseItem_Release(This) (This)->lpVtbl->Release(This) 25795 /*** IRelatedItem methods ***/ 25796 #define IUseToBrowseItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl) 25797 #define IUseToBrowseItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi) 25798 #else 25799 /*** IUnknown methods ***/ 25800 static inline HRESULT IUseToBrowseItem_QueryInterface(IUseToBrowseItem* This,REFIID riid,void **ppvObject) { 25801 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 25802 } 25803 static inline ULONG IUseToBrowseItem_AddRef(IUseToBrowseItem* This) { 25804 return This->lpVtbl->AddRef(This); 25805 } 25806 static inline ULONG IUseToBrowseItem_Release(IUseToBrowseItem* This) { 25807 return This->lpVtbl->Release(This); 25808 } 25809 /*** IRelatedItem methods ***/ 25810 static inline HRESULT IUseToBrowseItem_GetItemIDList(IUseToBrowseItem* This,PIDLIST_ABSOLUTE *ppidl) { 25811 return This->lpVtbl->GetItemIDList(This,ppidl); 25812 } 25813 static inline HRESULT IUseToBrowseItem_GetItem(IUseToBrowseItem* This,IShellItem **ppsi) { 25814 return This->lpVtbl->GetItem(This,ppsi); 25815 } 25816 #endif 25817 #endif 25818 25819 #endif 25820 25821 25822 #endif /* __IUseToBrowseItem_INTERFACE_DEFINED__ */ 25823 25824 25825 /***************************************************************************** 25826 * IDisplayItem interface 25827 */ 25828 #ifndef __IDisplayItem_INTERFACE_DEFINED__ 25829 #define __IDisplayItem_INTERFACE_DEFINED__ 25830 25831 DEFINE_GUID(IID_IDisplayItem, 0xc6fd5997, 0x9f6b, 0x4888, 0x87,0x03, 0x94,0xe8,0x0e,0x8c,0xde,0x3f); 25832 #if defined(__cplusplus) && !defined(CINTERFACE) 25833 MIDL_INTERFACE("c6fd5997-9f6b-4888-8703-94e80e8cde3f") 25834 IDisplayItem : public IRelatedItem 25835 { 25836 }; 25837 #ifdef __CRT_UUID_DECL 25838 __CRT_UUID_DECL(IDisplayItem, 0xc6fd5997, 0x9f6b, 0x4888, 0x87,0x03, 0x94,0xe8,0x0e,0x8c,0xde,0x3f) 25839 #endif 25840 #else 25841 typedef struct IDisplayItemVtbl { 25842 BEGIN_INTERFACE 25843 25844 /*** IUnknown methods ***/ 25845 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 25846 IDisplayItem *This, 25847 REFIID riid, 25848 void **ppvObject); 25849 25850 ULONG (STDMETHODCALLTYPE *AddRef)( 25851 IDisplayItem *This); 25852 25853 ULONG (STDMETHODCALLTYPE *Release)( 25854 IDisplayItem *This); 25855 25856 /*** IRelatedItem methods ***/ 25857 HRESULT (STDMETHODCALLTYPE *GetItemIDList)( 25858 IDisplayItem *This, 25859 PIDLIST_ABSOLUTE *ppidl); 25860 25861 HRESULT (STDMETHODCALLTYPE *GetItem)( 25862 IDisplayItem *This, 25863 IShellItem **ppsi); 25864 25865 END_INTERFACE 25866 } IDisplayItemVtbl; 25867 25868 interface IDisplayItem { 25869 CONST_VTBL IDisplayItemVtbl* lpVtbl; 25870 }; 25871 25872 #ifdef COBJMACROS 25873 #ifndef WIDL_C_INLINE_WRAPPERS 25874 /*** IUnknown methods ***/ 25875 #define IDisplayItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 25876 #define IDisplayItem_AddRef(This) (This)->lpVtbl->AddRef(This) 25877 #define IDisplayItem_Release(This) (This)->lpVtbl->Release(This) 25878 /*** IRelatedItem methods ***/ 25879 #define IDisplayItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl) 25880 #define IDisplayItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi) 25881 #else 25882 /*** IUnknown methods ***/ 25883 static inline HRESULT IDisplayItem_QueryInterface(IDisplayItem* This,REFIID riid,void **ppvObject) { 25884 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 25885 } 25886 static inline ULONG IDisplayItem_AddRef(IDisplayItem* This) { 25887 return This->lpVtbl->AddRef(This); 25888 } 25889 static inline ULONG IDisplayItem_Release(IDisplayItem* This) { 25890 return This->lpVtbl->Release(This); 25891 } 25892 /*** IRelatedItem methods ***/ 25893 static inline HRESULT IDisplayItem_GetItemIDList(IDisplayItem* This,PIDLIST_ABSOLUTE *ppidl) { 25894 return This->lpVtbl->GetItemIDList(This,ppidl); 25895 } 25896 static inline HRESULT IDisplayItem_GetItem(IDisplayItem* This,IShellItem **ppsi) { 25897 return This->lpVtbl->GetItem(This,ppsi); 25898 } 25899 #endif 25900 #endif 25901 25902 #endif 25903 25904 25905 #endif /* __IDisplayItem_INTERFACE_DEFINED__ */ 25906 25907 25908 /***************************************************************************** 25909 * IViewStateIdentityItem interface 25910 */ 25911 #ifndef __IViewStateIdentityItem_INTERFACE_DEFINED__ 25912 #define __IViewStateIdentityItem_INTERFACE_DEFINED__ 25913 25914 DEFINE_GUID(IID_IViewStateIdentityItem, 0x9d264146, 0xa94f, 0x4195, 0x9f,0x9f, 0x3b,0xb1,0x2c,0xe0,0xc9,0x55); 25915 #if defined(__cplusplus) && !defined(CINTERFACE) 25916 MIDL_INTERFACE("9d264146-a94f-4195-9f9f-3bb12ce0c955") 25917 IViewStateIdentityItem : public IRelatedItem 25918 { 25919 }; 25920 #ifdef __CRT_UUID_DECL 25921 __CRT_UUID_DECL(IViewStateIdentityItem, 0x9d264146, 0xa94f, 0x4195, 0x9f,0x9f, 0x3b,0xb1,0x2c,0xe0,0xc9,0x55) 25922 #endif 25923 #else 25924 typedef struct IViewStateIdentityItemVtbl { 25925 BEGIN_INTERFACE 25926 25927 /*** IUnknown methods ***/ 25928 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 25929 IViewStateIdentityItem *This, 25930 REFIID riid, 25931 void **ppvObject); 25932 25933 ULONG (STDMETHODCALLTYPE *AddRef)( 25934 IViewStateIdentityItem *This); 25935 25936 ULONG (STDMETHODCALLTYPE *Release)( 25937 IViewStateIdentityItem *This); 25938 25939 /*** IRelatedItem methods ***/ 25940 HRESULT (STDMETHODCALLTYPE *GetItemIDList)( 25941 IViewStateIdentityItem *This, 25942 PIDLIST_ABSOLUTE *ppidl); 25943 25944 HRESULT (STDMETHODCALLTYPE *GetItem)( 25945 IViewStateIdentityItem *This, 25946 IShellItem **ppsi); 25947 25948 END_INTERFACE 25949 } IViewStateIdentityItemVtbl; 25950 25951 interface IViewStateIdentityItem { 25952 CONST_VTBL IViewStateIdentityItemVtbl* lpVtbl; 25953 }; 25954 25955 #ifdef COBJMACROS 25956 #ifndef WIDL_C_INLINE_WRAPPERS 25957 /*** IUnknown methods ***/ 25958 #define IViewStateIdentityItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 25959 #define IViewStateIdentityItem_AddRef(This) (This)->lpVtbl->AddRef(This) 25960 #define IViewStateIdentityItem_Release(This) (This)->lpVtbl->Release(This) 25961 /*** IRelatedItem methods ***/ 25962 #define IViewStateIdentityItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl) 25963 #define IViewStateIdentityItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi) 25964 #else 25965 /*** IUnknown methods ***/ 25966 static inline HRESULT IViewStateIdentityItem_QueryInterface(IViewStateIdentityItem* This,REFIID riid,void **ppvObject) { 25967 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 25968 } 25969 static inline ULONG IViewStateIdentityItem_AddRef(IViewStateIdentityItem* This) { 25970 return This->lpVtbl->AddRef(This); 25971 } 25972 static inline ULONG IViewStateIdentityItem_Release(IViewStateIdentityItem* This) { 25973 return This->lpVtbl->Release(This); 25974 } 25975 /*** IRelatedItem methods ***/ 25976 static inline HRESULT IViewStateIdentityItem_GetItemIDList(IViewStateIdentityItem* This,PIDLIST_ABSOLUTE *ppidl) { 25977 return This->lpVtbl->GetItemIDList(This,ppidl); 25978 } 25979 static inline HRESULT IViewStateIdentityItem_GetItem(IViewStateIdentityItem* This,IShellItem **ppsi) { 25980 return This->lpVtbl->GetItem(This,ppsi); 25981 } 25982 #endif 25983 #endif 25984 25985 #endif 25986 25987 25988 #endif /* __IViewStateIdentityItem_INTERFACE_DEFINED__ */ 25989 25990 25991 /***************************************************************************** 25992 * IPreviewItem interface 25993 */ 25994 #ifndef __IPreviewItem_INTERFACE_DEFINED__ 25995 #define __IPreviewItem_INTERFACE_DEFINED__ 25996 25997 DEFINE_GUID(IID_IPreviewItem, 0x36149969, 0x0a8f, 0x49c8, 0x8b,0x00, 0x4a,0xec,0xb2,0x02,0x22,0xfb); 25998 #if defined(__cplusplus) && !defined(CINTERFACE) 25999 MIDL_INTERFACE("36149969-0a8f-49c8-8b00-4aecb20222fb") 26000 IPreviewItem : public IRelatedItem 26001 { 26002 }; 26003 #ifdef __CRT_UUID_DECL 26004 __CRT_UUID_DECL(IPreviewItem, 0x36149969, 0x0a8f, 0x49c8, 0x8b,0x00, 0x4a,0xec,0xb2,0x02,0x22,0xfb) 26005 #endif 26006 #else 26007 typedef struct IPreviewItemVtbl { 26008 BEGIN_INTERFACE 26009 26010 /*** IUnknown methods ***/ 26011 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 26012 IPreviewItem *This, 26013 REFIID riid, 26014 void **ppvObject); 26015 26016 ULONG (STDMETHODCALLTYPE *AddRef)( 26017 IPreviewItem *This); 26018 26019 ULONG (STDMETHODCALLTYPE *Release)( 26020 IPreviewItem *This); 26021 26022 /*** IRelatedItem methods ***/ 26023 HRESULT (STDMETHODCALLTYPE *GetItemIDList)( 26024 IPreviewItem *This, 26025 PIDLIST_ABSOLUTE *ppidl); 26026 26027 HRESULT (STDMETHODCALLTYPE *GetItem)( 26028 IPreviewItem *This, 26029 IShellItem **ppsi); 26030 26031 END_INTERFACE 26032 } IPreviewItemVtbl; 26033 26034 interface IPreviewItem { 26035 CONST_VTBL IPreviewItemVtbl* lpVtbl; 26036 }; 26037 26038 #ifdef COBJMACROS 26039 #ifndef WIDL_C_INLINE_WRAPPERS 26040 /*** IUnknown methods ***/ 26041 #define IPreviewItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 26042 #define IPreviewItem_AddRef(This) (This)->lpVtbl->AddRef(This) 26043 #define IPreviewItem_Release(This) (This)->lpVtbl->Release(This) 26044 /*** IRelatedItem methods ***/ 26045 #define IPreviewItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl) 26046 #define IPreviewItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi) 26047 #else 26048 /*** IUnknown methods ***/ 26049 static inline HRESULT IPreviewItem_QueryInterface(IPreviewItem* This,REFIID riid,void **ppvObject) { 26050 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 26051 } 26052 static inline ULONG IPreviewItem_AddRef(IPreviewItem* This) { 26053 return This->lpVtbl->AddRef(This); 26054 } 26055 static inline ULONG IPreviewItem_Release(IPreviewItem* This) { 26056 return This->lpVtbl->Release(This); 26057 } 26058 /*** IRelatedItem methods ***/ 26059 static inline HRESULT IPreviewItem_GetItemIDList(IPreviewItem* This,PIDLIST_ABSOLUTE *ppidl) { 26060 return This->lpVtbl->GetItemIDList(This,ppidl); 26061 } 26062 static inline HRESULT IPreviewItem_GetItem(IPreviewItem* This,IShellItem **ppsi) { 26063 return This->lpVtbl->GetItem(This,ppsi); 26064 } 26065 #endif 26066 #endif 26067 26068 #endif 26069 26070 26071 #endif /* __IPreviewItem_INTERFACE_DEFINED__ */ 26072 26073 #endif 26074 26075 /***************************************************************************** 26076 * IDestinationStreamFactory interface 26077 */ 26078 #ifndef __IDestinationStreamFactory_INTERFACE_DEFINED__ 26079 #define __IDestinationStreamFactory_INTERFACE_DEFINED__ 26080 26081 DEFINE_GUID(IID_IDestinationStreamFactory, 0x8a87781b, 0x39a7, 0x4a1f, 0xaa,0xb3, 0xa3,0x9b,0x9c,0x34,0xa7,0xd9); 26082 #if defined(__cplusplus) && !defined(CINTERFACE) 26083 MIDL_INTERFACE("8a87781b-39a7-4a1f-aab3-a39b9c34a7d9") 26084 IDestinationStreamFactory : public IUnknown 26085 { 26086 virtual HRESULT STDMETHODCALLTYPE GetDestinationStream( 26087 IStream **ppstm) = 0; 26088 26089 }; 26090 #ifdef __CRT_UUID_DECL 26091 __CRT_UUID_DECL(IDestinationStreamFactory, 0x8a87781b, 0x39a7, 0x4a1f, 0xaa,0xb3, 0xa3,0x9b,0x9c,0x34,0xa7,0xd9) 26092 #endif 26093 #else 26094 typedef struct IDestinationStreamFactoryVtbl { 26095 BEGIN_INTERFACE 26096 26097 /*** IUnknown methods ***/ 26098 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 26099 IDestinationStreamFactory *This, 26100 REFIID riid, 26101 void **ppvObject); 26102 26103 ULONG (STDMETHODCALLTYPE *AddRef)( 26104 IDestinationStreamFactory *This); 26105 26106 ULONG (STDMETHODCALLTYPE *Release)( 26107 IDestinationStreamFactory *This); 26108 26109 /*** IDestinationStreamFactory methods ***/ 26110 HRESULT (STDMETHODCALLTYPE *GetDestinationStream)( 26111 IDestinationStreamFactory *This, 26112 IStream **ppstm); 26113 26114 END_INTERFACE 26115 } IDestinationStreamFactoryVtbl; 26116 26117 interface IDestinationStreamFactory { 26118 CONST_VTBL IDestinationStreamFactoryVtbl* lpVtbl; 26119 }; 26120 26121 #ifdef COBJMACROS 26122 #ifndef WIDL_C_INLINE_WRAPPERS 26123 /*** IUnknown methods ***/ 26124 #define IDestinationStreamFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 26125 #define IDestinationStreamFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 26126 #define IDestinationStreamFactory_Release(This) (This)->lpVtbl->Release(This) 26127 /*** IDestinationStreamFactory methods ***/ 26128 #define IDestinationStreamFactory_GetDestinationStream(This,ppstm) (This)->lpVtbl->GetDestinationStream(This,ppstm) 26129 #else 26130 /*** IUnknown methods ***/ 26131 static inline HRESULT IDestinationStreamFactory_QueryInterface(IDestinationStreamFactory* This,REFIID riid,void **ppvObject) { 26132 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 26133 } 26134 static inline ULONG IDestinationStreamFactory_AddRef(IDestinationStreamFactory* This) { 26135 return This->lpVtbl->AddRef(This); 26136 } 26137 static inline ULONG IDestinationStreamFactory_Release(IDestinationStreamFactory* This) { 26138 return This->lpVtbl->Release(This); 26139 } 26140 /*** IDestinationStreamFactory methods ***/ 26141 static inline HRESULT IDestinationStreamFactory_GetDestinationStream(IDestinationStreamFactory* This,IStream **ppstm) { 26142 return This->lpVtbl->GetDestinationStream(This,ppstm); 26143 } 26144 #endif 26145 #endif 26146 26147 #endif 26148 26149 26150 #endif /* __IDestinationStreamFactory_INTERFACE_DEFINED__ */ 26151 26152 26153 enum _NMCII_FLAGS { 26154 NMCII_NONE = 0x0, 26155 NMCII_ITEMS = 0x1, 26156 NMCII_FOLDERS = 0x2 26157 }; 26158 26159 typedef int NMCII_FLAGS; 26160 26161 enum _NMCSAEI_FLAGS { 26162 NMCSAEI_SELECT = 0x0, 26163 NMCSAEI_EDIT = 0x1 26164 }; 26165 26166 typedef int NMCSAEI_FLAGS; 26167 26168 /***************************************************************************** 26169 * INewMenuClient interface 26170 */ 26171 #ifndef __INewMenuClient_INTERFACE_DEFINED__ 26172 #define __INewMenuClient_INTERFACE_DEFINED__ 26173 26174 DEFINE_GUID(IID_INewMenuClient, 0xdcb07fdc, 0x3bb5, 0x451c, 0x90,0xbe, 0x96,0x66,0x44,0xfe,0xd7,0xb0); 26175 #if defined(__cplusplus) && !defined(CINTERFACE) 26176 MIDL_INTERFACE("dcb07fdc-3bb5-451c-90be-966644fed7b0") 26177 INewMenuClient : public IUnknown 26178 { 26179 virtual HRESULT STDMETHODCALLTYPE IncludeItems( 26180 NMCII_FLAGS *pflags) = 0; 26181 26182 virtual HRESULT STDMETHODCALLTYPE SelectAndEditItem( 26183 PCIDLIST_ABSOLUTE pidlItem, 26184 NMCSAEI_FLAGS flags) = 0; 26185 26186 }; 26187 #ifdef __CRT_UUID_DECL 26188 __CRT_UUID_DECL(INewMenuClient, 0xdcb07fdc, 0x3bb5, 0x451c, 0x90,0xbe, 0x96,0x66,0x44,0xfe,0xd7,0xb0) 26189 #endif 26190 #else 26191 typedef struct INewMenuClientVtbl { 26192 BEGIN_INTERFACE 26193 26194 /*** IUnknown methods ***/ 26195 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 26196 INewMenuClient *This, 26197 REFIID riid, 26198 void **ppvObject); 26199 26200 ULONG (STDMETHODCALLTYPE *AddRef)( 26201 INewMenuClient *This); 26202 26203 ULONG (STDMETHODCALLTYPE *Release)( 26204 INewMenuClient *This); 26205 26206 /*** INewMenuClient methods ***/ 26207 HRESULT (STDMETHODCALLTYPE *IncludeItems)( 26208 INewMenuClient *This, 26209 NMCII_FLAGS *pflags); 26210 26211 HRESULT (STDMETHODCALLTYPE *SelectAndEditItem)( 26212 INewMenuClient *This, 26213 PCIDLIST_ABSOLUTE pidlItem, 26214 NMCSAEI_FLAGS flags); 26215 26216 END_INTERFACE 26217 } INewMenuClientVtbl; 26218 26219 interface INewMenuClient { 26220 CONST_VTBL INewMenuClientVtbl* lpVtbl; 26221 }; 26222 26223 #ifdef COBJMACROS 26224 #ifndef WIDL_C_INLINE_WRAPPERS 26225 /*** IUnknown methods ***/ 26226 #define INewMenuClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 26227 #define INewMenuClient_AddRef(This) (This)->lpVtbl->AddRef(This) 26228 #define INewMenuClient_Release(This) (This)->lpVtbl->Release(This) 26229 /*** INewMenuClient methods ***/ 26230 #define INewMenuClient_IncludeItems(This,pflags) (This)->lpVtbl->IncludeItems(This,pflags) 26231 #define INewMenuClient_SelectAndEditItem(This,pidlItem,flags) (This)->lpVtbl->SelectAndEditItem(This,pidlItem,flags) 26232 #else 26233 /*** IUnknown methods ***/ 26234 static inline HRESULT INewMenuClient_QueryInterface(INewMenuClient* This,REFIID riid,void **ppvObject) { 26235 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 26236 } 26237 static inline ULONG INewMenuClient_AddRef(INewMenuClient* This) { 26238 return This->lpVtbl->AddRef(This); 26239 } 26240 static inline ULONG INewMenuClient_Release(INewMenuClient* This) { 26241 return This->lpVtbl->Release(This); 26242 } 26243 /*** INewMenuClient methods ***/ 26244 static inline HRESULT INewMenuClient_IncludeItems(INewMenuClient* This,NMCII_FLAGS *pflags) { 26245 return This->lpVtbl->IncludeItems(This,pflags); 26246 } 26247 static inline HRESULT INewMenuClient_SelectAndEditItem(INewMenuClient* This,PCIDLIST_ABSOLUTE pidlItem,NMCSAEI_FLAGS flags) { 26248 return This->lpVtbl->SelectAndEditItem(This,pidlItem,flags); 26249 } 26250 #endif 26251 #endif 26252 26253 #endif 26254 26255 26256 #endif /* __INewMenuClient_INTERFACE_DEFINED__ */ 26257 26258 26259 #define SID_SNewMenuClient IID_INewMenuClient 26260 26261 DEFINE_GUID(SID_SCommandBarState, 0xB99EAA5C, 0x3850, 0x4400, 0xBC, 0x33, 0x2C, 0xE5, 0x34, 0x04, 0x8B, 0xF8); 26262 26263 #if _WIN32_IE >= _WIN32_IE_IE70 26264 /***************************************************************************** 26265 * IInitializeWithBindCtx interface 26266 */ 26267 #ifndef __IInitializeWithBindCtx_INTERFACE_DEFINED__ 26268 #define __IInitializeWithBindCtx_INTERFACE_DEFINED__ 26269 26270 DEFINE_GUID(IID_IInitializeWithBindCtx, 0x71c0d2bc, 0x726d, 0x45cc, 0xa6,0xc0, 0x2e,0x31,0xc1,0xdb,0x21,0x59); 26271 #if defined(__cplusplus) && !defined(CINTERFACE) 26272 MIDL_INTERFACE("71c0d2bc-726d-45cc-a6c0-2e31c1db2159") 26273 IInitializeWithBindCtx : public IUnknown 26274 { 26275 virtual HRESULT STDMETHODCALLTYPE Initialize( 26276 IBindCtx *pbc) = 0; 26277 26278 }; 26279 #ifdef __CRT_UUID_DECL 26280 __CRT_UUID_DECL(IInitializeWithBindCtx, 0x71c0d2bc, 0x726d, 0x45cc, 0xa6,0xc0, 0x2e,0x31,0xc1,0xdb,0x21,0x59) 26281 #endif 26282 #else 26283 typedef struct IInitializeWithBindCtxVtbl { 26284 BEGIN_INTERFACE 26285 26286 /*** IUnknown methods ***/ 26287 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 26288 IInitializeWithBindCtx *This, 26289 REFIID riid, 26290 void **ppvObject); 26291 26292 ULONG (STDMETHODCALLTYPE *AddRef)( 26293 IInitializeWithBindCtx *This); 26294 26295 ULONG (STDMETHODCALLTYPE *Release)( 26296 IInitializeWithBindCtx *This); 26297 26298 /*** IInitializeWithBindCtx methods ***/ 26299 HRESULT (STDMETHODCALLTYPE *Initialize)( 26300 IInitializeWithBindCtx *This, 26301 IBindCtx *pbc); 26302 26303 END_INTERFACE 26304 } IInitializeWithBindCtxVtbl; 26305 26306 interface IInitializeWithBindCtx { 26307 CONST_VTBL IInitializeWithBindCtxVtbl* lpVtbl; 26308 }; 26309 26310 #ifdef COBJMACROS 26311 #ifndef WIDL_C_INLINE_WRAPPERS 26312 /*** IUnknown methods ***/ 26313 #define IInitializeWithBindCtx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 26314 #define IInitializeWithBindCtx_AddRef(This) (This)->lpVtbl->AddRef(This) 26315 #define IInitializeWithBindCtx_Release(This) (This)->lpVtbl->Release(This) 26316 /*** IInitializeWithBindCtx methods ***/ 26317 #define IInitializeWithBindCtx_Initialize(This,pbc) (This)->lpVtbl->Initialize(This,pbc) 26318 #else 26319 /*** IUnknown methods ***/ 26320 static inline HRESULT IInitializeWithBindCtx_QueryInterface(IInitializeWithBindCtx* This,REFIID riid,void **ppvObject) { 26321 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 26322 } 26323 static inline ULONG IInitializeWithBindCtx_AddRef(IInitializeWithBindCtx* This) { 26324 return This->lpVtbl->AddRef(This); 26325 } 26326 static inline ULONG IInitializeWithBindCtx_Release(IInitializeWithBindCtx* This) { 26327 return This->lpVtbl->Release(This); 26328 } 26329 /*** IInitializeWithBindCtx methods ***/ 26330 static inline HRESULT IInitializeWithBindCtx_Initialize(IInitializeWithBindCtx* This,IBindCtx *pbc) { 26331 return This->lpVtbl->Initialize(This,pbc); 26332 } 26333 #endif 26334 #endif 26335 26336 #endif 26337 26338 26339 #endif /* __IInitializeWithBindCtx_INTERFACE_DEFINED__ */ 26340 26341 26342 /***************************************************************************** 26343 * IShellItemFilter interface 26344 */ 26345 #ifndef __IShellItemFilter_INTERFACE_DEFINED__ 26346 #define __IShellItemFilter_INTERFACE_DEFINED__ 26347 26348 DEFINE_GUID(IID_IShellItemFilter, 0x2659b475, 0xeeb8, 0x48b7, 0x8f,0x07, 0xb3,0x78,0x81,0x0f,0x48,0xcf); 26349 #if defined(__cplusplus) && !defined(CINTERFACE) 26350 MIDL_INTERFACE("2659b475-eeb8-48b7-8f07-b378810f48cf") 26351 IShellItemFilter : public IUnknown 26352 { 26353 virtual HRESULT STDMETHODCALLTYPE IncludeItem( 26354 IShellItem *psi) = 0; 26355 26356 virtual HRESULT STDMETHODCALLTYPE GetEnumFlagsForItem( 26357 IShellItem *psi, 26358 SHCONTF *pgrfFlags) = 0; 26359 26360 }; 26361 #ifdef __CRT_UUID_DECL 26362 __CRT_UUID_DECL(IShellItemFilter, 0x2659b475, 0xeeb8, 0x48b7, 0x8f,0x07, 0xb3,0x78,0x81,0x0f,0x48,0xcf) 26363 #endif 26364 #else 26365 typedef struct IShellItemFilterVtbl { 26366 BEGIN_INTERFACE 26367 26368 /*** IUnknown methods ***/ 26369 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 26370 IShellItemFilter *This, 26371 REFIID riid, 26372 void **ppvObject); 26373 26374 ULONG (STDMETHODCALLTYPE *AddRef)( 26375 IShellItemFilter *This); 26376 26377 ULONG (STDMETHODCALLTYPE *Release)( 26378 IShellItemFilter *This); 26379 26380 /*** IShellItemFilter methods ***/ 26381 HRESULT (STDMETHODCALLTYPE *IncludeItem)( 26382 IShellItemFilter *This, 26383 IShellItem *psi); 26384 26385 HRESULT (STDMETHODCALLTYPE *GetEnumFlagsForItem)( 26386 IShellItemFilter *This, 26387 IShellItem *psi, 26388 SHCONTF *pgrfFlags); 26389 26390 END_INTERFACE 26391 } IShellItemFilterVtbl; 26392 26393 interface IShellItemFilter { 26394 CONST_VTBL IShellItemFilterVtbl* lpVtbl; 26395 }; 26396 26397 #ifdef COBJMACROS 26398 #ifndef WIDL_C_INLINE_WRAPPERS 26399 /*** IUnknown methods ***/ 26400 #define IShellItemFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 26401 #define IShellItemFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 26402 #define IShellItemFilter_Release(This) (This)->lpVtbl->Release(This) 26403 /*** IShellItemFilter methods ***/ 26404 #define IShellItemFilter_IncludeItem(This,psi) (This)->lpVtbl->IncludeItem(This,psi) 26405 #define IShellItemFilter_GetEnumFlagsForItem(This,psi,pgrfFlags) (This)->lpVtbl->GetEnumFlagsForItem(This,psi,pgrfFlags) 26406 #else 26407 /*** IUnknown methods ***/ 26408 static inline HRESULT IShellItemFilter_QueryInterface(IShellItemFilter* This,REFIID riid,void **ppvObject) { 26409 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 26410 } 26411 static inline ULONG IShellItemFilter_AddRef(IShellItemFilter* This) { 26412 return This->lpVtbl->AddRef(This); 26413 } 26414 static inline ULONG IShellItemFilter_Release(IShellItemFilter* This) { 26415 return This->lpVtbl->Release(This); 26416 } 26417 /*** IShellItemFilter methods ***/ 26418 static inline HRESULT IShellItemFilter_IncludeItem(IShellItemFilter* This,IShellItem *psi) { 26419 return This->lpVtbl->IncludeItem(This,psi); 26420 } 26421 static inline HRESULT IShellItemFilter_GetEnumFlagsForItem(IShellItemFilter* This,IShellItem *psi,SHCONTF *pgrfFlags) { 26422 return This->lpVtbl->GetEnumFlagsForItem(This,psi,pgrfFlags); 26423 } 26424 #endif 26425 #endif 26426 26427 #endif 26428 26429 26430 #endif /* __IShellItemFilter_INTERFACE_DEFINED__ */ 26431 26432 #endif 26433 26434 /***************************************************************************** 26435 * INameSpaceTreeControl interface 26436 */ 26437 #ifndef __INameSpaceTreeControl_INTERFACE_DEFINED__ 26438 #define __INameSpaceTreeControl_INTERFACE_DEFINED__ 26439 26440 enum _NSTCSTYLE { 26441 NSTCS_HASEXPANDOS = 0x1, 26442 NSTCS_HASLINES = 0x2, 26443 NSTCS_SINGLECLICKEXPAND = 0x4, 26444 NSTCS_FULLROWSELECT = 0x8, 26445 NSTCS_SPRINGEXPAND = 0x10, 26446 NSTCS_HORIZONTALSCROLL = 0x20, 26447 NSTCS_ROOTHASEXPANDO = 0x40, 26448 NSTCS_SHOWSELECTIONALWAYS = 0x80, 26449 NSTCS_NOINFOTIP = 0x200, 26450 NSTCS_EVENHEIGHT = 0x400, 26451 NSTCS_NOREPLACEOPEN = 0x800, 26452 NSTCS_DISABLEDRAGDROP = 0x1000, 26453 NSTCS_NOORDERSTREAM = 0x2000, 26454 NSTCS_RICHTOOLTIP = 0x4000, 26455 NSTCS_BORDER = 0x8000, 26456 NSTCS_NOEDITLABELS = 0x10000, 26457 NSTCS_TABSTOP = 0x20000, 26458 NSTCS_FAVORITESMODE = 0x80000, 26459 NSTCS_AUTOHSCROLL = 0x100000, 26460 NSTCS_FADEINOUTEXPANDOS = 0x200000, 26461 NSTCS_EMPTYTEXT = 0x400000, 26462 NSTCS_CHECKBOXES = 0x800000, 26463 NSTCS_PARTIALCHECKBOXES = 0x1000000, 26464 NSTCS_EXCLUSIONCHECKBOXES = 0x2000000, 26465 NSTCS_DIMMEDCHECKBOXES = 0x4000000, 26466 NSTCS_NOINDENTCHECKS = 0x8000000, 26467 NSTCS_ALLOWJUNCTIONS = 0x10000000, 26468 NSTCS_SHOWTABSBUTTON = 0x20000000, 26469 NSTCS_SHOWDELETEBUTTON = 0x40000000, 26470 NSTCS_SHOWREFRESHBUTTON = (int)0x80000000 26471 }; 26472 26473 typedef DWORD NSTCSTYLE; 26474 26475 enum _NSTCROOTSTYLE { 26476 NSTCRS_VISIBLE = 0x0, 26477 NSTCRS_HIDDEN = 0x1, 26478 NSTCRS_EXPANDED = 0x2 26479 }; 26480 26481 typedef DWORD NSTCROOTSTYLE; 26482 26483 enum _NSTCITEMSTATE { 26484 NSTCIS_NONE = 0x0, 26485 NSTCIS_SELECTED = 0x1, 26486 NSTCIS_EXPANDED = 0x2, 26487 NSTCIS_BOLD = 0x4, 26488 NSTCIS_DISABLED = 0x8, 26489 NSTCIS_SELECTEDNOEXPAND = 0x10 26490 }; 26491 26492 typedef DWORD NSTCITEMSTATE; 26493 26494 typedef enum NSTCGNI { 26495 NSTCGNI_NEXT = 0, 26496 NSTCGNI_NEXTVISIBLE = 1, 26497 NSTCGNI_PREV = 2, 26498 NSTCGNI_PREVVISIBLE = 3, 26499 NSTCGNI_PARENT = 4, 26500 NSTCGNI_CHILD = 5, 26501 NSTCGNI_FIRSTVISIBLE = 6, 26502 NSTCGNI_LASTVISIBLE = 7 26503 } NSTCGNI; 26504 26505 DEFINE_GUID(IID_INameSpaceTreeControl, 0x028212a3, 0xb627, 0x47e9, 0x88,0x56, 0xc1,0x42,0x65,0x55,0x4e,0x4f); 26506 #if defined(__cplusplus) && !defined(CINTERFACE) 26507 MIDL_INTERFACE("028212a3-b627-47e9-8856-c14265554e4f") 26508 INameSpaceTreeControl : public IUnknown 26509 { 26510 virtual HRESULT STDMETHODCALLTYPE Initialize( 26511 HWND hwndParent, 26512 RECT *prc, 26513 NSTCSTYLE nsctsFlags) = 0; 26514 26515 virtual HRESULT STDMETHODCALLTYPE TreeAdvise( 26516 IUnknown *punk, 26517 DWORD *pdwCookie) = 0; 26518 26519 virtual HRESULT STDMETHODCALLTYPE TreeUnadvise( 26520 DWORD dwCookie) = 0; 26521 26522 virtual HRESULT STDMETHODCALLTYPE AppendRoot( 26523 IShellItem *psiRoot, 26524 SHCONTF grfEnumFlags, 26525 NSTCROOTSTYLE grfRootStyle, 26526 IShellItemFilter *pif) = 0; 26527 26528 virtual HRESULT STDMETHODCALLTYPE InsertRoot( 26529 int iIndex, 26530 IShellItem *psiRoot, 26531 SHCONTF grfEnumFlags, 26532 NSTCROOTSTYLE grfRootStyle, 26533 IShellItemFilter *pif) = 0; 26534 26535 virtual HRESULT STDMETHODCALLTYPE RemoveRoot( 26536 IShellItem *psiRoot) = 0; 26537 26538 virtual HRESULT STDMETHODCALLTYPE RemoveAllRoots( 26539 ) = 0; 26540 26541 virtual HRESULT STDMETHODCALLTYPE GetRootItems( 26542 IShellItemArray **ppsiaRootItems) = 0; 26543 26544 virtual HRESULT STDMETHODCALLTYPE SetItemState( 26545 IShellItem *psi, 26546 NSTCITEMSTATE nstcisMask, 26547 NSTCITEMSTATE nstcisFlags) = 0; 26548 26549 virtual HRESULT STDMETHODCALLTYPE GetItemState( 26550 IShellItem *psi, 26551 NSTCITEMSTATE nstcisMask, 26552 NSTCITEMSTATE *pnstcisFlags) = 0; 26553 26554 virtual HRESULT STDMETHODCALLTYPE GetSelectedItems( 26555 IShellItemArray **psiaItems) = 0; 26556 26557 virtual HRESULT STDMETHODCALLTYPE GetItemCustomState( 26558 IShellItem *psi, 26559 int *piStateNumber) = 0; 26560 26561 virtual HRESULT STDMETHODCALLTYPE SetItemCustomState( 26562 IShellItem *psi, 26563 int iStateNumber) = 0; 26564 26565 virtual HRESULT STDMETHODCALLTYPE EnsureItemVisible( 26566 IShellItem *psi) = 0; 26567 26568 virtual HRESULT STDMETHODCALLTYPE SetTheme( 26569 LPCWSTR pszTheme) = 0; 26570 26571 virtual HRESULT STDMETHODCALLTYPE GetNextItem( 26572 IShellItem *psi, 26573 NSTCGNI nstcgi, 26574 IShellItem **ppsiNext) = 0; 26575 26576 virtual HRESULT STDMETHODCALLTYPE HitTest( 26577 POINT *ppt, 26578 IShellItem **ppsiOut) = 0; 26579 26580 virtual HRESULT STDMETHODCALLTYPE GetItemRect( 26581 IShellItem *psi, 26582 RECT *prect) = 0; 26583 26584 virtual HRESULT STDMETHODCALLTYPE CollapseAll( 26585 ) = 0; 26586 26587 }; 26588 #ifdef __CRT_UUID_DECL 26589 __CRT_UUID_DECL(INameSpaceTreeControl, 0x028212a3, 0xb627, 0x47e9, 0x88,0x56, 0xc1,0x42,0x65,0x55,0x4e,0x4f) 26590 #endif 26591 #else 26592 typedef struct INameSpaceTreeControlVtbl { 26593 BEGIN_INTERFACE 26594 26595 /*** IUnknown methods ***/ 26596 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 26597 INameSpaceTreeControl *This, 26598 REFIID riid, 26599 void **ppvObject); 26600 26601 ULONG (STDMETHODCALLTYPE *AddRef)( 26602 INameSpaceTreeControl *This); 26603 26604 ULONG (STDMETHODCALLTYPE *Release)( 26605 INameSpaceTreeControl *This); 26606 26607 /*** INameSpaceTreeControl methods ***/ 26608 HRESULT (STDMETHODCALLTYPE *Initialize)( 26609 INameSpaceTreeControl *This, 26610 HWND hwndParent, 26611 RECT *prc, 26612 NSTCSTYLE nsctsFlags); 26613 26614 HRESULT (STDMETHODCALLTYPE *TreeAdvise)( 26615 INameSpaceTreeControl *This, 26616 IUnknown *punk, 26617 DWORD *pdwCookie); 26618 26619 HRESULT (STDMETHODCALLTYPE *TreeUnadvise)( 26620 INameSpaceTreeControl *This, 26621 DWORD dwCookie); 26622 26623 HRESULT (STDMETHODCALLTYPE *AppendRoot)( 26624 INameSpaceTreeControl *This, 26625 IShellItem *psiRoot, 26626 SHCONTF grfEnumFlags, 26627 NSTCROOTSTYLE grfRootStyle, 26628 IShellItemFilter *pif); 26629 26630 HRESULT (STDMETHODCALLTYPE *InsertRoot)( 26631 INameSpaceTreeControl *This, 26632 int iIndex, 26633 IShellItem *psiRoot, 26634 SHCONTF grfEnumFlags, 26635 NSTCROOTSTYLE grfRootStyle, 26636 IShellItemFilter *pif); 26637 26638 HRESULT (STDMETHODCALLTYPE *RemoveRoot)( 26639 INameSpaceTreeControl *This, 26640 IShellItem *psiRoot); 26641 26642 HRESULT (STDMETHODCALLTYPE *RemoveAllRoots)( 26643 INameSpaceTreeControl *This); 26644 26645 HRESULT (STDMETHODCALLTYPE *GetRootItems)( 26646 INameSpaceTreeControl *This, 26647 IShellItemArray **ppsiaRootItems); 26648 26649 HRESULT (STDMETHODCALLTYPE *SetItemState)( 26650 INameSpaceTreeControl *This, 26651 IShellItem *psi, 26652 NSTCITEMSTATE nstcisMask, 26653 NSTCITEMSTATE nstcisFlags); 26654 26655 HRESULT (STDMETHODCALLTYPE *GetItemState)( 26656 INameSpaceTreeControl *This, 26657 IShellItem *psi, 26658 NSTCITEMSTATE nstcisMask, 26659 NSTCITEMSTATE *pnstcisFlags); 26660 26661 HRESULT (STDMETHODCALLTYPE *GetSelectedItems)( 26662 INameSpaceTreeControl *This, 26663 IShellItemArray **psiaItems); 26664 26665 HRESULT (STDMETHODCALLTYPE *GetItemCustomState)( 26666 INameSpaceTreeControl *This, 26667 IShellItem *psi, 26668 int *piStateNumber); 26669 26670 HRESULT (STDMETHODCALLTYPE *SetItemCustomState)( 26671 INameSpaceTreeControl *This, 26672 IShellItem *psi, 26673 int iStateNumber); 26674 26675 HRESULT (STDMETHODCALLTYPE *EnsureItemVisible)( 26676 INameSpaceTreeControl *This, 26677 IShellItem *psi); 26678 26679 HRESULT (STDMETHODCALLTYPE *SetTheme)( 26680 INameSpaceTreeControl *This, 26681 LPCWSTR pszTheme); 26682 26683 HRESULT (STDMETHODCALLTYPE *GetNextItem)( 26684 INameSpaceTreeControl *This, 26685 IShellItem *psi, 26686 NSTCGNI nstcgi, 26687 IShellItem **ppsiNext); 26688 26689 HRESULT (STDMETHODCALLTYPE *HitTest)( 26690 INameSpaceTreeControl *This, 26691 POINT *ppt, 26692 IShellItem **ppsiOut); 26693 26694 HRESULT (STDMETHODCALLTYPE *GetItemRect)( 26695 INameSpaceTreeControl *This, 26696 IShellItem *psi, 26697 RECT *prect); 26698 26699 HRESULT (STDMETHODCALLTYPE *CollapseAll)( 26700 INameSpaceTreeControl *This); 26701 26702 END_INTERFACE 26703 } INameSpaceTreeControlVtbl; 26704 26705 interface INameSpaceTreeControl { 26706 CONST_VTBL INameSpaceTreeControlVtbl* lpVtbl; 26707 }; 26708 26709 #ifdef COBJMACROS 26710 #ifndef WIDL_C_INLINE_WRAPPERS 26711 /*** IUnknown methods ***/ 26712 #define INameSpaceTreeControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 26713 #define INameSpaceTreeControl_AddRef(This) (This)->lpVtbl->AddRef(This) 26714 #define INameSpaceTreeControl_Release(This) (This)->lpVtbl->Release(This) 26715 /*** INameSpaceTreeControl methods ***/ 26716 #define INameSpaceTreeControl_Initialize(This,hwndParent,prc,nsctsFlags) (This)->lpVtbl->Initialize(This,hwndParent,prc,nsctsFlags) 26717 #define INameSpaceTreeControl_TreeAdvise(This,punk,pdwCookie) (This)->lpVtbl->TreeAdvise(This,punk,pdwCookie) 26718 #define INameSpaceTreeControl_TreeUnadvise(This,dwCookie) (This)->lpVtbl->TreeUnadvise(This,dwCookie) 26719 #define INameSpaceTreeControl_AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif) (This)->lpVtbl->AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif) 26720 #define INameSpaceTreeControl_InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif) (This)->lpVtbl->InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif) 26721 #define INameSpaceTreeControl_RemoveRoot(This,psiRoot) (This)->lpVtbl->RemoveRoot(This,psiRoot) 26722 #define INameSpaceTreeControl_RemoveAllRoots(This) (This)->lpVtbl->RemoveAllRoots(This) 26723 #define INameSpaceTreeControl_GetRootItems(This,ppsiaRootItems) (This)->lpVtbl->GetRootItems(This,ppsiaRootItems) 26724 #define INameSpaceTreeControl_SetItemState(This,psi,nstcisMask,nstcisFlags) (This)->lpVtbl->SetItemState(This,psi,nstcisMask,nstcisFlags) 26725 #define INameSpaceTreeControl_GetItemState(This,psi,nstcisMask,pnstcisFlags) (This)->lpVtbl->GetItemState(This,psi,nstcisMask,pnstcisFlags) 26726 #define INameSpaceTreeControl_GetSelectedItems(This,psiaItems) (This)->lpVtbl->GetSelectedItems(This,psiaItems) 26727 #define INameSpaceTreeControl_GetItemCustomState(This,psi,piStateNumber) (This)->lpVtbl->GetItemCustomState(This,psi,piStateNumber) 26728 #define INameSpaceTreeControl_SetItemCustomState(This,psi,iStateNumber) (This)->lpVtbl->SetItemCustomState(This,psi,iStateNumber) 26729 #define INameSpaceTreeControl_EnsureItemVisible(This,psi) (This)->lpVtbl->EnsureItemVisible(This,psi) 26730 #define INameSpaceTreeControl_SetTheme(This,pszTheme) (This)->lpVtbl->SetTheme(This,pszTheme) 26731 #define INameSpaceTreeControl_GetNextItem(This,psi,nstcgi,ppsiNext) (This)->lpVtbl->GetNextItem(This,psi,nstcgi,ppsiNext) 26732 #define INameSpaceTreeControl_HitTest(This,ppt,ppsiOut) (This)->lpVtbl->HitTest(This,ppt,ppsiOut) 26733 #define INameSpaceTreeControl_GetItemRect(This,psi,prect) (This)->lpVtbl->GetItemRect(This,psi,prect) 26734 #define INameSpaceTreeControl_CollapseAll(This) (This)->lpVtbl->CollapseAll(This) 26735 #else 26736 /*** IUnknown methods ***/ 26737 static inline HRESULT INameSpaceTreeControl_QueryInterface(INameSpaceTreeControl* This,REFIID riid,void **ppvObject) { 26738 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 26739 } 26740 static inline ULONG INameSpaceTreeControl_AddRef(INameSpaceTreeControl* This) { 26741 return This->lpVtbl->AddRef(This); 26742 } 26743 static inline ULONG INameSpaceTreeControl_Release(INameSpaceTreeControl* This) { 26744 return This->lpVtbl->Release(This); 26745 } 26746 /*** INameSpaceTreeControl methods ***/ 26747 static inline HRESULT INameSpaceTreeControl_Initialize(INameSpaceTreeControl* This,HWND hwndParent,RECT *prc,NSTCSTYLE nsctsFlags) { 26748 return This->lpVtbl->Initialize(This,hwndParent,prc,nsctsFlags); 26749 } 26750 static inline HRESULT INameSpaceTreeControl_TreeAdvise(INameSpaceTreeControl* This,IUnknown *punk,DWORD *pdwCookie) { 26751 return This->lpVtbl->TreeAdvise(This,punk,pdwCookie); 26752 } 26753 static inline HRESULT INameSpaceTreeControl_TreeUnadvise(INameSpaceTreeControl* This,DWORD dwCookie) { 26754 return This->lpVtbl->TreeUnadvise(This,dwCookie); 26755 } 26756 static inline HRESULT INameSpaceTreeControl_AppendRoot(INameSpaceTreeControl* This,IShellItem *psiRoot,SHCONTF grfEnumFlags,NSTCROOTSTYLE grfRootStyle,IShellItemFilter *pif) { 26757 return This->lpVtbl->AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif); 26758 } 26759 static inline HRESULT INameSpaceTreeControl_InsertRoot(INameSpaceTreeControl* This,int iIndex,IShellItem *psiRoot,SHCONTF grfEnumFlags,NSTCROOTSTYLE grfRootStyle,IShellItemFilter *pif) { 26760 return This->lpVtbl->InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif); 26761 } 26762 static inline HRESULT INameSpaceTreeControl_RemoveRoot(INameSpaceTreeControl* This,IShellItem *psiRoot) { 26763 return This->lpVtbl->RemoveRoot(This,psiRoot); 26764 } 26765 static inline HRESULT INameSpaceTreeControl_RemoveAllRoots(INameSpaceTreeControl* This) { 26766 return This->lpVtbl->RemoveAllRoots(This); 26767 } 26768 static inline HRESULT INameSpaceTreeControl_GetRootItems(INameSpaceTreeControl* This,IShellItemArray **ppsiaRootItems) { 26769 return This->lpVtbl->GetRootItems(This,ppsiaRootItems); 26770 } 26771 static inline HRESULT INameSpaceTreeControl_SetItemState(INameSpaceTreeControl* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE nstcisFlags) { 26772 return This->lpVtbl->SetItemState(This,psi,nstcisMask,nstcisFlags); 26773 } 26774 static inline HRESULT INameSpaceTreeControl_GetItemState(INameSpaceTreeControl* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE *pnstcisFlags) { 26775 return This->lpVtbl->GetItemState(This,psi,nstcisMask,pnstcisFlags); 26776 } 26777 static inline HRESULT INameSpaceTreeControl_GetSelectedItems(INameSpaceTreeControl* This,IShellItemArray **psiaItems) { 26778 return This->lpVtbl->GetSelectedItems(This,psiaItems); 26779 } 26780 static inline HRESULT INameSpaceTreeControl_GetItemCustomState(INameSpaceTreeControl* This,IShellItem *psi,int *piStateNumber) { 26781 return This->lpVtbl->GetItemCustomState(This,psi,piStateNumber); 26782 } 26783 static inline HRESULT INameSpaceTreeControl_SetItemCustomState(INameSpaceTreeControl* This,IShellItem *psi,int iStateNumber) { 26784 return This->lpVtbl->SetItemCustomState(This,psi,iStateNumber); 26785 } 26786 static inline HRESULT INameSpaceTreeControl_EnsureItemVisible(INameSpaceTreeControl* This,IShellItem *psi) { 26787 return This->lpVtbl->EnsureItemVisible(This,psi); 26788 } 26789 static inline HRESULT INameSpaceTreeControl_SetTheme(INameSpaceTreeControl* This,LPCWSTR pszTheme) { 26790 return This->lpVtbl->SetTheme(This,pszTheme); 26791 } 26792 static inline HRESULT INameSpaceTreeControl_GetNextItem(INameSpaceTreeControl* This,IShellItem *psi,NSTCGNI nstcgi,IShellItem **ppsiNext) { 26793 return This->lpVtbl->GetNextItem(This,psi,nstcgi,ppsiNext); 26794 } 26795 static inline HRESULT INameSpaceTreeControl_HitTest(INameSpaceTreeControl* This,POINT *ppt,IShellItem **ppsiOut) { 26796 return This->lpVtbl->HitTest(This,ppt,ppsiOut); 26797 } 26798 static inline HRESULT INameSpaceTreeControl_GetItemRect(INameSpaceTreeControl* This,IShellItem *psi,RECT *prect) { 26799 return This->lpVtbl->GetItemRect(This,psi,prect); 26800 } 26801 static inline HRESULT INameSpaceTreeControl_CollapseAll(INameSpaceTreeControl* This) { 26802 return This->lpVtbl->CollapseAll(This); 26803 } 26804 #endif 26805 #endif 26806 26807 #endif 26808 26809 26810 #endif /* __INameSpaceTreeControl_INTERFACE_DEFINED__ */ 26811 26812 26813 /***************************************************************************** 26814 * INameSpaceTreeControl2 interface 26815 */ 26816 #ifndef __INameSpaceTreeControl2_INTERFACE_DEFINED__ 26817 #define __INameSpaceTreeControl2_INTERFACE_DEFINED__ 26818 26819 typedef enum NSTCSTYLE2 { 26820 NSTCS2_DEFAULT = 0x0, 26821 NSTCS2_INTERRUPTNOTIFICATIONS = 0x1, 26822 NSTCS2_SHOWNULLSPACEMENU = 0x2, 26823 NSTCS2_DISPLAYPADDING = 0x4, 26824 NSTCS2_DISPLAYPINNEDONLY = 0x8, 26825 NTSCS2_NOSINGLETONAUTOEXPAND = 0x10, 26826 NTSCS2_NEVERINSERTNONENUMERATED = 0x20 26827 } NSTCSTYLE2; 26828 26829 DEFINE_ENUM_FLAG_OPERATORS(NSTCSTYLE2) 26830 26831 DEFINE_GUID(IID_INameSpaceTreeControl2, 0x7cc7aed8, 0x290e, 0x49bc, 0x89,0x45, 0xc1,0x40,0x1c,0xc9,0x30,0x6c); 26832 #if defined(__cplusplus) && !defined(CINTERFACE) 26833 MIDL_INTERFACE("7cc7aed8-290e-49bc-8945-c1401cc9306c") 26834 INameSpaceTreeControl2 : public INameSpaceTreeControl 26835 { 26836 virtual HRESULT STDMETHODCALLTYPE SetControlStyle( 26837 NSTCSTYLE nstcsMask, 26838 NSTCSTYLE nstcsStyle) = 0; 26839 26840 virtual HRESULT STDMETHODCALLTYPE GetControlStyle( 26841 NSTCSTYLE nstcsMask, 26842 NSTCSTYLE *pnstcsStyle) = 0; 26843 26844 virtual HRESULT STDMETHODCALLTYPE SetControlStyle2( 26845 NSTCSTYLE2 nstcsMask, 26846 NSTCSTYLE2 nstcsStyle) = 0; 26847 26848 virtual HRESULT STDMETHODCALLTYPE GetControlStyle2( 26849 NSTCSTYLE2 nstcsMask, 26850 NSTCSTYLE2 *pnstcsStyle) = 0; 26851 26852 }; 26853 #ifdef __CRT_UUID_DECL 26854 __CRT_UUID_DECL(INameSpaceTreeControl2, 0x7cc7aed8, 0x290e, 0x49bc, 0x89,0x45, 0xc1,0x40,0x1c,0xc9,0x30,0x6c) 26855 #endif 26856 #else 26857 typedef struct INameSpaceTreeControl2Vtbl { 26858 BEGIN_INTERFACE 26859 26860 /*** IUnknown methods ***/ 26861 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 26862 INameSpaceTreeControl2 *This, 26863 REFIID riid, 26864 void **ppvObject); 26865 26866 ULONG (STDMETHODCALLTYPE *AddRef)( 26867 INameSpaceTreeControl2 *This); 26868 26869 ULONG (STDMETHODCALLTYPE *Release)( 26870 INameSpaceTreeControl2 *This); 26871 26872 /*** INameSpaceTreeControl methods ***/ 26873 HRESULT (STDMETHODCALLTYPE *Initialize)( 26874 INameSpaceTreeControl2 *This, 26875 HWND hwndParent, 26876 RECT *prc, 26877 NSTCSTYLE nsctsFlags); 26878 26879 HRESULT (STDMETHODCALLTYPE *TreeAdvise)( 26880 INameSpaceTreeControl2 *This, 26881 IUnknown *punk, 26882 DWORD *pdwCookie); 26883 26884 HRESULT (STDMETHODCALLTYPE *TreeUnadvise)( 26885 INameSpaceTreeControl2 *This, 26886 DWORD dwCookie); 26887 26888 HRESULT (STDMETHODCALLTYPE *AppendRoot)( 26889 INameSpaceTreeControl2 *This, 26890 IShellItem *psiRoot, 26891 SHCONTF grfEnumFlags, 26892 NSTCROOTSTYLE grfRootStyle, 26893 IShellItemFilter *pif); 26894 26895 HRESULT (STDMETHODCALLTYPE *InsertRoot)( 26896 INameSpaceTreeControl2 *This, 26897 int iIndex, 26898 IShellItem *psiRoot, 26899 SHCONTF grfEnumFlags, 26900 NSTCROOTSTYLE grfRootStyle, 26901 IShellItemFilter *pif); 26902 26903 HRESULT (STDMETHODCALLTYPE *RemoveRoot)( 26904 INameSpaceTreeControl2 *This, 26905 IShellItem *psiRoot); 26906 26907 HRESULT (STDMETHODCALLTYPE *RemoveAllRoots)( 26908 INameSpaceTreeControl2 *This); 26909 26910 HRESULT (STDMETHODCALLTYPE *GetRootItems)( 26911 INameSpaceTreeControl2 *This, 26912 IShellItemArray **ppsiaRootItems); 26913 26914 HRESULT (STDMETHODCALLTYPE *SetItemState)( 26915 INameSpaceTreeControl2 *This, 26916 IShellItem *psi, 26917 NSTCITEMSTATE nstcisMask, 26918 NSTCITEMSTATE nstcisFlags); 26919 26920 HRESULT (STDMETHODCALLTYPE *GetItemState)( 26921 INameSpaceTreeControl2 *This, 26922 IShellItem *psi, 26923 NSTCITEMSTATE nstcisMask, 26924 NSTCITEMSTATE *pnstcisFlags); 26925 26926 HRESULT (STDMETHODCALLTYPE *GetSelectedItems)( 26927 INameSpaceTreeControl2 *This, 26928 IShellItemArray **psiaItems); 26929 26930 HRESULT (STDMETHODCALLTYPE *GetItemCustomState)( 26931 INameSpaceTreeControl2 *This, 26932 IShellItem *psi, 26933 int *piStateNumber); 26934 26935 HRESULT (STDMETHODCALLTYPE *SetItemCustomState)( 26936 INameSpaceTreeControl2 *This, 26937 IShellItem *psi, 26938 int iStateNumber); 26939 26940 HRESULT (STDMETHODCALLTYPE *EnsureItemVisible)( 26941 INameSpaceTreeControl2 *This, 26942 IShellItem *psi); 26943 26944 HRESULT (STDMETHODCALLTYPE *SetTheme)( 26945 INameSpaceTreeControl2 *This, 26946 LPCWSTR pszTheme); 26947 26948 HRESULT (STDMETHODCALLTYPE *GetNextItem)( 26949 INameSpaceTreeControl2 *This, 26950 IShellItem *psi, 26951 NSTCGNI nstcgi, 26952 IShellItem **ppsiNext); 26953 26954 HRESULT (STDMETHODCALLTYPE *HitTest)( 26955 INameSpaceTreeControl2 *This, 26956 POINT *ppt, 26957 IShellItem **ppsiOut); 26958 26959 HRESULT (STDMETHODCALLTYPE *GetItemRect)( 26960 INameSpaceTreeControl2 *This, 26961 IShellItem *psi, 26962 RECT *prect); 26963 26964 HRESULT (STDMETHODCALLTYPE *CollapseAll)( 26965 INameSpaceTreeControl2 *This); 26966 26967 /*** INameSpaceTreeControl2 methods ***/ 26968 HRESULT (STDMETHODCALLTYPE *SetControlStyle)( 26969 INameSpaceTreeControl2 *This, 26970 NSTCSTYLE nstcsMask, 26971 NSTCSTYLE nstcsStyle); 26972 26973 HRESULT (STDMETHODCALLTYPE *GetControlStyle)( 26974 INameSpaceTreeControl2 *This, 26975 NSTCSTYLE nstcsMask, 26976 NSTCSTYLE *pnstcsStyle); 26977 26978 HRESULT (STDMETHODCALLTYPE *SetControlStyle2)( 26979 INameSpaceTreeControl2 *This, 26980 NSTCSTYLE2 nstcsMask, 26981 NSTCSTYLE2 nstcsStyle); 26982 26983 HRESULT (STDMETHODCALLTYPE *GetControlStyle2)( 26984 INameSpaceTreeControl2 *This, 26985 NSTCSTYLE2 nstcsMask, 26986 NSTCSTYLE2 *pnstcsStyle); 26987 26988 END_INTERFACE 26989 } INameSpaceTreeControl2Vtbl; 26990 26991 interface INameSpaceTreeControl2 { 26992 CONST_VTBL INameSpaceTreeControl2Vtbl* lpVtbl; 26993 }; 26994 26995 #ifdef COBJMACROS 26996 #ifndef WIDL_C_INLINE_WRAPPERS 26997 /*** IUnknown methods ***/ 26998 #define INameSpaceTreeControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 26999 #define INameSpaceTreeControl2_AddRef(This) (This)->lpVtbl->AddRef(This) 27000 #define INameSpaceTreeControl2_Release(This) (This)->lpVtbl->Release(This) 27001 /*** INameSpaceTreeControl methods ***/ 27002 #define INameSpaceTreeControl2_Initialize(This,hwndParent,prc,nsctsFlags) (This)->lpVtbl->Initialize(This,hwndParent,prc,nsctsFlags) 27003 #define INameSpaceTreeControl2_TreeAdvise(This,punk,pdwCookie) (This)->lpVtbl->TreeAdvise(This,punk,pdwCookie) 27004 #define INameSpaceTreeControl2_TreeUnadvise(This,dwCookie) (This)->lpVtbl->TreeUnadvise(This,dwCookie) 27005 #define INameSpaceTreeControl2_AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif) (This)->lpVtbl->AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif) 27006 #define INameSpaceTreeControl2_InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif) (This)->lpVtbl->InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif) 27007 #define INameSpaceTreeControl2_RemoveRoot(This,psiRoot) (This)->lpVtbl->RemoveRoot(This,psiRoot) 27008 #define INameSpaceTreeControl2_RemoveAllRoots(This) (This)->lpVtbl->RemoveAllRoots(This) 27009 #define INameSpaceTreeControl2_GetRootItems(This,ppsiaRootItems) (This)->lpVtbl->GetRootItems(This,ppsiaRootItems) 27010 #define INameSpaceTreeControl2_SetItemState(This,psi,nstcisMask,nstcisFlags) (This)->lpVtbl->SetItemState(This,psi,nstcisMask,nstcisFlags) 27011 #define INameSpaceTreeControl2_GetItemState(This,psi,nstcisMask,pnstcisFlags) (This)->lpVtbl->GetItemState(This,psi,nstcisMask,pnstcisFlags) 27012 #define INameSpaceTreeControl2_GetSelectedItems(This,psiaItems) (This)->lpVtbl->GetSelectedItems(This,psiaItems) 27013 #define INameSpaceTreeControl2_GetItemCustomState(This,psi,piStateNumber) (This)->lpVtbl->GetItemCustomState(This,psi,piStateNumber) 27014 #define INameSpaceTreeControl2_SetItemCustomState(This,psi,iStateNumber) (This)->lpVtbl->SetItemCustomState(This,psi,iStateNumber) 27015 #define INameSpaceTreeControl2_EnsureItemVisible(This,psi) (This)->lpVtbl->EnsureItemVisible(This,psi) 27016 #define INameSpaceTreeControl2_SetTheme(This,pszTheme) (This)->lpVtbl->SetTheme(This,pszTheme) 27017 #define INameSpaceTreeControl2_GetNextItem(This,psi,nstcgi,ppsiNext) (This)->lpVtbl->GetNextItem(This,psi,nstcgi,ppsiNext) 27018 #define INameSpaceTreeControl2_HitTest(This,ppt,ppsiOut) (This)->lpVtbl->HitTest(This,ppt,ppsiOut) 27019 #define INameSpaceTreeControl2_GetItemRect(This,psi,prect) (This)->lpVtbl->GetItemRect(This,psi,prect) 27020 #define INameSpaceTreeControl2_CollapseAll(This) (This)->lpVtbl->CollapseAll(This) 27021 /*** INameSpaceTreeControl2 methods ***/ 27022 #define INameSpaceTreeControl2_SetControlStyle(This,nstcsMask,nstcsStyle) (This)->lpVtbl->SetControlStyle(This,nstcsMask,nstcsStyle) 27023 #define INameSpaceTreeControl2_GetControlStyle(This,nstcsMask,pnstcsStyle) (This)->lpVtbl->GetControlStyle(This,nstcsMask,pnstcsStyle) 27024 #define INameSpaceTreeControl2_SetControlStyle2(This,nstcsMask,nstcsStyle) (This)->lpVtbl->SetControlStyle2(This,nstcsMask,nstcsStyle) 27025 #define INameSpaceTreeControl2_GetControlStyle2(This,nstcsMask,pnstcsStyle) (This)->lpVtbl->GetControlStyle2(This,nstcsMask,pnstcsStyle) 27026 #else 27027 /*** IUnknown methods ***/ 27028 static inline HRESULT INameSpaceTreeControl2_QueryInterface(INameSpaceTreeControl2* This,REFIID riid,void **ppvObject) { 27029 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 27030 } 27031 static inline ULONG INameSpaceTreeControl2_AddRef(INameSpaceTreeControl2* This) { 27032 return This->lpVtbl->AddRef(This); 27033 } 27034 static inline ULONG INameSpaceTreeControl2_Release(INameSpaceTreeControl2* This) { 27035 return This->lpVtbl->Release(This); 27036 } 27037 /*** INameSpaceTreeControl methods ***/ 27038 static inline HRESULT INameSpaceTreeControl2_Initialize(INameSpaceTreeControl2* This,HWND hwndParent,RECT *prc,NSTCSTYLE nsctsFlags) { 27039 return This->lpVtbl->Initialize(This,hwndParent,prc,nsctsFlags); 27040 } 27041 static inline HRESULT INameSpaceTreeControl2_TreeAdvise(INameSpaceTreeControl2* This,IUnknown *punk,DWORD *pdwCookie) { 27042 return This->lpVtbl->TreeAdvise(This,punk,pdwCookie); 27043 } 27044 static inline HRESULT INameSpaceTreeControl2_TreeUnadvise(INameSpaceTreeControl2* This,DWORD dwCookie) { 27045 return This->lpVtbl->TreeUnadvise(This,dwCookie); 27046 } 27047 static inline HRESULT INameSpaceTreeControl2_AppendRoot(INameSpaceTreeControl2* This,IShellItem *psiRoot,SHCONTF grfEnumFlags,NSTCROOTSTYLE grfRootStyle,IShellItemFilter *pif) { 27048 return This->lpVtbl->AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif); 27049 } 27050 static inline HRESULT INameSpaceTreeControl2_InsertRoot(INameSpaceTreeControl2* This,int iIndex,IShellItem *psiRoot,SHCONTF grfEnumFlags,NSTCROOTSTYLE grfRootStyle,IShellItemFilter *pif) { 27051 return This->lpVtbl->InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif); 27052 } 27053 static inline HRESULT INameSpaceTreeControl2_RemoveRoot(INameSpaceTreeControl2* This,IShellItem *psiRoot) { 27054 return This->lpVtbl->RemoveRoot(This,psiRoot); 27055 } 27056 static inline HRESULT INameSpaceTreeControl2_RemoveAllRoots(INameSpaceTreeControl2* This) { 27057 return This->lpVtbl->RemoveAllRoots(This); 27058 } 27059 static inline HRESULT INameSpaceTreeControl2_GetRootItems(INameSpaceTreeControl2* This,IShellItemArray **ppsiaRootItems) { 27060 return This->lpVtbl->GetRootItems(This,ppsiaRootItems); 27061 } 27062 static inline HRESULT INameSpaceTreeControl2_SetItemState(INameSpaceTreeControl2* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE nstcisFlags) { 27063 return This->lpVtbl->SetItemState(This,psi,nstcisMask,nstcisFlags); 27064 } 27065 static inline HRESULT INameSpaceTreeControl2_GetItemState(INameSpaceTreeControl2* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE *pnstcisFlags) { 27066 return This->lpVtbl->GetItemState(This,psi,nstcisMask,pnstcisFlags); 27067 } 27068 static inline HRESULT INameSpaceTreeControl2_GetSelectedItems(INameSpaceTreeControl2* This,IShellItemArray **psiaItems) { 27069 return This->lpVtbl->GetSelectedItems(This,psiaItems); 27070 } 27071 static inline HRESULT INameSpaceTreeControl2_GetItemCustomState(INameSpaceTreeControl2* This,IShellItem *psi,int *piStateNumber) { 27072 return This->lpVtbl->GetItemCustomState(This,psi,piStateNumber); 27073 } 27074 static inline HRESULT INameSpaceTreeControl2_SetItemCustomState(INameSpaceTreeControl2* This,IShellItem *psi,int iStateNumber) { 27075 return This->lpVtbl->SetItemCustomState(This,psi,iStateNumber); 27076 } 27077 static inline HRESULT INameSpaceTreeControl2_EnsureItemVisible(INameSpaceTreeControl2* This,IShellItem *psi) { 27078 return This->lpVtbl->EnsureItemVisible(This,psi); 27079 } 27080 static inline HRESULT INameSpaceTreeControl2_SetTheme(INameSpaceTreeControl2* This,LPCWSTR pszTheme) { 27081 return This->lpVtbl->SetTheme(This,pszTheme); 27082 } 27083 static inline HRESULT INameSpaceTreeControl2_GetNextItem(INameSpaceTreeControl2* This,IShellItem *psi,NSTCGNI nstcgi,IShellItem **ppsiNext) { 27084 return This->lpVtbl->GetNextItem(This,psi,nstcgi,ppsiNext); 27085 } 27086 static inline HRESULT INameSpaceTreeControl2_HitTest(INameSpaceTreeControl2* This,POINT *ppt,IShellItem **ppsiOut) { 27087 return This->lpVtbl->HitTest(This,ppt,ppsiOut); 27088 } 27089 static inline HRESULT INameSpaceTreeControl2_GetItemRect(INameSpaceTreeControl2* This,IShellItem *psi,RECT *prect) { 27090 return This->lpVtbl->GetItemRect(This,psi,prect); 27091 } 27092 static inline HRESULT INameSpaceTreeControl2_CollapseAll(INameSpaceTreeControl2* This) { 27093 return This->lpVtbl->CollapseAll(This); 27094 } 27095 /*** INameSpaceTreeControl2 methods ***/ 27096 static inline HRESULT INameSpaceTreeControl2_SetControlStyle(INameSpaceTreeControl2* This,NSTCSTYLE nstcsMask,NSTCSTYLE nstcsStyle) { 27097 return This->lpVtbl->SetControlStyle(This,nstcsMask,nstcsStyle); 27098 } 27099 static inline HRESULT INameSpaceTreeControl2_GetControlStyle(INameSpaceTreeControl2* This,NSTCSTYLE nstcsMask,NSTCSTYLE *pnstcsStyle) { 27100 return This->lpVtbl->GetControlStyle(This,nstcsMask,pnstcsStyle); 27101 } 27102 static inline HRESULT INameSpaceTreeControl2_SetControlStyle2(INameSpaceTreeControl2* This,NSTCSTYLE2 nstcsMask,NSTCSTYLE2 nstcsStyle) { 27103 return This->lpVtbl->SetControlStyle2(This,nstcsMask,nstcsStyle); 27104 } 27105 static inline HRESULT INameSpaceTreeControl2_GetControlStyle2(INameSpaceTreeControl2* This,NSTCSTYLE2 nstcsMask,NSTCSTYLE2 *pnstcsStyle) { 27106 return This->lpVtbl->GetControlStyle2(This,nstcsMask,pnstcsStyle); 27107 } 27108 #endif 27109 #endif 27110 27111 #endif 27112 27113 27114 #endif /* __INameSpaceTreeControl2_INTERFACE_DEFINED__ */ 27115 27116 27117 #define NSTCS2_ALLMASK (NSTCS2_INTERRUPTNOTIFICATIONS | NSTCS2_SHOWNULLSPACEMENU | NSTCS2_DISPLAYPADDING) 27118 #define SID_SNavigationPane IID_INameSpaceTreeControl 27119 27120 #define ISLBUTTON(x) (NSTCECT_LBUTTON == ((x) & NSTCECT_BUTTON)) 27121 #define ISMBUTTON(x) (NSTCECT_MBUTTON == ((x) & NSTCECT_BUTTON)) 27122 #define ISRBUTTON(x) (NSTCECT_RBUTTON == ((x) & NSTCECT_BUTTON)) 27123 #define ISDBLCLICK(x) (NSTCECT_DBLCLICK == ((x) & NSTCECT_DBLCLICK)) 27124 27125 /***************************************************************************** 27126 * INameSpaceTreeControlEvents interface 27127 */ 27128 #ifndef __INameSpaceTreeControlEvents_INTERFACE_DEFINED__ 27129 #define __INameSpaceTreeControlEvents_INTERFACE_DEFINED__ 27130 27131 enum _NSTCEHITTEST { 27132 NSTCEHT_NOWHERE = 0x1, 27133 NSTCEHT_ONITEMICON = 0x2, 27134 NSTCEHT_ONITEMLABEL = 0x4, 27135 NSTCEHT_ONITEMINDENT = 0x8, 27136 NSTCEHT_ONITEMBUTTON = 0x10, 27137 NSTCEHT_ONITEMRIGHT = 0x20, 27138 NSTCEHT_ONITEMSTATEICON = 0x40, 27139 NSTCEHT_ONITEM = 0x46, 27140 NSTCEHT_ONITEMTABBUTTON = 0x1000 27141 }; 27142 27143 typedef DWORD NSTCEHITTEST; 27144 27145 enum _NSTCECLICKTYPE { 27146 NSTCECT_LBUTTON = 0x1, 27147 NSTCECT_MBUTTON = 0x2, 27148 NSTCECT_RBUTTON = 0x3, 27149 NSTCECT_BUTTON = 0x3, 27150 NSTCECT_DBLCLICK = 0x4 27151 }; 27152 27153 typedef DWORD NSTCECLICKTYPE; 27154 27155 DEFINE_GUID(IID_INameSpaceTreeControlEvents, 0x93d77985, 0xb3d8, 0x4484, 0x83,0x18, 0x67,0x2c,0xdd,0xa0,0x02,0xce); 27156 #if defined(__cplusplus) && !defined(CINTERFACE) 27157 MIDL_INTERFACE("93d77985-b3d8-4484-8318-672cdda002ce") 27158 INameSpaceTreeControlEvents : public IUnknown 27159 { 27160 virtual HRESULT STDMETHODCALLTYPE OnItemClick( 27161 IShellItem *psi, 27162 NSTCEHITTEST nstceHitTest, 27163 NSTCECLICKTYPE nstceClickType) = 0; 27164 27165 virtual HRESULT STDMETHODCALLTYPE OnPropertyItemCommit( 27166 IShellItem *psi) = 0; 27167 27168 virtual HRESULT STDMETHODCALLTYPE OnItemStateChanging( 27169 IShellItem *psi, 27170 NSTCITEMSTATE nstcisMask, 27171 NSTCITEMSTATE nstcisState) = 0; 27172 27173 virtual HRESULT STDMETHODCALLTYPE OnItemStateChanged( 27174 IShellItem *psi, 27175 NSTCITEMSTATE nstcisMask, 27176 NSTCITEMSTATE nstcisState) = 0; 27177 27178 virtual HRESULT STDMETHODCALLTYPE OnSelectionChanged( 27179 IShellItemArray *psiaSelection) = 0; 27180 27181 virtual HRESULT STDMETHODCALLTYPE OnKeyboardInput( 27182 UINT uMsg, 27183 WPARAM wParam, 27184 LPARAM lParam) = 0; 27185 27186 virtual HRESULT STDMETHODCALLTYPE OnBeforeExpand( 27187 IShellItem *psi) = 0; 27188 27189 virtual HRESULT STDMETHODCALLTYPE OnAfterExpand( 27190 IShellItem *psi) = 0; 27191 27192 virtual HRESULT STDMETHODCALLTYPE OnBeginLabelEdit( 27193 IShellItem *psi) = 0; 27194 27195 virtual HRESULT STDMETHODCALLTYPE OnEndLabelEdit( 27196 IShellItem *psi) = 0; 27197 27198 virtual HRESULT STDMETHODCALLTYPE OnGetToolTip( 27199 IShellItem *psi, 27200 LPWSTR pszTip, 27201 int cchTip) = 0; 27202 27203 virtual HRESULT STDMETHODCALLTYPE OnBeforeItemDelete( 27204 IShellItem *psi) = 0; 27205 27206 virtual HRESULT STDMETHODCALLTYPE OnItemAdded( 27207 IShellItem *psi, 27208 WINBOOL fIsRoot) = 0; 27209 27210 virtual HRESULT STDMETHODCALLTYPE OnItemDeleted( 27211 IShellItem *psi, 27212 WINBOOL fIsRoot) = 0; 27213 27214 virtual HRESULT STDMETHODCALLTYPE OnBeforeContextMenu( 27215 IShellItem *psi, 27216 REFIID riid, 27217 void **ppv) = 0; 27218 27219 virtual HRESULT STDMETHODCALLTYPE OnAfterContextMenu( 27220 IShellItem *psi, 27221 IContextMenu *pcmIn, 27222 REFIID riid, 27223 void **ppv) = 0; 27224 27225 virtual HRESULT STDMETHODCALLTYPE OnBeforeStateImageChange( 27226 IShellItem *psi) = 0; 27227 27228 virtual HRESULT STDMETHODCALLTYPE OnGetDefaultIconIndex( 27229 IShellItem *psi, 27230 int *piDefaultIcon, 27231 int *piOpenIcon) = 0; 27232 27233 }; 27234 #ifdef __CRT_UUID_DECL 27235 __CRT_UUID_DECL(INameSpaceTreeControlEvents, 0x93d77985, 0xb3d8, 0x4484, 0x83,0x18, 0x67,0x2c,0xdd,0xa0,0x02,0xce) 27236 #endif 27237 #else 27238 typedef struct INameSpaceTreeControlEventsVtbl { 27239 BEGIN_INTERFACE 27240 27241 /*** IUnknown methods ***/ 27242 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 27243 INameSpaceTreeControlEvents *This, 27244 REFIID riid, 27245 void **ppvObject); 27246 27247 ULONG (STDMETHODCALLTYPE *AddRef)( 27248 INameSpaceTreeControlEvents *This); 27249 27250 ULONG (STDMETHODCALLTYPE *Release)( 27251 INameSpaceTreeControlEvents *This); 27252 27253 /*** INameSpaceTreeControlEvents methods ***/ 27254 HRESULT (STDMETHODCALLTYPE *OnItemClick)( 27255 INameSpaceTreeControlEvents *This, 27256 IShellItem *psi, 27257 NSTCEHITTEST nstceHitTest, 27258 NSTCECLICKTYPE nstceClickType); 27259 27260 HRESULT (STDMETHODCALLTYPE *OnPropertyItemCommit)( 27261 INameSpaceTreeControlEvents *This, 27262 IShellItem *psi); 27263 27264 HRESULT (STDMETHODCALLTYPE *OnItemStateChanging)( 27265 INameSpaceTreeControlEvents *This, 27266 IShellItem *psi, 27267 NSTCITEMSTATE nstcisMask, 27268 NSTCITEMSTATE nstcisState); 27269 27270 HRESULT (STDMETHODCALLTYPE *OnItemStateChanged)( 27271 INameSpaceTreeControlEvents *This, 27272 IShellItem *psi, 27273 NSTCITEMSTATE nstcisMask, 27274 NSTCITEMSTATE nstcisState); 27275 27276 HRESULT (STDMETHODCALLTYPE *OnSelectionChanged)( 27277 INameSpaceTreeControlEvents *This, 27278 IShellItemArray *psiaSelection); 27279 27280 HRESULT (STDMETHODCALLTYPE *OnKeyboardInput)( 27281 INameSpaceTreeControlEvents *This, 27282 UINT uMsg, 27283 WPARAM wParam, 27284 LPARAM lParam); 27285 27286 HRESULT (STDMETHODCALLTYPE *OnBeforeExpand)( 27287 INameSpaceTreeControlEvents *This, 27288 IShellItem *psi); 27289 27290 HRESULT (STDMETHODCALLTYPE *OnAfterExpand)( 27291 INameSpaceTreeControlEvents *This, 27292 IShellItem *psi); 27293 27294 HRESULT (STDMETHODCALLTYPE *OnBeginLabelEdit)( 27295 INameSpaceTreeControlEvents *This, 27296 IShellItem *psi); 27297 27298 HRESULT (STDMETHODCALLTYPE *OnEndLabelEdit)( 27299 INameSpaceTreeControlEvents *This, 27300 IShellItem *psi); 27301 27302 HRESULT (STDMETHODCALLTYPE *OnGetToolTip)( 27303 INameSpaceTreeControlEvents *This, 27304 IShellItem *psi, 27305 LPWSTR pszTip, 27306 int cchTip); 27307 27308 HRESULT (STDMETHODCALLTYPE *OnBeforeItemDelete)( 27309 INameSpaceTreeControlEvents *This, 27310 IShellItem *psi); 27311 27312 HRESULT (STDMETHODCALLTYPE *OnItemAdded)( 27313 INameSpaceTreeControlEvents *This, 27314 IShellItem *psi, 27315 WINBOOL fIsRoot); 27316 27317 HRESULT (STDMETHODCALLTYPE *OnItemDeleted)( 27318 INameSpaceTreeControlEvents *This, 27319 IShellItem *psi, 27320 WINBOOL fIsRoot); 27321 27322 HRESULT (STDMETHODCALLTYPE *OnBeforeContextMenu)( 27323 INameSpaceTreeControlEvents *This, 27324 IShellItem *psi, 27325 REFIID riid, 27326 void **ppv); 27327 27328 HRESULT (STDMETHODCALLTYPE *OnAfterContextMenu)( 27329 INameSpaceTreeControlEvents *This, 27330 IShellItem *psi, 27331 IContextMenu *pcmIn, 27332 REFIID riid, 27333 void **ppv); 27334 27335 HRESULT (STDMETHODCALLTYPE *OnBeforeStateImageChange)( 27336 INameSpaceTreeControlEvents *This, 27337 IShellItem *psi); 27338 27339 HRESULT (STDMETHODCALLTYPE *OnGetDefaultIconIndex)( 27340 INameSpaceTreeControlEvents *This, 27341 IShellItem *psi, 27342 int *piDefaultIcon, 27343 int *piOpenIcon); 27344 27345 END_INTERFACE 27346 } INameSpaceTreeControlEventsVtbl; 27347 27348 interface INameSpaceTreeControlEvents { 27349 CONST_VTBL INameSpaceTreeControlEventsVtbl* lpVtbl; 27350 }; 27351 27352 #ifdef COBJMACROS 27353 #ifndef WIDL_C_INLINE_WRAPPERS 27354 /*** IUnknown methods ***/ 27355 #define INameSpaceTreeControlEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 27356 #define INameSpaceTreeControlEvents_AddRef(This) (This)->lpVtbl->AddRef(This) 27357 #define INameSpaceTreeControlEvents_Release(This) (This)->lpVtbl->Release(This) 27358 /*** INameSpaceTreeControlEvents methods ***/ 27359 #define INameSpaceTreeControlEvents_OnItemClick(This,psi,nstceHitTest,nstceClickType) (This)->lpVtbl->OnItemClick(This,psi,nstceHitTest,nstceClickType) 27360 #define INameSpaceTreeControlEvents_OnPropertyItemCommit(This,psi) (This)->lpVtbl->OnPropertyItemCommit(This,psi) 27361 #define INameSpaceTreeControlEvents_OnItemStateChanging(This,psi,nstcisMask,nstcisState) (This)->lpVtbl->OnItemStateChanging(This,psi,nstcisMask,nstcisState) 27362 #define INameSpaceTreeControlEvents_OnItemStateChanged(This,psi,nstcisMask,nstcisState) (This)->lpVtbl->OnItemStateChanged(This,psi,nstcisMask,nstcisState) 27363 #define INameSpaceTreeControlEvents_OnSelectionChanged(This,psiaSelection) (This)->lpVtbl->OnSelectionChanged(This,psiaSelection) 27364 #define INameSpaceTreeControlEvents_OnKeyboardInput(This,uMsg,wParam,lParam) (This)->lpVtbl->OnKeyboardInput(This,uMsg,wParam,lParam) 27365 #define INameSpaceTreeControlEvents_OnBeforeExpand(This,psi) (This)->lpVtbl->OnBeforeExpand(This,psi) 27366 #define INameSpaceTreeControlEvents_OnAfterExpand(This,psi) (This)->lpVtbl->OnAfterExpand(This,psi) 27367 #define INameSpaceTreeControlEvents_OnBeginLabelEdit(This,psi) (This)->lpVtbl->OnBeginLabelEdit(This,psi) 27368 #define INameSpaceTreeControlEvents_OnEndLabelEdit(This,psi) (This)->lpVtbl->OnEndLabelEdit(This,psi) 27369 #define INameSpaceTreeControlEvents_OnGetToolTip(This,psi,pszTip,cchTip) (This)->lpVtbl->OnGetToolTip(This,psi,pszTip,cchTip) 27370 #define INameSpaceTreeControlEvents_OnBeforeItemDelete(This,psi) (This)->lpVtbl->OnBeforeItemDelete(This,psi) 27371 #define INameSpaceTreeControlEvents_OnItemAdded(This,psi,fIsRoot) (This)->lpVtbl->OnItemAdded(This,psi,fIsRoot) 27372 #define INameSpaceTreeControlEvents_OnItemDeleted(This,psi,fIsRoot) (This)->lpVtbl->OnItemDeleted(This,psi,fIsRoot) 27373 #define INameSpaceTreeControlEvents_OnBeforeContextMenu(This,psi,riid,ppv) (This)->lpVtbl->OnBeforeContextMenu(This,psi,riid,ppv) 27374 #define INameSpaceTreeControlEvents_OnAfterContextMenu(This,psi,pcmIn,riid,ppv) (This)->lpVtbl->OnAfterContextMenu(This,psi,pcmIn,riid,ppv) 27375 #define INameSpaceTreeControlEvents_OnBeforeStateImageChange(This,psi) (This)->lpVtbl->OnBeforeStateImageChange(This,psi) 27376 #define INameSpaceTreeControlEvents_OnGetDefaultIconIndex(This,psi,piDefaultIcon,piOpenIcon) (This)->lpVtbl->OnGetDefaultIconIndex(This,psi,piDefaultIcon,piOpenIcon) 27377 #else 27378 /*** IUnknown methods ***/ 27379 static inline HRESULT INameSpaceTreeControlEvents_QueryInterface(INameSpaceTreeControlEvents* This,REFIID riid,void **ppvObject) { 27380 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 27381 } 27382 static inline ULONG INameSpaceTreeControlEvents_AddRef(INameSpaceTreeControlEvents* This) { 27383 return This->lpVtbl->AddRef(This); 27384 } 27385 static inline ULONG INameSpaceTreeControlEvents_Release(INameSpaceTreeControlEvents* This) { 27386 return This->lpVtbl->Release(This); 27387 } 27388 /*** INameSpaceTreeControlEvents methods ***/ 27389 static inline HRESULT INameSpaceTreeControlEvents_OnItemClick(INameSpaceTreeControlEvents* This,IShellItem *psi,NSTCEHITTEST nstceHitTest,NSTCECLICKTYPE nstceClickType) { 27390 return This->lpVtbl->OnItemClick(This,psi,nstceHitTest,nstceClickType); 27391 } 27392 static inline HRESULT INameSpaceTreeControlEvents_OnPropertyItemCommit(INameSpaceTreeControlEvents* This,IShellItem *psi) { 27393 return This->lpVtbl->OnPropertyItemCommit(This,psi); 27394 } 27395 static inline HRESULT INameSpaceTreeControlEvents_OnItemStateChanging(INameSpaceTreeControlEvents* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE nstcisState) { 27396 return This->lpVtbl->OnItemStateChanging(This,psi,nstcisMask,nstcisState); 27397 } 27398 static inline HRESULT INameSpaceTreeControlEvents_OnItemStateChanged(INameSpaceTreeControlEvents* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE nstcisState) { 27399 return This->lpVtbl->OnItemStateChanged(This,psi,nstcisMask,nstcisState); 27400 } 27401 static inline HRESULT INameSpaceTreeControlEvents_OnSelectionChanged(INameSpaceTreeControlEvents* This,IShellItemArray *psiaSelection) { 27402 return This->lpVtbl->OnSelectionChanged(This,psiaSelection); 27403 } 27404 static inline HRESULT INameSpaceTreeControlEvents_OnKeyboardInput(INameSpaceTreeControlEvents* This,UINT uMsg,WPARAM wParam,LPARAM lParam) { 27405 return This->lpVtbl->OnKeyboardInput(This,uMsg,wParam,lParam); 27406 } 27407 static inline HRESULT INameSpaceTreeControlEvents_OnBeforeExpand(INameSpaceTreeControlEvents* This,IShellItem *psi) { 27408 return This->lpVtbl->OnBeforeExpand(This,psi); 27409 } 27410 static inline HRESULT INameSpaceTreeControlEvents_OnAfterExpand(INameSpaceTreeControlEvents* This,IShellItem *psi) { 27411 return This->lpVtbl->OnAfterExpand(This,psi); 27412 } 27413 static inline HRESULT INameSpaceTreeControlEvents_OnBeginLabelEdit(INameSpaceTreeControlEvents* This,IShellItem *psi) { 27414 return This->lpVtbl->OnBeginLabelEdit(This,psi); 27415 } 27416 static inline HRESULT INameSpaceTreeControlEvents_OnEndLabelEdit(INameSpaceTreeControlEvents* This,IShellItem *psi) { 27417 return This->lpVtbl->OnEndLabelEdit(This,psi); 27418 } 27419 static inline HRESULT INameSpaceTreeControlEvents_OnGetToolTip(INameSpaceTreeControlEvents* This,IShellItem *psi,LPWSTR pszTip,int cchTip) { 27420 return This->lpVtbl->OnGetToolTip(This,psi,pszTip,cchTip); 27421 } 27422 static inline HRESULT INameSpaceTreeControlEvents_OnBeforeItemDelete(INameSpaceTreeControlEvents* This,IShellItem *psi) { 27423 return This->lpVtbl->OnBeforeItemDelete(This,psi); 27424 } 27425 static inline HRESULT INameSpaceTreeControlEvents_OnItemAdded(INameSpaceTreeControlEvents* This,IShellItem *psi,WINBOOL fIsRoot) { 27426 return This->lpVtbl->OnItemAdded(This,psi,fIsRoot); 27427 } 27428 static inline HRESULT INameSpaceTreeControlEvents_OnItemDeleted(INameSpaceTreeControlEvents* This,IShellItem *psi,WINBOOL fIsRoot) { 27429 return This->lpVtbl->OnItemDeleted(This,psi,fIsRoot); 27430 } 27431 static inline HRESULT INameSpaceTreeControlEvents_OnBeforeContextMenu(INameSpaceTreeControlEvents* This,IShellItem *psi,REFIID riid,void **ppv) { 27432 return This->lpVtbl->OnBeforeContextMenu(This,psi,riid,ppv); 27433 } 27434 static inline HRESULT INameSpaceTreeControlEvents_OnAfterContextMenu(INameSpaceTreeControlEvents* This,IShellItem *psi,IContextMenu *pcmIn,REFIID riid,void **ppv) { 27435 return This->lpVtbl->OnAfterContextMenu(This,psi,pcmIn,riid,ppv); 27436 } 27437 static inline HRESULT INameSpaceTreeControlEvents_OnBeforeStateImageChange(INameSpaceTreeControlEvents* This,IShellItem *psi) { 27438 return This->lpVtbl->OnBeforeStateImageChange(This,psi); 27439 } 27440 static inline HRESULT INameSpaceTreeControlEvents_OnGetDefaultIconIndex(INameSpaceTreeControlEvents* This,IShellItem *psi,int *piDefaultIcon,int *piOpenIcon) { 27441 return This->lpVtbl->OnGetDefaultIconIndex(This,psi,piDefaultIcon,piOpenIcon); 27442 } 27443 #endif 27444 #endif 27445 27446 #endif 27447 27448 27449 #endif /* __INameSpaceTreeControlEvents_INTERFACE_DEFINED__ */ 27450 27451 27452 #define NSTCDHPOS_ONTOP -1 27453 27454 /***************************************************************************** 27455 * INameSpaceTreeControlDropHandler interface 27456 */ 27457 #ifndef __INameSpaceTreeControlDropHandler_INTERFACE_DEFINED__ 27458 #define __INameSpaceTreeControlDropHandler_INTERFACE_DEFINED__ 27459 27460 DEFINE_GUID(IID_INameSpaceTreeControlDropHandler, 0xf9c665d6, 0xc2f2, 0x4c19, 0xbf,0x33, 0x83,0x22,0xd7,0x35,0x2f,0x51); 27461 #if defined(__cplusplus) && !defined(CINTERFACE) 27462 MIDL_INTERFACE("f9c665d6-c2f2-4c19-bf33-8322d7352f51") 27463 INameSpaceTreeControlDropHandler : public IUnknown 27464 { 27465 virtual HRESULT STDMETHODCALLTYPE OnDragEnter( 27466 IShellItem *psiOver, 27467 IShellItemArray *psiaData, 27468 WINBOOL fOutsideSource, 27469 DWORD grfKeyState, 27470 DWORD *pdwEffect) = 0; 27471 27472 virtual HRESULT STDMETHODCALLTYPE OnDragOver( 27473 IShellItem *psiOver, 27474 IShellItemArray *psiaData, 27475 DWORD grfKeyState, 27476 DWORD *pdwEffect) = 0; 27477 27478 virtual HRESULT STDMETHODCALLTYPE OnDragPosition( 27479 IShellItem *psiOver, 27480 IShellItemArray *psiaData, 27481 int iNewPosition, 27482 int iOldPosition) = 0; 27483 27484 virtual HRESULT STDMETHODCALLTYPE OnDrop( 27485 IShellItem *psiOver, 27486 IShellItemArray *psiaData, 27487 int iPosition, 27488 DWORD grfKeyState, 27489 DWORD *pdwEffect) = 0; 27490 27491 virtual HRESULT STDMETHODCALLTYPE OnDropPosition( 27492 IShellItem *psiOver, 27493 IShellItemArray *psiaData, 27494 int iNewPosition, 27495 int iOldPosition) = 0; 27496 27497 virtual HRESULT STDMETHODCALLTYPE OnDragLeave( 27498 IShellItem *psiOver) = 0; 27499 27500 }; 27501 #ifdef __CRT_UUID_DECL 27502 __CRT_UUID_DECL(INameSpaceTreeControlDropHandler, 0xf9c665d6, 0xc2f2, 0x4c19, 0xbf,0x33, 0x83,0x22,0xd7,0x35,0x2f,0x51) 27503 #endif 27504 #else 27505 typedef struct INameSpaceTreeControlDropHandlerVtbl { 27506 BEGIN_INTERFACE 27507 27508 /*** IUnknown methods ***/ 27509 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 27510 INameSpaceTreeControlDropHandler *This, 27511 REFIID riid, 27512 void **ppvObject); 27513 27514 ULONG (STDMETHODCALLTYPE *AddRef)( 27515 INameSpaceTreeControlDropHandler *This); 27516 27517 ULONG (STDMETHODCALLTYPE *Release)( 27518 INameSpaceTreeControlDropHandler *This); 27519 27520 /*** INameSpaceTreeControlDropHandler methods ***/ 27521 HRESULT (STDMETHODCALLTYPE *OnDragEnter)( 27522 INameSpaceTreeControlDropHandler *This, 27523 IShellItem *psiOver, 27524 IShellItemArray *psiaData, 27525 WINBOOL fOutsideSource, 27526 DWORD grfKeyState, 27527 DWORD *pdwEffect); 27528 27529 HRESULT (STDMETHODCALLTYPE *OnDragOver)( 27530 INameSpaceTreeControlDropHandler *This, 27531 IShellItem *psiOver, 27532 IShellItemArray *psiaData, 27533 DWORD grfKeyState, 27534 DWORD *pdwEffect); 27535 27536 HRESULT (STDMETHODCALLTYPE *OnDragPosition)( 27537 INameSpaceTreeControlDropHandler *This, 27538 IShellItem *psiOver, 27539 IShellItemArray *psiaData, 27540 int iNewPosition, 27541 int iOldPosition); 27542 27543 HRESULT (STDMETHODCALLTYPE *OnDrop)( 27544 INameSpaceTreeControlDropHandler *This, 27545 IShellItem *psiOver, 27546 IShellItemArray *psiaData, 27547 int iPosition, 27548 DWORD grfKeyState, 27549 DWORD *pdwEffect); 27550 27551 HRESULT (STDMETHODCALLTYPE *OnDropPosition)( 27552 INameSpaceTreeControlDropHandler *This, 27553 IShellItem *psiOver, 27554 IShellItemArray *psiaData, 27555 int iNewPosition, 27556 int iOldPosition); 27557 27558 HRESULT (STDMETHODCALLTYPE *OnDragLeave)( 27559 INameSpaceTreeControlDropHandler *This, 27560 IShellItem *psiOver); 27561 27562 END_INTERFACE 27563 } INameSpaceTreeControlDropHandlerVtbl; 27564 27565 interface INameSpaceTreeControlDropHandler { 27566 CONST_VTBL INameSpaceTreeControlDropHandlerVtbl* lpVtbl; 27567 }; 27568 27569 #ifdef COBJMACROS 27570 #ifndef WIDL_C_INLINE_WRAPPERS 27571 /*** IUnknown methods ***/ 27572 #define INameSpaceTreeControlDropHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 27573 #define INameSpaceTreeControlDropHandler_AddRef(This) (This)->lpVtbl->AddRef(This) 27574 #define INameSpaceTreeControlDropHandler_Release(This) (This)->lpVtbl->Release(This) 27575 /*** INameSpaceTreeControlDropHandler methods ***/ 27576 #define INameSpaceTreeControlDropHandler_OnDragEnter(This,psiOver,psiaData,fOutsideSource,grfKeyState,pdwEffect) (This)->lpVtbl->OnDragEnter(This,psiOver,psiaData,fOutsideSource,grfKeyState,pdwEffect) 27577 #define INameSpaceTreeControlDropHandler_OnDragOver(This,psiOver,psiaData,grfKeyState,pdwEffect) (This)->lpVtbl->OnDragOver(This,psiOver,psiaData,grfKeyState,pdwEffect) 27578 #define INameSpaceTreeControlDropHandler_OnDragPosition(This,psiOver,psiaData,iNewPosition,iOldPosition) (This)->lpVtbl->OnDragPosition(This,psiOver,psiaData,iNewPosition,iOldPosition) 27579 #define INameSpaceTreeControlDropHandler_OnDrop(This,psiOver,psiaData,iPosition,grfKeyState,pdwEffect) (This)->lpVtbl->OnDrop(This,psiOver,psiaData,iPosition,grfKeyState,pdwEffect) 27580 #define INameSpaceTreeControlDropHandler_OnDropPosition(This,psiOver,psiaData,iNewPosition,iOldPosition) (This)->lpVtbl->OnDropPosition(This,psiOver,psiaData,iNewPosition,iOldPosition) 27581 #define INameSpaceTreeControlDropHandler_OnDragLeave(This,psiOver) (This)->lpVtbl->OnDragLeave(This,psiOver) 27582 #else 27583 /*** IUnknown methods ***/ 27584 static inline HRESULT INameSpaceTreeControlDropHandler_QueryInterface(INameSpaceTreeControlDropHandler* This,REFIID riid,void **ppvObject) { 27585 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 27586 } 27587 static inline ULONG INameSpaceTreeControlDropHandler_AddRef(INameSpaceTreeControlDropHandler* This) { 27588 return This->lpVtbl->AddRef(This); 27589 } 27590 static inline ULONG INameSpaceTreeControlDropHandler_Release(INameSpaceTreeControlDropHandler* This) { 27591 return This->lpVtbl->Release(This); 27592 } 27593 /*** INameSpaceTreeControlDropHandler methods ***/ 27594 static inline HRESULT INameSpaceTreeControlDropHandler_OnDragEnter(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,WINBOOL fOutsideSource,DWORD grfKeyState,DWORD *pdwEffect) { 27595 return This->lpVtbl->OnDragEnter(This,psiOver,psiaData,fOutsideSource,grfKeyState,pdwEffect); 27596 } 27597 static inline HRESULT INameSpaceTreeControlDropHandler_OnDragOver(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,DWORD grfKeyState,DWORD *pdwEffect) { 27598 return This->lpVtbl->OnDragOver(This,psiOver,psiaData,grfKeyState,pdwEffect); 27599 } 27600 static inline HRESULT INameSpaceTreeControlDropHandler_OnDragPosition(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,int iNewPosition,int iOldPosition) { 27601 return This->lpVtbl->OnDragPosition(This,psiOver,psiaData,iNewPosition,iOldPosition); 27602 } 27603 static inline HRESULT INameSpaceTreeControlDropHandler_OnDrop(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,int iPosition,DWORD grfKeyState,DWORD *pdwEffect) { 27604 return This->lpVtbl->OnDrop(This,psiOver,psiaData,iPosition,grfKeyState,pdwEffect); 27605 } 27606 static inline HRESULT INameSpaceTreeControlDropHandler_OnDropPosition(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,int iNewPosition,int iOldPosition) { 27607 return This->lpVtbl->OnDropPosition(This,psiOver,psiaData,iNewPosition,iOldPosition); 27608 } 27609 static inline HRESULT INameSpaceTreeControlDropHandler_OnDragLeave(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver) { 27610 return This->lpVtbl->OnDragLeave(This,psiOver); 27611 } 27612 #endif 27613 #endif 27614 27615 #endif 27616 27617 27618 #endif /* __INameSpaceTreeControlDropHandler_INTERFACE_DEFINED__ */ 27619 27620 27621 /***************************************************************************** 27622 * INameSpaceTreeAccessible interface 27623 */ 27624 #ifndef __INameSpaceTreeAccessible_INTERFACE_DEFINED__ 27625 #define __INameSpaceTreeAccessible_INTERFACE_DEFINED__ 27626 27627 DEFINE_GUID(IID_INameSpaceTreeAccessible, 0x71f312de, 0x43ed, 0x4190, 0x84,0x77, 0xe9,0x53,0x6b,0x82,0x35,0x0b); 27628 #if defined(__cplusplus) && !defined(CINTERFACE) 27629 MIDL_INTERFACE("71f312de-43ed-4190-8477-e9536b82350b") 27630 INameSpaceTreeAccessible : public IUnknown 27631 { 27632 virtual HRESULT STDMETHODCALLTYPE OnGetDefaultAccessibilityAction( 27633 IShellItem *psi, 27634 BSTR *pbstrDefaultAction) = 0; 27635 27636 virtual HRESULT STDMETHODCALLTYPE OnDoDefaultAccessibilityAction( 27637 IShellItem *psi) = 0; 27638 27639 virtual HRESULT STDMETHODCALLTYPE OnGetAccessibilityRole( 27640 IShellItem *psi, 27641 VARIANT *pvarRole) = 0; 27642 27643 }; 27644 #ifdef __CRT_UUID_DECL 27645 __CRT_UUID_DECL(INameSpaceTreeAccessible, 0x71f312de, 0x43ed, 0x4190, 0x84,0x77, 0xe9,0x53,0x6b,0x82,0x35,0x0b) 27646 #endif 27647 #else 27648 typedef struct INameSpaceTreeAccessibleVtbl { 27649 BEGIN_INTERFACE 27650 27651 /*** IUnknown methods ***/ 27652 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 27653 INameSpaceTreeAccessible *This, 27654 REFIID riid, 27655 void **ppvObject); 27656 27657 ULONG (STDMETHODCALLTYPE *AddRef)( 27658 INameSpaceTreeAccessible *This); 27659 27660 ULONG (STDMETHODCALLTYPE *Release)( 27661 INameSpaceTreeAccessible *This); 27662 27663 /*** INameSpaceTreeAccessible methods ***/ 27664 HRESULT (STDMETHODCALLTYPE *OnGetDefaultAccessibilityAction)( 27665 INameSpaceTreeAccessible *This, 27666 IShellItem *psi, 27667 BSTR *pbstrDefaultAction); 27668 27669 HRESULT (STDMETHODCALLTYPE *OnDoDefaultAccessibilityAction)( 27670 INameSpaceTreeAccessible *This, 27671 IShellItem *psi); 27672 27673 HRESULT (STDMETHODCALLTYPE *OnGetAccessibilityRole)( 27674 INameSpaceTreeAccessible *This, 27675 IShellItem *psi, 27676 VARIANT *pvarRole); 27677 27678 END_INTERFACE 27679 } INameSpaceTreeAccessibleVtbl; 27680 27681 interface INameSpaceTreeAccessible { 27682 CONST_VTBL INameSpaceTreeAccessibleVtbl* lpVtbl; 27683 }; 27684 27685 #ifdef COBJMACROS 27686 #ifndef WIDL_C_INLINE_WRAPPERS 27687 /*** IUnknown methods ***/ 27688 #define INameSpaceTreeAccessible_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 27689 #define INameSpaceTreeAccessible_AddRef(This) (This)->lpVtbl->AddRef(This) 27690 #define INameSpaceTreeAccessible_Release(This) (This)->lpVtbl->Release(This) 27691 /*** INameSpaceTreeAccessible methods ***/ 27692 #define INameSpaceTreeAccessible_OnGetDefaultAccessibilityAction(This,psi,pbstrDefaultAction) (This)->lpVtbl->OnGetDefaultAccessibilityAction(This,psi,pbstrDefaultAction) 27693 #define INameSpaceTreeAccessible_OnDoDefaultAccessibilityAction(This,psi) (This)->lpVtbl->OnDoDefaultAccessibilityAction(This,psi) 27694 #define INameSpaceTreeAccessible_OnGetAccessibilityRole(This,psi,pvarRole) (This)->lpVtbl->OnGetAccessibilityRole(This,psi,pvarRole) 27695 #else 27696 /*** IUnknown methods ***/ 27697 static inline HRESULT INameSpaceTreeAccessible_QueryInterface(INameSpaceTreeAccessible* This,REFIID riid,void **ppvObject) { 27698 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 27699 } 27700 static inline ULONG INameSpaceTreeAccessible_AddRef(INameSpaceTreeAccessible* This) { 27701 return This->lpVtbl->AddRef(This); 27702 } 27703 static inline ULONG INameSpaceTreeAccessible_Release(INameSpaceTreeAccessible* This) { 27704 return This->lpVtbl->Release(This); 27705 } 27706 /*** INameSpaceTreeAccessible methods ***/ 27707 static inline HRESULT INameSpaceTreeAccessible_OnGetDefaultAccessibilityAction(INameSpaceTreeAccessible* This,IShellItem *psi,BSTR *pbstrDefaultAction) { 27708 return This->lpVtbl->OnGetDefaultAccessibilityAction(This,psi,pbstrDefaultAction); 27709 } 27710 static inline HRESULT INameSpaceTreeAccessible_OnDoDefaultAccessibilityAction(INameSpaceTreeAccessible* This,IShellItem *psi) { 27711 return This->lpVtbl->OnDoDefaultAccessibilityAction(This,psi); 27712 } 27713 static inline HRESULT INameSpaceTreeAccessible_OnGetAccessibilityRole(INameSpaceTreeAccessible* This,IShellItem *psi,VARIANT *pvarRole) { 27714 return This->lpVtbl->OnGetAccessibilityRole(This,psi,pvarRole); 27715 } 27716 #endif 27717 #endif 27718 27719 #endif 27720 27721 27722 #endif /* __INameSpaceTreeAccessible_INTERFACE_DEFINED__ */ 27723 27724 27725 /***************************************************************************** 27726 * INameSpaceTreeControlCustomDraw interface 27727 */ 27728 #ifndef __INameSpaceTreeControlCustomDraw_INTERFACE_DEFINED__ 27729 #define __INameSpaceTreeControlCustomDraw_INTERFACE_DEFINED__ 27730 27731 typedef struct NSTCCUSTOMDRAW { 27732 IShellItem *psi; 27733 UINT uItemState; 27734 NSTCITEMSTATE nstcis; 27735 LPCWSTR pszText; 27736 int iImage; 27737 HIMAGELIST himl; 27738 int iLevel; 27739 int iIndent; 27740 } NSTCCUSTOMDRAW; 27741 27742 DEFINE_GUID(IID_INameSpaceTreeControlCustomDraw, 0x2d3ba758, 0x33ee, 0x42d5, 0xbb,0x7b, 0x5f,0x34,0x31,0xd8,0x6c,0x78); 27743 #if defined(__cplusplus) && !defined(CINTERFACE) 27744 MIDL_INTERFACE("2d3ba758-33ee-42d5-bb7b-5f3431d86c78") 27745 INameSpaceTreeControlCustomDraw : public IUnknown 27746 { 27747 virtual HRESULT STDMETHODCALLTYPE PrePaint( 27748 HDC hdc, 27749 RECT *prc, 27750 LRESULT *plres) = 0; 27751 27752 virtual HRESULT STDMETHODCALLTYPE PostPaint( 27753 HDC hdc, 27754 RECT *prc) = 0; 27755 27756 virtual HRESULT STDMETHODCALLTYPE ItemPrePaint( 27757 HDC hdc, 27758 RECT *prc, 27759 NSTCCUSTOMDRAW *pnstccdItem, 27760 COLORREF *pclrText, 27761 COLORREF *pclrTextBk, 27762 LRESULT *plres) = 0; 27763 27764 virtual HRESULT STDMETHODCALLTYPE ItemPostPaint( 27765 HDC hdc, 27766 RECT *prc, 27767 NSTCCUSTOMDRAW *pnstccdItem) = 0; 27768 27769 }; 27770 #ifdef __CRT_UUID_DECL 27771 __CRT_UUID_DECL(INameSpaceTreeControlCustomDraw, 0x2d3ba758, 0x33ee, 0x42d5, 0xbb,0x7b, 0x5f,0x34,0x31,0xd8,0x6c,0x78) 27772 #endif 27773 #else 27774 typedef struct INameSpaceTreeControlCustomDrawVtbl { 27775 BEGIN_INTERFACE 27776 27777 /*** IUnknown methods ***/ 27778 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 27779 INameSpaceTreeControlCustomDraw *This, 27780 REFIID riid, 27781 void **ppvObject); 27782 27783 ULONG (STDMETHODCALLTYPE *AddRef)( 27784 INameSpaceTreeControlCustomDraw *This); 27785 27786 ULONG (STDMETHODCALLTYPE *Release)( 27787 INameSpaceTreeControlCustomDraw *This); 27788 27789 /*** INameSpaceTreeControlCustomDraw methods ***/ 27790 HRESULT (STDMETHODCALLTYPE *PrePaint)( 27791 INameSpaceTreeControlCustomDraw *This, 27792 HDC hdc, 27793 RECT *prc, 27794 LRESULT *plres); 27795 27796 HRESULT (STDMETHODCALLTYPE *PostPaint)( 27797 INameSpaceTreeControlCustomDraw *This, 27798 HDC hdc, 27799 RECT *prc); 27800 27801 HRESULT (STDMETHODCALLTYPE *ItemPrePaint)( 27802 INameSpaceTreeControlCustomDraw *This, 27803 HDC hdc, 27804 RECT *prc, 27805 NSTCCUSTOMDRAW *pnstccdItem, 27806 COLORREF *pclrText, 27807 COLORREF *pclrTextBk, 27808 LRESULT *plres); 27809 27810 HRESULT (STDMETHODCALLTYPE *ItemPostPaint)( 27811 INameSpaceTreeControlCustomDraw *This, 27812 HDC hdc, 27813 RECT *prc, 27814 NSTCCUSTOMDRAW *pnstccdItem); 27815 27816 END_INTERFACE 27817 } INameSpaceTreeControlCustomDrawVtbl; 27818 27819 interface INameSpaceTreeControlCustomDraw { 27820 CONST_VTBL INameSpaceTreeControlCustomDrawVtbl* lpVtbl; 27821 }; 27822 27823 #ifdef COBJMACROS 27824 #ifndef WIDL_C_INLINE_WRAPPERS 27825 /*** IUnknown methods ***/ 27826 #define INameSpaceTreeControlCustomDraw_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 27827 #define INameSpaceTreeControlCustomDraw_AddRef(This) (This)->lpVtbl->AddRef(This) 27828 #define INameSpaceTreeControlCustomDraw_Release(This) (This)->lpVtbl->Release(This) 27829 /*** INameSpaceTreeControlCustomDraw methods ***/ 27830 #define INameSpaceTreeControlCustomDraw_PrePaint(This,hdc,prc,plres) (This)->lpVtbl->PrePaint(This,hdc,prc,plres) 27831 #define INameSpaceTreeControlCustomDraw_PostPaint(This,hdc,prc) (This)->lpVtbl->PostPaint(This,hdc,prc) 27832 #define INameSpaceTreeControlCustomDraw_ItemPrePaint(This,hdc,prc,pnstccdItem,pclrText,pclrTextBk,plres) (This)->lpVtbl->ItemPrePaint(This,hdc,prc,pnstccdItem,pclrText,pclrTextBk,plres) 27833 #define INameSpaceTreeControlCustomDraw_ItemPostPaint(This,hdc,prc,pnstccdItem) (This)->lpVtbl->ItemPostPaint(This,hdc,prc,pnstccdItem) 27834 #else 27835 /*** IUnknown methods ***/ 27836 static inline HRESULT INameSpaceTreeControlCustomDraw_QueryInterface(INameSpaceTreeControlCustomDraw* This,REFIID riid,void **ppvObject) { 27837 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 27838 } 27839 static inline ULONG INameSpaceTreeControlCustomDraw_AddRef(INameSpaceTreeControlCustomDraw* This) { 27840 return This->lpVtbl->AddRef(This); 27841 } 27842 static inline ULONG INameSpaceTreeControlCustomDraw_Release(INameSpaceTreeControlCustomDraw* This) { 27843 return This->lpVtbl->Release(This); 27844 } 27845 /*** INameSpaceTreeControlCustomDraw methods ***/ 27846 static inline HRESULT INameSpaceTreeControlCustomDraw_PrePaint(INameSpaceTreeControlCustomDraw* This,HDC hdc,RECT *prc,LRESULT *plres) { 27847 return This->lpVtbl->PrePaint(This,hdc,prc,plres); 27848 } 27849 static inline HRESULT INameSpaceTreeControlCustomDraw_PostPaint(INameSpaceTreeControlCustomDraw* This,HDC hdc,RECT *prc) { 27850 return This->lpVtbl->PostPaint(This,hdc,prc); 27851 } 27852 static inline HRESULT INameSpaceTreeControlCustomDraw_ItemPrePaint(INameSpaceTreeControlCustomDraw* This,HDC hdc,RECT *prc,NSTCCUSTOMDRAW *pnstccdItem,COLORREF *pclrText,COLORREF *pclrTextBk,LRESULT *plres) { 27853 return This->lpVtbl->ItemPrePaint(This,hdc,prc,pnstccdItem,pclrText,pclrTextBk,plres); 27854 } 27855 static inline HRESULT INameSpaceTreeControlCustomDraw_ItemPostPaint(INameSpaceTreeControlCustomDraw* This,HDC hdc,RECT *prc,NSTCCUSTOMDRAW *pnstccdItem) { 27856 return This->lpVtbl->ItemPostPaint(This,hdc,prc,pnstccdItem); 27857 } 27858 #endif 27859 #endif 27860 27861 #endif 27862 27863 27864 #endif /* __INameSpaceTreeControlCustomDraw_INTERFACE_DEFINED__ */ 27865 27866 27867 #if NTDDI_VERSION >= NTDDI_VISTA 27868 /***************************************************************************** 27869 * INameSpaceTreeControlFolderCapabilities interface 27870 */ 27871 #ifndef __INameSpaceTreeControlFolderCapabilities_INTERFACE_DEFINED__ 27872 #define __INameSpaceTreeControlFolderCapabilities_INTERFACE_DEFINED__ 27873 27874 typedef enum NSTCFOLDERCAPABILITIES { 27875 NSTCFC_NONE = 0x0, 27876 NSTCFC_PINNEDITEMFILTERING = 0x1, 27877 NSTCFC_DELAY_REGISTER_NOTIFY = 0x2 27878 } NSTCFOLDERCAPABILITIES; 27879 27880 DEFINE_ENUM_FLAG_OPERATORS(NSTCFOLDERCAPABILITIES) 27881 27882 DEFINE_GUID(IID_INameSpaceTreeControlFolderCapabilities, 0xe9701183, 0xe6b3, 0x4ff2, 0x85,0x68, 0x81,0x36,0x15,0xfe,0xc7,0xbe); 27883 #if defined(__cplusplus) && !defined(CINTERFACE) 27884 MIDL_INTERFACE("e9701183-e6b3-4ff2-8568-813615fec7be") 27885 INameSpaceTreeControlFolderCapabilities : public IUnknown 27886 { 27887 virtual HRESULT STDMETHODCALLTYPE GetFolderCapabilities( 27888 NSTCFOLDERCAPABILITIES nfcMask, 27889 NSTCFOLDERCAPABILITIES *pnfcValue) = 0; 27890 27891 }; 27892 #ifdef __CRT_UUID_DECL 27893 __CRT_UUID_DECL(INameSpaceTreeControlFolderCapabilities, 0xe9701183, 0xe6b3, 0x4ff2, 0x85,0x68, 0x81,0x36,0x15,0xfe,0xc7,0xbe) 27894 #endif 27895 #else 27896 typedef struct INameSpaceTreeControlFolderCapabilitiesVtbl { 27897 BEGIN_INTERFACE 27898 27899 /*** IUnknown methods ***/ 27900 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 27901 INameSpaceTreeControlFolderCapabilities *This, 27902 REFIID riid, 27903 void **ppvObject); 27904 27905 ULONG (STDMETHODCALLTYPE *AddRef)( 27906 INameSpaceTreeControlFolderCapabilities *This); 27907 27908 ULONG (STDMETHODCALLTYPE *Release)( 27909 INameSpaceTreeControlFolderCapabilities *This); 27910 27911 /*** INameSpaceTreeControlFolderCapabilities methods ***/ 27912 HRESULT (STDMETHODCALLTYPE *GetFolderCapabilities)( 27913 INameSpaceTreeControlFolderCapabilities *This, 27914 NSTCFOLDERCAPABILITIES nfcMask, 27915 NSTCFOLDERCAPABILITIES *pnfcValue); 27916 27917 END_INTERFACE 27918 } INameSpaceTreeControlFolderCapabilitiesVtbl; 27919 27920 interface INameSpaceTreeControlFolderCapabilities { 27921 CONST_VTBL INameSpaceTreeControlFolderCapabilitiesVtbl* lpVtbl; 27922 }; 27923 27924 #ifdef COBJMACROS 27925 #ifndef WIDL_C_INLINE_WRAPPERS 27926 /*** IUnknown methods ***/ 27927 #define INameSpaceTreeControlFolderCapabilities_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 27928 #define INameSpaceTreeControlFolderCapabilities_AddRef(This) (This)->lpVtbl->AddRef(This) 27929 #define INameSpaceTreeControlFolderCapabilities_Release(This) (This)->lpVtbl->Release(This) 27930 /*** INameSpaceTreeControlFolderCapabilities methods ***/ 27931 #define INameSpaceTreeControlFolderCapabilities_GetFolderCapabilities(This,nfcMask,pnfcValue) (This)->lpVtbl->GetFolderCapabilities(This,nfcMask,pnfcValue) 27932 #else 27933 /*** IUnknown methods ***/ 27934 static inline HRESULT INameSpaceTreeControlFolderCapabilities_QueryInterface(INameSpaceTreeControlFolderCapabilities* This,REFIID riid,void **ppvObject) { 27935 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 27936 } 27937 static inline ULONG INameSpaceTreeControlFolderCapabilities_AddRef(INameSpaceTreeControlFolderCapabilities* This) { 27938 return This->lpVtbl->AddRef(This); 27939 } 27940 static inline ULONG INameSpaceTreeControlFolderCapabilities_Release(INameSpaceTreeControlFolderCapabilities* This) { 27941 return This->lpVtbl->Release(This); 27942 } 27943 /*** INameSpaceTreeControlFolderCapabilities methods ***/ 27944 static inline HRESULT INameSpaceTreeControlFolderCapabilities_GetFolderCapabilities(INameSpaceTreeControlFolderCapabilities* This,NSTCFOLDERCAPABILITIES nfcMask,NSTCFOLDERCAPABILITIES *pnfcValue) { 27945 return This->lpVtbl->GetFolderCapabilities(This,nfcMask,pnfcValue); 27946 } 27947 #endif 27948 #endif 27949 27950 #endif 27951 27952 27953 #endif /* __INameSpaceTreeControlFolderCapabilities_INTERFACE_DEFINED__ */ 27954 27955 #endif 27956 27957 #define E_PREVIEWHANDLER_DRM_FAIL _HRESULT_TYPEDEF_(0x86420001L) 27958 #define E_PREVIEWHANDLER_NOAUTH _HRESULT_TYPEDEF_(0x86420002L) 27959 #define E_PREVIEWHANDLER_NOTFOUND _HRESULT_TYPEDEF_(0x86420003L) 27960 #define E_PREVIEWHANDLER_CORRUPT _HRESULT_TYPEDEF_(0x86420004L) 27961 27962 /***************************************************************************** 27963 * IPreviewHandler interface 27964 */ 27965 #ifndef __IPreviewHandler_INTERFACE_DEFINED__ 27966 #define __IPreviewHandler_INTERFACE_DEFINED__ 27967 27968 DEFINE_GUID(IID_IPreviewHandler, 0x8895b1c6, 0xb41f, 0x4c1c, 0xa5,0x62, 0x0d,0x56,0x42,0x50,0x83,0x6f); 27969 #if defined(__cplusplus) && !defined(CINTERFACE) 27970 MIDL_INTERFACE("8895b1c6-b41f-4c1c-a562-0d564250836f") 27971 IPreviewHandler : public IUnknown 27972 { 27973 virtual HRESULT STDMETHODCALLTYPE SetWindow( 27974 HWND hwnd, 27975 const RECT *prc) = 0; 27976 27977 virtual HRESULT STDMETHODCALLTYPE SetRect( 27978 const RECT *prc) = 0; 27979 27980 virtual HRESULT STDMETHODCALLTYPE DoPreview( 27981 ) = 0; 27982 27983 virtual HRESULT STDMETHODCALLTYPE Unload( 27984 ) = 0; 27985 27986 virtual HRESULT STDMETHODCALLTYPE SetFocus( 27987 ) = 0; 27988 27989 virtual HRESULT STDMETHODCALLTYPE QueryFocus( 27990 HWND *phwnd) = 0; 27991 27992 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator( 27993 MSG *pmsg) = 0; 27994 27995 }; 27996 #ifdef __CRT_UUID_DECL 27997 __CRT_UUID_DECL(IPreviewHandler, 0x8895b1c6, 0xb41f, 0x4c1c, 0xa5,0x62, 0x0d,0x56,0x42,0x50,0x83,0x6f) 27998 #endif 27999 #else 28000 typedef struct IPreviewHandlerVtbl { 28001 BEGIN_INTERFACE 28002 28003 /*** IUnknown methods ***/ 28004 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 28005 IPreviewHandler *This, 28006 REFIID riid, 28007 void **ppvObject); 28008 28009 ULONG (STDMETHODCALLTYPE *AddRef)( 28010 IPreviewHandler *This); 28011 28012 ULONG (STDMETHODCALLTYPE *Release)( 28013 IPreviewHandler *This); 28014 28015 /*** IPreviewHandler methods ***/ 28016 HRESULT (STDMETHODCALLTYPE *SetWindow)( 28017 IPreviewHandler *This, 28018 HWND hwnd, 28019 const RECT *prc); 28020 28021 HRESULT (STDMETHODCALLTYPE *SetRect)( 28022 IPreviewHandler *This, 28023 const RECT *prc); 28024 28025 HRESULT (STDMETHODCALLTYPE *DoPreview)( 28026 IPreviewHandler *This); 28027 28028 HRESULT (STDMETHODCALLTYPE *Unload)( 28029 IPreviewHandler *This); 28030 28031 HRESULT (STDMETHODCALLTYPE *SetFocus)( 28032 IPreviewHandler *This); 28033 28034 HRESULT (STDMETHODCALLTYPE *QueryFocus)( 28035 IPreviewHandler *This, 28036 HWND *phwnd); 28037 28038 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)( 28039 IPreviewHandler *This, 28040 MSG *pmsg); 28041 28042 END_INTERFACE 28043 } IPreviewHandlerVtbl; 28044 28045 interface IPreviewHandler { 28046 CONST_VTBL IPreviewHandlerVtbl* lpVtbl; 28047 }; 28048 28049 #ifdef COBJMACROS 28050 #ifndef WIDL_C_INLINE_WRAPPERS 28051 /*** IUnknown methods ***/ 28052 #define IPreviewHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 28053 #define IPreviewHandler_AddRef(This) (This)->lpVtbl->AddRef(This) 28054 #define IPreviewHandler_Release(This) (This)->lpVtbl->Release(This) 28055 /*** IPreviewHandler methods ***/ 28056 #define IPreviewHandler_SetWindow(This,hwnd,prc) (This)->lpVtbl->SetWindow(This,hwnd,prc) 28057 #define IPreviewHandler_SetRect(This,prc) (This)->lpVtbl->SetRect(This,prc) 28058 #define IPreviewHandler_DoPreview(This) (This)->lpVtbl->DoPreview(This) 28059 #define IPreviewHandler_Unload(This) (This)->lpVtbl->Unload(This) 28060 #define IPreviewHandler_SetFocus(This) (This)->lpVtbl->SetFocus(This) 28061 #define IPreviewHandler_QueryFocus(This,phwnd) (This)->lpVtbl->QueryFocus(This,phwnd) 28062 #define IPreviewHandler_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg) 28063 #else 28064 /*** IUnknown methods ***/ 28065 static inline HRESULT IPreviewHandler_QueryInterface(IPreviewHandler* This,REFIID riid,void **ppvObject) { 28066 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 28067 } 28068 static inline ULONG IPreviewHandler_AddRef(IPreviewHandler* This) { 28069 return This->lpVtbl->AddRef(This); 28070 } 28071 static inline ULONG IPreviewHandler_Release(IPreviewHandler* This) { 28072 return This->lpVtbl->Release(This); 28073 } 28074 /*** IPreviewHandler methods ***/ 28075 static inline HRESULT IPreviewHandler_SetWindow(IPreviewHandler* This,HWND hwnd,const RECT *prc) { 28076 return This->lpVtbl->SetWindow(This,hwnd,prc); 28077 } 28078 static inline HRESULT IPreviewHandler_SetRect(IPreviewHandler* This,const RECT *prc) { 28079 return This->lpVtbl->SetRect(This,prc); 28080 } 28081 static inline HRESULT IPreviewHandler_DoPreview(IPreviewHandler* This) { 28082 return This->lpVtbl->DoPreview(This); 28083 } 28084 static inline HRESULT IPreviewHandler_Unload(IPreviewHandler* This) { 28085 return This->lpVtbl->Unload(This); 28086 } 28087 static inline HRESULT IPreviewHandler_SetFocus(IPreviewHandler* This) { 28088 return This->lpVtbl->SetFocus(This); 28089 } 28090 static inline HRESULT IPreviewHandler_QueryFocus(IPreviewHandler* This,HWND *phwnd) { 28091 return This->lpVtbl->QueryFocus(This,phwnd); 28092 } 28093 static inline HRESULT IPreviewHandler_TranslateAccelerator(IPreviewHandler* This,MSG *pmsg) { 28094 return This->lpVtbl->TranslateAccelerator(This,pmsg); 28095 } 28096 #endif 28097 #endif 28098 28099 #endif 28100 28101 28102 #endif /* __IPreviewHandler_INTERFACE_DEFINED__ */ 28103 28104 28105 /***************************************************************************** 28106 * IPreviewHandlerFrame interface 28107 */ 28108 #ifndef __IPreviewHandlerFrame_INTERFACE_DEFINED__ 28109 #define __IPreviewHandlerFrame_INTERFACE_DEFINED__ 28110 28111 typedef struct PREVIEWHANDLERFRAMEINFO { 28112 HACCEL haccel; 28113 UINT cAccelEntries; 28114 } PREVIEWHANDLERFRAMEINFO; 28115 28116 DEFINE_GUID(IID_IPreviewHandlerFrame, 0xfec87aaf, 0x35f9, 0x447a, 0xad,0xb7, 0x20,0x23,0x44,0x91,0x40,0x1a); 28117 #if defined(__cplusplus) && !defined(CINTERFACE) 28118 MIDL_INTERFACE("fec87aaf-35f9-447a-adb7-20234491401a") 28119 IPreviewHandlerFrame : public IUnknown 28120 { 28121 virtual HRESULT STDMETHODCALLTYPE GetWindowContext( 28122 PREVIEWHANDLERFRAMEINFO *pinfo) = 0; 28123 28124 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator( 28125 MSG *pmsg) = 0; 28126 28127 }; 28128 #ifdef __CRT_UUID_DECL 28129 __CRT_UUID_DECL(IPreviewHandlerFrame, 0xfec87aaf, 0x35f9, 0x447a, 0xad,0xb7, 0x20,0x23,0x44,0x91,0x40,0x1a) 28130 #endif 28131 #else 28132 typedef struct IPreviewHandlerFrameVtbl { 28133 BEGIN_INTERFACE 28134 28135 /*** IUnknown methods ***/ 28136 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 28137 IPreviewHandlerFrame *This, 28138 REFIID riid, 28139 void **ppvObject); 28140 28141 ULONG (STDMETHODCALLTYPE *AddRef)( 28142 IPreviewHandlerFrame *This); 28143 28144 ULONG (STDMETHODCALLTYPE *Release)( 28145 IPreviewHandlerFrame *This); 28146 28147 /*** IPreviewHandlerFrame methods ***/ 28148 HRESULT (STDMETHODCALLTYPE *GetWindowContext)( 28149 IPreviewHandlerFrame *This, 28150 PREVIEWHANDLERFRAMEINFO *pinfo); 28151 28152 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)( 28153 IPreviewHandlerFrame *This, 28154 MSG *pmsg); 28155 28156 END_INTERFACE 28157 } IPreviewHandlerFrameVtbl; 28158 28159 interface IPreviewHandlerFrame { 28160 CONST_VTBL IPreviewHandlerFrameVtbl* lpVtbl; 28161 }; 28162 28163 #ifdef COBJMACROS 28164 #ifndef WIDL_C_INLINE_WRAPPERS 28165 /*** IUnknown methods ***/ 28166 #define IPreviewHandlerFrame_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 28167 #define IPreviewHandlerFrame_AddRef(This) (This)->lpVtbl->AddRef(This) 28168 #define IPreviewHandlerFrame_Release(This) (This)->lpVtbl->Release(This) 28169 /*** IPreviewHandlerFrame methods ***/ 28170 #define IPreviewHandlerFrame_GetWindowContext(This,pinfo) (This)->lpVtbl->GetWindowContext(This,pinfo) 28171 #define IPreviewHandlerFrame_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg) 28172 #else 28173 /*** IUnknown methods ***/ 28174 static inline HRESULT IPreviewHandlerFrame_QueryInterface(IPreviewHandlerFrame* This,REFIID riid,void **ppvObject) { 28175 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 28176 } 28177 static inline ULONG IPreviewHandlerFrame_AddRef(IPreviewHandlerFrame* This) { 28178 return This->lpVtbl->AddRef(This); 28179 } 28180 static inline ULONG IPreviewHandlerFrame_Release(IPreviewHandlerFrame* This) { 28181 return This->lpVtbl->Release(This); 28182 } 28183 /*** IPreviewHandlerFrame methods ***/ 28184 static inline HRESULT IPreviewHandlerFrame_GetWindowContext(IPreviewHandlerFrame* This,PREVIEWHANDLERFRAMEINFO *pinfo) { 28185 return This->lpVtbl->GetWindowContext(This,pinfo); 28186 } 28187 static inline HRESULT IPreviewHandlerFrame_TranslateAccelerator(IPreviewHandlerFrame* This,MSG *pmsg) { 28188 return This->lpVtbl->TranslateAccelerator(This,pmsg); 28189 } 28190 #endif 28191 #endif 28192 28193 #endif 28194 28195 28196 #endif /* __IPreviewHandlerFrame_INTERFACE_DEFINED__ */ 28197 28198 28199 #if NTDDI_VERSION >= NTDDI_VISTA 28200 /***************************************************************************** 28201 * ITrayDeskBand interface 28202 */ 28203 #ifndef __ITrayDeskBand_INTERFACE_DEFINED__ 28204 #define __ITrayDeskBand_INTERFACE_DEFINED__ 28205 28206 DEFINE_GUID(IID_ITrayDeskBand, 0x6d67e846, 0x5b9c, 0x4db8, 0x9c,0xbc, 0xdd,0xe1,0x2f,0x42,0x54,0xf1); 28207 #if defined(__cplusplus) && !defined(CINTERFACE) 28208 MIDL_INTERFACE("6d67e846-5b9c-4db8-9cbc-dde12f4254f1") 28209 ITrayDeskBand : public IUnknown 28210 { 28211 virtual HRESULT STDMETHODCALLTYPE ShowDeskBand( 28212 REFCLSID clsid) = 0; 28213 28214 virtual HRESULT STDMETHODCALLTYPE HideDeskBand( 28215 REFCLSID clsid) = 0; 28216 28217 virtual HRESULT STDMETHODCALLTYPE IsDeskBandShown( 28218 REFCLSID clsid) = 0; 28219 28220 virtual HRESULT STDMETHODCALLTYPE DeskBandRegistrationChanged( 28221 ) = 0; 28222 28223 }; 28224 #ifdef __CRT_UUID_DECL 28225 __CRT_UUID_DECL(ITrayDeskBand, 0x6d67e846, 0x5b9c, 0x4db8, 0x9c,0xbc, 0xdd,0xe1,0x2f,0x42,0x54,0xf1) 28226 #endif 28227 #else 28228 typedef struct ITrayDeskBandVtbl { 28229 BEGIN_INTERFACE 28230 28231 /*** IUnknown methods ***/ 28232 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 28233 ITrayDeskBand *This, 28234 REFIID riid, 28235 void **ppvObject); 28236 28237 ULONG (STDMETHODCALLTYPE *AddRef)( 28238 ITrayDeskBand *This); 28239 28240 ULONG (STDMETHODCALLTYPE *Release)( 28241 ITrayDeskBand *This); 28242 28243 /*** ITrayDeskBand methods ***/ 28244 HRESULT (STDMETHODCALLTYPE *ShowDeskBand)( 28245 ITrayDeskBand *This, 28246 REFCLSID clsid); 28247 28248 HRESULT (STDMETHODCALLTYPE *HideDeskBand)( 28249 ITrayDeskBand *This, 28250 REFCLSID clsid); 28251 28252 HRESULT (STDMETHODCALLTYPE *IsDeskBandShown)( 28253 ITrayDeskBand *This, 28254 REFCLSID clsid); 28255 28256 HRESULT (STDMETHODCALLTYPE *DeskBandRegistrationChanged)( 28257 ITrayDeskBand *This); 28258 28259 END_INTERFACE 28260 } ITrayDeskBandVtbl; 28261 28262 interface ITrayDeskBand { 28263 CONST_VTBL ITrayDeskBandVtbl* lpVtbl; 28264 }; 28265 28266 #ifdef COBJMACROS 28267 #ifndef WIDL_C_INLINE_WRAPPERS 28268 /*** IUnknown methods ***/ 28269 #define ITrayDeskBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 28270 #define ITrayDeskBand_AddRef(This) (This)->lpVtbl->AddRef(This) 28271 #define ITrayDeskBand_Release(This) (This)->lpVtbl->Release(This) 28272 /*** ITrayDeskBand methods ***/ 28273 #define ITrayDeskBand_ShowDeskBand(This,clsid) (This)->lpVtbl->ShowDeskBand(This,clsid) 28274 #define ITrayDeskBand_HideDeskBand(This,clsid) (This)->lpVtbl->HideDeskBand(This,clsid) 28275 #define ITrayDeskBand_IsDeskBandShown(This,clsid) (This)->lpVtbl->IsDeskBandShown(This,clsid) 28276 #define ITrayDeskBand_DeskBandRegistrationChanged(This) (This)->lpVtbl->DeskBandRegistrationChanged(This) 28277 #else 28278 /*** IUnknown methods ***/ 28279 static inline HRESULT ITrayDeskBand_QueryInterface(ITrayDeskBand* This,REFIID riid,void **ppvObject) { 28280 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 28281 } 28282 static inline ULONG ITrayDeskBand_AddRef(ITrayDeskBand* This) { 28283 return This->lpVtbl->AddRef(This); 28284 } 28285 static inline ULONG ITrayDeskBand_Release(ITrayDeskBand* This) { 28286 return This->lpVtbl->Release(This); 28287 } 28288 /*** ITrayDeskBand methods ***/ 28289 static inline HRESULT ITrayDeskBand_ShowDeskBand(ITrayDeskBand* This,REFCLSID clsid) { 28290 return This->lpVtbl->ShowDeskBand(This,clsid); 28291 } 28292 static inline HRESULT ITrayDeskBand_HideDeskBand(ITrayDeskBand* This,REFCLSID clsid) { 28293 return This->lpVtbl->HideDeskBand(This,clsid); 28294 } 28295 static inline HRESULT ITrayDeskBand_IsDeskBandShown(ITrayDeskBand* This,REFCLSID clsid) { 28296 return This->lpVtbl->IsDeskBandShown(This,clsid); 28297 } 28298 static inline HRESULT ITrayDeskBand_DeskBandRegistrationChanged(ITrayDeskBand* This) { 28299 return This->lpVtbl->DeskBandRegistrationChanged(This); 28300 } 28301 #endif 28302 #endif 28303 28304 #endif 28305 28306 28307 #endif /* __ITrayDeskBand_INTERFACE_DEFINED__ */ 28308 28309 28310 /***************************************************************************** 28311 * IBandHost interface 28312 */ 28313 #ifndef __IBandHost_INTERFACE_DEFINED__ 28314 #define __IBandHost_INTERFACE_DEFINED__ 28315 28316 DEFINE_GUID(IID_IBandHost, 0xb9075c7c, 0xd48e, 0x403f, 0xab,0x99, 0xd6,0xc7,0x7a,0x10,0x84,0xac); 28317 #if defined(__cplusplus) && !defined(CINTERFACE) 28318 MIDL_INTERFACE("b9075c7c-d48e-403f-ab99-d6c77a1084ac") 28319 IBandHost : public IUnknown 28320 { 28321 virtual HRESULT STDMETHODCALLTYPE CreateBand( 28322 REFCLSID rclsidBand, 28323 WINBOOL fAvailable, 28324 WINBOOL fVisible, 28325 REFIID riid, 28326 void **ppv) = 0; 28327 28328 virtual HRESULT STDMETHODCALLTYPE SetBandAvailability( 28329 REFCLSID rclsidBand, 28330 WINBOOL fAvailable) = 0; 28331 28332 virtual HRESULT STDMETHODCALLTYPE DestroyBand( 28333 REFCLSID rclsidBand) = 0; 28334 28335 }; 28336 #ifdef __CRT_UUID_DECL 28337 __CRT_UUID_DECL(IBandHost, 0xb9075c7c, 0xd48e, 0x403f, 0xab,0x99, 0xd6,0xc7,0x7a,0x10,0x84,0xac) 28338 #endif 28339 #else 28340 typedef struct IBandHostVtbl { 28341 BEGIN_INTERFACE 28342 28343 /*** IUnknown methods ***/ 28344 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 28345 IBandHost *This, 28346 REFIID riid, 28347 void **ppvObject); 28348 28349 ULONG (STDMETHODCALLTYPE *AddRef)( 28350 IBandHost *This); 28351 28352 ULONG (STDMETHODCALLTYPE *Release)( 28353 IBandHost *This); 28354 28355 /*** IBandHost methods ***/ 28356 HRESULT (STDMETHODCALLTYPE *CreateBand)( 28357 IBandHost *This, 28358 REFCLSID rclsidBand, 28359 WINBOOL fAvailable, 28360 WINBOOL fVisible, 28361 REFIID riid, 28362 void **ppv); 28363 28364 HRESULT (STDMETHODCALLTYPE *SetBandAvailability)( 28365 IBandHost *This, 28366 REFCLSID rclsidBand, 28367 WINBOOL fAvailable); 28368 28369 HRESULT (STDMETHODCALLTYPE *DestroyBand)( 28370 IBandHost *This, 28371 REFCLSID rclsidBand); 28372 28373 END_INTERFACE 28374 } IBandHostVtbl; 28375 28376 interface IBandHost { 28377 CONST_VTBL IBandHostVtbl* lpVtbl; 28378 }; 28379 28380 #ifdef COBJMACROS 28381 #ifndef WIDL_C_INLINE_WRAPPERS 28382 /*** IUnknown methods ***/ 28383 #define IBandHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 28384 #define IBandHost_AddRef(This) (This)->lpVtbl->AddRef(This) 28385 #define IBandHost_Release(This) (This)->lpVtbl->Release(This) 28386 /*** IBandHost methods ***/ 28387 #define IBandHost_CreateBand(This,rclsidBand,fAvailable,fVisible,riid,ppv) (This)->lpVtbl->CreateBand(This,rclsidBand,fAvailable,fVisible,riid,ppv) 28388 #define IBandHost_SetBandAvailability(This,rclsidBand,fAvailable) (This)->lpVtbl->SetBandAvailability(This,rclsidBand,fAvailable) 28389 #define IBandHost_DestroyBand(This,rclsidBand) (This)->lpVtbl->DestroyBand(This,rclsidBand) 28390 #else 28391 /*** IUnknown methods ***/ 28392 static inline HRESULT IBandHost_QueryInterface(IBandHost* This,REFIID riid,void **ppvObject) { 28393 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 28394 } 28395 static inline ULONG IBandHost_AddRef(IBandHost* This) { 28396 return This->lpVtbl->AddRef(This); 28397 } 28398 static inline ULONG IBandHost_Release(IBandHost* This) { 28399 return This->lpVtbl->Release(This); 28400 } 28401 /*** IBandHost methods ***/ 28402 static inline HRESULT IBandHost_CreateBand(IBandHost* This,REFCLSID rclsidBand,WINBOOL fAvailable,WINBOOL fVisible,REFIID riid,void **ppv) { 28403 return This->lpVtbl->CreateBand(This,rclsidBand,fAvailable,fVisible,riid,ppv); 28404 } 28405 static inline HRESULT IBandHost_SetBandAvailability(IBandHost* This,REFCLSID rclsidBand,WINBOOL fAvailable) { 28406 return This->lpVtbl->SetBandAvailability(This,rclsidBand,fAvailable); 28407 } 28408 static inline HRESULT IBandHost_DestroyBand(IBandHost* This,REFCLSID rclsidBand) { 28409 return This->lpVtbl->DestroyBand(This,rclsidBand); 28410 } 28411 #endif 28412 #endif 28413 28414 #endif 28415 28416 28417 #endif /* __IBandHost_INTERFACE_DEFINED__ */ 28418 28419 28420 #define SID_SBandHost IID_IBandHost 28421 28422 typedef GUID EXPLORERPANE; 28423 28424 #if 0 28425 typedef EXPLORERPANE *REFEXPLORERPANE; 28426 #endif 28427 28428 #ifdef __cplusplus 28429 #define REFEXPLORERPANE const EXPLORERPANE & 28430 #else 28431 #define REFEXPLORERPANE const EXPLORERPANE * __MIDL_CONST 28432 #endif 28433 28434 /***************************************************************************** 28435 * IExplorerPaneVisibility interface 28436 */ 28437 #ifndef __IExplorerPaneVisibility_INTERFACE_DEFINED__ 28438 #define __IExplorerPaneVisibility_INTERFACE_DEFINED__ 28439 28440 enum _EXPLORERPANESTATE { 28441 EPS_DONTCARE = 0x0, 28442 EPS_DEFAULT_ON = 0x1, 28443 EPS_DEFAULT_OFF = 0x2, 28444 EPS_STATEMASK = 0xffff, 28445 EPS_INITIALSTATE = 0x10000, 28446 EPS_FORCE = 0x20000 28447 }; 28448 28449 typedef DWORD EXPLORERPANESTATE; 28450 28451 DEFINE_GUID(IID_IExplorerPaneVisibility, 0xe07010ec, 0xbc17, 0x44c0, 0x97,0xb0, 0x46,0xc7,0xc9,0x5b,0x9e,0xdc); 28452 #if defined(__cplusplus) && !defined(CINTERFACE) 28453 MIDL_INTERFACE("e07010ec-bc17-44c0-97b0-46c7c95b9edc") 28454 IExplorerPaneVisibility : public IUnknown 28455 { 28456 virtual HRESULT STDMETHODCALLTYPE GetPaneState( 28457 REFEXPLORERPANE ep, 28458 EXPLORERPANESTATE *peps) = 0; 28459 28460 }; 28461 #ifdef __CRT_UUID_DECL 28462 __CRT_UUID_DECL(IExplorerPaneVisibility, 0xe07010ec, 0xbc17, 0x44c0, 0x97,0xb0, 0x46,0xc7,0xc9,0x5b,0x9e,0xdc) 28463 #endif 28464 #else 28465 typedef struct IExplorerPaneVisibilityVtbl { 28466 BEGIN_INTERFACE 28467 28468 /*** IUnknown methods ***/ 28469 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 28470 IExplorerPaneVisibility *This, 28471 REFIID riid, 28472 void **ppvObject); 28473 28474 ULONG (STDMETHODCALLTYPE *AddRef)( 28475 IExplorerPaneVisibility *This); 28476 28477 ULONG (STDMETHODCALLTYPE *Release)( 28478 IExplorerPaneVisibility *This); 28479 28480 /*** IExplorerPaneVisibility methods ***/ 28481 HRESULT (STDMETHODCALLTYPE *GetPaneState)( 28482 IExplorerPaneVisibility *This, 28483 REFEXPLORERPANE ep, 28484 EXPLORERPANESTATE *peps); 28485 28486 END_INTERFACE 28487 } IExplorerPaneVisibilityVtbl; 28488 28489 interface IExplorerPaneVisibility { 28490 CONST_VTBL IExplorerPaneVisibilityVtbl* lpVtbl; 28491 }; 28492 28493 #ifdef COBJMACROS 28494 #ifndef WIDL_C_INLINE_WRAPPERS 28495 /*** IUnknown methods ***/ 28496 #define IExplorerPaneVisibility_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 28497 #define IExplorerPaneVisibility_AddRef(This) (This)->lpVtbl->AddRef(This) 28498 #define IExplorerPaneVisibility_Release(This) (This)->lpVtbl->Release(This) 28499 /*** IExplorerPaneVisibility methods ***/ 28500 #define IExplorerPaneVisibility_GetPaneState(This,ep,peps) (This)->lpVtbl->GetPaneState(This,ep,peps) 28501 #else 28502 /*** IUnknown methods ***/ 28503 static inline HRESULT IExplorerPaneVisibility_QueryInterface(IExplorerPaneVisibility* This,REFIID riid,void **ppvObject) { 28504 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 28505 } 28506 static inline ULONG IExplorerPaneVisibility_AddRef(IExplorerPaneVisibility* This) { 28507 return This->lpVtbl->AddRef(This); 28508 } 28509 static inline ULONG IExplorerPaneVisibility_Release(IExplorerPaneVisibility* This) { 28510 return This->lpVtbl->Release(This); 28511 } 28512 /*** IExplorerPaneVisibility methods ***/ 28513 static inline HRESULT IExplorerPaneVisibility_GetPaneState(IExplorerPaneVisibility* This,REFEXPLORERPANE ep,EXPLORERPANESTATE *peps) { 28514 return This->lpVtbl->GetPaneState(This,ep,peps); 28515 } 28516 #endif 28517 #endif 28518 28519 #endif 28520 28521 28522 #endif /* __IExplorerPaneVisibility_INTERFACE_DEFINED__ */ 28523 28524 28525 #define SID_ExplorerPaneVisibility IID_IExplorerPaneVisibility 28526 28527 /***************************************************************************** 28528 * IContextMenuCB interface 28529 */ 28530 #ifndef __IContextMenuCB_INTERFACE_DEFINED__ 28531 #define __IContextMenuCB_INTERFACE_DEFINED__ 28532 28533 DEFINE_GUID(IID_IContextMenuCB, 0x3409e930, 0x5a39, 0x11d1, 0x83,0xfa, 0x00,0xa0,0xc9,0x0d,0xc8,0x49); 28534 #if defined(__cplusplus) && !defined(CINTERFACE) 28535 MIDL_INTERFACE("3409e930-5a39-11d1-83fa-00a0c90dc849") 28536 IContextMenuCB : public IUnknown 28537 { 28538 virtual HRESULT STDMETHODCALLTYPE CallBack( 28539 IShellFolder *psf, 28540 HWND hwndOwner, 28541 IDataObject *pdtobj, 28542 UINT uMsg, 28543 WPARAM wParam, 28544 LPARAM lParam) = 0; 28545 28546 }; 28547 #ifdef __CRT_UUID_DECL 28548 __CRT_UUID_DECL(IContextMenuCB, 0x3409e930, 0x5a39, 0x11d1, 0x83,0xfa, 0x00,0xa0,0xc9,0x0d,0xc8,0x49) 28549 #endif 28550 #else 28551 typedef struct IContextMenuCBVtbl { 28552 BEGIN_INTERFACE 28553 28554 /*** IUnknown methods ***/ 28555 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 28556 IContextMenuCB *This, 28557 REFIID riid, 28558 void **ppvObject); 28559 28560 ULONG (STDMETHODCALLTYPE *AddRef)( 28561 IContextMenuCB *This); 28562 28563 ULONG (STDMETHODCALLTYPE *Release)( 28564 IContextMenuCB *This); 28565 28566 /*** IContextMenuCB methods ***/ 28567 HRESULT (STDMETHODCALLTYPE *CallBack)( 28568 IContextMenuCB *This, 28569 IShellFolder *psf, 28570 HWND hwndOwner, 28571 IDataObject *pdtobj, 28572 UINT uMsg, 28573 WPARAM wParam, 28574 LPARAM lParam); 28575 28576 END_INTERFACE 28577 } IContextMenuCBVtbl; 28578 28579 interface IContextMenuCB { 28580 CONST_VTBL IContextMenuCBVtbl* lpVtbl; 28581 }; 28582 28583 #ifdef COBJMACROS 28584 #ifndef WIDL_C_INLINE_WRAPPERS 28585 /*** IUnknown methods ***/ 28586 #define IContextMenuCB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 28587 #define IContextMenuCB_AddRef(This) (This)->lpVtbl->AddRef(This) 28588 #define IContextMenuCB_Release(This) (This)->lpVtbl->Release(This) 28589 /*** IContextMenuCB methods ***/ 28590 #define IContextMenuCB_CallBack(This,psf,hwndOwner,pdtobj,uMsg,wParam,lParam) (This)->lpVtbl->CallBack(This,psf,hwndOwner,pdtobj,uMsg,wParam,lParam) 28591 #else 28592 /*** IUnknown methods ***/ 28593 static inline HRESULT IContextMenuCB_QueryInterface(IContextMenuCB* This,REFIID riid,void **ppvObject) { 28594 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 28595 } 28596 static inline ULONG IContextMenuCB_AddRef(IContextMenuCB* This) { 28597 return This->lpVtbl->AddRef(This); 28598 } 28599 static inline ULONG IContextMenuCB_Release(IContextMenuCB* This) { 28600 return This->lpVtbl->Release(This); 28601 } 28602 /*** IContextMenuCB methods ***/ 28603 static inline HRESULT IContextMenuCB_CallBack(IContextMenuCB* This,IShellFolder *psf,HWND hwndOwner,IDataObject *pdtobj,UINT uMsg,WPARAM wParam,LPARAM lParam) { 28604 return This->lpVtbl->CallBack(This,psf,hwndOwner,pdtobj,uMsg,wParam,lParam); 28605 } 28606 #endif 28607 #endif 28608 28609 #endif 28610 28611 28612 #endif /* __IContextMenuCB_INTERFACE_DEFINED__ */ 28613 28614 #endif 28615 28616 /***************************************************************************** 28617 * IDefaultExtractIconInit interface 28618 */ 28619 #ifndef __IDefaultExtractIconInit_INTERFACE_DEFINED__ 28620 #define __IDefaultExtractIconInit_INTERFACE_DEFINED__ 28621 28622 DEFINE_GUID(IID_IDefaultExtractIconInit, 0x41ded17d, 0xd6b3, 0x4261, 0x99,0x7d, 0x88,0xc6,0x0e,0x4b,0x1d,0x58); 28623 #if defined(__cplusplus) && !defined(CINTERFACE) 28624 MIDL_INTERFACE("41ded17d-d6b3-4261-997d-88c60e4b1d58") 28625 IDefaultExtractIconInit : public IUnknown 28626 { 28627 virtual HRESULT STDMETHODCALLTYPE SetFlags( 28628 UINT uFlags) = 0; 28629 28630 virtual HRESULT STDMETHODCALLTYPE SetKey( 28631 HKEY hkey) = 0; 28632 28633 virtual HRESULT STDMETHODCALLTYPE SetNormalIcon( 28634 LPCWSTR pszFile, 28635 int iIcon) = 0; 28636 28637 virtual HRESULT STDMETHODCALLTYPE SetOpenIcon( 28638 LPCWSTR pszFile, 28639 int iIcon) = 0; 28640 28641 virtual HRESULT STDMETHODCALLTYPE SetShortcutIcon( 28642 LPCWSTR pszFile, 28643 int iIcon) = 0; 28644 28645 virtual HRESULT STDMETHODCALLTYPE SetDefaultIcon( 28646 LPCWSTR pszFile, 28647 int iIcon) = 0; 28648 28649 }; 28650 #ifdef __CRT_UUID_DECL 28651 __CRT_UUID_DECL(IDefaultExtractIconInit, 0x41ded17d, 0xd6b3, 0x4261, 0x99,0x7d, 0x88,0xc6,0x0e,0x4b,0x1d,0x58) 28652 #endif 28653 #else 28654 typedef struct IDefaultExtractIconInitVtbl { 28655 BEGIN_INTERFACE 28656 28657 /*** IUnknown methods ***/ 28658 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 28659 IDefaultExtractIconInit *This, 28660 REFIID riid, 28661 void **ppvObject); 28662 28663 ULONG (STDMETHODCALLTYPE *AddRef)( 28664 IDefaultExtractIconInit *This); 28665 28666 ULONG (STDMETHODCALLTYPE *Release)( 28667 IDefaultExtractIconInit *This); 28668 28669 /*** IDefaultExtractIconInit methods ***/ 28670 HRESULT (STDMETHODCALLTYPE *SetFlags)( 28671 IDefaultExtractIconInit *This, 28672 UINT uFlags); 28673 28674 HRESULT (STDMETHODCALLTYPE *SetKey)( 28675 IDefaultExtractIconInit *This, 28676 HKEY hkey); 28677 28678 HRESULT (STDMETHODCALLTYPE *SetNormalIcon)( 28679 IDefaultExtractIconInit *This, 28680 LPCWSTR pszFile, 28681 int iIcon); 28682 28683 HRESULT (STDMETHODCALLTYPE *SetOpenIcon)( 28684 IDefaultExtractIconInit *This, 28685 LPCWSTR pszFile, 28686 int iIcon); 28687 28688 HRESULT (STDMETHODCALLTYPE *SetShortcutIcon)( 28689 IDefaultExtractIconInit *This, 28690 LPCWSTR pszFile, 28691 int iIcon); 28692 28693 HRESULT (STDMETHODCALLTYPE *SetDefaultIcon)( 28694 IDefaultExtractIconInit *This, 28695 LPCWSTR pszFile, 28696 int iIcon); 28697 28698 END_INTERFACE 28699 } IDefaultExtractIconInitVtbl; 28700 28701 interface IDefaultExtractIconInit { 28702 CONST_VTBL IDefaultExtractIconInitVtbl* lpVtbl; 28703 }; 28704 28705 #ifdef COBJMACROS 28706 #ifndef WIDL_C_INLINE_WRAPPERS 28707 /*** IUnknown methods ***/ 28708 #define IDefaultExtractIconInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 28709 #define IDefaultExtractIconInit_AddRef(This) (This)->lpVtbl->AddRef(This) 28710 #define IDefaultExtractIconInit_Release(This) (This)->lpVtbl->Release(This) 28711 /*** IDefaultExtractIconInit methods ***/ 28712 #define IDefaultExtractIconInit_SetFlags(This,uFlags) (This)->lpVtbl->SetFlags(This,uFlags) 28713 #define IDefaultExtractIconInit_SetKey(This,hkey) (This)->lpVtbl->SetKey(This,hkey) 28714 #define IDefaultExtractIconInit_SetNormalIcon(This,pszFile,iIcon) (This)->lpVtbl->SetNormalIcon(This,pszFile,iIcon) 28715 #define IDefaultExtractIconInit_SetOpenIcon(This,pszFile,iIcon) (This)->lpVtbl->SetOpenIcon(This,pszFile,iIcon) 28716 #define IDefaultExtractIconInit_SetShortcutIcon(This,pszFile,iIcon) (This)->lpVtbl->SetShortcutIcon(This,pszFile,iIcon) 28717 #define IDefaultExtractIconInit_SetDefaultIcon(This,pszFile,iIcon) (This)->lpVtbl->SetDefaultIcon(This,pszFile,iIcon) 28718 #else 28719 /*** IUnknown methods ***/ 28720 static inline HRESULT IDefaultExtractIconInit_QueryInterface(IDefaultExtractIconInit* This,REFIID riid,void **ppvObject) { 28721 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 28722 } 28723 static inline ULONG IDefaultExtractIconInit_AddRef(IDefaultExtractIconInit* This) { 28724 return This->lpVtbl->AddRef(This); 28725 } 28726 static inline ULONG IDefaultExtractIconInit_Release(IDefaultExtractIconInit* This) { 28727 return This->lpVtbl->Release(This); 28728 } 28729 /*** IDefaultExtractIconInit methods ***/ 28730 static inline HRESULT IDefaultExtractIconInit_SetFlags(IDefaultExtractIconInit* This,UINT uFlags) { 28731 return This->lpVtbl->SetFlags(This,uFlags); 28732 } 28733 static inline HRESULT IDefaultExtractIconInit_SetKey(IDefaultExtractIconInit* This,HKEY hkey) { 28734 return This->lpVtbl->SetKey(This,hkey); 28735 } 28736 static inline HRESULT IDefaultExtractIconInit_SetNormalIcon(IDefaultExtractIconInit* This,LPCWSTR pszFile,int iIcon) { 28737 return This->lpVtbl->SetNormalIcon(This,pszFile,iIcon); 28738 } 28739 static inline HRESULT IDefaultExtractIconInit_SetOpenIcon(IDefaultExtractIconInit* This,LPCWSTR pszFile,int iIcon) { 28740 return This->lpVtbl->SetOpenIcon(This,pszFile,iIcon); 28741 } 28742 static inline HRESULT IDefaultExtractIconInit_SetShortcutIcon(IDefaultExtractIconInit* This,LPCWSTR pszFile,int iIcon) { 28743 return This->lpVtbl->SetShortcutIcon(This,pszFile,iIcon); 28744 } 28745 static inline HRESULT IDefaultExtractIconInit_SetDefaultIcon(IDefaultExtractIconInit* This,LPCWSTR pszFile,int iIcon) { 28746 return This->lpVtbl->SetDefaultIcon(This,pszFile,iIcon); 28747 } 28748 #endif 28749 #endif 28750 28751 #endif 28752 28753 28754 #endif /* __IDefaultExtractIconInit_INTERFACE_DEFINED__ */ 28755 28756 28757 STDAPI SHCreateDefaultExtractIcon(REFIID riid, void **ppv); 28758 28759 #ifndef __IEnumExplorerCommand_FWD_DEFINED__ 28760 #define __IEnumExplorerCommand_FWD_DEFINED__ 28761 typedef interface IEnumExplorerCommand IEnumExplorerCommand; 28762 #ifdef __cplusplus 28763 interface IEnumExplorerCommand; 28764 #endif /* __cplusplus */ 28765 #endif 28766 28767 28768 /***************************************************************************** 28769 * IExplorerCommand interface 28770 */ 28771 #ifndef __IExplorerCommand_INTERFACE_DEFINED__ 28772 #define __IExplorerCommand_INTERFACE_DEFINED__ 28773 28774 enum _EXPCMDSTATE { 28775 ECS_ENABLED = 0x0, 28776 ECS_DISABLED = 0x1, 28777 ECS_HIDDEN = 0x2, 28778 ECS_CHECKBOX = 0x4, 28779 ECS_CHECKED = 0x8, 28780 ECS_RADIOCHECK = 0x10 28781 }; 28782 28783 typedef DWORD EXPCMDSTATE; 28784 28785 enum _EXPCMDFLAGS { 28786 ECF_DEFAULT = 0x0, 28787 ECF_HASSUBCOMMANDS = 0x1, 28788 ECF_HASSPLITBUTTON = 0x2, 28789 ECF_HIDELABEL = 0x4, 28790 ECF_ISSEPARATOR = 0x8, 28791 ECF_HASLUASHIELD = 0x10, 28792 ECF_SEPARATORBEFORE = 0x20, 28793 ECF_SEPARATORAFTER = 0x40, 28794 ECF_ISDROPDOWN = 0x80, 28795 ECF_TOGGLEABLE = 0x100, 28796 ECF_AUTOMENUICONS = 0x200 28797 }; 28798 28799 typedef DWORD EXPCMDFLAGS; 28800 28801 DEFINE_GUID(IID_IExplorerCommand, 0xa08ce4d0, 0xfa25, 0x44ab, 0xb5,0x7c, 0xc7,0xb1,0xc3,0x23,0xe0,0xb9); 28802 #if defined(__cplusplus) && !defined(CINTERFACE) 28803 MIDL_INTERFACE("a08ce4d0-fa25-44ab-b57c-c7b1c323e0b9") 28804 IExplorerCommand : public IUnknown 28805 { 28806 virtual HRESULT STDMETHODCALLTYPE GetTitle( 28807 IShellItemArray *psiItemArray, 28808 LPWSTR *ppszName) = 0; 28809 28810 virtual HRESULT STDMETHODCALLTYPE GetIcon( 28811 IShellItemArray *psiItemArray, 28812 LPWSTR *ppszIcon) = 0; 28813 28814 virtual HRESULT STDMETHODCALLTYPE GetToolTip( 28815 IShellItemArray *psiItemArray, 28816 LPWSTR *ppszInfotip) = 0; 28817 28818 virtual HRESULT STDMETHODCALLTYPE GetCanonicalName( 28819 GUID *pguidCommandName) = 0; 28820 28821 virtual HRESULT STDMETHODCALLTYPE GetState( 28822 IShellItemArray *psiItemArray, 28823 WINBOOL fOkToBeSlow, 28824 EXPCMDSTATE *pCmdState) = 0; 28825 28826 virtual HRESULT STDMETHODCALLTYPE Invoke( 28827 IShellItemArray *psiItemArray, 28828 IBindCtx *pbc) = 0; 28829 28830 virtual HRESULT STDMETHODCALLTYPE GetFlags( 28831 EXPCMDFLAGS *pFlags) = 0; 28832 28833 virtual HRESULT STDMETHODCALLTYPE EnumSubCommands( 28834 IEnumExplorerCommand **ppEnum) = 0; 28835 28836 }; 28837 #ifdef __CRT_UUID_DECL 28838 __CRT_UUID_DECL(IExplorerCommand, 0xa08ce4d0, 0xfa25, 0x44ab, 0xb5,0x7c, 0xc7,0xb1,0xc3,0x23,0xe0,0xb9) 28839 #endif 28840 #else 28841 typedef struct IExplorerCommandVtbl { 28842 BEGIN_INTERFACE 28843 28844 /*** IUnknown methods ***/ 28845 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 28846 IExplorerCommand *This, 28847 REFIID riid, 28848 void **ppvObject); 28849 28850 ULONG (STDMETHODCALLTYPE *AddRef)( 28851 IExplorerCommand *This); 28852 28853 ULONG (STDMETHODCALLTYPE *Release)( 28854 IExplorerCommand *This); 28855 28856 /*** IExplorerCommand methods ***/ 28857 HRESULT (STDMETHODCALLTYPE *GetTitle)( 28858 IExplorerCommand *This, 28859 IShellItemArray *psiItemArray, 28860 LPWSTR *ppszName); 28861 28862 HRESULT (STDMETHODCALLTYPE *GetIcon)( 28863 IExplorerCommand *This, 28864 IShellItemArray *psiItemArray, 28865 LPWSTR *ppszIcon); 28866 28867 HRESULT (STDMETHODCALLTYPE *GetToolTip)( 28868 IExplorerCommand *This, 28869 IShellItemArray *psiItemArray, 28870 LPWSTR *ppszInfotip); 28871 28872 HRESULT (STDMETHODCALLTYPE *GetCanonicalName)( 28873 IExplorerCommand *This, 28874 GUID *pguidCommandName); 28875 28876 HRESULT (STDMETHODCALLTYPE *GetState)( 28877 IExplorerCommand *This, 28878 IShellItemArray *psiItemArray, 28879 WINBOOL fOkToBeSlow, 28880 EXPCMDSTATE *pCmdState); 28881 28882 HRESULT (STDMETHODCALLTYPE *Invoke)( 28883 IExplorerCommand *This, 28884 IShellItemArray *psiItemArray, 28885 IBindCtx *pbc); 28886 28887 HRESULT (STDMETHODCALLTYPE *GetFlags)( 28888 IExplorerCommand *This, 28889 EXPCMDFLAGS *pFlags); 28890 28891 HRESULT (STDMETHODCALLTYPE *EnumSubCommands)( 28892 IExplorerCommand *This, 28893 IEnumExplorerCommand **ppEnum); 28894 28895 END_INTERFACE 28896 } IExplorerCommandVtbl; 28897 28898 interface IExplorerCommand { 28899 CONST_VTBL IExplorerCommandVtbl* lpVtbl; 28900 }; 28901 28902 #ifdef COBJMACROS 28903 #ifndef WIDL_C_INLINE_WRAPPERS 28904 /*** IUnknown methods ***/ 28905 #define IExplorerCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 28906 #define IExplorerCommand_AddRef(This) (This)->lpVtbl->AddRef(This) 28907 #define IExplorerCommand_Release(This) (This)->lpVtbl->Release(This) 28908 /*** IExplorerCommand methods ***/ 28909 #define IExplorerCommand_GetTitle(This,psiItemArray,ppszName) (This)->lpVtbl->GetTitle(This,psiItemArray,ppszName) 28910 #define IExplorerCommand_GetIcon(This,psiItemArray,ppszIcon) (This)->lpVtbl->GetIcon(This,psiItemArray,ppszIcon) 28911 #define IExplorerCommand_GetToolTip(This,psiItemArray,ppszInfotip) (This)->lpVtbl->GetToolTip(This,psiItemArray,ppszInfotip) 28912 #define IExplorerCommand_GetCanonicalName(This,pguidCommandName) (This)->lpVtbl->GetCanonicalName(This,pguidCommandName) 28913 #define IExplorerCommand_GetState(This,psiItemArray,fOkToBeSlow,pCmdState) (This)->lpVtbl->GetState(This,psiItemArray,fOkToBeSlow,pCmdState) 28914 #define IExplorerCommand_Invoke(This,psiItemArray,pbc) (This)->lpVtbl->Invoke(This,psiItemArray,pbc) 28915 #define IExplorerCommand_GetFlags(This,pFlags) (This)->lpVtbl->GetFlags(This,pFlags) 28916 #define IExplorerCommand_EnumSubCommands(This,ppEnum) (This)->lpVtbl->EnumSubCommands(This,ppEnum) 28917 #else 28918 /*** IUnknown methods ***/ 28919 static inline HRESULT IExplorerCommand_QueryInterface(IExplorerCommand* This,REFIID riid,void **ppvObject) { 28920 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 28921 } 28922 static inline ULONG IExplorerCommand_AddRef(IExplorerCommand* This) { 28923 return This->lpVtbl->AddRef(This); 28924 } 28925 static inline ULONG IExplorerCommand_Release(IExplorerCommand* This) { 28926 return This->lpVtbl->Release(This); 28927 } 28928 /*** IExplorerCommand methods ***/ 28929 static inline HRESULT IExplorerCommand_GetTitle(IExplorerCommand* This,IShellItemArray *psiItemArray,LPWSTR *ppszName) { 28930 return This->lpVtbl->GetTitle(This,psiItemArray,ppszName); 28931 } 28932 static inline HRESULT IExplorerCommand_GetIcon(IExplorerCommand* This,IShellItemArray *psiItemArray,LPWSTR *ppszIcon) { 28933 return This->lpVtbl->GetIcon(This,psiItemArray,ppszIcon); 28934 } 28935 static inline HRESULT IExplorerCommand_GetToolTip(IExplorerCommand* This,IShellItemArray *psiItemArray,LPWSTR *ppszInfotip) { 28936 return This->lpVtbl->GetToolTip(This,psiItemArray,ppszInfotip); 28937 } 28938 static inline HRESULT IExplorerCommand_GetCanonicalName(IExplorerCommand* This,GUID *pguidCommandName) { 28939 return This->lpVtbl->GetCanonicalName(This,pguidCommandName); 28940 } 28941 static inline HRESULT IExplorerCommand_GetState(IExplorerCommand* This,IShellItemArray *psiItemArray,WINBOOL fOkToBeSlow,EXPCMDSTATE *pCmdState) { 28942 return This->lpVtbl->GetState(This,psiItemArray,fOkToBeSlow,pCmdState); 28943 } 28944 static inline HRESULT IExplorerCommand_Invoke(IExplorerCommand* This,IShellItemArray *psiItemArray,IBindCtx *pbc) { 28945 return This->lpVtbl->Invoke(This,psiItemArray,pbc); 28946 } 28947 static inline HRESULT IExplorerCommand_GetFlags(IExplorerCommand* This,EXPCMDFLAGS *pFlags) { 28948 return This->lpVtbl->GetFlags(This,pFlags); 28949 } 28950 static inline HRESULT IExplorerCommand_EnumSubCommands(IExplorerCommand* This,IEnumExplorerCommand **ppEnum) { 28951 return This->lpVtbl->EnumSubCommands(This,ppEnum); 28952 } 28953 #endif 28954 #endif 28955 28956 #endif 28957 28958 28959 #endif /* __IExplorerCommand_INTERFACE_DEFINED__ */ 28960 28961 28962 /***************************************************************************** 28963 * IExplorerCommandState interface 28964 */ 28965 #ifndef __IExplorerCommandState_INTERFACE_DEFINED__ 28966 #define __IExplorerCommandState_INTERFACE_DEFINED__ 28967 28968 DEFINE_GUID(IID_IExplorerCommandState, 0xbddacb60, 0x7657, 0x47ae, 0x84,0x45, 0xd2,0x3e,0x1a,0xcf,0x82,0xae); 28969 #if defined(__cplusplus) && !defined(CINTERFACE) 28970 MIDL_INTERFACE("bddacb60-7657-47ae-8445-d23e1acf82ae") 28971 IExplorerCommandState : public IUnknown 28972 { 28973 virtual HRESULT STDMETHODCALLTYPE GetState( 28974 IShellItemArray *psiItemArray, 28975 WINBOOL fOkToBeSlow, 28976 EXPCMDSTATE *pCmdState) = 0; 28977 28978 }; 28979 #ifdef __CRT_UUID_DECL 28980 __CRT_UUID_DECL(IExplorerCommandState, 0xbddacb60, 0x7657, 0x47ae, 0x84,0x45, 0xd2,0x3e,0x1a,0xcf,0x82,0xae) 28981 #endif 28982 #else 28983 typedef struct IExplorerCommandStateVtbl { 28984 BEGIN_INTERFACE 28985 28986 /*** IUnknown methods ***/ 28987 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 28988 IExplorerCommandState *This, 28989 REFIID riid, 28990 void **ppvObject); 28991 28992 ULONG (STDMETHODCALLTYPE *AddRef)( 28993 IExplorerCommandState *This); 28994 28995 ULONG (STDMETHODCALLTYPE *Release)( 28996 IExplorerCommandState *This); 28997 28998 /*** IExplorerCommandState methods ***/ 28999 HRESULT (STDMETHODCALLTYPE *GetState)( 29000 IExplorerCommandState *This, 29001 IShellItemArray *psiItemArray, 29002 WINBOOL fOkToBeSlow, 29003 EXPCMDSTATE *pCmdState); 29004 29005 END_INTERFACE 29006 } IExplorerCommandStateVtbl; 29007 29008 interface IExplorerCommandState { 29009 CONST_VTBL IExplorerCommandStateVtbl* lpVtbl; 29010 }; 29011 29012 #ifdef COBJMACROS 29013 #ifndef WIDL_C_INLINE_WRAPPERS 29014 /*** IUnknown methods ***/ 29015 #define IExplorerCommandState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 29016 #define IExplorerCommandState_AddRef(This) (This)->lpVtbl->AddRef(This) 29017 #define IExplorerCommandState_Release(This) (This)->lpVtbl->Release(This) 29018 /*** IExplorerCommandState methods ***/ 29019 #define IExplorerCommandState_GetState(This,psiItemArray,fOkToBeSlow,pCmdState) (This)->lpVtbl->GetState(This,psiItemArray,fOkToBeSlow,pCmdState) 29020 #else 29021 /*** IUnknown methods ***/ 29022 static inline HRESULT IExplorerCommandState_QueryInterface(IExplorerCommandState* This,REFIID riid,void **ppvObject) { 29023 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 29024 } 29025 static inline ULONG IExplorerCommandState_AddRef(IExplorerCommandState* This) { 29026 return This->lpVtbl->AddRef(This); 29027 } 29028 static inline ULONG IExplorerCommandState_Release(IExplorerCommandState* This) { 29029 return This->lpVtbl->Release(This); 29030 } 29031 /*** IExplorerCommandState methods ***/ 29032 static inline HRESULT IExplorerCommandState_GetState(IExplorerCommandState* This,IShellItemArray *psiItemArray,WINBOOL fOkToBeSlow,EXPCMDSTATE *pCmdState) { 29033 return This->lpVtbl->GetState(This,psiItemArray,fOkToBeSlow,pCmdState); 29034 } 29035 #endif 29036 #endif 29037 29038 #endif 29039 29040 29041 #endif /* __IExplorerCommandState_INTERFACE_DEFINED__ */ 29042 29043 29044 /***************************************************************************** 29045 * IInitializeCommand interface 29046 */ 29047 #ifndef __IInitializeCommand_INTERFACE_DEFINED__ 29048 #define __IInitializeCommand_INTERFACE_DEFINED__ 29049 29050 DEFINE_GUID(IID_IInitializeCommand, 0x85075acf, 0x231f, 0x40ea, 0x96,0x10, 0xd2,0x6b,0x7b,0x58,0xf6,0x38); 29051 #if defined(__cplusplus) && !defined(CINTERFACE) 29052 MIDL_INTERFACE("85075acf-231f-40ea-9610-d26b7b58f638") 29053 IInitializeCommand : public IUnknown 29054 { 29055 virtual HRESULT STDMETHODCALLTYPE Initialize( 29056 LPCWSTR pszCommandName, 29057 IPropertyBag *ppb) = 0; 29058 29059 }; 29060 #ifdef __CRT_UUID_DECL 29061 __CRT_UUID_DECL(IInitializeCommand, 0x85075acf, 0x231f, 0x40ea, 0x96,0x10, 0xd2,0x6b,0x7b,0x58,0xf6,0x38) 29062 #endif 29063 #else 29064 typedef struct IInitializeCommandVtbl { 29065 BEGIN_INTERFACE 29066 29067 /*** IUnknown methods ***/ 29068 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 29069 IInitializeCommand *This, 29070 REFIID riid, 29071 void **ppvObject); 29072 29073 ULONG (STDMETHODCALLTYPE *AddRef)( 29074 IInitializeCommand *This); 29075 29076 ULONG (STDMETHODCALLTYPE *Release)( 29077 IInitializeCommand *This); 29078 29079 /*** IInitializeCommand methods ***/ 29080 HRESULT (STDMETHODCALLTYPE *Initialize)( 29081 IInitializeCommand *This, 29082 LPCWSTR pszCommandName, 29083 IPropertyBag *ppb); 29084 29085 END_INTERFACE 29086 } IInitializeCommandVtbl; 29087 29088 interface IInitializeCommand { 29089 CONST_VTBL IInitializeCommandVtbl* lpVtbl; 29090 }; 29091 29092 #ifdef COBJMACROS 29093 #ifndef WIDL_C_INLINE_WRAPPERS 29094 /*** IUnknown methods ***/ 29095 #define IInitializeCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 29096 #define IInitializeCommand_AddRef(This) (This)->lpVtbl->AddRef(This) 29097 #define IInitializeCommand_Release(This) (This)->lpVtbl->Release(This) 29098 /*** IInitializeCommand methods ***/ 29099 #define IInitializeCommand_Initialize(This,pszCommandName,ppb) (This)->lpVtbl->Initialize(This,pszCommandName,ppb) 29100 #else 29101 /*** IUnknown methods ***/ 29102 static inline HRESULT IInitializeCommand_QueryInterface(IInitializeCommand* This,REFIID riid,void **ppvObject) { 29103 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 29104 } 29105 static inline ULONG IInitializeCommand_AddRef(IInitializeCommand* This) { 29106 return This->lpVtbl->AddRef(This); 29107 } 29108 static inline ULONG IInitializeCommand_Release(IInitializeCommand* This) { 29109 return This->lpVtbl->Release(This); 29110 } 29111 /*** IInitializeCommand methods ***/ 29112 static inline HRESULT IInitializeCommand_Initialize(IInitializeCommand* This,LPCWSTR pszCommandName,IPropertyBag *ppb) { 29113 return This->lpVtbl->Initialize(This,pszCommandName,ppb); 29114 } 29115 #endif 29116 #endif 29117 29118 #endif 29119 29120 29121 #endif /* __IInitializeCommand_INTERFACE_DEFINED__ */ 29122 29123 29124 /***************************************************************************** 29125 * IEnumExplorerCommand interface 29126 */ 29127 #ifndef __IEnumExplorerCommand_INTERFACE_DEFINED__ 29128 #define __IEnumExplorerCommand_INTERFACE_DEFINED__ 29129 29130 DEFINE_GUID(IID_IEnumExplorerCommand, 0xa88826f8, 0x186f, 0x4987, 0xaa,0xde, 0xea,0x0c,0xef,0x8f,0xbf,0xe8); 29131 #if defined(__cplusplus) && !defined(CINTERFACE) 29132 MIDL_INTERFACE("a88826f8-186f-4987-aade-ea0cef8fbfe8") 29133 IEnumExplorerCommand : public IUnknown 29134 { 29135 virtual HRESULT STDMETHODCALLTYPE Next( 29136 ULONG celt, 29137 IExplorerCommand **pUICommand, 29138 ULONG *pceltFetched) = 0; 29139 29140 virtual HRESULT STDMETHODCALLTYPE Skip( 29141 ULONG celt) = 0; 29142 29143 virtual HRESULT STDMETHODCALLTYPE Reset( 29144 ) = 0; 29145 29146 virtual HRESULT STDMETHODCALLTYPE Clone( 29147 IEnumExplorerCommand **ppenum) = 0; 29148 29149 }; 29150 #ifdef __CRT_UUID_DECL 29151 __CRT_UUID_DECL(IEnumExplorerCommand, 0xa88826f8, 0x186f, 0x4987, 0xaa,0xde, 0xea,0x0c,0xef,0x8f,0xbf,0xe8) 29152 #endif 29153 #else 29154 typedef struct IEnumExplorerCommandVtbl { 29155 BEGIN_INTERFACE 29156 29157 /*** IUnknown methods ***/ 29158 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 29159 IEnumExplorerCommand *This, 29160 REFIID riid, 29161 void **ppvObject); 29162 29163 ULONG (STDMETHODCALLTYPE *AddRef)( 29164 IEnumExplorerCommand *This); 29165 29166 ULONG (STDMETHODCALLTYPE *Release)( 29167 IEnumExplorerCommand *This); 29168 29169 /*** IEnumExplorerCommand methods ***/ 29170 HRESULT (STDMETHODCALLTYPE *Next)( 29171 IEnumExplorerCommand *This, 29172 ULONG celt, 29173 IExplorerCommand **pUICommand, 29174 ULONG *pceltFetched); 29175 29176 HRESULT (STDMETHODCALLTYPE *Skip)( 29177 IEnumExplorerCommand *This, 29178 ULONG celt); 29179 29180 HRESULT (STDMETHODCALLTYPE *Reset)( 29181 IEnumExplorerCommand *This); 29182 29183 HRESULT (STDMETHODCALLTYPE *Clone)( 29184 IEnumExplorerCommand *This, 29185 IEnumExplorerCommand **ppenum); 29186 29187 END_INTERFACE 29188 } IEnumExplorerCommandVtbl; 29189 29190 interface IEnumExplorerCommand { 29191 CONST_VTBL IEnumExplorerCommandVtbl* lpVtbl; 29192 }; 29193 29194 #ifdef COBJMACROS 29195 #ifndef WIDL_C_INLINE_WRAPPERS 29196 /*** IUnknown methods ***/ 29197 #define IEnumExplorerCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 29198 #define IEnumExplorerCommand_AddRef(This) (This)->lpVtbl->AddRef(This) 29199 #define IEnumExplorerCommand_Release(This) (This)->lpVtbl->Release(This) 29200 /*** IEnumExplorerCommand methods ***/ 29201 #define IEnumExplorerCommand_Next(This,celt,pUICommand,pceltFetched) (This)->lpVtbl->Next(This,celt,pUICommand,pceltFetched) 29202 #define IEnumExplorerCommand_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 29203 #define IEnumExplorerCommand_Reset(This) (This)->lpVtbl->Reset(This) 29204 #define IEnumExplorerCommand_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 29205 #else 29206 /*** IUnknown methods ***/ 29207 static inline HRESULT IEnumExplorerCommand_QueryInterface(IEnumExplorerCommand* This,REFIID riid,void **ppvObject) { 29208 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 29209 } 29210 static inline ULONG IEnumExplorerCommand_AddRef(IEnumExplorerCommand* This) { 29211 return This->lpVtbl->AddRef(This); 29212 } 29213 static inline ULONG IEnumExplorerCommand_Release(IEnumExplorerCommand* This) { 29214 return This->lpVtbl->Release(This); 29215 } 29216 /*** IEnumExplorerCommand methods ***/ 29217 static inline HRESULT IEnumExplorerCommand_Next(IEnumExplorerCommand* This,ULONG celt,IExplorerCommand **pUICommand,ULONG *pceltFetched) { 29218 return This->lpVtbl->Next(This,celt,pUICommand,pceltFetched); 29219 } 29220 static inline HRESULT IEnumExplorerCommand_Skip(IEnumExplorerCommand* This,ULONG celt) { 29221 return This->lpVtbl->Skip(This,celt); 29222 } 29223 static inline HRESULT IEnumExplorerCommand_Reset(IEnumExplorerCommand* This) { 29224 return This->lpVtbl->Reset(This); 29225 } 29226 static inline HRESULT IEnumExplorerCommand_Clone(IEnumExplorerCommand* This,IEnumExplorerCommand **ppenum) { 29227 return This->lpVtbl->Clone(This,ppenum); 29228 } 29229 #endif 29230 #endif 29231 29232 #endif 29233 29234 HRESULT STDMETHODCALLTYPE IEnumExplorerCommand_RemoteNext_Proxy( 29235 IEnumExplorerCommand* This, 29236 ULONG celt, 29237 IExplorerCommand **pUICommand, 29238 ULONG *pceltFetched); 29239 void __RPC_STUB IEnumExplorerCommand_RemoteNext_Stub( 29240 IRpcStubBuffer* This, 29241 IRpcChannelBuffer* pRpcChannelBuffer, 29242 PRPC_MESSAGE pRpcMessage, 29243 DWORD* pdwStubPhase); 29244 HRESULT CALLBACK IEnumExplorerCommand_Next_Proxy( 29245 IEnumExplorerCommand* This, 29246 ULONG celt, 29247 IExplorerCommand **pUICommand, 29248 ULONG *pceltFetched); 29249 HRESULT __RPC_STUB IEnumExplorerCommand_Next_Stub( 29250 IEnumExplorerCommand* This, 29251 ULONG celt, 29252 IExplorerCommand **pUICommand, 29253 ULONG *pceltFetched); 29254 29255 #endif /* __IEnumExplorerCommand_INTERFACE_DEFINED__ */ 29256 29257 29258 /***************************************************************************** 29259 * IExplorerCommandProvider interface 29260 */ 29261 #ifndef __IExplorerCommandProvider_INTERFACE_DEFINED__ 29262 #define __IExplorerCommandProvider_INTERFACE_DEFINED__ 29263 29264 DEFINE_GUID(IID_IExplorerCommandProvider, 0x64961751, 0x0835, 0x43c0, 0x8f,0xfe, 0xd5,0x76,0x86,0x53,0x0e,0x64); 29265 #if defined(__cplusplus) && !defined(CINTERFACE) 29266 MIDL_INTERFACE("64961751-0835-43c0-8ffe-d57686530e64") 29267 IExplorerCommandProvider : public IUnknown 29268 { 29269 virtual HRESULT STDMETHODCALLTYPE GetCommands( 29270 IUnknown *punkSite, 29271 REFIID riid, 29272 void **ppv) = 0; 29273 29274 virtual HRESULT STDMETHODCALLTYPE GetCommand( 29275 REFGUID rguidCommandId, 29276 REFIID riid, 29277 void **ppv) = 0; 29278 29279 }; 29280 #ifdef __CRT_UUID_DECL 29281 __CRT_UUID_DECL(IExplorerCommandProvider, 0x64961751, 0x0835, 0x43c0, 0x8f,0xfe, 0xd5,0x76,0x86,0x53,0x0e,0x64) 29282 #endif 29283 #else 29284 typedef struct IExplorerCommandProviderVtbl { 29285 BEGIN_INTERFACE 29286 29287 /*** IUnknown methods ***/ 29288 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 29289 IExplorerCommandProvider *This, 29290 REFIID riid, 29291 void **ppvObject); 29292 29293 ULONG (STDMETHODCALLTYPE *AddRef)( 29294 IExplorerCommandProvider *This); 29295 29296 ULONG (STDMETHODCALLTYPE *Release)( 29297 IExplorerCommandProvider *This); 29298 29299 /*** IExplorerCommandProvider methods ***/ 29300 HRESULT (STDMETHODCALLTYPE *GetCommands)( 29301 IExplorerCommandProvider *This, 29302 IUnknown *punkSite, 29303 REFIID riid, 29304 void **ppv); 29305 29306 HRESULT (STDMETHODCALLTYPE *GetCommand)( 29307 IExplorerCommandProvider *This, 29308 REFGUID rguidCommandId, 29309 REFIID riid, 29310 void **ppv); 29311 29312 END_INTERFACE 29313 } IExplorerCommandProviderVtbl; 29314 29315 interface IExplorerCommandProvider { 29316 CONST_VTBL IExplorerCommandProviderVtbl* lpVtbl; 29317 }; 29318 29319 #ifdef COBJMACROS 29320 #ifndef WIDL_C_INLINE_WRAPPERS 29321 /*** IUnknown methods ***/ 29322 #define IExplorerCommandProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 29323 #define IExplorerCommandProvider_AddRef(This) (This)->lpVtbl->AddRef(This) 29324 #define IExplorerCommandProvider_Release(This) (This)->lpVtbl->Release(This) 29325 /*** IExplorerCommandProvider methods ***/ 29326 #define IExplorerCommandProvider_GetCommands(This,punkSite,riid,ppv) (This)->lpVtbl->GetCommands(This,punkSite,riid,ppv) 29327 #define IExplorerCommandProvider_GetCommand(This,rguidCommandId,riid,ppv) (This)->lpVtbl->GetCommand(This,rguidCommandId,riid,ppv) 29328 #else 29329 /*** IUnknown methods ***/ 29330 static inline HRESULT IExplorerCommandProvider_QueryInterface(IExplorerCommandProvider* This,REFIID riid,void **ppvObject) { 29331 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 29332 } 29333 static inline ULONG IExplorerCommandProvider_AddRef(IExplorerCommandProvider* This) { 29334 return This->lpVtbl->AddRef(This); 29335 } 29336 static inline ULONG IExplorerCommandProvider_Release(IExplorerCommandProvider* This) { 29337 return This->lpVtbl->Release(This); 29338 } 29339 /*** IExplorerCommandProvider methods ***/ 29340 static inline HRESULT IExplorerCommandProvider_GetCommands(IExplorerCommandProvider* This,IUnknown *punkSite,REFIID riid,void **ppv) { 29341 return This->lpVtbl->GetCommands(This,punkSite,riid,ppv); 29342 } 29343 static inline HRESULT IExplorerCommandProvider_GetCommand(IExplorerCommandProvider* This,REFGUID rguidCommandId,REFIID riid,void **ppv) { 29344 return This->lpVtbl->GetCommand(This,rguidCommandId,riid,ppv); 29345 } 29346 #endif 29347 #endif 29348 29349 #endif 29350 29351 29352 #endif /* __IExplorerCommandProvider_INTERFACE_DEFINED__ */ 29353 29354 29355 typedef HANDLE HTHEME; 29356 29357 /***************************************************************************** 29358 * IInitializeNetworkFolder interface 29359 */ 29360 #ifndef __IInitializeNetworkFolder_INTERFACE_DEFINED__ 29361 #define __IInitializeNetworkFolder_INTERFACE_DEFINED__ 29362 29363 DEFINE_GUID(IID_IInitializeNetworkFolder, 0x6e0f9881, 0x42a8, 0x4f2a, 0x97,0xf8, 0x8a,0xf4,0xe0,0x26,0xd9,0x2d); 29364 #if defined(__cplusplus) && !defined(CINTERFACE) 29365 MIDL_INTERFACE("6e0f9881-42a8-4f2a-97f8-8af4e026d92d") 29366 IInitializeNetworkFolder : public IUnknown 29367 { 29368 virtual HRESULT STDMETHODCALLTYPE Initialize( 29369 PCIDLIST_ABSOLUTE pidl, 29370 PCIDLIST_ABSOLUTE pidlTarget, 29371 UINT uDisplayType, 29372 LPCWSTR pszResName, 29373 LPCWSTR pszProvider) = 0; 29374 29375 }; 29376 #ifdef __CRT_UUID_DECL 29377 __CRT_UUID_DECL(IInitializeNetworkFolder, 0x6e0f9881, 0x42a8, 0x4f2a, 0x97,0xf8, 0x8a,0xf4,0xe0,0x26,0xd9,0x2d) 29378 #endif 29379 #else 29380 typedef struct IInitializeNetworkFolderVtbl { 29381 BEGIN_INTERFACE 29382 29383 /*** IUnknown methods ***/ 29384 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 29385 IInitializeNetworkFolder *This, 29386 REFIID riid, 29387 void **ppvObject); 29388 29389 ULONG (STDMETHODCALLTYPE *AddRef)( 29390 IInitializeNetworkFolder *This); 29391 29392 ULONG (STDMETHODCALLTYPE *Release)( 29393 IInitializeNetworkFolder *This); 29394 29395 /*** IInitializeNetworkFolder methods ***/ 29396 HRESULT (STDMETHODCALLTYPE *Initialize)( 29397 IInitializeNetworkFolder *This, 29398 PCIDLIST_ABSOLUTE pidl, 29399 PCIDLIST_ABSOLUTE pidlTarget, 29400 UINT uDisplayType, 29401 LPCWSTR pszResName, 29402 LPCWSTR pszProvider); 29403 29404 END_INTERFACE 29405 } IInitializeNetworkFolderVtbl; 29406 29407 interface IInitializeNetworkFolder { 29408 CONST_VTBL IInitializeNetworkFolderVtbl* lpVtbl; 29409 }; 29410 29411 #ifdef COBJMACROS 29412 #ifndef WIDL_C_INLINE_WRAPPERS 29413 /*** IUnknown methods ***/ 29414 #define IInitializeNetworkFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 29415 #define IInitializeNetworkFolder_AddRef(This) (This)->lpVtbl->AddRef(This) 29416 #define IInitializeNetworkFolder_Release(This) (This)->lpVtbl->Release(This) 29417 /*** IInitializeNetworkFolder methods ***/ 29418 #define IInitializeNetworkFolder_Initialize(This,pidl,pidlTarget,uDisplayType,pszResName,pszProvider) (This)->lpVtbl->Initialize(This,pidl,pidlTarget,uDisplayType,pszResName,pszProvider) 29419 #else 29420 /*** IUnknown methods ***/ 29421 static inline HRESULT IInitializeNetworkFolder_QueryInterface(IInitializeNetworkFolder* This,REFIID riid,void **ppvObject) { 29422 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 29423 } 29424 static inline ULONG IInitializeNetworkFolder_AddRef(IInitializeNetworkFolder* This) { 29425 return This->lpVtbl->AddRef(This); 29426 } 29427 static inline ULONG IInitializeNetworkFolder_Release(IInitializeNetworkFolder* This) { 29428 return This->lpVtbl->Release(This); 29429 } 29430 /*** IInitializeNetworkFolder methods ***/ 29431 static inline HRESULT IInitializeNetworkFolder_Initialize(IInitializeNetworkFolder* This,PCIDLIST_ABSOLUTE pidl,PCIDLIST_ABSOLUTE pidlTarget,UINT uDisplayType,LPCWSTR pszResName,LPCWSTR pszProvider) { 29432 return This->lpVtbl->Initialize(This,pidl,pidlTarget,uDisplayType,pszResName,pszProvider); 29433 } 29434 #endif 29435 #endif 29436 29437 #endif 29438 29439 29440 #endif /* __IInitializeNetworkFolder_INTERFACE_DEFINED__ */ 29441 29442 29443 typedef enum CPVIEW { 29444 CPVIEW_CLASSIC = 0, 29445 CPVIEW_ALLITEMS = CPVIEW_CLASSIC, 29446 CPVIEW_CATEGORY = 1, 29447 CPVIEW_HOME = CPVIEW_CATEGORY 29448 } CPVIEW; 29449 29450 /***************************************************************************** 29451 * IOpenControlPanel interface 29452 */ 29453 #ifndef __IOpenControlPanel_INTERFACE_DEFINED__ 29454 #define __IOpenControlPanel_INTERFACE_DEFINED__ 29455 29456 DEFINE_GUID(IID_IOpenControlPanel, 0xd11ad862, 0x66de, 0x4df4, 0xbf,0x6c, 0x1f,0x56,0x21,0x99,0x6a,0xf1); 29457 #if defined(__cplusplus) && !defined(CINTERFACE) 29458 MIDL_INTERFACE("d11ad862-66de-4df4-bf6c-1f5621996af1") 29459 IOpenControlPanel : public IUnknown 29460 { 29461 virtual HRESULT STDMETHODCALLTYPE Open( 29462 LPCWSTR pszName, 29463 LPCWSTR pszPage, 29464 IUnknown *punkSite) = 0; 29465 29466 virtual HRESULT STDMETHODCALLTYPE GetPath( 29467 LPCWSTR pszName, 29468 LPWSTR pszPath, 29469 UINT cchPath) = 0; 29470 29471 virtual HRESULT STDMETHODCALLTYPE GetCurrentView( 29472 CPVIEW *pView) = 0; 29473 29474 }; 29475 #ifdef __CRT_UUID_DECL 29476 __CRT_UUID_DECL(IOpenControlPanel, 0xd11ad862, 0x66de, 0x4df4, 0xbf,0x6c, 0x1f,0x56,0x21,0x99,0x6a,0xf1) 29477 #endif 29478 #else 29479 typedef struct IOpenControlPanelVtbl { 29480 BEGIN_INTERFACE 29481 29482 /*** IUnknown methods ***/ 29483 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 29484 IOpenControlPanel *This, 29485 REFIID riid, 29486 void **ppvObject); 29487 29488 ULONG (STDMETHODCALLTYPE *AddRef)( 29489 IOpenControlPanel *This); 29490 29491 ULONG (STDMETHODCALLTYPE *Release)( 29492 IOpenControlPanel *This); 29493 29494 /*** IOpenControlPanel methods ***/ 29495 HRESULT (STDMETHODCALLTYPE *Open)( 29496 IOpenControlPanel *This, 29497 LPCWSTR pszName, 29498 LPCWSTR pszPage, 29499 IUnknown *punkSite); 29500 29501 HRESULT (STDMETHODCALLTYPE *GetPath)( 29502 IOpenControlPanel *This, 29503 LPCWSTR pszName, 29504 LPWSTR pszPath, 29505 UINT cchPath); 29506 29507 HRESULT (STDMETHODCALLTYPE *GetCurrentView)( 29508 IOpenControlPanel *This, 29509 CPVIEW *pView); 29510 29511 END_INTERFACE 29512 } IOpenControlPanelVtbl; 29513 29514 interface IOpenControlPanel { 29515 CONST_VTBL IOpenControlPanelVtbl* lpVtbl; 29516 }; 29517 29518 #ifdef COBJMACROS 29519 #ifndef WIDL_C_INLINE_WRAPPERS 29520 /*** IUnknown methods ***/ 29521 #define IOpenControlPanel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 29522 #define IOpenControlPanel_AddRef(This) (This)->lpVtbl->AddRef(This) 29523 #define IOpenControlPanel_Release(This) (This)->lpVtbl->Release(This) 29524 /*** IOpenControlPanel methods ***/ 29525 #define IOpenControlPanel_Open(This,pszName,pszPage,punkSite) (This)->lpVtbl->Open(This,pszName,pszPage,punkSite) 29526 #define IOpenControlPanel_GetPath(This,pszName,pszPath,cchPath) (This)->lpVtbl->GetPath(This,pszName,pszPath,cchPath) 29527 #define IOpenControlPanel_GetCurrentView(This,pView) (This)->lpVtbl->GetCurrentView(This,pView) 29528 #else 29529 /*** IUnknown methods ***/ 29530 static inline HRESULT IOpenControlPanel_QueryInterface(IOpenControlPanel* This,REFIID riid,void **ppvObject) { 29531 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 29532 } 29533 static inline ULONG IOpenControlPanel_AddRef(IOpenControlPanel* This) { 29534 return This->lpVtbl->AddRef(This); 29535 } 29536 static inline ULONG IOpenControlPanel_Release(IOpenControlPanel* This) { 29537 return This->lpVtbl->Release(This); 29538 } 29539 /*** IOpenControlPanel methods ***/ 29540 static inline HRESULT IOpenControlPanel_Open(IOpenControlPanel* This,LPCWSTR pszName,LPCWSTR pszPage,IUnknown *punkSite) { 29541 return This->lpVtbl->Open(This,pszName,pszPage,punkSite); 29542 } 29543 static inline HRESULT IOpenControlPanel_GetPath(IOpenControlPanel* This,LPCWSTR pszName,LPWSTR pszPath,UINT cchPath) { 29544 return This->lpVtbl->GetPath(This,pszName,pszPath,cchPath); 29545 } 29546 static inline HRESULT IOpenControlPanel_GetCurrentView(IOpenControlPanel* This,CPVIEW *pView) { 29547 return This->lpVtbl->GetCurrentView(This,pView); 29548 } 29549 #endif 29550 #endif 29551 29552 #endif 29553 29554 29555 #endif /* __IOpenControlPanel_INTERFACE_DEFINED__ */ 29556 29557 29558 /***************************************************************************** 29559 * IComputerInfoChangeNotify interface 29560 */ 29561 #ifndef __IComputerInfoChangeNotify_INTERFACE_DEFINED__ 29562 #define __IComputerInfoChangeNotify_INTERFACE_DEFINED__ 29563 29564 DEFINE_GUID(IID_IComputerInfoChangeNotify, 0x0df60d92, 0x6818, 0x46d6, 0xb3,0x58, 0xd6,0x61,0x70,0xdd,0xe4,0x66); 29565 #if defined(__cplusplus) && !defined(CINTERFACE) 29566 MIDL_INTERFACE("0df60d92-6818-46d6-b358-d66170dde466") 29567 IComputerInfoChangeNotify : public IUnknown 29568 { 29569 virtual HRESULT STDMETHODCALLTYPE ComputerInfoChanged( 29570 ) = 0; 29571 29572 }; 29573 #ifdef __CRT_UUID_DECL 29574 __CRT_UUID_DECL(IComputerInfoChangeNotify, 0x0df60d92, 0x6818, 0x46d6, 0xb3,0x58, 0xd6,0x61,0x70,0xdd,0xe4,0x66) 29575 #endif 29576 #else 29577 typedef struct IComputerInfoChangeNotifyVtbl { 29578 BEGIN_INTERFACE 29579 29580 /*** IUnknown methods ***/ 29581 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 29582 IComputerInfoChangeNotify *This, 29583 REFIID riid, 29584 void **ppvObject); 29585 29586 ULONG (STDMETHODCALLTYPE *AddRef)( 29587 IComputerInfoChangeNotify *This); 29588 29589 ULONG (STDMETHODCALLTYPE *Release)( 29590 IComputerInfoChangeNotify *This); 29591 29592 /*** IComputerInfoChangeNotify methods ***/ 29593 HRESULT (STDMETHODCALLTYPE *ComputerInfoChanged)( 29594 IComputerInfoChangeNotify *This); 29595 29596 END_INTERFACE 29597 } IComputerInfoChangeNotifyVtbl; 29598 29599 interface IComputerInfoChangeNotify { 29600 CONST_VTBL IComputerInfoChangeNotifyVtbl* lpVtbl; 29601 }; 29602 29603 #ifdef COBJMACROS 29604 #ifndef WIDL_C_INLINE_WRAPPERS 29605 /*** IUnknown methods ***/ 29606 #define IComputerInfoChangeNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 29607 #define IComputerInfoChangeNotify_AddRef(This) (This)->lpVtbl->AddRef(This) 29608 #define IComputerInfoChangeNotify_Release(This) (This)->lpVtbl->Release(This) 29609 /*** IComputerInfoChangeNotify methods ***/ 29610 #define IComputerInfoChangeNotify_ComputerInfoChanged(This) (This)->lpVtbl->ComputerInfoChanged(This) 29611 #else 29612 /*** IUnknown methods ***/ 29613 static inline HRESULT IComputerInfoChangeNotify_QueryInterface(IComputerInfoChangeNotify* This,REFIID riid,void **ppvObject) { 29614 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 29615 } 29616 static inline ULONG IComputerInfoChangeNotify_AddRef(IComputerInfoChangeNotify* This) { 29617 return This->lpVtbl->AddRef(This); 29618 } 29619 static inline ULONG IComputerInfoChangeNotify_Release(IComputerInfoChangeNotify* This) { 29620 return This->lpVtbl->Release(This); 29621 } 29622 /*** IComputerInfoChangeNotify methods ***/ 29623 static inline HRESULT IComputerInfoChangeNotify_ComputerInfoChanged(IComputerInfoChangeNotify* This) { 29624 return This->lpVtbl->ComputerInfoChanged(This); 29625 } 29626 #endif 29627 #endif 29628 29629 #endif 29630 29631 29632 #endif /* __IComputerInfoChangeNotify_INTERFACE_DEFINED__ */ 29633 29634 29635 #define STR_FILE_SYS_BIND_DATA L"File System Bind Data" 29636 29637 /***************************************************************************** 29638 * IFileSystemBindData interface 29639 */ 29640 #ifndef __IFileSystemBindData_INTERFACE_DEFINED__ 29641 #define __IFileSystemBindData_INTERFACE_DEFINED__ 29642 29643 DEFINE_GUID(IID_IFileSystemBindData, 0x01e18d10, 0x4d8b, 0x11d2, 0x85,0x5d, 0x00,0x60,0x08,0x05,0x93,0x67); 29644 #if defined(__cplusplus) && !defined(CINTERFACE) 29645 MIDL_INTERFACE("01e18d10-4d8b-11d2-855d-006008059367") 29646 IFileSystemBindData : public IUnknown 29647 { 29648 virtual HRESULT STDMETHODCALLTYPE SetFindData( 29649 const WIN32_FIND_DATAW *pfd) = 0; 29650 29651 virtual HRESULT STDMETHODCALLTYPE GetFindData( 29652 WIN32_FIND_DATAW *pfd) = 0; 29653 29654 }; 29655 #ifdef __CRT_UUID_DECL 29656 __CRT_UUID_DECL(IFileSystemBindData, 0x01e18d10, 0x4d8b, 0x11d2, 0x85,0x5d, 0x00,0x60,0x08,0x05,0x93,0x67) 29657 #endif 29658 #else 29659 typedef struct IFileSystemBindDataVtbl { 29660 BEGIN_INTERFACE 29661 29662 /*** IUnknown methods ***/ 29663 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 29664 IFileSystemBindData *This, 29665 REFIID riid, 29666 void **ppvObject); 29667 29668 ULONG (STDMETHODCALLTYPE *AddRef)( 29669 IFileSystemBindData *This); 29670 29671 ULONG (STDMETHODCALLTYPE *Release)( 29672 IFileSystemBindData *This); 29673 29674 /*** IFileSystemBindData methods ***/ 29675 HRESULT (STDMETHODCALLTYPE *SetFindData)( 29676 IFileSystemBindData *This, 29677 const WIN32_FIND_DATAW *pfd); 29678 29679 HRESULT (STDMETHODCALLTYPE *GetFindData)( 29680 IFileSystemBindData *This, 29681 WIN32_FIND_DATAW *pfd); 29682 29683 END_INTERFACE 29684 } IFileSystemBindDataVtbl; 29685 29686 interface IFileSystemBindData { 29687 CONST_VTBL IFileSystemBindDataVtbl* lpVtbl; 29688 }; 29689 29690 #ifdef COBJMACROS 29691 #ifndef WIDL_C_INLINE_WRAPPERS 29692 /*** IUnknown methods ***/ 29693 #define IFileSystemBindData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 29694 #define IFileSystemBindData_AddRef(This) (This)->lpVtbl->AddRef(This) 29695 #define IFileSystemBindData_Release(This) (This)->lpVtbl->Release(This) 29696 /*** IFileSystemBindData methods ***/ 29697 #define IFileSystemBindData_SetFindData(This,pfd) (This)->lpVtbl->SetFindData(This,pfd) 29698 #define IFileSystemBindData_GetFindData(This,pfd) (This)->lpVtbl->GetFindData(This,pfd) 29699 #else 29700 /*** IUnknown methods ***/ 29701 static inline HRESULT IFileSystemBindData_QueryInterface(IFileSystemBindData* This,REFIID riid,void **ppvObject) { 29702 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 29703 } 29704 static inline ULONG IFileSystemBindData_AddRef(IFileSystemBindData* This) { 29705 return This->lpVtbl->AddRef(This); 29706 } 29707 static inline ULONG IFileSystemBindData_Release(IFileSystemBindData* This) { 29708 return This->lpVtbl->Release(This); 29709 } 29710 /*** IFileSystemBindData methods ***/ 29711 static inline HRESULT IFileSystemBindData_SetFindData(IFileSystemBindData* This,const WIN32_FIND_DATAW *pfd) { 29712 return This->lpVtbl->SetFindData(This,pfd); 29713 } 29714 static inline HRESULT IFileSystemBindData_GetFindData(IFileSystemBindData* This,WIN32_FIND_DATAW *pfd) { 29715 return This->lpVtbl->GetFindData(This,pfd); 29716 } 29717 #endif 29718 #endif 29719 29720 #endif 29721 29722 29723 #endif /* __IFileSystemBindData_INTERFACE_DEFINED__ */ 29724 29725 29726 /***************************************************************************** 29727 * IFileSystemBindData2 interface 29728 */ 29729 #ifndef __IFileSystemBindData2_INTERFACE_DEFINED__ 29730 #define __IFileSystemBindData2_INTERFACE_DEFINED__ 29731 29732 DEFINE_GUID(IID_IFileSystemBindData2, 0x3acf075f, 0x71db, 0x4afa, 0x81,0xf0, 0x3f,0xc4,0xfd,0xf2,0xa5,0xb8); 29733 #if defined(__cplusplus) && !defined(CINTERFACE) 29734 MIDL_INTERFACE("3acf075f-71db-4afa-81f0-3fc4fdf2a5b8") 29735 IFileSystemBindData2 : public IFileSystemBindData 29736 { 29737 virtual HRESULT STDMETHODCALLTYPE SetFileID( 29738 LARGE_INTEGER liFileID) = 0; 29739 29740 virtual HRESULT STDMETHODCALLTYPE GetFileID( 29741 LARGE_INTEGER *pliFileID) = 0; 29742 29743 virtual HRESULT STDMETHODCALLTYPE SetJunctionCLSID( 29744 REFCLSID clsid) = 0; 29745 29746 virtual HRESULT STDMETHODCALLTYPE GetJunctionCLSID( 29747 CLSID *pclsid) = 0; 29748 29749 }; 29750 #ifdef __CRT_UUID_DECL 29751 __CRT_UUID_DECL(IFileSystemBindData2, 0x3acf075f, 0x71db, 0x4afa, 0x81,0xf0, 0x3f,0xc4,0xfd,0xf2,0xa5,0xb8) 29752 #endif 29753 #else 29754 typedef struct IFileSystemBindData2Vtbl { 29755 BEGIN_INTERFACE 29756 29757 /*** IUnknown methods ***/ 29758 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 29759 IFileSystemBindData2 *This, 29760 REFIID riid, 29761 void **ppvObject); 29762 29763 ULONG (STDMETHODCALLTYPE *AddRef)( 29764 IFileSystemBindData2 *This); 29765 29766 ULONG (STDMETHODCALLTYPE *Release)( 29767 IFileSystemBindData2 *This); 29768 29769 /*** IFileSystemBindData methods ***/ 29770 HRESULT (STDMETHODCALLTYPE *SetFindData)( 29771 IFileSystemBindData2 *This, 29772 const WIN32_FIND_DATAW *pfd); 29773 29774 HRESULT (STDMETHODCALLTYPE *GetFindData)( 29775 IFileSystemBindData2 *This, 29776 WIN32_FIND_DATAW *pfd); 29777 29778 /*** IFileSystemBindData2 methods ***/ 29779 HRESULT (STDMETHODCALLTYPE *SetFileID)( 29780 IFileSystemBindData2 *This, 29781 LARGE_INTEGER liFileID); 29782 29783 HRESULT (STDMETHODCALLTYPE *GetFileID)( 29784 IFileSystemBindData2 *This, 29785 LARGE_INTEGER *pliFileID); 29786 29787 HRESULT (STDMETHODCALLTYPE *SetJunctionCLSID)( 29788 IFileSystemBindData2 *This, 29789 REFCLSID clsid); 29790 29791 HRESULT (STDMETHODCALLTYPE *GetJunctionCLSID)( 29792 IFileSystemBindData2 *This, 29793 CLSID *pclsid); 29794 29795 END_INTERFACE 29796 } IFileSystemBindData2Vtbl; 29797 29798 interface IFileSystemBindData2 { 29799 CONST_VTBL IFileSystemBindData2Vtbl* lpVtbl; 29800 }; 29801 29802 #ifdef COBJMACROS 29803 #ifndef WIDL_C_INLINE_WRAPPERS 29804 /*** IUnknown methods ***/ 29805 #define IFileSystemBindData2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 29806 #define IFileSystemBindData2_AddRef(This) (This)->lpVtbl->AddRef(This) 29807 #define IFileSystemBindData2_Release(This) (This)->lpVtbl->Release(This) 29808 /*** IFileSystemBindData methods ***/ 29809 #define IFileSystemBindData2_SetFindData(This,pfd) (This)->lpVtbl->SetFindData(This,pfd) 29810 #define IFileSystemBindData2_GetFindData(This,pfd) (This)->lpVtbl->GetFindData(This,pfd) 29811 /*** IFileSystemBindData2 methods ***/ 29812 #define IFileSystemBindData2_SetFileID(This,liFileID) (This)->lpVtbl->SetFileID(This,liFileID) 29813 #define IFileSystemBindData2_GetFileID(This,pliFileID) (This)->lpVtbl->GetFileID(This,pliFileID) 29814 #define IFileSystemBindData2_SetJunctionCLSID(This,clsid) (This)->lpVtbl->SetJunctionCLSID(This,clsid) 29815 #define IFileSystemBindData2_GetJunctionCLSID(This,pclsid) (This)->lpVtbl->GetJunctionCLSID(This,pclsid) 29816 #else 29817 /*** IUnknown methods ***/ 29818 static inline HRESULT IFileSystemBindData2_QueryInterface(IFileSystemBindData2* This,REFIID riid,void **ppvObject) { 29819 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 29820 } 29821 static inline ULONG IFileSystemBindData2_AddRef(IFileSystemBindData2* This) { 29822 return This->lpVtbl->AddRef(This); 29823 } 29824 static inline ULONG IFileSystemBindData2_Release(IFileSystemBindData2* This) { 29825 return This->lpVtbl->Release(This); 29826 } 29827 /*** IFileSystemBindData methods ***/ 29828 static inline HRESULT IFileSystemBindData2_SetFindData(IFileSystemBindData2* This,const WIN32_FIND_DATAW *pfd) { 29829 return This->lpVtbl->SetFindData(This,pfd); 29830 } 29831 static inline HRESULT IFileSystemBindData2_GetFindData(IFileSystemBindData2* This,WIN32_FIND_DATAW *pfd) { 29832 return This->lpVtbl->GetFindData(This,pfd); 29833 } 29834 /*** IFileSystemBindData2 methods ***/ 29835 static inline HRESULT IFileSystemBindData2_SetFileID(IFileSystemBindData2* This,LARGE_INTEGER liFileID) { 29836 return This->lpVtbl->SetFileID(This,liFileID); 29837 } 29838 static inline HRESULT IFileSystemBindData2_GetFileID(IFileSystemBindData2* This,LARGE_INTEGER *pliFileID) { 29839 return This->lpVtbl->GetFileID(This,pliFileID); 29840 } 29841 static inline HRESULT IFileSystemBindData2_SetJunctionCLSID(IFileSystemBindData2* This,REFCLSID clsid) { 29842 return This->lpVtbl->SetJunctionCLSID(This,clsid); 29843 } 29844 static inline HRESULT IFileSystemBindData2_GetJunctionCLSID(IFileSystemBindData2* This,CLSID *pclsid) { 29845 return This->lpVtbl->GetJunctionCLSID(This,pclsid); 29846 } 29847 #endif 29848 #endif 29849 29850 #endif 29851 29852 29853 #endif /* __IFileSystemBindData2_INTERFACE_DEFINED__ */ 29854 29855 29856 #if NTDDI_VERSION >= NTDDI_WIN7 29857 /***************************************************************************** 29858 * ICustomDestinationList interface 29859 */ 29860 #ifndef __ICustomDestinationList_INTERFACE_DEFINED__ 29861 #define __ICustomDestinationList_INTERFACE_DEFINED__ 29862 29863 typedef enum KNOWNDESTCATEGORY { 29864 KDC_FREQUENT = 1, 29865 KDC_RECENT = 2 29866 } KNOWNDESTCATEGORY; 29867 29868 DEFINE_GUID(IID_ICustomDestinationList, 0x6332debf, 0x87b5, 0x4670, 0x90,0xc0, 0x5e,0x57,0xb4,0x08,0xa4,0x9e); 29869 #if defined(__cplusplus) && !defined(CINTERFACE) 29870 MIDL_INTERFACE("6332debf-87b5-4670-90c0-5e57b408a49e") 29871 ICustomDestinationList : public IUnknown 29872 { 29873 virtual HRESULT STDMETHODCALLTYPE SetAppID( 29874 LPCWSTR pszAppID) = 0; 29875 29876 virtual HRESULT STDMETHODCALLTYPE BeginList( 29877 UINT *pcMinSlots, 29878 REFIID riid, 29879 void **ppv) = 0; 29880 29881 virtual HRESULT STDMETHODCALLTYPE AppendCategory( 29882 LPCWSTR pszCategory, 29883 IObjectArray *poa) = 0; 29884 29885 virtual HRESULT STDMETHODCALLTYPE AppendKnownCategory( 29886 KNOWNDESTCATEGORY category) = 0; 29887 29888 virtual HRESULT STDMETHODCALLTYPE AddUserTasks( 29889 IObjectArray *poa) = 0; 29890 29891 virtual HRESULT STDMETHODCALLTYPE CommitList( 29892 ) = 0; 29893 29894 virtual HRESULT STDMETHODCALLTYPE GetRemovedDestinations( 29895 REFIID riid, 29896 void **ppv) = 0; 29897 29898 virtual HRESULT STDMETHODCALLTYPE DeleteList( 29899 LPCWSTR pszAppID) = 0; 29900 29901 virtual HRESULT STDMETHODCALLTYPE AbortList( 29902 ) = 0; 29903 29904 }; 29905 #ifdef __CRT_UUID_DECL 29906 __CRT_UUID_DECL(ICustomDestinationList, 0x6332debf, 0x87b5, 0x4670, 0x90,0xc0, 0x5e,0x57,0xb4,0x08,0xa4,0x9e) 29907 #endif 29908 #else 29909 typedef struct ICustomDestinationListVtbl { 29910 BEGIN_INTERFACE 29911 29912 /*** IUnknown methods ***/ 29913 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 29914 ICustomDestinationList *This, 29915 REFIID riid, 29916 void **ppvObject); 29917 29918 ULONG (STDMETHODCALLTYPE *AddRef)( 29919 ICustomDestinationList *This); 29920 29921 ULONG (STDMETHODCALLTYPE *Release)( 29922 ICustomDestinationList *This); 29923 29924 /*** ICustomDestinationList methods ***/ 29925 HRESULT (STDMETHODCALLTYPE *SetAppID)( 29926 ICustomDestinationList *This, 29927 LPCWSTR pszAppID); 29928 29929 HRESULT (STDMETHODCALLTYPE *BeginList)( 29930 ICustomDestinationList *This, 29931 UINT *pcMinSlots, 29932 REFIID riid, 29933 void **ppv); 29934 29935 HRESULT (STDMETHODCALLTYPE *AppendCategory)( 29936 ICustomDestinationList *This, 29937 LPCWSTR pszCategory, 29938 IObjectArray *poa); 29939 29940 HRESULT (STDMETHODCALLTYPE *AppendKnownCategory)( 29941 ICustomDestinationList *This, 29942 KNOWNDESTCATEGORY category); 29943 29944 HRESULT (STDMETHODCALLTYPE *AddUserTasks)( 29945 ICustomDestinationList *This, 29946 IObjectArray *poa); 29947 29948 HRESULT (STDMETHODCALLTYPE *CommitList)( 29949 ICustomDestinationList *This); 29950 29951 HRESULT (STDMETHODCALLTYPE *GetRemovedDestinations)( 29952 ICustomDestinationList *This, 29953 REFIID riid, 29954 void **ppv); 29955 29956 HRESULT (STDMETHODCALLTYPE *DeleteList)( 29957 ICustomDestinationList *This, 29958 LPCWSTR pszAppID); 29959 29960 HRESULT (STDMETHODCALLTYPE *AbortList)( 29961 ICustomDestinationList *This); 29962 29963 END_INTERFACE 29964 } ICustomDestinationListVtbl; 29965 29966 interface ICustomDestinationList { 29967 CONST_VTBL ICustomDestinationListVtbl* lpVtbl; 29968 }; 29969 29970 #ifdef COBJMACROS 29971 #ifndef WIDL_C_INLINE_WRAPPERS 29972 /*** IUnknown methods ***/ 29973 #define ICustomDestinationList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 29974 #define ICustomDestinationList_AddRef(This) (This)->lpVtbl->AddRef(This) 29975 #define ICustomDestinationList_Release(This) (This)->lpVtbl->Release(This) 29976 /*** ICustomDestinationList methods ***/ 29977 #define ICustomDestinationList_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID) 29978 #define ICustomDestinationList_BeginList(This,pcMinSlots,riid,ppv) (This)->lpVtbl->BeginList(This,pcMinSlots,riid,ppv) 29979 #define ICustomDestinationList_AppendCategory(This,pszCategory,poa) (This)->lpVtbl->AppendCategory(This,pszCategory,poa) 29980 #define ICustomDestinationList_AppendKnownCategory(This,category) (This)->lpVtbl->AppendKnownCategory(This,category) 29981 #define ICustomDestinationList_AddUserTasks(This,poa) (This)->lpVtbl->AddUserTasks(This,poa) 29982 #define ICustomDestinationList_CommitList(This) (This)->lpVtbl->CommitList(This) 29983 #define ICustomDestinationList_GetRemovedDestinations(This,riid,ppv) (This)->lpVtbl->GetRemovedDestinations(This,riid,ppv) 29984 #define ICustomDestinationList_DeleteList(This,pszAppID) (This)->lpVtbl->DeleteList(This,pszAppID) 29985 #define ICustomDestinationList_AbortList(This) (This)->lpVtbl->AbortList(This) 29986 #else 29987 /*** IUnknown methods ***/ 29988 static inline HRESULT ICustomDestinationList_QueryInterface(ICustomDestinationList* This,REFIID riid,void **ppvObject) { 29989 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 29990 } 29991 static inline ULONG ICustomDestinationList_AddRef(ICustomDestinationList* This) { 29992 return This->lpVtbl->AddRef(This); 29993 } 29994 static inline ULONG ICustomDestinationList_Release(ICustomDestinationList* This) { 29995 return This->lpVtbl->Release(This); 29996 } 29997 /*** ICustomDestinationList methods ***/ 29998 static inline HRESULT ICustomDestinationList_SetAppID(ICustomDestinationList* This,LPCWSTR pszAppID) { 29999 return This->lpVtbl->SetAppID(This,pszAppID); 30000 } 30001 static inline HRESULT ICustomDestinationList_BeginList(ICustomDestinationList* This,UINT *pcMinSlots,REFIID riid,void **ppv) { 30002 return This->lpVtbl->BeginList(This,pcMinSlots,riid,ppv); 30003 } 30004 static inline HRESULT ICustomDestinationList_AppendCategory(ICustomDestinationList* This,LPCWSTR pszCategory,IObjectArray *poa) { 30005 return This->lpVtbl->AppendCategory(This,pszCategory,poa); 30006 } 30007 static inline HRESULT ICustomDestinationList_AppendKnownCategory(ICustomDestinationList* This,KNOWNDESTCATEGORY category) { 30008 return This->lpVtbl->AppendKnownCategory(This,category); 30009 } 30010 static inline HRESULT ICustomDestinationList_AddUserTasks(ICustomDestinationList* This,IObjectArray *poa) { 30011 return This->lpVtbl->AddUserTasks(This,poa); 30012 } 30013 static inline HRESULT ICustomDestinationList_CommitList(ICustomDestinationList* This) { 30014 return This->lpVtbl->CommitList(This); 30015 } 30016 static inline HRESULT ICustomDestinationList_GetRemovedDestinations(ICustomDestinationList* This,REFIID riid,void **ppv) { 30017 return This->lpVtbl->GetRemovedDestinations(This,riid,ppv); 30018 } 30019 static inline HRESULT ICustomDestinationList_DeleteList(ICustomDestinationList* This,LPCWSTR pszAppID) { 30020 return This->lpVtbl->DeleteList(This,pszAppID); 30021 } 30022 static inline HRESULT ICustomDestinationList_AbortList(ICustomDestinationList* This) { 30023 return This->lpVtbl->AbortList(This); 30024 } 30025 #endif 30026 #endif 30027 30028 #endif 30029 30030 30031 #endif /* __ICustomDestinationList_INTERFACE_DEFINED__ */ 30032 30033 30034 /***************************************************************************** 30035 * IApplicationDestinations interface 30036 */ 30037 #ifndef __IApplicationDestinations_INTERFACE_DEFINED__ 30038 #define __IApplicationDestinations_INTERFACE_DEFINED__ 30039 30040 DEFINE_GUID(IID_IApplicationDestinations, 0x12337d35, 0x94c6, 0x48a0, 0xbc,0xe7, 0x6a,0x9c,0x69,0xd4,0xd6,0x00); 30041 #if defined(__cplusplus) && !defined(CINTERFACE) 30042 MIDL_INTERFACE("12337d35-94c6-48a0-bce7-6a9c69d4d600") 30043 IApplicationDestinations : public IUnknown 30044 { 30045 virtual HRESULT STDMETHODCALLTYPE SetAppID( 30046 LPCWSTR pszAppID) = 0; 30047 30048 virtual HRESULT STDMETHODCALLTYPE RemoveDestination( 30049 IUnknown *punk) = 0; 30050 30051 virtual HRESULT STDMETHODCALLTYPE RemoveAllDestinations( 30052 ) = 0; 30053 30054 }; 30055 #ifdef __CRT_UUID_DECL 30056 __CRT_UUID_DECL(IApplicationDestinations, 0x12337d35, 0x94c6, 0x48a0, 0xbc,0xe7, 0x6a,0x9c,0x69,0xd4,0xd6,0x00) 30057 #endif 30058 #else 30059 typedef struct IApplicationDestinationsVtbl { 30060 BEGIN_INTERFACE 30061 30062 /*** IUnknown methods ***/ 30063 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 30064 IApplicationDestinations *This, 30065 REFIID riid, 30066 void **ppvObject); 30067 30068 ULONG (STDMETHODCALLTYPE *AddRef)( 30069 IApplicationDestinations *This); 30070 30071 ULONG (STDMETHODCALLTYPE *Release)( 30072 IApplicationDestinations *This); 30073 30074 /*** IApplicationDestinations methods ***/ 30075 HRESULT (STDMETHODCALLTYPE *SetAppID)( 30076 IApplicationDestinations *This, 30077 LPCWSTR pszAppID); 30078 30079 HRESULT (STDMETHODCALLTYPE *RemoveDestination)( 30080 IApplicationDestinations *This, 30081 IUnknown *punk); 30082 30083 HRESULT (STDMETHODCALLTYPE *RemoveAllDestinations)( 30084 IApplicationDestinations *This); 30085 30086 END_INTERFACE 30087 } IApplicationDestinationsVtbl; 30088 30089 interface IApplicationDestinations { 30090 CONST_VTBL IApplicationDestinationsVtbl* lpVtbl; 30091 }; 30092 30093 #ifdef COBJMACROS 30094 #ifndef WIDL_C_INLINE_WRAPPERS 30095 /*** IUnknown methods ***/ 30096 #define IApplicationDestinations_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 30097 #define IApplicationDestinations_AddRef(This) (This)->lpVtbl->AddRef(This) 30098 #define IApplicationDestinations_Release(This) (This)->lpVtbl->Release(This) 30099 /*** IApplicationDestinations methods ***/ 30100 #define IApplicationDestinations_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID) 30101 #define IApplicationDestinations_RemoveDestination(This,punk) (This)->lpVtbl->RemoveDestination(This,punk) 30102 #define IApplicationDestinations_RemoveAllDestinations(This) (This)->lpVtbl->RemoveAllDestinations(This) 30103 #else 30104 /*** IUnknown methods ***/ 30105 static inline HRESULT IApplicationDestinations_QueryInterface(IApplicationDestinations* This,REFIID riid,void **ppvObject) { 30106 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 30107 } 30108 static inline ULONG IApplicationDestinations_AddRef(IApplicationDestinations* This) { 30109 return This->lpVtbl->AddRef(This); 30110 } 30111 static inline ULONG IApplicationDestinations_Release(IApplicationDestinations* This) { 30112 return This->lpVtbl->Release(This); 30113 } 30114 /*** IApplicationDestinations methods ***/ 30115 static inline HRESULT IApplicationDestinations_SetAppID(IApplicationDestinations* This,LPCWSTR pszAppID) { 30116 return This->lpVtbl->SetAppID(This,pszAppID); 30117 } 30118 static inline HRESULT IApplicationDestinations_RemoveDestination(IApplicationDestinations* This,IUnknown *punk) { 30119 return This->lpVtbl->RemoveDestination(This,punk); 30120 } 30121 static inline HRESULT IApplicationDestinations_RemoveAllDestinations(IApplicationDestinations* This) { 30122 return This->lpVtbl->RemoveAllDestinations(This); 30123 } 30124 #endif 30125 #endif 30126 30127 #endif 30128 30129 30130 #endif /* __IApplicationDestinations_INTERFACE_DEFINED__ */ 30131 30132 30133 /***************************************************************************** 30134 * IApplicationDocumentLists interface 30135 */ 30136 #ifndef __IApplicationDocumentLists_INTERFACE_DEFINED__ 30137 #define __IApplicationDocumentLists_INTERFACE_DEFINED__ 30138 30139 typedef enum APPDOCLISTTYPE { 30140 ADLT_RECENT = 0, 30141 ADLT_FREQUENT = 1 30142 } APPDOCLISTTYPE; 30143 30144 DEFINE_GUID(IID_IApplicationDocumentLists, 0x3c594f9f, 0x9f30, 0x47a1, 0x97,0x9a, 0xc9,0xe8,0x3d,0x3d,0x0a,0x06); 30145 #if defined(__cplusplus) && !defined(CINTERFACE) 30146 MIDL_INTERFACE("3c594f9f-9f30-47a1-979a-c9e83d3d0a06") 30147 IApplicationDocumentLists : public IUnknown 30148 { 30149 virtual HRESULT STDMETHODCALLTYPE SetAppID( 30150 LPCWSTR pszAppID) = 0; 30151 30152 virtual HRESULT STDMETHODCALLTYPE GetList( 30153 APPDOCLISTTYPE listtype, 30154 UINT cItemsDesired, 30155 REFIID riid, 30156 void **ppv) = 0; 30157 30158 }; 30159 #ifdef __CRT_UUID_DECL 30160 __CRT_UUID_DECL(IApplicationDocumentLists, 0x3c594f9f, 0x9f30, 0x47a1, 0x97,0x9a, 0xc9,0xe8,0x3d,0x3d,0x0a,0x06) 30161 #endif 30162 #else 30163 typedef struct IApplicationDocumentListsVtbl { 30164 BEGIN_INTERFACE 30165 30166 /*** IUnknown methods ***/ 30167 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 30168 IApplicationDocumentLists *This, 30169 REFIID riid, 30170 void **ppvObject); 30171 30172 ULONG (STDMETHODCALLTYPE *AddRef)( 30173 IApplicationDocumentLists *This); 30174 30175 ULONG (STDMETHODCALLTYPE *Release)( 30176 IApplicationDocumentLists *This); 30177 30178 /*** IApplicationDocumentLists methods ***/ 30179 HRESULT (STDMETHODCALLTYPE *SetAppID)( 30180 IApplicationDocumentLists *This, 30181 LPCWSTR pszAppID); 30182 30183 HRESULT (STDMETHODCALLTYPE *GetList)( 30184 IApplicationDocumentLists *This, 30185 APPDOCLISTTYPE listtype, 30186 UINT cItemsDesired, 30187 REFIID riid, 30188 void **ppv); 30189 30190 END_INTERFACE 30191 } IApplicationDocumentListsVtbl; 30192 30193 interface IApplicationDocumentLists { 30194 CONST_VTBL IApplicationDocumentListsVtbl* lpVtbl; 30195 }; 30196 30197 #ifdef COBJMACROS 30198 #ifndef WIDL_C_INLINE_WRAPPERS 30199 /*** IUnknown methods ***/ 30200 #define IApplicationDocumentLists_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 30201 #define IApplicationDocumentLists_AddRef(This) (This)->lpVtbl->AddRef(This) 30202 #define IApplicationDocumentLists_Release(This) (This)->lpVtbl->Release(This) 30203 /*** IApplicationDocumentLists methods ***/ 30204 #define IApplicationDocumentLists_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID) 30205 #define IApplicationDocumentLists_GetList(This,listtype,cItemsDesired,riid,ppv) (This)->lpVtbl->GetList(This,listtype,cItemsDesired,riid,ppv) 30206 #else 30207 /*** IUnknown methods ***/ 30208 static inline HRESULT IApplicationDocumentLists_QueryInterface(IApplicationDocumentLists* This,REFIID riid,void **ppvObject) { 30209 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 30210 } 30211 static inline ULONG IApplicationDocumentLists_AddRef(IApplicationDocumentLists* This) { 30212 return This->lpVtbl->AddRef(This); 30213 } 30214 static inline ULONG IApplicationDocumentLists_Release(IApplicationDocumentLists* This) { 30215 return This->lpVtbl->Release(This); 30216 } 30217 /*** IApplicationDocumentLists methods ***/ 30218 static inline HRESULT IApplicationDocumentLists_SetAppID(IApplicationDocumentLists* This,LPCWSTR pszAppID) { 30219 return This->lpVtbl->SetAppID(This,pszAppID); 30220 } 30221 static inline HRESULT IApplicationDocumentLists_GetList(IApplicationDocumentLists* This,APPDOCLISTTYPE listtype,UINT cItemsDesired,REFIID riid,void **ppv) { 30222 return This->lpVtbl->GetList(This,listtype,cItemsDesired,riid,ppv); 30223 } 30224 #endif 30225 #endif 30226 30227 #endif 30228 30229 30230 #endif /* __IApplicationDocumentLists_INTERFACE_DEFINED__ */ 30231 30232 30233 /***************************************************************************** 30234 * IObjectWithAppUserModelID interface 30235 */ 30236 #ifndef __IObjectWithAppUserModelID_INTERFACE_DEFINED__ 30237 #define __IObjectWithAppUserModelID_INTERFACE_DEFINED__ 30238 30239 DEFINE_GUID(IID_IObjectWithAppUserModelID, 0x36db0196, 0x9665, 0x46d1, 0x9b,0xa7, 0xd3,0x70,0x9e,0xec,0xf9,0xed); 30240 #if defined(__cplusplus) && !defined(CINTERFACE) 30241 MIDL_INTERFACE("36db0196-9665-46d1-9ba7-d3709eecf9ed") 30242 IObjectWithAppUserModelID : public IUnknown 30243 { 30244 virtual HRESULT STDMETHODCALLTYPE SetAppID( 30245 LPCWSTR pszAppID) = 0; 30246 30247 virtual HRESULT STDMETHODCALLTYPE GetAppID( 30248 LPWSTR *ppszAppID) = 0; 30249 30250 }; 30251 #ifdef __CRT_UUID_DECL 30252 __CRT_UUID_DECL(IObjectWithAppUserModelID, 0x36db0196, 0x9665, 0x46d1, 0x9b,0xa7, 0xd3,0x70,0x9e,0xec,0xf9,0xed) 30253 #endif 30254 #else 30255 typedef struct IObjectWithAppUserModelIDVtbl { 30256 BEGIN_INTERFACE 30257 30258 /*** IUnknown methods ***/ 30259 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 30260 IObjectWithAppUserModelID *This, 30261 REFIID riid, 30262 void **ppvObject); 30263 30264 ULONG (STDMETHODCALLTYPE *AddRef)( 30265 IObjectWithAppUserModelID *This); 30266 30267 ULONG (STDMETHODCALLTYPE *Release)( 30268 IObjectWithAppUserModelID *This); 30269 30270 /*** IObjectWithAppUserModelID methods ***/ 30271 HRESULT (STDMETHODCALLTYPE *SetAppID)( 30272 IObjectWithAppUserModelID *This, 30273 LPCWSTR pszAppID); 30274 30275 HRESULT (STDMETHODCALLTYPE *GetAppID)( 30276 IObjectWithAppUserModelID *This, 30277 LPWSTR *ppszAppID); 30278 30279 END_INTERFACE 30280 } IObjectWithAppUserModelIDVtbl; 30281 30282 interface IObjectWithAppUserModelID { 30283 CONST_VTBL IObjectWithAppUserModelIDVtbl* lpVtbl; 30284 }; 30285 30286 #ifdef COBJMACROS 30287 #ifndef WIDL_C_INLINE_WRAPPERS 30288 /*** IUnknown methods ***/ 30289 #define IObjectWithAppUserModelID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 30290 #define IObjectWithAppUserModelID_AddRef(This) (This)->lpVtbl->AddRef(This) 30291 #define IObjectWithAppUserModelID_Release(This) (This)->lpVtbl->Release(This) 30292 /*** IObjectWithAppUserModelID methods ***/ 30293 #define IObjectWithAppUserModelID_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID) 30294 #define IObjectWithAppUserModelID_GetAppID(This,ppszAppID) (This)->lpVtbl->GetAppID(This,ppszAppID) 30295 #else 30296 /*** IUnknown methods ***/ 30297 static inline HRESULT IObjectWithAppUserModelID_QueryInterface(IObjectWithAppUserModelID* This,REFIID riid,void **ppvObject) { 30298 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 30299 } 30300 static inline ULONG IObjectWithAppUserModelID_AddRef(IObjectWithAppUserModelID* This) { 30301 return This->lpVtbl->AddRef(This); 30302 } 30303 static inline ULONG IObjectWithAppUserModelID_Release(IObjectWithAppUserModelID* This) { 30304 return This->lpVtbl->Release(This); 30305 } 30306 /*** IObjectWithAppUserModelID methods ***/ 30307 static inline HRESULT IObjectWithAppUserModelID_SetAppID(IObjectWithAppUserModelID* This,LPCWSTR pszAppID) { 30308 return This->lpVtbl->SetAppID(This,pszAppID); 30309 } 30310 static inline HRESULT IObjectWithAppUserModelID_GetAppID(IObjectWithAppUserModelID* This,LPWSTR *ppszAppID) { 30311 return This->lpVtbl->GetAppID(This,ppszAppID); 30312 } 30313 #endif 30314 #endif 30315 30316 #endif 30317 30318 30319 #endif /* __IObjectWithAppUserModelID_INTERFACE_DEFINED__ */ 30320 30321 30322 /***************************************************************************** 30323 * IObjectWithProgID interface 30324 */ 30325 #ifndef __IObjectWithProgID_INTERFACE_DEFINED__ 30326 #define __IObjectWithProgID_INTERFACE_DEFINED__ 30327 30328 DEFINE_GUID(IID_IObjectWithProgID, 0x71e806fb, 0x8dee, 0x46fc, 0xbf,0x8c, 0x77,0x48,0xa8,0xa1,0xae,0x13); 30329 #if defined(__cplusplus) && !defined(CINTERFACE) 30330 MIDL_INTERFACE("71e806fb-8dee-46fc-bf8c-7748a8a1ae13") 30331 IObjectWithProgID : public IUnknown 30332 { 30333 virtual HRESULT STDMETHODCALLTYPE SetProgID( 30334 LPCWSTR pszProgID) = 0; 30335 30336 virtual HRESULT STDMETHODCALLTYPE GetProgID( 30337 LPWSTR *ppszProgID) = 0; 30338 30339 }; 30340 #ifdef __CRT_UUID_DECL 30341 __CRT_UUID_DECL(IObjectWithProgID, 0x71e806fb, 0x8dee, 0x46fc, 0xbf,0x8c, 0x77,0x48,0xa8,0xa1,0xae,0x13) 30342 #endif 30343 #else 30344 typedef struct IObjectWithProgIDVtbl { 30345 BEGIN_INTERFACE 30346 30347 /*** IUnknown methods ***/ 30348 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 30349 IObjectWithProgID *This, 30350 REFIID riid, 30351 void **ppvObject); 30352 30353 ULONG (STDMETHODCALLTYPE *AddRef)( 30354 IObjectWithProgID *This); 30355 30356 ULONG (STDMETHODCALLTYPE *Release)( 30357 IObjectWithProgID *This); 30358 30359 /*** IObjectWithProgID methods ***/ 30360 HRESULT (STDMETHODCALLTYPE *SetProgID)( 30361 IObjectWithProgID *This, 30362 LPCWSTR pszProgID); 30363 30364 HRESULT (STDMETHODCALLTYPE *GetProgID)( 30365 IObjectWithProgID *This, 30366 LPWSTR *ppszProgID); 30367 30368 END_INTERFACE 30369 } IObjectWithProgIDVtbl; 30370 30371 interface IObjectWithProgID { 30372 CONST_VTBL IObjectWithProgIDVtbl* lpVtbl; 30373 }; 30374 30375 #ifdef COBJMACROS 30376 #ifndef WIDL_C_INLINE_WRAPPERS 30377 /*** IUnknown methods ***/ 30378 #define IObjectWithProgID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 30379 #define IObjectWithProgID_AddRef(This) (This)->lpVtbl->AddRef(This) 30380 #define IObjectWithProgID_Release(This) (This)->lpVtbl->Release(This) 30381 /*** IObjectWithProgID methods ***/ 30382 #define IObjectWithProgID_SetProgID(This,pszProgID) (This)->lpVtbl->SetProgID(This,pszProgID) 30383 #define IObjectWithProgID_GetProgID(This,ppszProgID) (This)->lpVtbl->GetProgID(This,ppszProgID) 30384 #else 30385 /*** IUnknown methods ***/ 30386 static inline HRESULT IObjectWithProgID_QueryInterface(IObjectWithProgID* This,REFIID riid,void **ppvObject) { 30387 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 30388 } 30389 static inline ULONG IObjectWithProgID_AddRef(IObjectWithProgID* This) { 30390 return This->lpVtbl->AddRef(This); 30391 } 30392 static inline ULONG IObjectWithProgID_Release(IObjectWithProgID* This) { 30393 return This->lpVtbl->Release(This); 30394 } 30395 /*** IObjectWithProgID methods ***/ 30396 static inline HRESULT IObjectWithProgID_SetProgID(IObjectWithProgID* This,LPCWSTR pszProgID) { 30397 return This->lpVtbl->SetProgID(This,pszProgID); 30398 } 30399 static inline HRESULT IObjectWithProgID_GetProgID(IObjectWithProgID* This,LPWSTR *ppszProgID) { 30400 return This->lpVtbl->GetProgID(This,ppszProgID); 30401 } 30402 #endif 30403 #endif 30404 30405 #endif 30406 30407 30408 #endif /* __IObjectWithProgID_INTERFACE_DEFINED__ */ 30409 30410 30411 /***************************************************************************** 30412 * IUpdateIDList interface 30413 */ 30414 #ifndef __IUpdateIDList_INTERFACE_DEFINED__ 30415 #define __IUpdateIDList_INTERFACE_DEFINED__ 30416 30417 DEFINE_GUID(IID_IUpdateIDList, 0x6589b6d2, 0x5f8d, 0x4b9e, 0xb7,0xe0, 0x23,0xcd,0xd9,0x71,0x7d,0x8c); 30418 #if defined(__cplusplus) && !defined(CINTERFACE) 30419 MIDL_INTERFACE("6589b6d2-5f8d-4b9e-b7e0-23cdd9717d8c") 30420 IUpdateIDList : public IUnknown 30421 { 30422 virtual HRESULT STDMETHODCALLTYPE Update( 30423 IBindCtx *pbc, 30424 PCUITEMID_CHILD pidlIn, 30425 PITEMID_CHILD *ppidlOut) = 0; 30426 30427 }; 30428 #ifdef __CRT_UUID_DECL 30429 __CRT_UUID_DECL(IUpdateIDList, 0x6589b6d2, 0x5f8d, 0x4b9e, 0xb7,0xe0, 0x23,0xcd,0xd9,0x71,0x7d,0x8c) 30430 #endif 30431 #else 30432 typedef struct IUpdateIDListVtbl { 30433 BEGIN_INTERFACE 30434 30435 /*** IUnknown methods ***/ 30436 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 30437 IUpdateIDList *This, 30438 REFIID riid, 30439 void **ppvObject); 30440 30441 ULONG (STDMETHODCALLTYPE *AddRef)( 30442 IUpdateIDList *This); 30443 30444 ULONG (STDMETHODCALLTYPE *Release)( 30445 IUpdateIDList *This); 30446 30447 /*** IUpdateIDList methods ***/ 30448 HRESULT (STDMETHODCALLTYPE *Update)( 30449 IUpdateIDList *This, 30450 IBindCtx *pbc, 30451 PCUITEMID_CHILD pidlIn, 30452 PITEMID_CHILD *ppidlOut); 30453 30454 END_INTERFACE 30455 } IUpdateIDListVtbl; 30456 30457 interface IUpdateIDList { 30458 CONST_VTBL IUpdateIDListVtbl* lpVtbl; 30459 }; 30460 30461 #ifdef COBJMACROS 30462 #ifndef WIDL_C_INLINE_WRAPPERS 30463 /*** IUnknown methods ***/ 30464 #define IUpdateIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 30465 #define IUpdateIDList_AddRef(This) (This)->lpVtbl->AddRef(This) 30466 #define IUpdateIDList_Release(This) (This)->lpVtbl->Release(This) 30467 /*** IUpdateIDList methods ***/ 30468 #define IUpdateIDList_Update(This,pbc,pidlIn,ppidlOut) (This)->lpVtbl->Update(This,pbc,pidlIn,ppidlOut) 30469 #else 30470 /*** IUnknown methods ***/ 30471 static inline HRESULT IUpdateIDList_QueryInterface(IUpdateIDList* This,REFIID riid,void **ppvObject) { 30472 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 30473 } 30474 static inline ULONG IUpdateIDList_AddRef(IUpdateIDList* This) { 30475 return This->lpVtbl->AddRef(This); 30476 } 30477 static inline ULONG IUpdateIDList_Release(IUpdateIDList* This) { 30478 return This->lpVtbl->Release(This); 30479 } 30480 /*** IUpdateIDList methods ***/ 30481 static inline HRESULT IUpdateIDList_Update(IUpdateIDList* This,IBindCtx *pbc,PCUITEMID_CHILD pidlIn,PITEMID_CHILD *ppidlOut) { 30482 return This->lpVtbl->Update(This,pbc,pidlIn,ppidlOut); 30483 } 30484 #endif 30485 #endif 30486 30487 #endif 30488 30489 30490 #endif /* __IUpdateIDList_INTERFACE_DEFINED__ */ 30491 30492 30493 SHSTDAPI SetCurrentProcessExplicitAppUserModelID(PCWSTR AppID); 30494 SHSTDAPI GetCurrentProcessExplicitAppUserModelID(PWSTR *AppID); 30495 #endif 30496 30497 /***************************************************************************** 30498 * IDesktopGadget interface 30499 */ 30500 #ifndef __IDesktopGadget_INTERFACE_DEFINED__ 30501 #define __IDesktopGadget_INTERFACE_DEFINED__ 30502 30503 DEFINE_GUID(IID_IDesktopGadget, 0xc1646bc4, 0xf298, 0x4f91, 0xa2,0x04, 0xeb,0x2d,0xd1,0x70,0x9d,0x1a); 30504 #if defined(__cplusplus) && !defined(CINTERFACE) 30505 MIDL_INTERFACE("c1646bc4-f298-4f91-a204-eb2dd1709d1a") 30506 IDesktopGadget : public IUnknown 30507 { 30508 virtual HRESULT STDMETHODCALLTYPE RunGadget( 30509 LPCWSTR gadgetPath) = 0; 30510 30511 }; 30512 #ifdef __CRT_UUID_DECL 30513 __CRT_UUID_DECL(IDesktopGadget, 0xc1646bc4, 0xf298, 0x4f91, 0xa2,0x04, 0xeb,0x2d,0xd1,0x70,0x9d,0x1a) 30514 #endif 30515 #else 30516 typedef struct IDesktopGadgetVtbl { 30517 BEGIN_INTERFACE 30518 30519 /*** IUnknown methods ***/ 30520 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 30521 IDesktopGadget *This, 30522 REFIID riid, 30523 void **ppvObject); 30524 30525 ULONG (STDMETHODCALLTYPE *AddRef)( 30526 IDesktopGadget *This); 30527 30528 ULONG (STDMETHODCALLTYPE *Release)( 30529 IDesktopGadget *This); 30530 30531 /*** IDesktopGadget methods ***/ 30532 HRESULT (STDMETHODCALLTYPE *RunGadget)( 30533 IDesktopGadget *This, 30534 LPCWSTR gadgetPath); 30535 30536 END_INTERFACE 30537 } IDesktopGadgetVtbl; 30538 30539 interface IDesktopGadget { 30540 CONST_VTBL IDesktopGadgetVtbl* lpVtbl; 30541 }; 30542 30543 #ifdef COBJMACROS 30544 #ifndef WIDL_C_INLINE_WRAPPERS 30545 /*** IUnknown methods ***/ 30546 #define IDesktopGadget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 30547 #define IDesktopGadget_AddRef(This) (This)->lpVtbl->AddRef(This) 30548 #define IDesktopGadget_Release(This) (This)->lpVtbl->Release(This) 30549 /*** IDesktopGadget methods ***/ 30550 #define IDesktopGadget_RunGadget(This,gadgetPath) (This)->lpVtbl->RunGadget(This,gadgetPath) 30551 #else 30552 /*** IUnknown methods ***/ 30553 static inline HRESULT IDesktopGadget_QueryInterface(IDesktopGadget* This,REFIID riid,void **ppvObject) { 30554 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 30555 } 30556 static inline ULONG IDesktopGadget_AddRef(IDesktopGadget* This) { 30557 return This->lpVtbl->AddRef(This); 30558 } 30559 static inline ULONG IDesktopGadget_Release(IDesktopGadget* This) { 30560 return This->lpVtbl->Release(This); 30561 } 30562 /*** IDesktopGadget methods ***/ 30563 static inline HRESULT IDesktopGadget_RunGadget(IDesktopGadget* This,LPCWSTR gadgetPath) { 30564 return This->lpVtbl->RunGadget(This,gadgetPath); 30565 } 30566 #endif 30567 #endif 30568 30569 #endif 30570 30571 30572 #endif /* __IDesktopGadget_INTERFACE_DEFINED__ */ 30573 30574 30575 #if (NTDDI_VERSION >= NTDDI_WINTHRESHOLD) 30576 /***************************************************************************** 30577 * IVirtualDesktopManager interface 30578 */ 30579 #ifndef __IVirtualDesktopManager_INTERFACE_DEFINED__ 30580 #define __IVirtualDesktopManager_INTERFACE_DEFINED__ 30581 30582 DEFINE_GUID(IID_IVirtualDesktopManager, 0xa5cd92ff, 0x29be, 0x454c, 0x8d,0x04, 0xd8,0x28,0x79,0xfb,0x3f,0x1b); 30583 #if defined(__cplusplus) && !defined(CINTERFACE) 30584 MIDL_INTERFACE("a5cd92ff-29be-454c-8d04-d82879fb3f1b") 30585 IVirtualDesktopManager : public IUnknown 30586 { 30587 virtual HRESULT STDMETHODCALLTYPE IsWindowOnCurrentVirtualDesktop( 30588 HWND topLevelWindow, 30589 WINBOOL *onCurrentDesktop) = 0; 30590 30591 virtual HRESULT STDMETHODCALLTYPE GetWindowDesktopId( 30592 HWND topLevelWindow, 30593 GUID *desktopId) = 0; 30594 30595 virtual HRESULT STDMETHODCALLTYPE MoveWindowToDesktop( 30596 HWND topLevelWindow, 30597 REFGUID desktopId) = 0; 30598 30599 }; 30600 #ifdef __CRT_UUID_DECL 30601 __CRT_UUID_DECL(IVirtualDesktopManager, 0xa5cd92ff, 0x29be, 0x454c, 0x8d,0x04, 0xd8,0x28,0x79,0xfb,0x3f,0x1b) 30602 #endif 30603 #else 30604 typedef struct IVirtualDesktopManagerVtbl { 30605 BEGIN_INTERFACE 30606 30607 /*** IUnknown methods ***/ 30608 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 30609 IVirtualDesktopManager *This, 30610 REFIID riid, 30611 void **ppvObject); 30612 30613 ULONG (STDMETHODCALLTYPE *AddRef)( 30614 IVirtualDesktopManager *This); 30615 30616 ULONG (STDMETHODCALLTYPE *Release)( 30617 IVirtualDesktopManager *This); 30618 30619 /*** IVirtualDesktopManager methods ***/ 30620 HRESULT (STDMETHODCALLTYPE *IsWindowOnCurrentVirtualDesktop)( 30621 IVirtualDesktopManager *This, 30622 HWND topLevelWindow, 30623 WINBOOL *onCurrentDesktop); 30624 30625 HRESULT (STDMETHODCALLTYPE *GetWindowDesktopId)( 30626 IVirtualDesktopManager *This, 30627 HWND topLevelWindow, 30628 GUID *desktopId); 30629 30630 HRESULT (STDMETHODCALLTYPE *MoveWindowToDesktop)( 30631 IVirtualDesktopManager *This, 30632 HWND topLevelWindow, 30633 REFGUID desktopId); 30634 30635 END_INTERFACE 30636 } IVirtualDesktopManagerVtbl; 30637 30638 interface IVirtualDesktopManager { 30639 CONST_VTBL IVirtualDesktopManagerVtbl* lpVtbl; 30640 }; 30641 30642 #ifdef COBJMACROS 30643 #ifndef WIDL_C_INLINE_WRAPPERS 30644 /*** IUnknown methods ***/ 30645 #define IVirtualDesktopManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 30646 #define IVirtualDesktopManager_AddRef(This) (This)->lpVtbl->AddRef(This) 30647 #define IVirtualDesktopManager_Release(This) (This)->lpVtbl->Release(This) 30648 /*** IVirtualDesktopManager methods ***/ 30649 #define IVirtualDesktopManager_IsWindowOnCurrentVirtualDesktop(This,topLevelWindow,onCurrentDesktop) (This)->lpVtbl->IsWindowOnCurrentVirtualDesktop(This,topLevelWindow,onCurrentDesktop) 30650 #define IVirtualDesktopManager_GetWindowDesktopId(This,topLevelWindow,desktopId) (This)->lpVtbl->GetWindowDesktopId(This,topLevelWindow,desktopId) 30651 #define IVirtualDesktopManager_MoveWindowToDesktop(This,topLevelWindow,desktopId) (This)->lpVtbl->MoveWindowToDesktop(This,topLevelWindow,desktopId) 30652 #else 30653 /*** IUnknown methods ***/ 30654 static inline HRESULT IVirtualDesktopManager_QueryInterface(IVirtualDesktopManager* This,REFIID riid,void **ppvObject) { 30655 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 30656 } 30657 static inline ULONG IVirtualDesktopManager_AddRef(IVirtualDesktopManager* This) { 30658 return This->lpVtbl->AddRef(This); 30659 } 30660 static inline ULONG IVirtualDesktopManager_Release(IVirtualDesktopManager* This) { 30661 return This->lpVtbl->Release(This); 30662 } 30663 /*** IVirtualDesktopManager methods ***/ 30664 static inline HRESULT IVirtualDesktopManager_IsWindowOnCurrentVirtualDesktop(IVirtualDesktopManager* This,HWND topLevelWindow,WINBOOL *onCurrentDesktop) { 30665 return This->lpVtbl->IsWindowOnCurrentVirtualDesktop(This,topLevelWindow,onCurrentDesktop); 30666 } 30667 static inline HRESULT IVirtualDesktopManager_GetWindowDesktopId(IVirtualDesktopManager* This,HWND topLevelWindow,GUID *desktopId) { 30668 return This->lpVtbl->GetWindowDesktopId(This,topLevelWindow,desktopId); 30669 } 30670 static inline HRESULT IVirtualDesktopManager_MoveWindowToDesktop(IVirtualDesktopManager* This,HWND topLevelWindow,REFGUID desktopId) { 30671 return This->lpVtbl->MoveWindowToDesktop(This,topLevelWindow,desktopId); 30672 } 30673 #endif 30674 #endif 30675 30676 #endif 30677 30678 30679 #endif /* __IVirtualDesktopManager_INTERFACE_DEFINED__ */ 30680 30681 #endif 30682 30683 #if NTDDI_VERSION >= NTDDI_WIN8 30684 /***************************************************************************** 30685 * IDesktopWallpaper interface 30686 */ 30687 #ifndef __IDesktopWallpaper_INTERFACE_DEFINED__ 30688 #define __IDesktopWallpaper_INTERFACE_DEFINED__ 30689 30690 typedef enum DESKTOP_SLIDESHOW_OPTIONS { 30691 DSO_SHUFFLEIMAGES = 0x1 30692 } DESKTOP_SLIDESHOW_OPTIONS; 30693 30694 DEFINE_ENUM_FLAG_OPERATORS(DESKTOP_SLIDESHOW_OPTIONS); 30695 30696 typedef enum DESKTOP_SLIDESHOW_STATE { 30697 DSS_ENABLED = 0x1, 30698 DSS_SLIDESHOW = 0x2, 30699 DSS_DISABLED_BY_REMOTE_SESSION = 0x4 30700 } DESKTOP_SLIDESHOW_STATE; 30701 30702 DEFINE_ENUM_FLAG_OPERATORS(DESKTOP_SLIDESHOW_STATE); 30703 30704 typedef enum DESKTOP_SLIDESHOW_DIRECTION { 30705 DSD_FORWARD = 0, 30706 DSD_BACKWARD = 1 30707 } DESKTOP_SLIDESHOW_DIRECTION; 30708 30709 typedef enum DESKTOP_WALLPAPER_POSITION { 30710 DWPOS_CENTER = 0, 30711 DWPOS_TILE = 1, 30712 DWPOS_STRETCH = 2, 30713 DWPOS_FIT = 3, 30714 DWPOS_FILL = 4, 30715 DWPOS_SPAN = 5 30716 } DESKTOP_WALLPAPER_POSITION; 30717 30718 DEFINE_GUID(IID_IDesktopWallpaper, 0xb92b56a9, 0x8b55, 0x4e14, 0x9a,0x89, 0x01,0x99,0xbb,0xb6,0xf9,0x3b); 30719 #if defined(__cplusplus) && !defined(CINTERFACE) 30720 MIDL_INTERFACE("b92b56a9-8b55-4e14-9a89-0199bbb6f93b") 30721 IDesktopWallpaper : public IUnknown 30722 { 30723 virtual HRESULT STDMETHODCALLTYPE SetWallpaper( 30724 LPCWSTR monitorID, 30725 LPCWSTR wallpaper) = 0; 30726 30727 virtual HRESULT STDMETHODCALLTYPE GetWallpaper( 30728 LPCWSTR monitorID, 30729 LPWSTR *wallpaper) = 0; 30730 30731 virtual HRESULT STDMETHODCALLTYPE GetMonitorDevicePathAt( 30732 UINT monitorIndex, 30733 LPWSTR *monitorID) = 0; 30734 30735 virtual HRESULT STDMETHODCALLTYPE GetMonitorDevicePathCount( 30736 UINT *count) = 0; 30737 30738 virtual HRESULT STDMETHODCALLTYPE GetMonitorRECT( 30739 LPCWSTR monitorID, 30740 RECT *displayRect) = 0; 30741 30742 virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor( 30743 COLORREF color) = 0; 30744 30745 virtual HRESULT STDMETHODCALLTYPE GetBackgroundColor( 30746 COLORREF *color) = 0; 30747 30748 virtual HRESULT STDMETHODCALLTYPE SetPosition( 30749 DESKTOP_WALLPAPER_POSITION position) = 0; 30750 30751 virtual HRESULT STDMETHODCALLTYPE GetPosition( 30752 DESKTOP_WALLPAPER_POSITION *position) = 0; 30753 30754 virtual HRESULT STDMETHODCALLTYPE SetSlideshow( 30755 IShellItemArray *items) = 0; 30756 30757 virtual HRESULT STDMETHODCALLTYPE GetSlideshow( 30758 IShellItemArray **items) = 0; 30759 30760 virtual HRESULT STDMETHODCALLTYPE SetSlideshowOptions( 30761 DESKTOP_SLIDESHOW_OPTIONS options, 30762 UINT slideshowTick) = 0; 30763 30764 virtual HRESULT STDMETHODCALLTYPE GetSlideshowOptions( 30765 DESKTOP_SLIDESHOW_OPTIONS *options, 30766 UINT *slideshowTick) = 0; 30767 30768 virtual HRESULT STDMETHODCALLTYPE AdvanceSlideshow( 30769 LPCWSTR monitorID, 30770 DESKTOP_SLIDESHOW_DIRECTION direction) = 0; 30771 30772 virtual HRESULT STDMETHODCALLTYPE GetStatus( 30773 DESKTOP_SLIDESHOW_STATE *state) = 0; 30774 30775 virtual HRESULT STDMETHODCALLTYPE Enable( 30776 WINBOOL enable) = 0; 30777 30778 }; 30779 #ifdef __CRT_UUID_DECL 30780 __CRT_UUID_DECL(IDesktopWallpaper, 0xb92b56a9, 0x8b55, 0x4e14, 0x9a,0x89, 0x01,0x99,0xbb,0xb6,0xf9,0x3b) 30781 #endif 30782 #else 30783 typedef struct IDesktopWallpaperVtbl { 30784 BEGIN_INTERFACE 30785 30786 /*** IUnknown methods ***/ 30787 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 30788 IDesktopWallpaper *This, 30789 REFIID riid, 30790 void **ppvObject); 30791 30792 ULONG (STDMETHODCALLTYPE *AddRef)( 30793 IDesktopWallpaper *This); 30794 30795 ULONG (STDMETHODCALLTYPE *Release)( 30796 IDesktopWallpaper *This); 30797 30798 /*** IDesktopWallpaper methods ***/ 30799 HRESULT (STDMETHODCALLTYPE *SetWallpaper)( 30800 IDesktopWallpaper *This, 30801 LPCWSTR monitorID, 30802 LPCWSTR wallpaper); 30803 30804 HRESULT (STDMETHODCALLTYPE *GetWallpaper)( 30805 IDesktopWallpaper *This, 30806 LPCWSTR monitorID, 30807 LPWSTR *wallpaper); 30808 30809 HRESULT (STDMETHODCALLTYPE *GetMonitorDevicePathAt)( 30810 IDesktopWallpaper *This, 30811 UINT monitorIndex, 30812 LPWSTR *monitorID); 30813 30814 HRESULT (STDMETHODCALLTYPE *GetMonitorDevicePathCount)( 30815 IDesktopWallpaper *This, 30816 UINT *count); 30817 30818 HRESULT (STDMETHODCALLTYPE *GetMonitorRECT)( 30819 IDesktopWallpaper *This, 30820 LPCWSTR monitorID, 30821 RECT *displayRect); 30822 30823 HRESULT (STDMETHODCALLTYPE *SetBackgroundColor)( 30824 IDesktopWallpaper *This, 30825 COLORREF color); 30826 30827 HRESULT (STDMETHODCALLTYPE *GetBackgroundColor)( 30828 IDesktopWallpaper *This, 30829 COLORREF *color); 30830 30831 HRESULT (STDMETHODCALLTYPE *SetPosition)( 30832 IDesktopWallpaper *This, 30833 DESKTOP_WALLPAPER_POSITION position); 30834 30835 HRESULT (STDMETHODCALLTYPE *GetPosition)( 30836 IDesktopWallpaper *This, 30837 DESKTOP_WALLPAPER_POSITION *position); 30838 30839 HRESULT (STDMETHODCALLTYPE *SetSlideshow)( 30840 IDesktopWallpaper *This, 30841 IShellItemArray *items); 30842 30843 HRESULT (STDMETHODCALLTYPE *GetSlideshow)( 30844 IDesktopWallpaper *This, 30845 IShellItemArray **items); 30846 30847 HRESULT (STDMETHODCALLTYPE *SetSlideshowOptions)( 30848 IDesktopWallpaper *This, 30849 DESKTOP_SLIDESHOW_OPTIONS options, 30850 UINT slideshowTick); 30851 30852 HRESULT (STDMETHODCALLTYPE *GetSlideshowOptions)( 30853 IDesktopWallpaper *This, 30854 DESKTOP_SLIDESHOW_OPTIONS *options, 30855 UINT *slideshowTick); 30856 30857 HRESULT (STDMETHODCALLTYPE *AdvanceSlideshow)( 30858 IDesktopWallpaper *This, 30859 LPCWSTR monitorID, 30860 DESKTOP_SLIDESHOW_DIRECTION direction); 30861 30862 HRESULT (STDMETHODCALLTYPE *GetStatus)( 30863 IDesktopWallpaper *This, 30864 DESKTOP_SLIDESHOW_STATE *state); 30865 30866 HRESULT (STDMETHODCALLTYPE *Enable)( 30867 IDesktopWallpaper *This, 30868 WINBOOL enable); 30869 30870 END_INTERFACE 30871 } IDesktopWallpaperVtbl; 30872 30873 interface IDesktopWallpaper { 30874 CONST_VTBL IDesktopWallpaperVtbl* lpVtbl; 30875 }; 30876 30877 #ifdef COBJMACROS 30878 #ifndef WIDL_C_INLINE_WRAPPERS 30879 /*** IUnknown methods ***/ 30880 #define IDesktopWallpaper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 30881 #define IDesktopWallpaper_AddRef(This) (This)->lpVtbl->AddRef(This) 30882 #define IDesktopWallpaper_Release(This) (This)->lpVtbl->Release(This) 30883 /*** IDesktopWallpaper methods ***/ 30884 #define IDesktopWallpaper_SetWallpaper(This,monitorID,wallpaper) (This)->lpVtbl->SetWallpaper(This,monitorID,wallpaper) 30885 #define IDesktopWallpaper_GetWallpaper(This,monitorID,wallpaper) (This)->lpVtbl->GetWallpaper(This,monitorID,wallpaper) 30886 #define IDesktopWallpaper_GetMonitorDevicePathAt(This,monitorIndex,monitorID) (This)->lpVtbl->GetMonitorDevicePathAt(This,monitorIndex,monitorID) 30887 #define IDesktopWallpaper_GetMonitorDevicePathCount(This,count) (This)->lpVtbl->GetMonitorDevicePathCount(This,count) 30888 #define IDesktopWallpaper_GetMonitorRECT(This,monitorID,displayRect) (This)->lpVtbl->GetMonitorRECT(This,monitorID,displayRect) 30889 #define IDesktopWallpaper_SetBackgroundColor(This,color) (This)->lpVtbl->SetBackgroundColor(This,color) 30890 #define IDesktopWallpaper_GetBackgroundColor(This,color) (This)->lpVtbl->GetBackgroundColor(This,color) 30891 #define IDesktopWallpaper_SetPosition(This,position) (This)->lpVtbl->SetPosition(This,position) 30892 #define IDesktopWallpaper_GetPosition(This,position) (This)->lpVtbl->GetPosition(This,position) 30893 #define IDesktopWallpaper_SetSlideshow(This,items) (This)->lpVtbl->SetSlideshow(This,items) 30894 #define IDesktopWallpaper_GetSlideshow(This,items) (This)->lpVtbl->GetSlideshow(This,items) 30895 #define IDesktopWallpaper_SetSlideshowOptions(This,options,slideshowTick) (This)->lpVtbl->SetSlideshowOptions(This,options,slideshowTick) 30896 #define IDesktopWallpaper_GetSlideshowOptions(This,options,slideshowTick) (This)->lpVtbl->GetSlideshowOptions(This,options,slideshowTick) 30897 #define IDesktopWallpaper_AdvanceSlideshow(This,monitorID,direction) (This)->lpVtbl->AdvanceSlideshow(This,monitorID,direction) 30898 #define IDesktopWallpaper_GetStatus(This,state) (This)->lpVtbl->GetStatus(This,state) 30899 #define IDesktopWallpaper_Enable(This,enable) (This)->lpVtbl->Enable(This,enable) 30900 #else 30901 /*** IUnknown methods ***/ 30902 static inline HRESULT IDesktopWallpaper_QueryInterface(IDesktopWallpaper* This,REFIID riid,void **ppvObject) { 30903 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 30904 } 30905 static inline ULONG IDesktopWallpaper_AddRef(IDesktopWallpaper* This) { 30906 return This->lpVtbl->AddRef(This); 30907 } 30908 static inline ULONG IDesktopWallpaper_Release(IDesktopWallpaper* This) { 30909 return This->lpVtbl->Release(This); 30910 } 30911 /*** IDesktopWallpaper methods ***/ 30912 static inline HRESULT IDesktopWallpaper_SetWallpaper(IDesktopWallpaper* This,LPCWSTR monitorID,LPCWSTR wallpaper) { 30913 return This->lpVtbl->SetWallpaper(This,monitorID,wallpaper); 30914 } 30915 static inline HRESULT IDesktopWallpaper_GetWallpaper(IDesktopWallpaper* This,LPCWSTR monitorID,LPWSTR *wallpaper) { 30916 return This->lpVtbl->GetWallpaper(This,monitorID,wallpaper); 30917 } 30918 static inline HRESULT IDesktopWallpaper_GetMonitorDevicePathAt(IDesktopWallpaper* This,UINT monitorIndex,LPWSTR *monitorID) { 30919 return This->lpVtbl->GetMonitorDevicePathAt(This,monitorIndex,monitorID); 30920 } 30921 static inline HRESULT IDesktopWallpaper_GetMonitorDevicePathCount(IDesktopWallpaper* This,UINT *count) { 30922 return This->lpVtbl->GetMonitorDevicePathCount(This,count); 30923 } 30924 static inline HRESULT IDesktopWallpaper_GetMonitorRECT(IDesktopWallpaper* This,LPCWSTR monitorID,RECT *displayRect) { 30925 return This->lpVtbl->GetMonitorRECT(This,monitorID,displayRect); 30926 } 30927 static inline HRESULT IDesktopWallpaper_SetBackgroundColor(IDesktopWallpaper* This,COLORREF color) { 30928 return This->lpVtbl->SetBackgroundColor(This,color); 30929 } 30930 static inline HRESULT IDesktopWallpaper_GetBackgroundColor(IDesktopWallpaper* This,COLORREF *color) { 30931 return This->lpVtbl->GetBackgroundColor(This,color); 30932 } 30933 static inline HRESULT IDesktopWallpaper_SetPosition(IDesktopWallpaper* This,DESKTOP_WALLPAPER_POSITION position) { 30934 return This->lpVtbl->SetPosition(This,position); 30935 } 30936 static inline HRESULT IDesktopWallpaper_GetPosition(IDesktopWallpaper* This,DESKTOP_WALLPAPER_POSITION *position) { 30937 return This->lpVtbl->GetPosition(This,position); 30938 } 30939 static inline HRESULT IDesktopWallpaper_SetSlideshow(IDesktopWallpaper* This,IShellItemArray *items) { 30940 return This->lpVtbl->SetSlideshow(This,items); 30941 } 30942 static inline HRESULT IDesktopWallpaper_GetSlideshow(IDesktopWallpaper* This,IShellItemArray **items) { 30943 return This->lpVtbl->GetSlideshow(This,items); 30944 } 30945 static inline HRESULT IDesktopWallpaper_SetSlideshowOptions(IDesktopWallpaper* This,DESKTOP_SLIDESHOW_OPTIONS options,UINT slideshowTick) { 30946 return This->lpVtbl->SetSlideshowOptions(This,options,slideshowTick); 30947 } 30948 static inline HRESULT IDesktopWallpaper_GetSlideshowOptions(IDesktopWallpaper* This,DESKTOP_SLIDESHOW_OPTIONS *options,UINT *slideshowTick) { 30949 return This->lpVtbl->GetSlideshowOptions(This,options,slideshowTick); 30950 } 30951 static inline HRESULT IDesktopWallpaper_AdvanceSlideshow(IDesktopWallpaper* This,LPCWSTR monitorID,DESKTOP_SLIDESHOW_DIRECTION direction) { 30952 return This->lpVtbl->AdvanceSlideshow(This,monitorID,direction); 30953 } 30954 static inline HRESULT IDesktopWallpaper_GetStatus(IDesktopWallpaper* This,DESKTOP_SLIDESHOW_STATE *state) { 30955 return This->lpVtbl->GetStatus(This,state); 30956 } 30957 static inline HRESULT IDesktopWallpaper_Enable(IDesktopWallpaper* This,WINBOOL enable) { 30958 return This->lpVtbl->Enable(This,enable); 30959 } 30960 #endif 30961 #endif 30962 30963 #endif 30964 30965 30966 #endif /* __IDesktopWallpaper_INTERFACE_DEFINED__ */ 30967 30968 #endif 30969 30970 #define HOMEGROUP_SECURITY_GROUP_MULTI L"HUG" 30971 #define HOMEGROUP_SECURITY_GROUP L"HomeUsers" 30972 30973 /***************************************************************************** 30974 * IHomeGroup interface 30975 */ 30976 #ifndef __IHomeGroup_INTERFACE_DEFINED__ 30977 #define __IHomeGroup_INTERFACE_DEFINED__ 30978 30979 typedef enum HOMEGROUPSHARINGCHOICES { 30980 HGSC_NONE = 0x0, 30981 HGSC_MUSICLIBRARY = 0x1, 30982 HGSC_PICTURESLIBRARY = 0x2, 30983 HGSC_VIDEOSLIBRARY = 0x4, 30984 HGSC_DOCUMENTSLIBRARY = 0x8, 30985 HGSC_PRINTERS = 0x10 30986 } HOMEGROUPSHARINGCHOICES; 30987 30988 DEFINE_ENUM_FLAG_OPERATORS(HOMEGROUPSHARINGCHOICES) 30989 30990 DEFINE_GUID(IID_IHomeGroup, 0x7a3bd1d9, 0x35a9, 0x4fb3, 0xa4,0x67, 0xf4,0x8c,0xac,0x35,0xe2,0xd0); 30991 #if defined(__cplusplus) && !defined(CINTERFACE) 30992 MIDL_INTERFACE("7a3bd1d9-35a9-4fb3-a467-f48cac35e2d0") 30993 IHomeGroup : public IUnknown 30994 { 30995 virtual HRESULT STDMETHODCALLTYPE IsMember( 30996 WINBOOL *member) = 0; 30997 30998 virtual HRESULT STDMETHODCALLTYPE ShowSharingWizard( 30999 HWND owner, 31000 HOMEGROUPSHARINGCHOICES *sharingchoices) = 0; 31001 31002 }; 31003 #ifdef __CRT_UUID_DECL 31004 __CRT_UUID_DECL(IHomeGroup, 0x7a3bd1d9, 0x35a9, 0x4fb3, 0xa4,0x67, 0xf4,0x8c,0xac,0x35,0xe2,0xd0) 31005 #endif 31006 #else 31007 typedef struct IHomeGroupVtbl { 31008 BEGIN_INTERFACE 31009 31010 /*** IUnknown methods ***/ 31011 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 31012 IHomeGroup *This, 31013 REFIID riid, 31014 void **ppvObject); 31015 31016 ULONG (STDMETHODCALLTYPE *AddRef)( 31017 IHomeGroup *This); 31018 31019 ULONG (STDMETHODCALLTYPE *Release)( 31020 IHomeGroup *This); 31021 31022 /*** IHomeGroup methods ***/ 31023 HRESULT (STDMETHODCALLTYPE *IsMember)( 31024 IHomeGroup *This, 31025 WINBOOL *member); 31026 31027 HRESULT (STDMETHODCALLTYPE *ShowSharingWizard)( 31028 IHomeGroup *This, 31029 HWND owner, 31030 HOMEGROUPSHARINGCHOICES *sharingchoices); 31031 31032 END_INTERFACE 31033 } IHomeGroupVtbl; 31034 31035 interface IHomeGroup { 31036 CONST_VTBL IHomeGroupVtbl* lpVtbl; 31037 }; 31038 31039 #ifdef COBJMACROS 31040 #ifndef WIDL_C_INLINE_WRAPPERS 31041 /*** IUnknown methods ***/ 31042 #define IHomeGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 31043 #define IHomeGroup_AddRef(This) (This)->lpVtbl->AddRef(This) 31044 #define IHomeGroup_Release(This) (This)->lpVtbl->Release(This) 31045 /*** IHomeGroup methods ***/ 31046 #define IHomeGroup_IsMember(This,member) (This)->lpVtbl->IsMember(This,member) 31047 #define IHomeGroup_ShowSharingWizard(This,owner,sharingchoices) (This)->lpVtbl->ShowSharingWizard(This,owner,sharingchoices) 31048 #else 31049 /*** IUnknown methods ***/ 31050 static inline HRESULT IHomeGroup_QueryInterface(IHomeGroup* This,REFIID riid,void **ppvObject) { 31051 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 31052 } 31053 static inline ULONG IHomeGroup_AddRef(IHomeGroup* This) { 31054 return This->lpVtbl->AddRef(This); 31055 } 31056 static inline ULONG IHomeGroup_Release(IHomeGroup* This) { 31057 return This->lpVtbl->Release(This); 31058 } 31059 /*** IHomeGroup methods ***/ 31060 static inline HRESULT IHomeGroup_IsMember(IHomeGroup* This,WINBOOL *member) { 31061 return This->lpVtbl->IsMember(This,member); 31062 } 31063 static inline HRESULT IHomeGroup_ShowSharingWizard(IHomeGroup* This,HWND owner,HOMEGROUPSHARINGCHOICES *sharingchoices) { 31064 return This->lpVtbl->ShowSharingWizard(This,owner,sharingchoices); 31065 } 31066 #endif 31067 #endif 31068 31069 #endif 31070 31071 31072 #endif /* __IHomeGroup_INTERFACE_DEFINED__ */ 31073 31074 31075 /***************************************************************************** 31076 * IInitializeWithPropertyStore interface 31077 */ 31078 #ifndef __IInitializeWithPropertyStore_INTERFACE_DEFINED__ 31079 #define __IInitializeWithPropertyStore_INTERFACE_DEFINED__ 31080 31081 DEFINE_GUID(IID_IInitializeWithPropertyStore, 0xc3e12eb5, 0x7d8d, 0x44f8, 0xb6,0xdd, 0x0e,0x77,0xb3,0x4d,0x6d,0xe4); 31082 #if defined(__cplusplus) && !defined(CINTERFACE) 31083 MIDL_INTERFACE("c3e12eb5-7d8d-44f8-b6dd-0e77b34d6de4") 31084 IInitializeWithPropertyStore : public IUnknown 31085 { 31086 virtual HRESULT STDMETHODCALLTYPE Initialize( 31087 IPropertyStore *pps) = 0; 31088 31089 }; 31090 #ifdef __CRT_UUID_DECL 31091 __CRT_UUID_DECL(IInitializeWithPropertyStore, 0xc3e12eb5, 0x7d8d, 0x44f8, 0xb6,0xdd, 0x0e,0x77,0xb3,0x4d,0x6d,0xe4) 31092 #endif 31093 #else 31094 typedef struct IInitializeWithPropertyStoreVtbl { 31095 BEGIN_INTERFACE 31096 31097 /*** IUnknown methods ***/ 31098 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 31099 IInitializeWithPropertyStore *This, 31100 REFIID riid, 31101 void **ppvObject); 31102 31103 ULONG (STDMETHODCALLTYPE *AddRef)( 31104 IInitializeWithPropertyStore *This); 31105 31106 ULONG (STDMETHODCALLTYPE *Release)( 31107 IInitializeWithPropertyStore *This); 31108 31109 /*** IInitializeWithPropertyStore methods ***/ 31110 HRESULT (STDMETHODCALLTYPE *Initialize)( 31111 IInitializeWithPropertyStore *This, 31112 IPropertyStore *pps); 31113 31114 END_INTERFACE 31115 } IInitializeWithPropertyStoreVtbl; 31116 31117 interface IInitializeWithPropertyStore { 31118 CONST_VTBL IInitializeWithPropertyStoreVtbl* lpVtbl; 31119 }; 31120 31121 #ifdef COBJMACROS 31122 #ifndef WIDL_C_INLINE_WRAPPERS 31123 /*** IUnknown methods ***/ 31124 #define IInitializeWithPropertyStore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 31125 #define IInitializeWithPropertyStore_AddRef(This) (This)->lpVtbl->AddRef(This) 31126 #define IInitializeWithPropertyStore_Release(This) (This)->lpVtbl->Release(This) 31127 /*** IInitializeWithPropertyStore methods ***/ 31128 #define IInitializeWithPropertyStore_Initialize(This,pps) (This)->lpVtbl->Initialize(This,pps) 31129 #else 31130 /*** IUnknown methods ***/ 31131 static inline HRESULT IInitializeWithPropertyStore_QueryInterface(IInitializeWithPropertyStore* This,REFIID riid,void **ppvObject) { 31132 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 31133 } 31134 static inline ULONG IInitializeWithPropertyStore_AddRef(IInitializeWithPropertyStore* This) { 31135 return This->lpVtbl->AddRef(This); 31136 } 31137 static inline ULONG IInitializeWithPropertyStore_Release(IInitializeWithPropertyStore* This) { 31138 return This->lpVtbl->Release(This); 31139 } 31140 /*** IInitializeWithPropertyStore methods ***/ 31141 static inline HRESULT IInitializeWithPropertyStore_Initialize(IInitializeWithPropertyStore* This,IPropertyStore *pps) { 31142 return This->lpVtbl->Initialize(This,pps); 31143 } 31144 #endif 31145 #endif 31146 31147 #endif 31148 31149 31150 #endif /* __IInitializeWithPropertyStore_INTERFACE_DEFINED__ */ 31151 31152 31153 /***************************************************************************** 31154 * IOpenSearchSource interface 31155 */ 31156 #ifndef __IOpenSearchSource_INTERFACE_DEFINED__ 31157 #define __IOpenSearchSource_INTERFACE_DEFINED__ 31158 31159 DEFINE_GUID(IID_IOpenSearchSource, 0xf0ee7333, 0xe6fc, 0x479b, 0x9f,0x25, 0xa8,0x60,0xc2,0x34,0xa3,0x8e); 31160 #if defined(__cplusplus) && !defined(CINTERFACE) 31161 MIDL_INTERFACE("f0ee7333-e6fc-479b-9f25-a860c234a38e") 31162 IOpenSearchSource : public IUnknown 31163 { 31164 virtual HRESULT STDMETHODCALLTYPE GetResults( 31165 HWND hwnd, 31166 LPCWSTR pszQuery, 31167 DWORD dwStartIndex, 31168 DWORD dwCount, 31169 REFIID riid, 31170 void **ppv) = 0; 31171 31172 }; 31173 #ifdef __CRT_UUID_DECL 31174 __CRT_UUID_DECL(IOpenSearchSource, 0xf0ee7333, 0xe6fc, 0x479b, 0x9f,0x25, 0xa8,0x60,0xc2,0x34,0xa3,0x8e) 31175 #endif 31176 #else 31177 typedef struct IOpenSearchSourceVtbl { 31178 BEGIN_INTERFACE 31179 31180 /*** IUnknown methods ***/ 31181 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 31182 IOpenSearchSource *This, 31183 REFIID riid, 31184 void **ppvObject); 31185 31186 ULONG (STDMETHODCALLTYPE *AddRef)( 31187 IOpenSearchSource *This); 31188 31189 ULONG (STDMETHODCALLTYPE *Release)( 31190 IOpenSearchSource *This); 31191 31192 /*** IOpenSearchSource methods ***/ 31193 HRESULT (STDMETHODCALLTYPE *GetResults)( 31194 IOpenSearchSource *This, 31195 HWND hwnd, 31196 LPCWSTR pszQuery, 31197 DWORD dwStartIndex, 31198 DWORD dwCount, 31199 REFIID riid, 31200 void **ppv); 31201 31202 END_INTERFACE 31203 } IOpenSearchSourceVtbl; 31204 31205 interface IOpenSearchSource { 31206 CONST_VTBL IOpenSearchSourceVtbl* lpVtbl; 31207 }; 31208 31209 #ifdef COBJMACROS 31210 #ifndef WIDL_C_INLINE_WRAPPERS 31211 /*** IUnknown methods ***/ 31212 #define IOpenSearchSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 31213 #define IOpenSearchSource_AddRef(This) (This)->lpVtbl->AddRef(This) 31214 #define IOpenSearchSource_Release(This) (This)->lpVtbl->Release(This) 31215 /*** IOpenSearchSource methods ***/ 31216 #define IOpenSearchSource_GetResults(This,hwnd,pszQuery,dwStartIndex,dwCount,riid,ppv) (This)->lpVtbl->GetResults(This,hwnd,pszQuery,dwStartIndex,dwCount,riid,ppv) 31217 #else 31218 /*** IUnknown methods ***/ 31219 static inline HRESULT IOpenSearchSource_QueryInterface(IOpenSearchSource* This,REFIID riid,void **ppvObject) { 31220 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 31221 } 31222 static inline ULONG IOpenSearchSource_AddRef(IOpenSearchSource* This) { 31223 return This->lpVtbl->AddRef(This); 31224 } 31225 static inline ULONG IOpenSearchSource_Release(IOpenSearchSource* This) { 31226 return This->lpVtbl->Release(This); 31227 } 31228 /*** IOpenSearchSource methods ***/ 31229 static inline HRESULT IOpenSearchSource_GetResults(IOpenSearchSource* This,HWND hwnd,LPCWSTR pszQuery,DWORD dwStartIndex,DWORD dwCount,REFIID riid,void **ppv) { 31230 return This->lpVtbl->GetResults(This,hwnd,pszQuery,dwStartIndex,dwCount,riid,ppv); 31231 } 31232 #endif 31233 #endif 31234 31235 #endif 31236 31237 31238 #endif /* __IOpenSearchSource_INTERFACE_DEFINED__ */ 31239 31240 31241 /***************************************************************************** 31242 * IShellLibrary interface 31243 */ 31244 #ifndef __IShellLibrary_INTERFACE_DEFINED__ 31245 #define __IShellLibrary_INTERFACE_DEFINED__ 31246 31247 typedef enum LIBRARYFOLDERFILTER { 31248 LFF_FORCEFILESYSTEM = 1, 31249 LFF_STORAGEITEMS = 2, 31250 LFF_ALLITEMS = 3 31251 } LIBRARYFOLDERFILTER; 31252 31253 typedef enum LIBRARYOPTIONFLAGS { 31254 LOF_DEFAULT = 0x0, 31255 LOF_PINNEDTONAVPANE = 0x1, 31256 LOF_MASK_ALL = 0x1 31257 } LIBRARYOPTIONFLAGS; 31258 31259 DEFINE_ENUM_FLAG_OPERATORS(LIBRARYOPTIONFLAGS) 31260 31261 typedef enum DEFAULTSAVEFOLDERTYPE { 31262 DSFT_DETECT = 1, 31263 DSFT_PRIVATE = 2, 31264 DSFT_PUBLIC = 3 31265 } DEFAULTSAVEFOLDERTYPE; 31266 31267 typedef enum LIBRARYSAVEFLAGS { 31268 LSF_FAILIFTHERE = 0x0, 31269 LSF_OVERRIDEEXISTING = 0x1, 31270 LSF_MAKEUNIQUENAME = 0x2 31271 } LIBRARYSAVEFLAGS; 31272 31273 DEFINE_ENUM_FLAG_OPERATORS(LIBRARYSAVEFLAGS) 31274 31275 DEFINE_GUID(IID_IShellLibrary, 0x11a66efa, 0x382e, 0x451a, 0x92,0x34, 0x1e,0x0e,0x12,0xef,0x30,0x85); 31276 #if defined(__cplusplus) && !defined(CINTERFACE) 31277 MIDL_INTERFACE("11a66efa-382e-451a-9234-1e0e12ef3085") 31278 IShellLibrary : public IUnknown 31279 { 31280 virtual HRESULT STDMETHODCALLTYPE LoadLibraryFromItem( 31281 IShellItem *psiLibrary, 31282 DWORD grfMode) = 0; 31283 31284 virtual HRESULT STDMETHODCALLTYPE LoadLibraryFromKnownFolder( 31285 REFKNOWNFOLDERID kfidLibrary, 31286 DWORD grfMode) = 0; 31287 31288 virtual HRESULT STDMETHODCALLTYPE AddFolder( 31289 IShellItem *psiLocation) = 0; 31290 31291 virtual HRESULT STDMETHODCALLTYPE RemoveFolder( 31292 IShellItem *psiLocation) = 0; 31293 31294 virtual HRESULT STDMETHODCALLTYPE GetFolders( 31295 LIBRARYFOLDERFILTER lff, 31296 REFIID riid, 31297 void **ppv) = 0; 31298 31299 virtual HRESULT STDMETHODCALLTYPE ResolveFolder( 31300 IShellItem *psiFolderToResolve, 31301 DWORD dwTimeout, 31302 REFIID riid, 31303 void **ppv) = 0; 31304 31305 virtual HRESULT STDMETHODCALLTYPE GetDefaultSaveFolder( 31306 DEFAULTSAVEFOLDERTYPE dsft, 31307 REFIID riid, 31308 void **ppv) = 0; 31309 31310 virtual HRESULT STDMETHODCALLTYPE SetDefaultSaveFolder( 31311 DEFAULTSAVEFOLDERTYPE dsft, 31312 IShellItem *psi) = 0; 31313 31314 virtual HRESULT STDMETHODCALLTYPE GetOptions( 31315 LIBRARYOPTIONFLAGS *plofOptions) = 0; 31316 31317 virtual HRESULT STDMETHODCALLTYPE SetOptions( 31318 LIBRARYOPTIONFLAGS lofMask, 31319 LIBRARYOPTIONFLAGS lofOptions) = 0; 31320 31321 virtual HRESULT STDMETHODCALLTYPE GetFolderType( 31322 FOLDERTYPEID *pftid) = 0; 31323 31324 virtual HRESULT STDMETHODCALLTYPE SetFolderType( 31325 REFFOLDERTYPEID ftid) = 0; 31326 31327 virtual HRESULT STDMETHODCALLTYPE GetIcon( 31328 LPWSTR *ppszIcon) = 0; 31329 31330 virtual HRESULT STDMETHODCALLTYPE SetIcon( 31331 LPCWSTR pszIcon) = 0; 31332 31333 virtual HRESULT STDMETHODCALLTYPE Commit( 31334 ) = 0; 31335 31336 virtual HRESULT STDMETHODCALLTYPE Save( 31337 IShellItem *psiFolderToSaveIn, 31338 LPCWSTR pszLibraryName, 31339 LIBRARYSAVEFLAGS lsf, 31340 IShellItem **ppsiSavedTo) = 0; 31341 31342 virtual HRESULT STDMETHODCALLTYPE SaveInKnownFolder( 31343 REFKNOWNFOLDERID kfidToSaveIn, 31344 LPCWSTR pszLibraryName, 31345 LIBRARYSAVEFLAGS lsf, 31346 IShellItem **ppsiSavedTo) = 0; 31347 31348 }; 31349 #ifdef __CRT_UUID_DECL 31350 __CRT_UUID_DECL(IShellLibrary, 0x11a66efa, 0x382e, 0x451a, 0x92,0x34, 0x1e,0x0e,0x12,0xef,0x30,0x85) 31351 #endif 31352 #else 31353 typedef struct IShellLibraryVtbl { 31354 BEGIN_INTERFACE 31355 31356 /*** IUnknown methods ***/ 31357 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 31358 IShellLibrary *This, 31359 REFIID riid, 31360 void **ppvObject); 31361 31362 ULONG (STDMETHODCALLTYPE *AddRef)( 31363 IShellLibrary *This); 31364 31365 ULONG (STDMETHODCALLTYPE *Release)( 31366 IShellLibrary *This); 31367 31368 /*** IShellLibrary methods ***/ 31369 HRESULT (STDMETHODCALLTYPE *LoadLibraryFromItem)( 31370 IShellLibrary *This, 31371 IShellItem *psiLibrary, 31372 DWORD grfMode); 31373 31374 HRESULT (STDMETHODCALLTYPE *LoadLibraryFromKnownFolder)( 31375 IShellLibrary *This, 31376 REFKNOWNFOLDERID kfidLibrary, 31377 DWORD grfMode); 31378 31379 HRESULT (STDMETHODCALLTYPE *AddFolder)( 31380 IShellLibrary *This, 31381 IShellItem *psiLocation); 31382 31383 HRESULT (STDMETHODCALLTYPE *RemoveFolder)( 31384 IShellLibrary *This, 31385 IShellItem *psiLocation); 31386 31387 HRESULT (STDMETHODCALLTYPE *GetFolders)( 31388 IShellLibrary *This, 31389 LIBRARYFOLDERFILTER lff, 31390 REFIID riid, 31391 void **ppv); 31392 31393 HRESULT (STDMETHODCALLTYPE *ResolveFolder)( 31394 IShellLibrary *This, 31395 IShellItem *psiFolderToResolve, 31396 DWORD dwTimeout, 31397 REFIID riid, 31398 void **ppv); 31399 31400 HRESULT (STDMETHODCALLTYPE *GetDefaultSaveFolder)( 31401 IShellLibrary *This, 31402 DEFAULTSAVEFOLDERTYPE dsft, 31403 REFIID riid, 31404 void **ppv); 31405 31406 HRESULT (STDMETHODCALLTYPE *SetDefaultSaveFolder)( 31407 IShellLibrary *This, 31408 DEFAULTSAVEFOLDERTYPE dsft, 31409 IShellItem *psi); 31410 31411 HRESULT (STDMETHODCALLTYPE *GetOptions)( 31412 IShellLibrary *This, 31413 LIBRARYOPTIONFLAGS *plofOptions); 31414 31415 HRESULT (STDMETHODCALLTYPE *SetOptions)( 31416 IShellLibrary *This, 31417 LIBRARYOPTIONFLAGS lofMask, 31418 LIBRARYOPTIONFLAGS lofOptions); 31419 31420 HRESULT (STDMETHODCALLTYPE *GetFolderType)( 31421 IShellLibrary *This, 31422 FOLDERTYPEID *pftid); 31423 31424 HRESULT (STDMETHODCALLTYPE *SetFolderType)( 31425 IShellLibrary *This, 31426 REFFOLDERTYPEID ftid); 31427 31428 HRESULT (STDMETHODCALLTYPE *GetIcon)( 31429 IShellLibrary *This, 31430 LPWSTR *ppszIcon); 31431 31432 HRESULT (STDMETHODCALLTYPE *SetIcon)( 31433 IShellLibrary *This, 31434 LPCWSTR pszIcon); 31435 31436 HRESULT (STDMETHODCALLTYPE *Commit)( 31437 IShellLibrary *This); 31438 31439 HRESULT (STDMETHODCALLTYPE *Save)( 31440 IShellLibrary *This, 31441 IShellItem *psiFolderToSaveIn, 31442 LPCWSTR pszLibraryName, 31443 LIBRARYSAVEFLAGS lsf, 31444 IShellItem **ppsiSavedTo); 31445 31446 HRESULT (STDMETHODCALLTYPE *SaveInKnownFolder)( 31447 IShellLibrary *This, 31448 REFKNOWNFOLDERID kfidToSaveIn, 31449 LPCWSTR pszLibraryName, 31450 LIBRARYSAVEFLAGS lsf, 31451 IShellItem **ppsiSavedTo); 31452 31453 END_INTERFACE 31454 } IShellLibraryVtbl; 31455 31456 interface IShellLibrary { 31457 CONST_VTBL IShellLibraryVtbl* lpVtbl; 31458 }; 31459 31460 #ifdef COBJMACROS 31461 #ifndef WIDL_C_INLINE_WRAPPERS 31462 /*** IUnknown methods ***/ 31463 #define IShellLibrary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 31464 #define IShellLibrary_AddRef(This) (This)->lpVtbl->AddRef(This) 31465 #define IShellLibrary_Release(This) (This)->lpVtbl->Release(This) 31466 /*** IShellLibrary methods ***/ 31467 #define IShellLibrary_LoadLibraryFromItem(This,psiLibrary,grfMode) (This)->lpVtbl->LoadLibraryFromItem(This,psiLibrary,grfMode) 31468 #define IShellLibrary_LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode) (This)->lpVtbl->LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode) 31469 #define IShellLibrary_AddFolder(This,psiLocation) (This)->lpVtbl->AddFolder(This,psiLocation) 31470 #define IShellLibrary_RemoveFolder(This,psiLocation) (This)->lpVtbl->RemoveFolder(This,psiLocation) 31471 #define IShellLibrary_GetFolders(This,lff,riid,ppv) (This)->lpVtbl->GetFolders(This,lff,riid,ppv) 31472 #define IShellLibrary_ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv) (This)->lpVtbl->ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv) 31473 #define IShellLibrary_GetDefaultSaveFolder(This,dsft,riid,ppv) (This)->lpVtbl->GetDefaultSaveFolder(This,dsft,riid,ppv) 31474 #define IShellLibrary_SetDefaultSaveFolder(This,dsft,psi) (This)->lpVtbl->SetDefaultSaveFolder(This,dsft,psi) 31475 #define IShellLibrary_GetOptions(This,plofOptions) (This)->lpVtbl->GetOptions(This,plofOptions) 31476 #define IShellLibrary_SetOptions(This,lofMask,lofOptions) (This)->lpVtbl->SetOptions(This,lofMask,lofOptions) 31477 #define IShellLibrary_GetFolderType(This,pftid) (This)->lpVtbl->GetFolderType(This,pftid) 31478 #define IShellLibrary_SetFolderType(This,ftid) (This)->lpVtbl->SetFolderType(This,ftid) 31479 #define IShellLibrary_GetIcon(This,ppszIcon) (This)->lpVtbl->GetIcon(This,ppszIcon) 31480 #define IShellLibrary_SetIcon(This,pszIcon) (This)->lpVtbl->SetIcon(This,pszIcon) 31481 #define IShellLibrary_Commit(This) (This)->lpVtbl->Commit(This) 31482 #define IShellLibrary_Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo) (This)->lpVtbl->Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo) 31483 #define IShellLibrary_SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo) (This)->lpVtbl->SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo) 31484 #else 31485 /*** IUnknown methods ***/ 31486 static inline HRESULT IShellLibrary_QueryInterface(IShellLibrary* This,REFIID riid,void **ppvObject) { 31487 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 31488 } 31489 static inline ULONG IShellLibrary_AddRef(IShellLibrary* This) { 31490 return This->lpVtbl->AddRef(This); 31491 } 31492 static inline ULONG IShellLibrary_Release(IShellLibrary* This) { 31493 return This->lpVtbl->Release(This); 31494 } 31495 /*** IShellLibrary methods ***/ 31496 static inline HRESULT IShellLibrary_LoadLibraryFromItem(IShellLibrary* This,IShellItem *psiLibrary,DWORD grfMode) { 31497 return This->lpVtbl->LoadLibraryFromItem(This,psiLibrary,grfMode); 31498 } 31499 static inline HRESULT IShellLibrary_LoadLibraryFromKnownFolder(IShellLibrary* This,REFKNOWNFOLDERID kfidLibrary,DWORD grfMode) { 31500 return This->lpVtbl->LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode); 31501 } 31502 static inline HRESULT IShellLibrary_AddFolder(IShellLibrary* This,IShellItem *psiLocation) { 31503 return This->lpVtbl->AddFolder(This,psiLocation); 31504 } 31505 static inline HRESULT IShellLibrary_RemoveFolder(IShellLibrary* This,IShellItem *psiLocation) { 31506 return This->lpVtbl->RemoveFolder(This,psiLocation); 31507 } 31508 static inline HRESULT IShellLibrary_GetFolders(IShellLibrary* This,LIBRARYFOLDERFILTER lff,REFIID riid,void **ppv) { 31509 return This->lpVtbl->GetFolders(This,lff,riid,ppv); 31510 } 31511 static inline HRESULT IShellLibrary_ResolveFolder(IShellLibrary* This,IShellItem *psiFolderToResolve,DWORD dwTimeout,REFIID riid,void **ppv) { 31512 return This->lpVtbl->ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv); 31513 } 31514 static inline HRESULT IShellLibrary_GetDefaultSaveFolder(IShellLibrary* This,DEFAULTSAVEFOLDERTYPE dsft,REFIID riid,void **ppv) { 31515 return This->lpVtbl->GetDefaultSaveFolder(This,dsft,riid,ppv); 31516 } 31517 static inline HRESULT IShellLibrary_SetDefaultSaveFolder(IShellLibrary* This,DEFAULTSAVEFOLDERTYPE dsft,IShellItem *psi) { 31518 return This->lpVtbl->SetDefaultSaveFolder(This,dsft,psi); 31519 } 31520 static inline HRESULT IShellLibrary_GetOptions(IShellLibrary* This,LIBRARYOPTIONFLAGS *plofOptions) { 31521 return This->lpVtbl->GetOptions(This,plofOptions); 31522 } 31523 static inline HRESULT IShellLibrary_SetOptions(IShellLibrary* This,LIBRARYOPTIONFLAGS lofMask,LIBRARYOPTIONFLAGS lofOptions) { 31524 return This->lpVtbl->SetOptions(This,lofMask,lofOptions); 31525 } 31526 static inline HRESULT IShellLibrary_GetFolderType(IShellLibrary* This,FOLDERTYPEID *pftid) { 31527 return This->lpVtbl->GetFolderType(This,pftid); 31528 } 31529 static inline HRESULT IShellLibrary_SetFolderType(IShellLibrary* This,REFFOLDERTYPEID ftid) { 31530 return This->lpVtbl->SetFolderType(This,ftid); 31531 } 31532 static inline HRESULT IShellLibrary_GetIcon(IShellLibrary* This,LPWSTR *ppszIcon) { 31533 return This->lpVtbl->GetIcon(This,ppszIcon); 31534 } 31535 static inline HRESULT IShellLibrary_SetIcon(IShellLibrary* This,LPCWSTR pszIcon) { 31536 return This->lpVtbl->SetIcon(This,pszIcon); 31537 } 31538 static inline HRESULT IShellLibrary_Commit(IShellLibrary* This) { 31539 return This->lpVtbl->Commit(This); 31540 } 31541 static inline HRESULT IShellLibrary_Save(IShellLibrary* This,IShellItem *psiFolderToSaveIn,LPCWSTR pszLibraryName,LIBRARYSAVEFLAGS lsf,IShellItem **ppsiSavedTo) { 31542 return This->lpVtbl->Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo); 31543 } 31544 static inline HRESULT IShellLibrary_SaveInKnownFolder(IShellLibrary* This,REFKNOWNFOLDERID kfidToSaveIn,LPCWSTR pszLibraryName,LIBRARYSAVEFLAGS lsf,IShellItem **ppsiSavedTo) { 31545 return This->lpVtbl->SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo); 31546 } 31547 #endif 31548 #endif 31549 31550 #endif 31551 31552 31553 #endif /* __IShellLibrary_INTERFACE_DEFINED__ */ 31554 31555 31556 typedef enum PBM_EVENT { 31557 PE_DUCKSESSION = 1, 31558 PE_UNDUCKSESSION = 2 31559 } PBM_EVENT; 31560 31561 /***************************************************************************** 31562 * IPlaybackManagerEvents interface 31563 */ 31564 #ifndef __IPlaybackManagerEvents_INTERFACE_DEFINED__ 31565 #define __IPlaybackManagerEvents_INTERFACE_DEFINED__ 31566 31567 DEFINE_GUID(IID_IPlaybackManagerEvents, 0x385cfb7d, 0x4e0c, 0x4106, 0x91,0x2e, 0x8c,0xfb,0x4c,0x19,0x1f,0x45); 31568 #if defined(__cplusplus) && !defined(CINTERFACE) 31569 MIDL_INTERFACE("385cfb7d-4e0c-4106-912e-8cfb4c191f45") 31570 IPlaybackManagerEvents : public IUnknown 31571 { 31572 virtual HRESULT STDMETHODCALLTYPE OnPlaybackManagerEvent( 31573 DWORD dwSessionId, 31574 PBM_EVENT mediaEvent) = 0; 31575 31576 }; 31577 #ifdef __CRT_UUID_DECL 31578 __CRT_UUID_DECL(IPlaybackManagerEvents, 0x385cfb7d, 0x4e0c, 0x4106, 0x91,0x2e, 0x8c,0xfb,0x4c,0x19,0x1f,0x45) 31579 #endif 31580 #else 31581 typedef struct IPlaybackManagerEventsVtbl { 31582 BEGIN_INTERFACE 31583 31584 /*** IUnknown methods ***/ 31585 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 31586 IPlaybackManagerEvents *This, 31587 REFIID riid, 31588 void **ppvObject); 31589 31590 ULONG (STDMETHODCALLTYPE *AddRef)( 31591 IPlaybackManagerEvents *This); 31592 31593 ULONG (STDMETHODCALLTYPE *Release)( 31594 IPlaybackManagerEvents *This); 31595 31596 /*** IPlaybackManagerEvents methods ***/ 31597 HRESULT (STDMETHODCALLTYPE *OnPlaybackManagerEvent)( 31598 IPlaybackManagerEvents *This, 31599 DWORD dwSessionId, 31600 PBM_EVENT mediaEvent); 31601 31602 END_INTERFACE 31603 } IPlaybackManagerEventsVtbl; 31604 31605 interface IPlaybackManagerEvents { 31606 CONST_VTBL IPlaybackManagerEventsVtbl* lpVtbl; 31607 }; 31608 31609 #ifdef COBJMACROS 31610 #ifndef WIDL_C_INLINE_WRAPPERS 31611 /*** IUnknown methods ***/ 31612 #define IPlaybackManagerEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 31613 #define IPlaybackManagerEvents_AddRef(This) (This)->lpVtbl->AddRef(This) 31614 #define IPlaybackManagerEvents_Release(This) (This)->lpVtbl->Release(This) 31615 /*** IPlaybackManagerEvents methods ***/ 31616 #define IPlaybackManagerEvents_OnPlaybackManagerEvent(This,dwSessionId,mediaEvent) (This)->lpVtbl->OnPlaybackManagerEvent(This,dwSessionId,mediaEvent) 31617 #else 31618 /*** IUnknown methods ***/ 31619 static inline HRESULT IPlaybackManagerEvents_QueryInterface(IPlaybackManagerEvents* This,REFIID riid,void **ppvObject) { 31620 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 31621 } 31622 static inline ULONG IPlaybackManagerEvents_AddRef(IPlaybackManagerEvents* This) { 31623 return This->lpVtbl->AddRef(This); 31624 } 31625 static inline ULONG IPlaybackManagerEvents_Release(IPlaybackManagerEvents* This) { 31626 return This->lpVtbl->Release(This); 31627 } 31628 /*** IPlaybackManagerEvents methods ***/ 31629 static inline HRESULT IPlaybackManagerEvents_OnPlaybackManagerEvent(IPlaybackManagerEvents* This,DWORD dwSessionId,PBM_EVENT mediaEvent) { 31630 return This->lpVtbl->OnPlaybackManagerEvent(This,dwSessionId,mediaEvent); 31631 } 31632 #endif 31633 #endif 31634 31635 #endif 31636 31637 31638 #endif /* __IPlaybackManagerEvents_INTERFACE_DEFINED__ */ 31639 31640 31641 typedef enum PBM_SESSION_TYPE { 31642 ST_COMMUNICATION = 1, 31643 ST_MEDIA = 2 31644 } PBM_SESSION_TYPE; 31645 31646 typedef enum PBM_PLAY_STATE { 31647 PS_PLAYING = 1, 31648 PS_PAUSED = 2, 31649 PS_STOPPED = 3 31650 } PBM_PLAY_STATE; 31651 31652 typedef enum PBM_MUTE_STATE { 31653 MS_MUTED = 1, 31654 MS_UNMUTED = 2 31655 } PBM_MUTE_STATE; 31656 31657 /***************************************************************************** 31658 * IPlaybackManager interface 31659 */ 31660 #ifndef __IPlaybackManager_INTERFACE_DEFINED__ 31661 #define __IPlaybackManager_INTERFACE_DEFINED__ 31662 31663 DEFINE_GUID(IID_IPlaybackManager, 0x0f3c1b01, 0x8199, 0x4173, 0xba,0x78, 0x98,0x58,0x82,0x26,0x6f,0x7a); 31664 #if defined(__cplusplus) && !defined(CINTERFACE) 31665 MIDL_INTERFACE("0f3c1b01-8199-4173-ba78-985882266f7a") 31666 IPlaybackManager : public IUnknown 31667 { 31668 virtual HRESULT STDMETHODCALLTYPE Advise( 31669 PBM_SESSION_TYPE type, 31670 IPlaybackManagerEvents *pEvents, 31671 DWORD *pdwSessionId) = 0; 31672 31673 virtual HRESULT STDMETHODCALLTYPE Unadvise( 31674 DWORD dwSessionId) = 0; 31675 31676 virtual HRESULT STDMETHODCALLTYPE ChangeSessionState( 31677 DWORD dwSessionId, 31678 PBM_PLAY_STATE state, 31679 PBM_MUTE_STATE mute) = 0; 31680 31681 }; 31682 #ifdef __CRT_UUID_DECL 31683 __CRT_UUID_DECL(IPlaybackManager, 0x0f3c1b01, 0x8199, 0x4173, 0xba,0x78, 0x98,0x58,0x82,0x26,0x6f,0x7a) 31684 #endif 31685 #else 31686 typedef struct IPlaybackManagerVtbl { 31687 BEGIN_INTERFACE 31688 31689 /*** IUnknown methods ***/ 31690 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 31691 IPlaybackManager *This, 31692 REFIID riid, 31693 void **ppvObject); 31694 31695 ULONG (STDMETHODCALLTYPE *AddRef)( 31696 IPlaybackManager *This); 31697 31698 ULONG (STDMETHODCALLTYPE *Release)( 31699 IPlaybackManager *This); 31700 31701 /*** IPlaybackManager methods ***/ 31702 HRESULT (STDMETHODCALLTYPE *Advise)( 31703 IPlaybackManager *This, 31704 PBM_SESSION_TYPE type, 31705 IPlaybackManagerEvents *pEvents, 31706 DWORD *pdwSessionId); 31707 31708 HRESULT (STDMETHODCALLTYPE *Unadvise)( 31709 IPlaybackManager *This, 31710 DWORD dwSessionId); 31711 31712 HRESULT (STDMETHODCALLTYPE *ChangeSessionState)( 31713 IPlaybackManager *This, 31714 DWORD dwSessionId, 31715 PBM_PLAY_STATE state, 31716 PBM_MUTE_STATE mute); 31717 31718 END_INTERFACE 31719 } IPlaybackManagerVtbl; 31720 31721 interface IPlaybackManager { 31722 CONST_VTBL IPlaybackManagerVtbl* lpVtbl; 31723 }; 31724 31725 #ifdef COBJMACROS 31726 #ifndef WIDL_C_INLINE_WRAPPERS 31727 /*** IUnknown methods ***/ 31728 #define IPlaybackManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 31729 #define IPlaybackManager_AddRef(This) (This)->lpVtbl->AddRef(This) 31730 #define IPlaybackManager_Release(This) (This)->lpVtbl->Release(This) 31731 /*** IPlaybackManager methods ***/ 31732 #define IPlaybackManager_Advise(This,type,pEvents,pdwSessionId) (This)->lpVtbl->Advise(This,type,pEvents,pdwSessionId) 31733 #define IPlaybackManager_Unadvise(This,dwSessionId) (This)->lpVtbl->Unadvise(This,dwSessionId) 31734 #define IPlaybackManager_ChangeSessionState(This,dwSessionId,state,mute) (This)->lpVtbl->ChangeSessionState(This,dwSessionId,state,mute) 31735 #else 31736 /*** IUnknown methods ***/ 31737 static inline HRESULT IPlaybackManager_QueryInterface(IPlaybackManager* This,REFIID riid,void **ppvObject) { 31738 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 31739 } 31740 static inline ULONG IPlaybackManager_AddRef(IPlaybackManager* This) { 31741 return This->lpVtbl->AddRef(This); 31742 } 31743 static inline ULONG IPlaybackManager_Release(IPlaybackManager* This) { 31744 return This->lpVtbl->Release(This); 31745 } 31746 /*** IPlaybackManager methods ***/ 31747 static inline HRESULT IPlaybackManager_Advise(IPlaybackManager* This,PBM_SESSION_TYPE type,IPlaybackManagerEvents *pEvents,DWORD *pdwSessionId) { 31748 return This->lpVtbl->Advise(This,type,pEvents,pdwSessionId); 31749 } 31750 static inline HRESULT IPlaybackManager_Unadvise(IPlaybackManager* This,DWORD dwSessionId) { 31751 return This->lpVtbl->Unadvise(This,dwSessionId); 31752 } 31753 static inline HRESULT IPlaybackManager_ChangeSessionState(IPlaybackManager* This,DWORD dwSessionId,PBM_PLAY_STATE state,PBM_MUTE_STATE mute) { 31754 return This->lpVtbl->ChangeSessionState(This,dwSessionId,state,mute); 31755 } 31756 #endif 31757 #endif 31758 31759 #endif 31760 31761 31762 #endif /* __IPlaybackManager_INTERFACE_DEFINED__ */ 31763 31764 31765 typedef enum DEFAULT_FOLDER_MENU_RESTRICTIONS { 31766 DFMR_DEFAULT = 0x0, 31767 DFMR_NO_STATIC_VERBS = 0x8, 31768 DFMR_STATIC_VERBS_ONLY = 0x10, 31769 DFMR_NO_RESOURCE_VERBS = 0x20, 31770 DFMR_OPTIN_HANDLERS_ONLY = 0x40, 31771 DFMR_RESOURCE_AND_FOLDER_VERBS_ONLY = 0x80, 31772 DFMR_USE_SPECIFIED_HANDLERS = 0x100, 31773 DFMR_USE_SPECIFIED_VERBS = 0x200, 31774 DFMR_NO_ASYNC_VERBS = 0x400 31775 } DEFAULT_FOLDER_MENU_RESTRICTIONS; 31776 31777 DEFINE_ENUM_FLAG_OPERATORS(DEFAULT_FOLDER_MENU_RESTRICTIONS) 31778 31779 /***************************************************************************** 31780 * IDefaultFolderMenuInitialize interface 31781 */ 31782 #ifndef __IDefaultFolderMenuInitialize_INTERFACE_DEFINED__ 31783 #define __IDefaultFolderMenuInitialize_INTERFACE_DEFINED__ 31784 31785 DEFINE_GUID(IID_IDefaultFolderMenuInitialize, 0x7690aa79, 0xf8fc, 0x4615, 0xa3,0x27, 0x36,0xf7,0xd1,0x8f,0x5d,0x91); 31786 #if defined(__cplusplus) && !defined(CINTERFACE) 31787 MIDL_INTERFACE("7690aa79-f8fc-4615-a327-36f7d18f5d91") 31788 IDefaultFolderMenuInitialize : public IUnknown 31789 { 31790 virtual HRESULT STDMETHODCALLTYPE Initialize( 31791 HWND hwnd, 31792 IContextMenuCB *pcmcb, 31793 PCIDLIST_ABSOLUTE pidlFolder, 31794 IShellFolder *psf, 31795 UINT cidl, 31796 PCUITEMID_CHILD_ARRAY apidl, 31797 IUnknown *punkAssociation, 31798 UINT cKeys, 31799 const HKEY *aKeys) = 0; 31800 31801 virtual HRESULT STDMETHODCALLTYPE SetMenuRestrictions( 31802 DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrValues) = 0; 31803 31804 virtual HRESULT STDMETHODCALLTYPE GetMenuRestrictions( 31805 DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrMask, 31806 DEFAULT_FOLDER_MENU_RESTRICTIONS *pdfmrValues) = 0; 31807 31808 virtual HRESULT STDMETHODCALLTYPE SetHandlerClsid( 31809 REFCLSID rclsid) = 0; 31810 31811 }; 31812 #ifdef __CRT_UUID_DECL 31813 __CRT_UUID_DECL(IDefaultFolderMenuInitialize, 0x7690aa79, 0xf8fc, 0x4615, 0xa3,0x27, 0x36,0xf7,0xd1,0x8f,0x5d,0x91) 31814 #endif 31815 #else 31816 typedef struct IDefaultFolderMenuInitializeVtbl { 31817 BEGIN_INTERFACE 31818 31819 /*** IUnknown methods ***/ 31820 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 31821 IDefaultFolderMenuInitialize *This, 31822 REFIID riid, 31823 void **ppvObject); 31824 31825 ULONG (STDMETHODCALLTYPE *AddRef)( 31826 IDefaultFolderMenuInitialize *This); 31827 31828 ULONG (STDMETHODCALLTYPE *Release)( 31829 IDefaultFolderMenuInitialize *This); 31830 31831 /*** IDefaultFolderMenuInitialize methods ***/ 31832 HRESULT (STDMETHODCALLTYPE *Initialize)( 31833 IDefaultFolderMenuInitialize *This, 31834 HWND hwnd, 31835 IContextMenuCB *pcmcb, 31836 PCIDLIST_ABSOLUTE pidlFolder, 31837 IShellFolder *psf, 31838 UINT cidl, 31839 PCUITEMID_CHILD_ARRAY apidl, 31840 IUnknown *punkAssociation, 31841 UINT cKeys, 31842 const HKEY *aKeys); 31843 31844 HRESULT (STDMETHODCALLTYPE *SetMenuRestrictions)( 31845 IDefaultFolderMenuInitialize *This, 31846 DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrValues); 31847 31848 HRESULT (STDMETHODCALLTYPE *GetMenuRestrictions)( 31849 IDefaultFolderMenuInitialize *This, 31850 DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrMask, 31851 DEFAULT_FOLDER_MENU_RESTRICTIONS *pdfmrValues); 31852 31853 HRESULT (STDMETHODCALLTYPE *SetHandlerClsid)( 31854 IDefaultFolderMenuInitialize *This, 31855 REFCLSID rclsid); 31856 31857 END_INTERFACE 31858 } IDefaultFolderMenuInitializeVtbl; 31859 31860 interface IDefaultFolderMenuInitialize { 31861 CONST_VTBL IDefaultFolderMenuInitializeVtbl* lpVtbl; 31862 }; 31863 31864 #ifdef COBJMACROS 31865 #ifndef WIDL_C_INLINE_WRAPPERS 31866 /*** IUnknown methods ***/ 31867 #define IDefaultFolderMenuInitialize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 31868 #define IDefaultFolderMenuInitialize_AddRef(This) (This)->lpVtbl->AddRef(This) 31869 #define IDefaultFolderMenuInitialize_Release(This) (This)->lpVtbl->Release(This) 31870 /*** IDefaultFolderMenuInitialize methods ***/ 31871 #define IDefaultFolderMenuInitialize_Initialize(This,hwnd,pcmcb,pidlFolder,psf,cidl,apidl,punkAssociation,cKeys,aKeys) (This)->lpVtbl->Initialize(This,hwnd,pcmcb,pidlFolder,psf,cidl,apidl,punkAssociation,cKeys,aKeys) 31872 #define IDefaultFolderMenuInitialize_SetMenuRestrictions(This,dfmrValues) (This)->lpVtbl->SetMenuRestrictions(This,dfmrValues) 31873 #define IDefaultFolderMenuInitialize_GetMenuRestrictions(This,dfmrMask,pdfmrValues) (This)->lpVtbl->GetMenuRestrictions(This,dfmrMask,pdfmrValues) 31874 #define IDefaultFolderMenuInitialize_SetHandlerClsid(This,rclsid) (This)->lpVtbl->SetHandlerClsid(This,rclsid) 31875 #else 31876 /*** IUnknown methods ***/ 31877 static inline HRESULT IDefaultFolderMenuInitialize_QueryInterface(IDefaultFolderMenuInitialize* This,REFIID riid,void **ppvObject) { 31878 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 31879 } 31880 static inline ULONG IDefaultFolderMenuInitialize_AddRef(IDefaultFolderMenuInitialize* This) { 31881 return This->lpVtbl->AddRef(This); 31882 } 31883 static inline ULONG IDefaultFolderMenuInitialize_Release(IDefaultFolderMenuInitialize* This) { 31884 return This->lpVtbl->Release(This); 31885 } 31886 /*** IDefaultFolderMenuInitialize methods ***/ 31887 static inline HRESULT IDefaultFolderMenuInitialize_Initialize(IDefaultFolderMenuInitialize* This,HWND hwnd,IContextMenuCB *pcmcb,PCIDLIST_ABSOLUTE pidlFolder,IShellFolder *psf,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,IUnknown *punkAssociation,UINT cKeys,const HKEY *aKeys) { 31888 return This->lpVtbl->Initialize(This,hwnd,pcmcb,pidlFolder,psf,cidl,apidl,punkAssociation,cKeys,aKeys); 31889 } 31890 static inline HRESULT IDefaultFolderMenuInitialize_SetMenuRestrictions(IDefaultFolderMenuInitialize* This,DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrValues) { 31891 return This->lpVtbl->SetMenuRestrictions(This,dfmrValues); 31892 } 31893 static inline HRESULT IDefaultFolderMenuInitialize_GetMenuRestrictions(IDefaultFolderMenuInitialize* This,DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrMask,DEFAULT_FOLDER_MENU_RESTRICTIONS *pdfmrValues) { 31894 return This->lpVtbl->GetMenuRestrictions(This,dfmrMask,pdfmrValues); 31895 } 31896 static inline HRESULT IDefaultFolderMenuInitialize_SetHandlerClsid(IDefaultFolderMenuInitialize* This,REFCLSID rclsid) { 31897 return This->lpVtbl->SetHandlerClsid(This,rclsid); 31898 } 31899 #endif 31900 #endif 31901 31902 #endif 31903 31904 31905 #endif /* __IDefaultFolderMenuInitialize_INTERFACE_DEFINED__ */ 31906 31907 31908 #if NTDDI_VERSION >= NTDDI_WIN8 31909 typedef enum ACTIVATEOPTIONS { 31910 AO_NONE = 0x0, 31911 AO_DESIGNMODE = 0x1, 31912 AO_NOERRORUI = 0x2, 31913 AO_NOSPLASHSCREEN = 0x4 31914 } ACTIVATEOPTIONS; 31915 31916 DEFINE_ENUM_FLAG_OPERATORS(ACTIVATEOPTIONS) 31917 31918 /***************************************************************************** 31919 * IApplicationActivationManager interface 31920 */ 31921 #ifndef __IApplicationActivationManager_INTERFACE_DEFINED__ 31922 #define __IApplicationActivationManager_INTERFACE_DEFINED__ 31923 31924 DEFINE_GUID(IID_IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d); 31925 #if defined(__cplusplus) && !defined(CINTERFACE) 31926 MIDL_INTERFACE("2e941141-7f97-4756-ba1d-9decde894a3d") 31927 IApplicationActivationManager : public IUnknown 31928 { 31929 virtual HRESULT STDMETHODCALLTYPE ActivateApplication( 31930 LPCWSTR appUserModelId, 31931 LPCWSTR arguments, 31932 ACTIVATEOPTIONS options, 31933 DWORD *processId) = 0; 31934 31935 virtual HRESULT STDMETHODCALLTYPE ActivateForFile( 31936 LPCWSTR appUserModelId, 31937 IShellItemArray *itemArray, 31938 LPCWSTR verb, 31939 DWORD *processId) = 0; 31940 31941 virtual HRESULT STDMETHODCALLTYPE ActivateForProtocol( 31942 LPCWSTR appUserModelId, 31943 IShellItemArray *itemArray, 31944 DWORD *processId) = 0; 31945 31946 }; 31947 #ifdef __CRT_UUID_DECL 31948 __CRT_UUID_DECL(IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d) 31949 #endif 31950 #else 31951 typedef struct IApplicationActivationManagerVtbl { 31952 BEGIN_INTERFACE 31953 31954 /*** IUnknown methods ***/ 31955 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 31956 IApplicationActivationManager *This, 31957 REFIID riid, 31958 void **ppvObject); 31959 31960 ULONG (STDMETHODCALLTYPE *AddRef)( 31961 IApplicationActivationManager *This); 31962 31963 ULONG (STDMETHODCALLTYPE *Release)( 31964 IApplicationActivationManager *This); 31965 31966 /*** IApplicationActivationManager methods ***/ 31967 HRESULT (STDMETHODCALLTYPE *ActivateApplication)( 31968 IApplicationActivationManager *This, 31969 LPCWSTR appUserModelId, 31970 LPCWSTR arguments, 31971 ACTIVATEOPTIONS options, 31972 DWORD *processId); 31973 31974 HRESULT (STDMETHODCALLTYPE *ActivateForFile)( 31975 IApplicationActivationManager *This, 31976 LPCWSTR appUserModelId, 31977 IShellItemArray *itemArray, 31978 LPCWSTR verb, 31979 DWORD *processId); 31980 31981 HRESULT (STDMETHODCALLTYPE *ActivateForProtocol)( 31982 IApplicationActivationManager *This, 31983 LPCWSTR appUserModelId, 31984 IShellItemArray *itemArray, 31985 DWORD *processId); 31986 31987 END_INTERFACE 31988 } IApplicationActivationManagerVtbl; 31989 31990 interface IApplicationActivationManager { 31991 CONST_VTBL IApplicationActivationManagerVtbl* lpVtbl; 31992 }; 31993 31994 #ifdef COBJMACROS 31995 #ifndef WIDL_C_INLINE_WRAPPERS 31996 /*** IUnknown methods ***/ 31997 #define IApplicationActivationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 31998 #define IApplicationActivationManager_AddRef(This) (This)->lpVtbl->AddRef(This) 31999 #define IApplicationActivationManager_Release(This) (This)->lpVtbl->Release(This) 32000 /*** IApplicationActivationManager methods ***/ 32001 #define IApplicationActivationManager_ActivateApplication(This,appUserModelId,arguments,options,processId) (This)->lpVtbl->ActivateApplication(This,appUserModelId,arguments,options,processId) 32002 #define IApplicationActivationManager_ActivateForFile(This,appUserModelId,itemArray,verb,processId) (This)->lpVtbl->ActivateForFile(This,appUserModelId,itemArray,verb,processId) 32003 #define IApplicationActivationManager_ActivateForProtocol(This,appUserModelId,itemArray,processId) (This)->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId) 32004 #else 32005 /*** IUnknown methods ***/ 32006 static inline HRESULT IApplicationActivationManager_QueryInterface(IApplicationActivationManager* This,REFIID riid,void **ppvObject) { 32007 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 32008 } 32009 static inline ULONG IApplicationActivationManager_AddRef(IApplicationActivationManager* This) { 32010 return This->lpVtbl->AddRef(This); 32011 } 32012 static inline ULONG IApplicationActivationManager_Release(IApplicationActivationManager* This) { 32013 return This->lpVtbl->Release(This); 32014 } 32015 /*** IApplicationActivationManager methods ***/ 32016 static inline HRESULT IApplicationActivationManager_ActivateApplication(IApplicationActivationManager* This,LPCWSTR appUserModelId,LPCWSTR arguments,ACTIVATEOPTIONS options,DWORD *processId) { 32017 return This->lpVtbl->ActivateApplication(This,appUserModelId,arguments,options,processId); 32018 } 32019 static inline HRESULT IApplicationActivationManager_ActivateForFile(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,LPCWSTR verb,DWORD *processId) { 32020 return This->lpVtbl->ActivateForFile(This,appUserModelId,itemArray,verb,processId); 32021 } 32022 static inline HRESULT IApplicationActivationManager_ActivateForProtocol(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,DWORD *processId) { 32023 return This->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId); 32024 } 32025 #endif 32026 #endif 32027 32028 #endif 32029 32030 32031 #endif /* __IApplicationActivationManager_INTERFACE_DEFINED__ */ 32032 32033 #endif 32034 32035 #ifndef __ShellObjects_LIBRARY_DEFINED__ 32036 #define __ShellObjects_LIBRARY_DEFINED__ 32037 32038 DEFINE_GUID(LIBID_ShellObjects, 0x50a7e9b1, 0x70ef, 0x11d1, 0xb7,0x5a, 0x00,0xa0,0xc9,0x05,0x64,0xfe); 32039 32040 /***************************************************************************** 32041 * DesktopWallpaper coclass 32042 */ 32043 32044 DEFINE_GUID(CLSID_DesktopWallpaper, 0xc2cf3110, 0x460e, 0x4fc1, 0xb9,0xd0, 0x8a,0x1c,0x0c,0x9c,0xc4,0xbd); 32045 32046 #ifdef __cplusplus 32047 class DECLSPEC_UUID("c2cf3110-460e-4fc1-b9d0-8a1c0c9cc4bd") DesktopWallpaper; 32048 #ifdef __CRT_UUID_DECL 32049 __CRT_UUID_DECL(DesktopWallpaper, 0xc2cf3110, 0x460e, 0x4fc1, 0xb9,0xd0, 0x8a,0x1c,0x0c,0x9c,0xc4,0xbd) 32050 #endif 32051 #endif 32052 32053 /***************************************************************************** 32054 * ShellDesktop coclass 32055 */ 32056 32057 DEFINE_GUID(CLSID_ShellDesktop, 0x00021400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 32058 32059 #ifdef __cplusplus 32060 class DECLSPEC_UUID("00021400-0000-0000-c000-000000000046") ShellDesktop; 32061 #ifdef __CRT_UUID_DECL 32062 __CRT_UUID_DECL(ShellDesktop, 0x00021400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 32063 #endif 32064 #endif 32065 32066 /***************************************************************************** 32067 * ShellFSFolder coclass 32068 */ 32069 32070 DEFINE_GUID(CLSID_ShellFSFolder, 0xf3364ba0, 0x65b9, 0x11ce, 0xa9,0xba, 0x00,0xaa,0x00,0x4a,0xe8,0x37); 32071 32072 #ifdef __cplusplus 32073 class DECLSPEC_UUID("f3364ba0-65b9-11ce-a9ba-00aa004ae837") ShellFSFolder; 32074 #ifdef __CRT_UUID_DECL 32075 __CRT_UUID_DECL(ShellFSFolder, 0xf3364ba0, 0x65b9, 0x11ce, 0xa9,0xba, 0x00,0xaa,0x00,0x4a,0xe8,0x37) 32076 #endif 32077 #endif 32078 32079 /***************************************************************************** 32080 * NetworkPlaces coclass 32081 */ 32082 32083 DEFINE_GUID(CLSID_NetworkPlaces, 0x208d2c60, 0x3aea, 0x1069, 0xa2,0xd7, 0x08,0x00,0x2b,0x30,0x30,0x9d); 32084 32085 #ifdef __cplusplus 32086 class DECLSPEC_UUID("208d2c60-3aea-1069-a2d7-08002b30309d") NetworkPlaces; 32087 #ifdef __CRT_UUID_DECL 32088 __CRT_UUID_DECL(NetworkPlaces, 0x208d2c60, 0x3aea, 0x1069, 0xa2,0xd7, 0x08,0x00,0x2b,0x30,0x30,0x9d) 32089 #endif 32090 #endif 32091 32092 /***************************************************************************** 32093 * ShellLink coclass 32094 */ 32095 32096 DEFINE_GUID(CLSID_ShellLink, 0x00021401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 32097 32098 #ifdef __cplusplus 32099 class DECLSPEC_UUID("00021401-0000-0000-c000-000000000046") ShellLink; 32100 #ifdef __CRT_UUID_DECL 32101 __CRT_UUID_DECL(ShellLink, 0x00021401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 32102 #endif 32103 #endif 32104 32105 /***************************************************************************** 32106 * QueryCancelAutoPlay coclass 32107 */ 32108 32109 DEFINE_GUID(CLSID_QueryCancelAutoPlay, 0x331f1768, 0x05a9, 0x4ddd, 0xb8,0x6e, 0xda,0xe3,0x4d,0xdc,0x99,0x8a); 32110 32111 #ifdef __cplusplus 32112 class DECLSPEC_UUID("331f1768-05a9-4ddd-b86e-dae34ddc998a") QueryCancelAutoPlay; 32113 #ifdef __CRT_UUID_DECL 32114 __CRT_UUID_DECL(QueryCancelAutoPlay, 0x331f1768, 0x05a9, 0x4ddd, 0xb8,0x6e, 0xda,0xe3,0x4d,0xdc,0x99,0x8a) 32115 #endif 32116 #endif 32117 32118 /***************************************************************************** 32119 * DriveSizeCategorizer coclass 32120 */ 32121 32122 DEFINE_GUID(CLSID_DriveSizeCategorizer, 0x94357b53, 0xca29, 0x4b78, 0x83,0xae, 0xe8,0xfe,0x74,0x09,0x13,0x4f); 32123 32124 #ifdef __cplusplus 32125 class DECLSPEC_UUID("94357b53-ca29-4b78-83ae-e8fe7409134f") DriveSizeCategorizer; 32126 #ifdef __CRT_UUID_DECL 32127 __CRT_UUID_DECL(DriveSizeCategorizer, 0x94357b53, 0xca29, 0x4b78, 0x83,0xae, 0xe8,0xfe,0x74,0x09,0x13,0x4f) 32128 #endif 32129 #endif 32130 32131 /***************************************************************************** 32132 * DriveTypeCategorizer coclass 32133 */ 32134 32135 DEFINE_GUID(CLSID_DriveTypeCategorizer, 0xb0a8f3cf, 0x4333, 0x4bab, 0x88,0x73, 0x1c,0xcb,0x1c,0xad,0xa4,0x8b); 32136 32137 #ifdef __cplusplus 32138 class DECLSPEC_UUID("b0a8f3cf-4333-4bab-8873-1ccb1cada48b") DriveTypeCategorizer; 32139 #ifdef __CRT_UUID_DECL 32140 __CRT_UUID_DECL(DriveTypeCategorizer, 0xb0a8f3cf, 0x4333, 0x4bab, 0x88,0x73, 0x1c,0xcb,0x1c,0xad,0xa4,0x8b) 32141 #endif 32142 #endif 32143 32144 /***************************************************************************** 32145 * FreeSpaceCategorizer coclass 32146 */ 32147 32148 DEFINE_GUID(CLSID_FreeSpaceCategorizer, 0xb5607793, 0x24ac, 0x44c7, 0x82,0xe2, 0x83,0x17,0x26,0xaa,0x6c,0xb7); 32149 32150 #ifdef __cplusplus 32151 class DECLSPEC_UUID("b5607793-24ac-44c7-82e2-831726aa6cb7") FreeSpaceCategorizer; 32152 #ifdef __CRT_UUID_DECL 32153 __CRT_UUID_DECL(FreeSpaceCategorizer, 0xb5607793, 0x24ac, 0x44c7, 0x82,0xe2, 0x83,0x17,0x26,0xaa,0x6c,0xb7) 32154 #endif 32155 #endif 32156 32157 /***************************************************************************** 32158 * TimeCategorizer coclass 32159 */ 32160 32161 DEFINE_GUID(CLSID_TimeCategorizer, 0x3bb4118f, 0xddfd, 0x4d30, 0xa3,0x48, 0x9f,0xb5,0xd6,0xbf,0x1a,0xfe); 32162 32163 #ifdef __cplusplus 32164 class DECLSPEC_UUID("3bb4118f-ddfd-4d30-a348-9fb5d6bf1afe") TimeCategorizer; 32165 #ifdef __CRT_UUID_DECL 32166 __CRT_UUID_DECL(TimeCategorizer, 0x3bb4118f, 0xddfd, 0x4d30, 0xa3,0x48, 0x9f,0xb5,0xd6,0xbf,0x1a,0xfe) 32167 #endif 32168 #endif 32169 32170 /***************************************************************************** 32171 * SizeCategorizer coclass 32172 */ 32173 32174 DEFINE_GUID(CLSID_SizeCategorizer, 0x55d7b852, 0xf6d1, 0x42f2, 0xaa,0x75, 0x87,0x28,0xa1,0xb2,0xd2,0x64); 32175 32176 #ifdef __cplusplus 32177 class DECLSPEC_UUID("55d7b852-f6d1-42f2-aa75-8728a1b2d264") SizeCategorizer; 32178 #ifdef __CRT_UUID_DECL 32179 __CRT_UUID_DECL(SizeCategorizer, 0x55d7b852, 0xf6d1, 0x42f2, 0xaa,0x75, 0x87,0x28,0xa1,0xb2,0xd2,0x64) 32180 #endif 32181 #endif 32182 32183 /***************************************************************************** 32184 * AlphabeticalCategorizer coclass 32185 */ 32186 32187 DEFINE_GUID(CLSID_AlphabeticalCategorizer, 0x3c2654c6, 0x7372, 0x4f6b, 0xb3,0x10, 0x55,0xd6,0x12,0x8f,0x49,0xd2); 32188 32189 #ifdef __cplusplus 32190 class DECLSPEC_UUID("3c2654c6-7372-4f6b-b310-55d6128f49d2") AlphabeticalCategorizer; 32191 #ifdef __CRT_UUID_DECL 32192 __CRT_UUID_DECL(AlphabeticalCategorizer, 0x3c2654c6, 0x7372, 0x4f6b, 0xb3,0x10, 0x55,0xd6,0x12,0x8f,0x49,0xd2) 32193 #endif 32194 #endif 32195 32196 /***************************************************************************** 32197 * MergedCategorizer coclass 32198 */ 32199 32200 DEFINE_GUID(CLSID_MergedCategorizer, 0x8e827c11, 0x33e7, 0x4bc1, 0xb2,0x42, 0x8c,0xd9,0xa1,0xc2,0xb3,0x04); 32201 32202 #ifdef __cplusplus 32203 class DECLSPEC_UUID("8e827c11-33e7-4bc1-b242-8cd9a1c2b304") MergedCategorizer; 32204 #ifdef __CRT_UUID_DECL 32205 __CRT_UUID_DECL(MergedCategorizer, 0x8e827c11, 0x33e7, 0x4bc1, 0xb2,0x42, 0x8c,0xd9,0xa1,0xc2,0xb3,0x04) 32206 #endif 32207 #endif 32208 32209 /***************************************************************************** 32210 * ImageProperties coclass 32211 */ 32212 32213 DEFINE_GUID(CLSID_ImageProperties, 0x7ab770c7, 0x0e23, 0x4d7a, 0x8a,0xa2, 0x19,0xbf,0xad,0x47,0x98,0x29); 32214 32215 #ifdef __cplusplus 32216 class DECLSPEC_UUID("7ab770c7-0e23-4d7a-8aa2-19bfad479829") ImageProperties; 32217 #ifdef __CRT_UUID_DECL 32218 __CRT_UUID_DECL(ImageProperties, 0x7ab770c7, 0x0e23, 0x4d7a, 0x8a,0xa2, 0x19,0xbf,0xad,0x47,0x98,0x29) 32219 #endif 32220 #endif 32221 32222 /***************************************************************************** 32223 * PropertiesUI coclass 32224 */ 32225 32226 DEFINE_GUID(CLSID_PropertiesUI, 0xd912f8cf, 0x0396, 0x4915, 0x88,0x4e, 0xfb,0x42,0x5d,0x32,0x94,0x3b); 32227 32228 #ifdef __cplusplus 32229 class DECLSPEC_UUID("d912f8cf-0396-4915-884e-fb425d32943b") PropertiesUI; 32230 #ifdef __CRT_UUID_DECL 32231 __CRT_UUID_DECL(PropertiesUI, 0xd912f8cf, 0x0396, 0x4915, 0x88,0x4e, 0xfb,0x42,0x5d,0x32,0x94,0x3b) 32232 #endif 32233 #endif 32234 32235 /***************************************************************************** 32236 * UserNotification coclass 32237 */ 32238 32239 DEFINE_GUID(CLSID_UserNotification, 0x0010890e, 0x8789, 0x413c, 0xad,0xbc, 0x48,0xf5,0xb5,0x11,0xb3,0xaf); 32240 32241 #ifdef __cplusplus 32242 class DECLSPEC_UUID("0010890e-8789-413c-adbc-48f5b511b3af") UserNotification; 32243 #ifdef __CRT_UUID_DECL 32244 __CRT_UUID_DECL(UserNotification, 0x0010890e, 0x8789, 0x413c, 0xad,0xbc, 0x48,0xf5,0xb5,0x11,0xb3,0xaf) 32245 #endif 32246 #endif 32247 32248 /***************************************************************************** 32249 * CDBurn coclass 32250 */ 32251 32252 DEFINE_GUID(CLSID_CDBurn, 0xfbeb8a05, 0xbeee, 0x4442, 0x80,0x4e, 0x40,0x9d,0x6c,0x45,0x15,0xe9); 32253 32254 #ifdef __cplusplus 32255 class DECLSPEC_UUID("fbeb8a05-beee-4442-804e-409d6c4515e9") CDBurn; 32256 #ifdef __CRT_UUID_DECL 32257 __CRT_UUID_DECL(CDBurn, 0xfbeb8a05, 0xbeee, 0x4442, 0x80,0x4e, 0x40,0x9d,0x6c,0x45,0x15,0xe9) 32258 #endif 32259 #endif 32260 32261 /***************************************************************************** 32262 * TaskbarList coclass 32263 */ 32264 32265 DEFINE_GUID(CLSID_TaskbarList, 0x56fdf344, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90); 32266 32267 #ifdef __cplusplus 32268 class DECLSPEC_UUID("56fdf344-fd6d-11d0-958a-006097c9a090") TaskbarList; 32269 #ifdef __CRT_UUID_DECL 32270 __CRT_UUID_DECL(TaskbarList, 0x56fdf344, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90) 32271 #endif 32272 #endif 32273 32274 /***************************************************************************** 32275 * StartMenuPin coclass 32276 */ 32277 32278 DEFINE_GUID(CLSID_StartMenuPin, 0xa2a9545d, 0xa0c2, 0x42b4, 0x97,0x08, 0xa0,0xb2,0xba,0xdd,0x77,0xc8); 32279 32280 #ifdef __cplusplus 32281 class DECLSPEC_UUID("a2a9545d-a0c2-42b4-9708-a0b2badd77c8") StartMenuPin; 32282 #ifdef __CRT_UUID_DECL 32283 __CRT_UUID_DECL(StartMenuPin, 0xa2a9545d, 0xa0c2, 0x42b4, 0x97,0x08, 0xa0,0xb2,0xba,0xdd,0x77,0xc8) 32284 #endif 32285 #endif 32286 32287 /***************************************************************************** 32288 * WebWizardHost coclass 32289 */ 32290 32291 DEFINE_GUID(CLSID_WebWizardHost, 0xc827f149, 0x55c1, 0x4d28, 0x93,0x5e, 0x57,0xe4,0x7c,0xae,0xd9,0x73); 32292 32293 #ifdef __cplusplus 32294 class DECLSPEC_UUID("c827f149-55c1-4d28-935e-57e47caed973") WebWizardHost; 32295 #ifdef __CRT_UUID_DECL 32296 __CRT_UUID_DECL(WebWizardHost, 0xc827f149, 0x55c1, 0x4d28, 0x93,0x5e, 0x57,0xe4,0x7c,0xae,0xd9,0x73) 32297 #endif 32298 #endif 32299 32300 /***************************************************************************** 32301 * PublishDropTarget coclass 32302 */ 32303 32304 DEFINE_GUID(CLSID_PublishDropTarget, 0xcc6eeffb, 0x43f6, 0x46c5, 0x96,0x19, 0x51,0xd5,0x71,0x96,0x7f,0x7d); 32305 32306 #ifdef __cplusplus 32307 class DECLSPEC_UUID("cc6eeffb-43f6-46c5-9619-51d571967f7d") PublishDropTarget; 32308 #ifdef __CRT_UUID_DECL 32309 __CRT_UUID_DECL(PublishDropTarget, 0xcc6eeffb, 0x43f6, 0x46c5, 0x96,0x19, 0x51,0xd5,0x71,0x96,0x7f,0x7d) 32310 #endif 32311 #endif 32312 32313 /***************************************************************************** 32314 * PublishingWizard coclass 32315 */ 32316 32317 DEFINE_GUID(CLSID_PublishingWizard, 0x6b33163c, 0x76a5, 0x4b6c, 0xbf,0x21, 0x45,0xde,0x9c,0xd5,0x03,0xa1); 32318 32319 #ifdef __cplusplus 32320 class DECLSPEC_UUID("6b33163c-76a5-4b6c-bf21-45de9cd503a1") PublishingWizard; 32321 #ifdef __CRT_UUID_DECL 32322 __CRT_UUID_DECL(PublishingWizard, 0x6b33163c, 0x76a5, 0x4b6c, 0xbf,0x21, 0x45,0xde,0x9c,0xd5,0x03,0xa1) 32323 #endif 32324 #endif 32325 32326 #define SID_PublishingWizard CLSID_PublishingWizard 32327 /***************************************************************************** 32328 * InternetPrintOrdering coclass 32329 */ 32330 32331 DEFINE_GUID(CLSID_InternetPrintOrdering, 0xadd36aa8, 0x751a, 0x4579, 0xa2,0x66, 0xd6,0x6f,0x52,0x02,0xcc,0xbb); 32332 32333 #ifdef __cplusplus 32334 class DECLSPEC_UUID("add36aa8-751a-4579-a266-d66f5202ccbb") InternetPrintOrdering; 32335 #ifdef __CRT_UUID_DECL 32336 __CRT_UUID_DECL(InternetPrintOrdering, 0xadd36aa8, 0x751a, 0x4579, 0xa2,0x66, 0xd6,0x6f,0x52,0x02,0xcc,0xbb) 32337 #endif 32338 #endif 32339 32340 /***************************************************************************** 32341 * FolderViewHost coclass 32342 */ 32343 32344 DEFINE_GUID(CLSID_FolderViewHost, 0x20b1cb23, 0x6968, 0x4eb9, 0xb7,0xd4, 0xa6,0x6d,0x00,0xd0,0x7c,0xee); 32345 32346 #ifdef __cplusplus 32347 class DECLSPEC_UUID("20b1cb23-6968-4eb9-b7d4-a66d00d07cee") FolderViewHost; 32348 #ifdef __CRT_UUID_DECL 32349 __CRT_UUID_DECL(FolderViewHost, 0x20b1cb23, 0x6968, 0x4eb9, 0xb7,0xd4, 0xa6,0x6d,0x00,0xd0,0x7c,0xee) 32350 #endif 32351 #endif 32352 32353 /***************************************************************************** 32354 * ExplorerBrowser coclass 32355 */ 32356 32357 DEFINE_GUID(CLSID_ExplorerBrowser, 0x71f96385, 0xddd6, 0x48d3, 0xa0,0xc1, 0xae,0x06,0xe8,0xb0,0x55,0xfb); 32358 32359 #ifdef __cplusplus 32360 class DECLSPEC_UUID("71f96385-ddd6-48d3-a0c1-ae06e8b055fb") ExplorerBrowser; 32361 #ifdef __CRT_UUID_DECL 32362 __CRT_UUID_DECL(ExplorerBrowser, 0x71f96385, 0xddd6, 0x48d3, 0xa0,0xc1, 0xae,0x06,0xe8,0xb0,0x55,0xfb) 32363 #endif 32364 #endif 32365 32366 /***************************************************************************** 32367 * ImageRecompress coclass 32368 */ 32369 32370 DEFINE_GUID(CLSID_ImageRecompress, 0x6e33091c, 0xd2f8, 0x4740, 0xb5,0x5e, 0x2e,0x11,0xd1,0x47,0x7a,0x2c); 32371 32372 #ifdef __cplusplus 32373 class DECLSPEC_UUID("6e33091c-d2f8-4740-b55e-2e11d1477a2c") ImageRecompress; 32374 #ifdef __CRT_UUID_DECL 32375 __CRT_UUID_DECL(ImageRecompress, 0x6e33091c, 0xd2f8, 0x4740, 0xb5,0x5e, 0x2e,0x11,0xd1,0x47,0x7a,0x2c) 32376 #endif 32377 #endif 32378 32379 /***************************************************************************** 32380 * TrayBandSiteService coclass 32381 */ 32382 32383 DEFINE_GUID(CLSID_TrayBandSiteService, 0xf60ad0a0, 0xe5e1, 0x45cb, 0xb5,0x1a, 0xe1,0x5b,0x9f,0x8b,0x29,0x34); 32384 32385 #ifdef __cplusplus 32386 class DECLSPEC_UUID("f60ad0a0-e5e1-45cb-b51a-e15b9f8b2934") TrayBandSiteService; 32387 #ifdef __CRT_UUID_DECL 32388 __CRT_UUID_DECL(TrayBandSiteService, 0xf60ad0a0, 0xe5e1, 0x45cb, 0xb5,0x1a, 0xe1,0x5b,0x9f,0x8b,0x29,0x34) 32389 #endif 32390 #endif 32391 32392 /***************************************************************************** 32393 * TrayDeskBand coclass 32394 */ 32395 32396 DEFINE_GUID(CLSID_TrayDeskBand, 0xe6442437, 0x6c68, 0x4f52, 0x94,0xdd, 0x2c,0xfe,0xd2,0x67,0xef,0xb9); 32397 32398 #ifdef __cplusplus 32399 class DECLSPEC_UUID("e6442437-6c68-4f52-94dd-2cfed267efb9") TrayDeskBand; 32400 #ifdef __CRT_UUID_DECL 32401 __CRT_UUID_DECL(TrayDeskBand, 0xe6442437, 0x6c68, 0x4f52, 0x94,0xdd, 0x2c,0xfe,0xd2,0x67,0xef,0xb9) 32402 #endif 32403 #endif 32404 32405 /***************************************************************************** 32406 * AttachmentServices coclass 32407 */ 32408 32409 DEFINE_GUID(CLSID_AttachmentServices, 0x4125dd96, 0xe03a, 0x4103, 0x8f,0x70, 0xe0,0x59,0x7d,0x80,0x3b,0x9c); 32410 32411 #ifdef __cplusplus 32412 class DECLSPEC_UUID("4125dd96-e03a-4103-8f70-e0597d803b9c") AttachmentServices; 32413 #ifdef __CRT_UUID_DECL 32414 __CRT_UUID_DECL(AttachmentServices, 0x4125dd96, 0xe03a, 0x4103, 0x8f,0x70, 0xe0,0x59,0x7d,0x80,0x3b,0x9c) 32415 #endif 32416 #endif 32417 32418 /***************************************************************************** 32419 * DocPropShellExtension coclass 32420 */ 32421 32422 DEFINE_GUID(CLSID_DocPropShellExtension, 0x883373c3, 0xbf89, 0x11d1, 0xbe,0x35, 0x08,0x00,0x36,0xb1,0x1a,0x03); 32423 32424 #ifdef __cplusplus 32425 class DECLSPEC_UUID("883373c3-bf89-11d1-be35-080036b11a03") DocPropShellExtension; 32426 #ifdef __CRT_UUID_DECL 32427 __CRT_UUID_DECL(DocPropShellExtension, 0x883373c3, 0xbf89, 0x11d1, 0xbe,0x35, 0x08,0x00,0x36,0xb1,0x1a,0x03) 32428 #endif 32429 #endif 32430 32431 /***************************************************************************** 32432 * ShellItem coclass 32433 */ 32434 32435 DEFINE_GUID(CLSID_ShellItem, 0x9ac9fbe1, 0xe0a2, 0x4ad6, 0xb4,0xee, 0xe2,0x12,0x01,0x3e,0xa9,0x17); 32436 32437 #ifdef __cplusplus 32438 class DECLSPEC_UUID("9ac9fbe1-e0a2-4ad6-b4ee-e212013ea917") ShellItem; 32439 #ifdef __CRT_UUID_DECL 32440 __CRT_UUID_DECL(ShellItem, 0x9ac9fbe1, 0xe0a2, 0x4ad6, 0xb4,0xee, 0xe2,0x12,0x01,0x3e,0xa9,0x17) 32441 #endif 32442 #endif 32443 32444 /***************************************************************************** 32445 * NamespaceWalker coclass 32446 */ 32447 32448 DEFINE_GUID(CLSID_NamespaceWalker, 0x72eb61e0, 0x8672, 0x4303, 0x91,0x75, 0xf2,0xe4,0xc6,0x8b,0x2e,0x7c); 32449 32450 #ifdef __cplusplus 32451 class DECLSPEC_UUID("72eb61e0-8672-4303-9175-f2e4c68b2e7c") NamespaceWalker; 32452 #ifdef __CRT_UUID_DECL 32453 __CRT_UUID_DECL(NamespaceWalker, 0x72eb61e0, 0x8672, 0x4303, 0x91,0x75, 0xf2,0xe4,0xc6,0x8b,0x2e,0x7c) 32454 #endif 32455 #endif 32456 32457 /***************************************************************************** 32458 * FileOperation coclass 32459 */ 32460 32461 DEFINE_GUID(CLSID_FileOperation, 0x3ad05575, 0x8857, 0x4850, 0x92,0x77, 0x11,0xb8,0x5b,0xdb,0x8e,0x09); 32462 32463 #ifdef __cplusplus 32464 class DECLSPEC_UUID("3ad05575-8857-4850-9277-11b85bdb8e09") FileOperation; 32465 #ifdef __CRT_UUID_DECL 32466 __CRT_UUID_DECL(FileOperation, 0x3ad05575, 0x8857, 0x4850, 0x92,0x77, 0x11,0xb8,0x5b,0xdb,0x8e,0x09) 32467 #endif 32468 #endif 32469 32470 /***************************************************************************** 32471 * FileOpenDialog coclass 32472 */ 32473 32474 DEFINE_GUID(CLSID_FileOpenDialog, 0xdc1c5a9c, 0xe88a, 0x4dde, 0xa5,0xa1, 0x60,0xf8,0x2a,0x20,0xae,0xf7); 32475 32476 #ifdef __cplusplus 32477 class DECLSPEC_UUID("dc1c5a9c-e88a-4dde-a5a1-60f82a20aef7") FileOpenDialog; 32478 #ifdef __CRT_UUID_DECL 32479 __CRT_UUID_DECL(FileOpenDialog, 0xdc1c5a9c, 0xe88a, 0x4dde, 0xa5,0xa1, 0x60,0xf8,0x2a,0x20,0xae,0xf7) 32480 #endif 32481 #endif 32482 32483 /***************************************************************************** 32484 * FileSaveDialog coclass 32485 */ 32486 32487 DEFINE_GUID(CLSID_FileSaveDialog, 0xc0b4e2f3, 0xba21, 0x4773, 0x8d,0xba, 0x33,0x5e,0xc9,0x46,0xeb,0x8b); 32488 32489 #ifdef __cplusplus 32490 class DECLSPEC_UUID("c0b4e2f3-ba21-4773-8dba-335ec946eb8b") FileSaveDialog; 32491 #ifdef __CRT_UUID_DECL 32492 __CRT_UUID_DECL(FileSaveDialog, 0xc0b4e2f3, 0xba21, 0x4773, 0x8d,0xba, 0x33,0x5e,0xc9,0x46,0xeb,0x8b) 32493 #endif 32494 #endif 32495 32496 /***************************************************************************** 32497 * KnownFolderManager coclass 32498 */ 32499 32500 DEFINE_GUID(CLSID_KnownFolderManager, 0x4df0c730, 0xdf9d, 0x4ae3, 0x91,0x53, 0xaa,0x6b,0x82,0xe9,0x79,0x5a); 32501 32502 #ifdef __cplusplus 32503 class DECLSPEC_UUID("4df0c730-df9d-4ae3-9153-aa6b82e9795a") KnownFolderManager; 32504 #ifdef __CRT_UUID_DECL 32505 __CRT_UUID_DECL(KnownFolderManager, 0x4df0c730, 0xdf9d, 0x4ae3, 0x91,0x53, 0xaa,0x6b,0x82,0xe9,0x79,0x5a) 32506 #endif 32507 #endif 32508 32509 /***************************************************************************** 32510 * FSCopyHandler coclass 32511 */ 32512 32513 DEFINE_GUID(CLSID_FSCopyHandler, 0xd197380a, 0x0a79, 0x4dc8, 0xa0,0x33, 0xed,0x88,0x2c,0x2f,0xa1,0x4b); 32514 32515 #ifdef __cplusplus 32516 class DECLSPEC_UUID("d197380a-0a79-4dc8-a033-ed882c2fa14b") FSCopyHandler; 32517 #ifdef __CRT_UUID_DECL 32518 __CRT_UUID_DECL(FSCopyHandler, 0xd197380a, 0x0a79, 0x4dc8, 0xa0,0x33, 0xed,0x88,0x2c,0x2f,0xa1,0x4b) 32519 #endif 32520 #endif 32521 32522 /***************************************************************************** 32523 * SharingConfigurationManager coclass 32524 */ 32525 32526 DEFINE_GUID(CLSID_SharingConfigurationManager, 0x49f371e1, 0x8c5c, 0x4d9c, 0x9a,0x3b, 0x54,0xa6,0x82,0x7f,0x51,0x3c); 32527 32528 #ifdef __cplusplus 32529 class DECLSPEC_UUID("49f371e1-8c5c-4d9c-9a3b-54a6827f513c") SharingConfigurationManager; 32530 #ifdef __CRT_UUID_DECL 32531 __CRT_UUID_DECL(SharingConfigurationManager, 0x49f371e1, 0x8c5c, 0x4d9c, 0x9a,0x3b, 0x54,0xa6,0x82,0x7f,0x51,0x3c) 32532 #endif 32533 #endif 32534 32535 /***************************************************************************** 32536 * PreviousVersions coclass 32537 */ 32538 32539 DEFINE_GUID(CLSID_PreviousVersions, 0x596ab062, 0xb4d2, 0x4215, 0x9f,0x74, 0xe9,0x10,0x9b,0x0a,0x81,0x53); 32540 32541 #ifdef __cplusplus 32542 class DECLSPEC_UUID("596ab062-b4d2-4215-9f74-e9109b0a8153") PreviousVersions; 32543 #ifdef __CRT_UUID_DECL 32544 __CRT_UUID_DECL(PreviousVersions, 0x596ab062, 0xb4d2, 0x4215, 0x9f,0x74, 0xe9,0x10,0x9b,0x0a,0x81,0x53) 32545 #endif 32546 #endif 32547 32548 /***************************************************************************** 32549 * NetworkConnections coclass 32550 */ 32551 32552 DEFINE_GUID(CLSID_NetworkConnections, 0x7007acc7, 0x3202, 0x11d1, 0xaa,0xd2, 0x00,0x80,0x5f,0xc1,0x27,0x0e); 32553 32554 #ifdef __cplusplus 32555 class DECLSPEC_UUID("7007acc7-3202-11d1-aad2-00805fc1270e") NetworkConnections; 32556 #ifdef __CRT_UUID_DECL 32557 __CRT_UUID_DECL(NetworkConnections, 0x7007acc7, 0x3202, 0x11d1, 0xaa,0xd2, 0x00,0x80,0x5f,0xc1,0x27,0x0e) 32558 #endif 32559 #endif 32560 32561 /***************************************************************************** 32562 * NamespaceTreeControl coclass 32563 */ 32564 32565 DEFINE_GUID(CLSID_NamespaceTreeControl, 0xae054212, 0x3535, 0x4430, 0x83,0xed, 0xd5,0x01,0xaa,0x66,0x80,0xe6); 32566 32567 #ifdef __cplusplus 32568 class DECLSPEC_UUID("ae054212-3535-4430-83ed-d501aa6680e6") NamespaceTreeControl; 32569 #ifdef __CRT_UUID_DECL 32570 __CRT_UUID_DECL(NamespaceTreeControl, 0xae054212, 0x3535, 0x4430, 0x83,0xed, 0xd5,0x01,0xaa,0x66,0x80,0xe6) 32571 #endif 32572 #endif 32573 32574 /***************************************************************************** 32575 * IENamespaceTreeControl coclass 32576 */ 32577 32578 DEFINE_GUID(CLSID_IENamespaceTreeControl, 0xace52d03, 0xe5cd, 0x4b20, 0x82,0xff, 0xe7,0x1b,0x11,0xbe,0xae,0x1d); 32579 32580 #ifdef __cplusplus 32581 class DECLSPEC_UUID("ace52d03-e5cd-4b20-82ff-e71b11beae1d") IENamespaceTreeControl; 32582 #ifdef __CRT_UUID_DECL 32583 __CRT_UUID_DECL(IENamespaceTreeControl, 0xace52d03, 0xe5cd, 0x4b20, 0x82,0xff, 0xe7,0x1b,0x11,0xbe,0xae,0x1d) 32584 #endif 32585 #endif 32586 32587 /***************************************************************************** 32588 * ScheduledTasks coclass 32589 */ 32590 32591 DEFINE_GUID(CLSID_ScheduledTasks, 0xd6277990, 0x4c6a, 0x11cf, 0x8d,0x87, 0x00,0xaa,0x00,0x60,0xf5,0xbf); 32592 32593 #ifdef __cplusplus 32594 class DECLSPEC_UUID("d6277990-4c6a-11cf-8d87-00aa0060f5bf") ScheduledTasks; 32595 #ifdef __CRT_UUID_DECL 32596 __CRT_UUID_DECL(ScheduledTasks, 0xd6277990, 0x4c6a, 0x11cf, 0x8d,0x87, 0x00,0xaa,0x00,0x60,0xf5,0xbf) 32597 #endif 32598 #endif 32599 32600 /***************************************************************************** 32601 * ApplicationAssociationRegistration coclass 32602 */ 32603 32604 DEFINE_GUID(CLSID_ApplicationAssociationRegistration, 0x591209c7, 0x767b, 0x42b2, 0x9f,0xba, 0x44,0xee,0x46,0x15,0xf2,0xc7); 32605 32606 #ifdef __cplusplus 32607 class DECLSPEC_UUID("591209c7-767b-42b2-9fba-44ee4615f2c7") ApplicationAssociationRegistration; 32608 #ifdef __CRT_UUID_DECL 32609 __CRT_UUID_DECL(ApplicationAssociationRegistration, 0x591209c7, 0x767b, 0x42b2, 0x9f,0xba, 0x44,0xee,0x46,0x15,0xf2,0xc7) 32610 #endif 32611 #endif 32612 32613 /***************************************************************************** 32614 * ApplicationAssociationRegistrationUI coclass 32615 */ 32616 32617 DEFINE_GUID(CLSID_ApplicationAssociationRegistrationUI, 0x1968106d, 0xf3b5, 0x44cf, 0x89,0x0e, 0x11,0x6f,0xcb,0x9e,0xce,0xf1); 32618 32619 #ifdef __cplusplus 32620 class DECLSPEC_UUID("1968106d-f3b5-44cf-890e-116fcb9ecef1") ApplicationAssociationRegistrationUI; 32621 #ifdef __CRT_UUID_DECL 32622 __CRT_UUID_DECL(ApplicationAssociationRegistrationUI, 0x1968106d, 0xf3b5, 0x44cf, 0x89,0x0e, 0x11,0x6f,0xcb,0x9e,0xce,0xf1) 32623 #endif 32624 #endif 32625 32626 /***************************************************************************** 32627 * SearchFolderItemFactory coclass 32628 */ 32629 32630 DEFINE_GUID(CLSID_SearchFolderItemFactory, 0x14010e02, 0xbbbd, 0x41f0, 0x88,0xe3, 0xed,0xa3,0x71,0x21,0x65,0x84); 32631 32632 #ifdef __cplusplus 32633 class DECLSPEC_UUID("14010e02-bbbd-41f0-88e3-eda371216584") SearchFolderItemFactory; 32634 #ifdef __CRT_UUID_DECL 32635 __CRT_UUID_DECL(SearchFolderItemFactory, 0x14010e02, 0xbbbd, 0x41f0, 0x88,0xe3, 0xed,0xa3,0x71,0x21,0x65,0x84) 32636 #endif 32637 #endif 32638 32639 /***************************************************************************** 32640 * OpenControlPanel coclass 32641 */ 32642 32643 DEFINE_GUID(CLSID_OpenControlPanel, 0x06622d85, 0x6856, 0x4460, 0x8d,0xe1, 0xa8,0x19,0x21,0xb4,0x1c,0x4b); 32644 32645 #ifdef __cplusplus 32646 class DECLSPEC_UUID("06622d85-6856-4460-8de1-a81921b41c4b") OpenControlPanel; 32647 #ifdef __CRT_UUID_DECL 32648 __CRT_UUID_DECL(OpenControlPanel, 0x06622d85, 0x6856, 0x4460, 0x8d,0xe1, 0xa8,0x19,0x21,0xb4,0x1c,0x4b) 32649 #endif 32650 #endif 32651 32652 /***************************************************************************** 32653 * MailRecipient coclass 32654 */ 32655 32656 DEFINE_GUID(CLSID_MailRecipient, 0x9e56be60, 0xc50f, 0x11cf, 0x9a,0x2c, 0x00,0xa0,0xc9,0x0a,0x90,0xce); 32657 32658 #ifdef __cplusplus 32659 class DECLSPEC_UUID("9e56be60-c50f-11cf-9a2c-00a0c90a90ce") MailRecipient; 32660 #ifdef __CRT_UUID_DECL 32661 __CRT_UUID_DECL(MailRecipient, 0x9e56be60, 0xc50f, 0x11cf, 0x9a,0x2c, 0x00,0xa0,0xc9,0x0a,0x90,0xce) 32662 #endif 32663 #endif 32664 32665 /***************************************************************************** 32666 * NetworkExplorerFolder coclass 32667 */ 32668 32669 DEFINE_GUID(CLSID_NetworkExplorerFolder, 0xf02c1a0d, 0xbe21, 0x4350, 0x88,0xb0, 0x73,0x67,0xfc,0x96,0xef,0x3c); 32670 32671 #ifdef __cplusplus 32672 class DECLSPEC_UUID("f02c1a0d-be21-4350-88b0-7367fc96ef3c") NetworkExplorerFolder; 32673 #ifdef __CRT_UUID_DECL 32674 __CRT_UUID_DECL(NetworkExplorerFolder, 0xf02c1a0d, 0xbe21, 0x4350, 0x88,0xb0, 0x73,0x67,0xfc,0x96,0xef,0x3c) 32675 #endif 32676 #endif 32677 32678 /***************************************************************************** 32679 * DestinationList coclass 32680 */ 32681 32682 DEFINE_GUID(CLSID_DestinationList, 0x77f10cf0, 0x3db5, 0x4966, 0xb5,0x20, 0xb7,0xc5,0x4f,0xd3,0x5e,0xd6); 32683 32684 #ifdef __cplusplus 32685 class DECLSPEC_UUID("77f10cf0-3db5-4966-b520-b7c54fd35ed6") DestinationList; 32686 #ifdef __CRT_UUID_DECL 32687 __CRT_UUID_DECL(DestinationList, 0x77f10cf0, 0x3db5, 0x4966, 0xb5,0x20, 0xb7,0xc5,0x4f,0xd3,0x5e,0xd6) 32688 #endif 32689 #endif 32690 32691 /***************************************************************************** 32692 * ApplicationDestinations coclass 32693 */ 32694 32695 DEFINE_GUID(CLSID_ApplicationDestinations, 0x86c14003, 0x4d6b, 0x4ef3, 0xa7,0xb4, 0x05,0x06,0x66,0x3b,0x2e,0x68); 32696 32697 #ifdef __cplusplus 32698 class DECLSPEC_UUID("86c14003-4d6b-4ef3-a7b4-0506663b2e68") ApplicationDestinations; 32699 #ifdef __CRT_UUID_DECL 32700 __CRT_UUID_DECL(ApplicationDestinations, 0x86c14003, 0x4d6b, 0x4ef3, 0xa7,0xb4, 0x05,0x06,0x66,0x3b,0x2e,0x68) 32701 #endif 32702 #endif 32703 32704 /***************************************************************************** 32705 * ApplicationDocumentLists coclass 32706 */ 32707 32708 DEFINE_GUID(CLSID_ApplicationDocumentLists, 0x86bec222, 0x30f2, 0x47e0, 0x9f,0x25, 0x60,0xd1,0x1c,0xd7,0x5c,0x28); 32709 32710 #ifdef __cplusplus 32711 class DECLSPEC_UUID("86bec222-30f2-47e0-9f25-60d11cd75c28") ApplicationDocumentLists; 32712 #ifdef __CRT_UUID_DECL 32713 __CRT_UUID_DECL(ApplicationDocumentLists, 0x86bec222, 0x30f2, 0x47e0, 0x9f,0x25, 0x60,0xd1,0x1c,0xd7,0x5c,0x28) 32714 #endif 32715 #endif 32716 32717 /***************************************************************************** 32718 * HomeGroup coclass 32719 */ 32720 32721 DEFINE_GUID(CLSID_HomeGroup, 0xde77ba04, 0x3c92, 0x4d11, 0xa1,0xa5, 0x42,0x35,0x2a,0x53,0xe0,0xe3); 32722 32723 #ifdef __cplusplus 32724 class DECLSPEC_UUID("de77ba04-3c92-4d11-a1a5-42352a53e0e3") HomeGroup; 32725 #ifdef __CRT_UUID_DECL 32726 __CRT_UUID_DECL(HomeGroup, 0xde77ba04, 0x3c92, 0x4d11, 0xa1,0xa5, 0x42,0x35,0x2a,0x53,0xe0,0xe3) 32727 #endif 32728 #endif 32729 32730 /***************************************************************************** 32731 * ShellLibrary coclass 32732 */ 32733 32734 DEFINE_GUID(CLSID_ShellLibrary, 0xd9b3211d, 0xe57f, 0x4426, 0xaa,0xef, 0x30,0xa8,0x06,0xad,0xd3,0x97); 32735 32736 #ifdef __cplusplus 32737 class DECLSPEC_UUID("d9b3211d-e57f-4426-aaef-30a806add397") ShellLibrary; 32738 #ifdef __CRT_UUID_DECL 32739 __CRT_UUID_DECL(ShellLibrary, 0xd9b3211d, 0xe57f, 0x4426, 0xaa,0xef, 0x30,0xa8,0x06,0xad,0xd3,0x97) 32740 #endif 32741 #endif 32742 32743 /***************************************************************************** 32744 * AppStartupLink coclass 32745 */ 32746 32747 DEFINE_GUID(CLSID_AppStartupLink, 0x273eb5e7, 0x88b0, 0x4843, 0xbf,0xef, 0xe2,0xc8,0x1d,0x43,0xaa,0xe5); 32748 32749 #ifdef __cplusplus 32750 class DECLSPEC_UUID("273eb5e7-88b0-4843-bfef-e2c81d43aae5") AppStartupLink; 32751 #ifdef __CRT_UUID_DECL 32752 __CRT_UUID_DECL(AppStartupLink, 0x273eb5e7, 0x88b0, 0x4843, 0xbf,0xef, 0xe2,0xc8,0x1d,0x43,0xaa,0xe5) 32753 #endif 32754 #endif 32755 32756 /***************************************************************************** 32757 * EnumerableObjectCollection coclass 32758 */ 32759 32760 DEFINE_GUID(CLSID_EnumerableObjectCollection, 0x2d3468c1, 0x36a7, 0x43b6, 0xac,0x24, 0xd3,0xf0,0x2f,0xd9,0x60,0x7a); 32761 32762 #ifdef __cplusplus 32763 class DECLSPEC_UUID("2d3468c1-36a7-43b6-ac24-d3f02fd9607a") EnumerableObjectCollection; 32764 #ifdef __CRT_UUID_DECL 32765 __CRT_UUID_DECL(EnumerableObjectCollection, 0x2d3468c1, 0x36a7, 0x43b6, 0xac,0x24, 0xd3,0xf0,0x2f,0xd9,0x60,0x7a) 32766 #endif 32767 #endif 32768 32769 /***************************************************************************** 32770 * DesktopGadget coclass 32771 */ 32772 32773 DEFINE_GUID(CLSID_DesktopGadget, 0x924ccc1b, 0x6562, 0x4c85, 0x86,0x57, 0xd1,0x77,0x92,0x52,0x22,0xb6); 32774 32775 #ifdef __cplusplus 32776 class DECLSPEC_UUID("924ccc1b-6562-4c85-8657-d177925222b6") DesktopGadget; 32777 #ifdef __CRT_UUID_DECL 32778 __CRT_UUID_DECL(DesktopGadget, 0x924ccc1b, 0x6562, 0x4c85, 0x86,0x57, 0xd1,0x77,0x92,0x52,0x22,0xb6) 32779 #endif 32780 #endif 32781 32782 /***************************************************************************** 32783 * PlaybackManager coclass 32784 */ 32785 32786 DEFINE_GUID(CLSID_PlaybackManager, 0x29dfa654, 0xa97f, 0x47f0, 0xbf,0x26, 0x9e,0x41,0xfb,0x94,0x88,0xd9); 32787 32788 #ifdef __cplusplus 32789 class DECLSPEC_UUID("29dfa654-a97f-47f0-bf26-9e41fb9488d9") PlaybackManager; 32790 #ifdef __CRT_UUID_DECL 32791 __CRT_UUID_DECL(PlaybackManager, 0x29dfa654, 0xa97f, 0x47f0, 0xbf,0x26, 0x9e,0x41,0xfb,0x94,0x88,0xd9) 32792 #endif 32793 #endif 32794 32795 /***************************************************************************** 32796 * AccessibilityDockingService coclass 32797 */ 32798 32799 DEFINE_GUID(CLSID_AccessibilityDockingService, 0x29ce1d46, 0xb481, 0x4aa0, 0xa0,0x8a, 0xd3,0xeb,0xc8,0xac,0xa4,0x02); 32800 32801 #ifdef __cplusplus 32802 class DECLSPEC_UUID("29ce1d46-b481-4aa0-a08a-d3ebc8aca402") AccessibilityDockingService; 32803 #ifdef __CRT_UUID_DECL 32804 __CRT_UUID_DECL(AccessibilityDockingService, 0x29ce1d46, 0xb481, 0x4aa0, 0xa0,0x8a, 0xd3,0xeb,0xc8,0xac,0xa4,0x02) 32805 #endif 32806 #endif 32807 32808 /***************************************************************************** 32809 * FrameworkInputPane coclass 32810 */ 32811 32812 DEFINE_GUID(CLSID_FrameworkInputPane, 0xd5120aa3, 0x46ba, 0x44c5, 0x82,0x2d, 0xca,0x80,0x92,0xc1,0xfc,0x72); 32813 32814 #ifdef __cplusplus 32815 class DECLSPEC_UUID("d5120aa3-46ba-44c5-822d-ca8092c1fc72") FrameworkInputPane; 32816 #ifdef __CRT_UUID_DECL 32817 __CRT_UUID_DECL(FrameworkInputPane, 0xd5120aa3, 0x46ba, 0x44c5, 0x82,0x2d, 0xca,0x80,0x92,0xc1,0xfc,0x72) 32818 #endif 32819 #endif 32820 32821 /***************************************************************************** 32822 * DefFolderMenu coclass 32823 */ 32824 32825 DEFINE_GUID(CLSID_DefFolderMenu, 0xc63382be, 0x7933, 0x48d0, 0x9a,0xc8, 0x85,0xfb,0x46,0xbe,0x2f,0xdd); 32826 32827 #ifdef __cplusplus 32828 class DECLSPEC_UUID("c63382be-7933-48d0-9ac8-85fb46be2fdd") DefFolderMenu; 32829 #ifdef __CRT_UUID_DECL 32830 __CRT_UUID_DECL(DefFolderMenu, 0xc63382be, 0x7933, 0x48d0, 0x9a,0xc8, 0x85,0xfb,0x46,0xbe,0x2f,0xdd) 32831 #endif 32832 #endif 32833 32834 /***************************************************************************** 32835 * AppVisibility coclass 32836 */ 32837 32838 DEFINE_GUID(CLSID_AppVisibility, 0x7e5fe3d9, 0x985f, 0x4908, 0x91,0xf9, 0xee,0x19,0xf9,0xfd,0x15,0x14); 32839 32840 #ifdef __cplusplus 32841 class DECLSPEC_UUID("7e5fe3d9-985f-4908-91f9-ee19f9fd1514") AppVisibility; 32842 #ifdef __CRT_UUID_DECL 32843 __CRT_UUID_DECL(AppVisibility, 0x7e5fe3d9, 0x985f, 0x4908, 0x91,0xf9, 0xee,0x19,0xf9,0xfd,0x15,0x14) 32844 #endif 32845 #endif 32846 32847 /***************************************************************************** 32848 * AppShellVerbHandler coclass 32849 */ 32850 32851 DEFINE_GUID(CLSID_AppShellVerbHandler, 0x4ed3a719, 0xcea8, 0x4bd9, 0x91,0x0d, 0xe2,0x52,0xf9,0x97,0xaf,0xc2); 32852 32853 #ifdef __cplusplus 32854 class DECLSPEC_UUID("4ed3a719-cea8-4bd9-910d-e252f997afc2") AppShellVerbHandler; 32855 #ifdef __CRT_UUID_DECL 32856 __CRT_UUID_DECL(AppShellVerbHandler, 0x4ed3a719, 0xcea8, 0x4bd9, 0x91,0x0d, 0xe2,0x52,0xf9,0x97,0xaf,0xc2) 32857 #endif 32858 #endif 32859 32860 /***************************************************************************** 32861 * ExecuteUnknown coclass 32862 */ 32863 32864 DEFINE_GUID(CLSID_ExecuteUnknown, 0xe44e9428, 0xbdbc, 0x4987, 0xa0,0x99, 0x40,0xdc,0x8f,0xd2,0x55,0xe7); 32865 32866 #ifdef __cplusplus 32867 class DECLSPEC_UUID("e44e9428-bdbc-4987-a099-40dc8fd255e7") ExecuteUnknown; 32868 #ifdef __CRT_UUID_DECL 32869 __CRT_UUID_DECL(ExecuteUnknown, 0xe44e9428, 0xbdbc, 0x4987, 0xa0,0x99, 0x40,0xdc,0x8f,0xd2,0x55,0xe7) 32870 #endif 32871 #endif 32872 32873 /***************************************************************************** 32874 * PackageDebugSettings coclass 32875 */ 32876 32877 DEFINE_GUID(CLSID_PackageDebugSettings, 0xb1aec16f, 0x2383, 0x4852, 0xb0,0xe9, 0x8f,0x0b,0x1d,0xc6,0x6b,0x4d); 32878 32879 #ifdef __cplusplus 32880 class DECLSPEC_UUID("b1aec16f-2383-4852-b0e9-8f0b1dc66b4d") PackageDebugSettings; 32881 #ifdef __CRT_UUID_DECL 32882 __CRT_UUID_DECL(PackageDebugSettings, 0xb1aec16f, 0x2383, 0x4852, 0xb0,0xe9, 0x8f,0x0b,0x1d,0xc6,0x6b,0x4d) 32883 #endif 32884 #endif 32885 32886 /***************************************************************************** 32887 * ApplicationActivationManager coclass 32888 */ 32889 32890 DEFINE_GUID(CLSID_ApplicationActivationManager, 0x45ba127d, 0x10a8, 0x46ea, 0x8a,0xb7, 0x56,0xea,0x90,0x78,0x94,0x3c); 32891 32892 #ifdef __cplusplus 32893 class DECLSPEC_UUID("45ba127d-10a8-46ea-8ab7-56ea9078943c") ApplicationActivationManager; 32894 #ifdef __CRT_UUID_DECL 32895 __CRT_UUID_DECL(ApplicationActivationManager, 0x45ba127d, 0x10a8, 0x46ea, 0x8a,0xb7, 0x56,0xea,0x90,0x78,0x94,0x3c) 32896 #endif 32897 #endif 32898 32899 /***************************************************************************** 32900 * ApplicationDesignModeSettings coclass 32901 */ 32902 32903 DEFINE_GUID(CLSID_ApplicationDesignModeSettings, 0x958a6fb5, 0xdcb2, 0x4faf, 0xaa,0xfd, 0x7f,0xb0,0x54,0xad,0x1a,0x3b); 32904 32905 #ifdef __cplusplus 32906 class DECLSPEC_UUID("958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b") ApplicationDesignModeSettings; 32907 #ifdef __CRT_UUID_DECL 32908 __CRT_UUID_DECL(ApplicationDesignModeSettings, 0x958a6fb5, 0xdcb2, 0x4faf, 0xaa,0xfd, 0x7f,0xb0,0x54,0xad,0x1a,0x3b) 32909 #endif 32910 #endif 32911 32912 /***************************************************************************** 32913 * ExecuteFolder coclass 32914 */ 32915 32916 DEFINE_GUID(CLSID_ExecuteFolder, 0x11dbb47c, 0xa525, 0x400b, 0x9e,0x80, 0xa5,0x46,0x15,0xa0,0x90,0xc0); 32917 32918 #ifdef __cplusplus 32919 class DECLSPEC_UUID("11dbb47c-a525-400b-9e80-a54615a090c0") ExecuteFolder; 32920 #ifdef __CRT_UUID_DECL 32921 __CRT_UUID_DECL(ExecuteFolder, 0x11dbb47c, 0xa525, 0x400b, 0x9e,0x80, 0xa5,0x46,0x15,0xa0,0x90,0xc0) 32922 #endif 32923 #endif 32924 32925 /***************************************************************************** 32926 * VirtualDesktopManager coclass 32927 */ 32928 32929 DEFINE_GUID(CLSID_VirtualDesktopManager, 0xaa509086, 0x5ca9, 0x4c25, 0x8f,0x95, 0x58,0x9d,0x3c,0x07,0xb4,0x8a); 32930 32931 #ifdef __cplusplus 32932 class DECLSPEC_UUID("aa509086-5ca9-4c25-8f95-589d3c07b48a") VirtualDesktopManager; 32933 #ifdef __CRT_UUID_DECL 32934 __CRT_UUID_DECL(VirtualDesktopManager, 0xaa509086, 0x5ca9, 0x4c25, 0x8f,0x95, 0x58,0x9d,0x3c,0x07,0xb4,0x8a) 32935 #endif 32936 #endif 32937 32938 #endif /* __ShellObjects_LIBRARY_DEFINED__ */ 32939 32940 #if NTDDI_VERSION >= NTDDI_VISTA 32941 SHSTDAPI SHGetTemporaryPropertyForItem(IShellItem *psi, REFPROPERTYKEY propkey, PROPVARIANT *ppropvar); 32942 SHSTDAPI SHSetTemporaryPropertyForItem(IShellItem *psi, REFPROPERTYKEY propkey, REFPROPVARIANT propvar); 32943 #endif 32944 32945 #if NTDDI_VERSION >= NTDDI_WIN7 32946 #if _WIN32_IE >= _WIN32_IE_IE70 32947 typedef enum LIBRARYMANAGEDIALOGOPTIONS { 32948 LMD_DEFAULT = 0x0, 32949 LMD_ALLOWUNINDEXABLENETWORKLOCATIONS = 0x1 32950 } LIBRARYMANAGEDIALOGOPTIONS; 32951 32952 DEFINE_ENUM_FLAG_OPERATORS(LIBRARYMANAGEDIALOGOPTIONS) 32953 32954 SHSTDAPI SHShowManageLibraryUI(IShellItem *psiLibrary, HWND hwndOwner, LPCWSTR pszTitle, LPCWSTR pszInstruction, LIBRARYMANAGEDIALOGOPTIONS lmdOptions); 32955 SHSTDAPI SHResolveLibrary(IShellItem *psiLibrary); 32956 #if defined(__cplusplus) && !defined(CINTERFACE) 32957 __forceinline HRESULT SHCreateLibrary(REFIID riid, void **ppv) { 32958 return CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, riid, ppv); 32959 } 32960 32961 __forceinline HRESULT SHLoadLibraryFromItem(IShellItem *psiLibrary, DWORD grfMode, REFIID riid, void **ppv) { 32962 IShellLibrary *plib; 32963 HRESULT hr; 32964 32965 *ppv = NULL; 32966 hr = CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&plib)); 32967 if (SUCCEEDED(hr)) { 32968 hr = plib->LoadLibraryFromItem(psiLibrary, grfMode); 32969 if (SUCCEEDED(hr)) 32970 hr = plib->QueryInterface(riid, ppv); 32971 plib->Release(); 32972 } 32973 return hr; 32974 } 32975 32976 __forceinline HRESULT SHLoadLibraryFromKnownFolder(REFKNOWNFOLDERID kfidLibrary, DWORD grfMode, REFIID riid, void **ppv) { 32977 IShellLibrary *plib; 32978 HRESULT hr; 32979 32980 *ppv = NULL; 32981 hr = CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&plib)); 32982 if (SUCCEEDED(hr)) { 32983 hr = plib->LoadLibraryFromKnownFolder(kfidLibrary, grfMode); 32984 if (SUCCEEDED(hr)) 32985 hr = plib->QueryInterface(riid, ppv); 32986 plib->Release(); 32987 } 32988 return hr; 32989 } 32990 32991 __forceinline HRESULT SHLoadLibraryFromParsingName(PCWSTR pszParsingName, DWORD grfMode, REFIID riid, void **ppv) { 32992 IShellItem *psiLibrary; 32993 HRESULT hr; 32994 32995 *ppv = NULL; 32996 hr = SHCreateItemFromParsingName(pszParsingName, NULL, IID_PPV_ARGS(&psiLibrary)); 32997 if (SUCCEEDED(hr)) { 32998 hr = SHLoadLibraryFromItem(psiLibrary, grfMode, riid, ppv); 32999 psiLibrary->Release(); 33000 } 33001 return hr; 33002 } 33003 33004 __forceinline HRESULT SHAddFolderPathToLibrary(IShellLibrary *plib, PCWSTR pszFolderPath) { 33005 IShellItem *psiFolder; 33006 HRESULT hr = SHCreateItemFromParsingName(pszFolderPath, NULL, IID_PPV_ARGS(&psiFolder)); 33007 33008 if (SUCCEEDED(hr)) { 33009 hr = plib->AddFolder(psiFolder); 33010 psiFolder->Release(); 33011 } 33012 return hr; 33013 } 33014 33015 __forceinline HRESULT SHRemoveFolderPathFromLibrary(IShellLibrary *plib, PCWSTR pszFolderPath) { 33016 PIDLIST_ABSOLUTE pidlFolder = SHSimpleIDListFromPath(pszFolderPath); 33017 HRESULT hr = pidlFolder ? S_OK : E_INVALIDARG; 33018 33019 if (SUCCEEDED(hr)) { 33020 IShellItem *psiFolder; 33021 33022 hr = SHCreateItemFromIDList(pidlFolder, IID_PPV_ARGS(&psiFolder)); 33023 if (SUCCEEDED(hr)) { 33024 hr = plib->RemoveFolder(psiFolder); 33025 psiFolder->Release(); 33026 } 33027 CoTaskMemFree(pidlFolder); 33028 } 33029 return hr; 33030 } 33031 33032 __forceinline HRESULT SHResolveFolderPathInLibrary(IShellLibrary *plib, PCWSTR pszFolderPath, DWORD dwTimeout, PWSTR *ppszResolvedPath) { 33033 *ppszResolvedPath = NULL; 33034 PIDLIST_ABSOLUTE pidlFolder = SHSimpleIDListFromPath(pszFolderPath); 33035 HRESULT hr = pidlFolder ? S_OK : E_INVALIDARG; 33036 if (SUCCEEDED(hr)) { 33037 IShellItem *psiFolder; 33038 33039 hr = SHCreateItemFromIDList(pidlFolder, IID_PPV_ARGS(&psiFolder)); 33040 if (SUCCEEDED(hr)) { 33041 IShellItem *psiResolved; 33042 33043 hr = plib->ResolveFolder(psiFolder, dwTimeout, IID_PPV_ARGS(&psiResolved)); 33044 if (SUCCEEDED(hr)) { 33045 hr = psiResolved->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING, ppszResolvedPath); 33046 psiResolved->Release(); 33047 } 33048 psiFolder->Release(); 33049 } 33050 CoTaskMemFree(pidlFolder); 33051 } 33052 return hr; 33053 } 33054 33055 __forceinline HRESULT SHSaveLibraryInFolderPath(IShellLibrary *plib, PCWSTR pszFolderPath, PCWSTR pszLibraryName, LIBRARYSAVEFLAGS lsf, PWSTR *ppszSavedToPath) { 33056 IShellItem *psiFolder; 33057 HRESULT hr; 33058 33059 if (ppszSavedToPath) 33060 *ppszSavedToPath = NULL; 33061 hr = SHCreateItemFromParsingName(pszFolderPath, NULL, IID_PPV_ARGS(&psiFolder)); 33062 if (SUCCEEDED(hr)) { 33063 IShellItem *psiSavedTo; 33064 33065 hr = plib->Save(psiFolder, pszLibraryName, lsf, &psiSavedTo); 33066 if (SUCCEEDED(hr)) { 33067 if (ppszSavedToPath) 33068 hr = psiSavedTo->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING, ppszSavedToPath); 33069 psiSavedTo->Release(); 33070 } 33071 psiFolder->Release(); 33072 } 33073 return hr; 33074 } 33075 #endif 33076 #endif 33077 #endif 33078 33079 #if NTDDI_VERSION >= NTDDI_VISTA 33080 /***************************************************************************** 33081 * IAssocHandlerInvoker interface 33082 */ 33083 #ifndef __IAssocHandlerInvoker_INTERFACE_DEFINED__ 33084 #define __IAssocHandlerInvoker_INTERFACE_DEFINED__ 33085 33086 DEFINE_GUID(IID_IAssocHandlerInvoker, 0x92218cab, 0xecaa, 0x4335, 0x81,0x33, 0x80,0x7f,0xd2,0x34,0xc2,0xee); 33087 #if defined(__cplusplus) && !defined(CINTERFACE) 33088 MIDL_INTERFACE("92218cab-ecaa-4335-8133-807fd234c2ee") 33089 IAssocHandlerInvoker : public IUnknown 33090 { 33091 virtual HRESULT STDMETHODCALLTYPE SupportsSelection( 33092 ) = 0; 33093 33094 virtual HRESULT STDMETHODCALLTYPE Invoke( 33095 ) = 0; 33096 33097 }; 33098 #ifdef __CRT_UUID_DECL 33099 __CRT_UUID_DECL(IAssocHandlerInvoker, 0x92218cab, 0xecaa, 0x4335, 0x81,0x33, 0x80,0x7f,0xd2,0x34,0xc2,0xee) 33100 #endif 33101 #else 33102 typedef struct IAssocHandlerInvokerVtbl { 33103 BEGIN_INTERFACE 33104 33105 /*** IUnknown methods ***/ 33106 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 33107 IAssocHandlerInvoker *This, 33108 REFIID riid, 33109 void **ppvObject); 33110 33111 ULONG (STDMETHODCALLTYPE *AddRef)( 33112 IAssocHandlerInvoker *This); 33113 33114 ULONG (STDMETHODCALLTYPE *Release)( 33115 IAssocHandlerInvoker *This); 33116 33117 /*** IAssocHandlerInvoker methods ***/ 33118 HRESULT (STDMETHODCALLTYPE *SupportsSelection)( 33119 IAssocHandlerInvoker *This); 33120 33121 HRESULT (STDMETHODCALLTYPE *Invoke)( 33122 IAssocHandlerInvoker *This); 33123 33124 END_INTERFACE 33125 } IAssocHandlerInvokerVtbl; 33126 33127 interface IAssocHandlerInvoker { 33128 CONST_VTBL IAssocHandlerInvokerVtbl* lpVtbl; 33129 }; 33130 33131 #ifdef COBJMACROS 33132 #ifndef WIDL_C_INLINE_WRAPPERS 33133 /*** IUnknown methods ***/ 33134 #define IAssocHandlerInvoker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 33135 #define IAssocHandlerInvoker_AddRef(This) (This)->lpVtbl->AddRef(This) 33136 #define IAssocHandlerInvoker_Release(This) (This)->lpVtbl->Release(This) 33137 /*** IAssocHandlerInvoker methods ***/ 33138 #define IAssocHandlerInvoker_SupportsSelection(This) (This)->lpVtbl->SupportsSelection(This) 33139 #define IAssocHandlerInvoker_Invoke(This) (This)->lpVtbl->Invoke(This) 33140 #else 33141 /*** IUnknown methods ***/ 33142 static inline HRESULT IAssocHandlerInvoker_QueryInterface(IAssocHandlerInvoker* This,REFIID riid,void **ppvObject) { 33143 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 33144 } 33145 static inline ULONG IAssocHandlerInvoker_AddRef(IAssocHandlerInvoker* This) { 33146 return This->lpVtbl->AddRef(This); 33147 } 33148 static inline ULONG IAssocHandlerInvoker_Release(IAssocHandlerInvoker* This) { 33149 return This->lpVtbl->Release(This); 33150 } 33151 /*** IAssocHandlerInvoker methods ***/ 33152 static inline HRESULT IAssocHandlerInvoker_SupportsSelection(IAssocHandlerInvoker* This) { 33153 return This->lpVtbl->SupportsSelection(This); 33154 } 33155 static inline HRESULT IAssocHandlerInvoker_Invoke(IAssocHandlerInvoker* This) { 33156 return This->lpVtbl->Invoke(This); 33157 } 33158 #endif 33159 #endif 33160 33161 #endif 33162 33163 33164 #endif /* __IAssocHandlerInvoker_INTERFACE_DEFINED__ */ 33165 33166 33167 /***************************************************************************** 33168 * IAssocHandler interface 33169 */ 33170 #ifndef __IAssocHandler_INTERFACE_DEFINED__ 33171 #define __IAssocHandler_INTERFACE_DEFINED__ 33172 33173 DEFINE_GUID(IID_IAssocHandler, 0xf04061ac, 0x1659, 0x4a3f, 0xa9,0x54, 0x77,0x5a,0xa5,0x7f,0xc0,0x83); 33174 #if defined(__cplusplus) && !defined(CINTERFACE) 33175 MIDL_INTERFACE("f04061ac-1659-4a3f-a954-775aa57fc083") 33176 IAssocHandler : public IUnknown 33177 { 33178 virtual HRESULT STDMETHODCALLTYPE GetName( 33179 LPWSTR *ppsz) = 0; 33180 33181 virtual HRESULT STDMETHODCALLTYPE GetUIName( 33182 LPWSTR *ppsz) = 0; 33183 33184 virtual HRESULT STDMETHODCALLTYPE GetIconLocation( 33185 LPWSTR *ppszPath, 33186 int *pIndex) = 0; 33187 33188 virtual HRESULT STDMETHODCALLTYPE IsRecommended( 33189 ) = 0; 33190 33191 virtual HRESULT STDMETHODCALLTYPE MakeDefault( 33192 LPCWSTR pszDescription) = 0; 33193 33194 virtual HRESULT STDMETHODCALLTYPE Invoke( 33195 IDataObject *pdo) = 0; 33196 33197 virtual HRESULT STDMETHODCALLTYPE CreateInvoker( 33198 IDataObject *pdo, 33199 IAssocHandlerInvoker **ppInvoker) = 0; 33200 33201 }; 33202 #ifdef __CRT_UUID_DECL 33203 __CRT_UUID_DECL(IAssocHandler, 0xf04061ac, 0x1659, 0x4a3f, 0xa9,0x54, 0x77,0x5a,0xa5,0x7f,0xc0,0x83) 33204 #endif 33205 #else 33206 typedef struct IAssocHandlerVtbl { 33207 BEGIN_INTERFACE 33208 33209 /*** IUnknown methods ***/ 33210 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 33211 IAssocHandler *This, 33212 REFIID riid, 33213 void **ppvObject); 33214 33215 ULONG (STDMETHODCALLTYPE *AddRef)( 33216 IAssocHandler *This); 33217 33218 ULONG (STDMETHODCALLTYPE *Release)( 33219 IAssocHandler *This); 33220 33221 /*** IAssocHandler methods ***/ 33222 HRESULT (STDMETHODCALLTYPE *GetName)( 33223 IAssocHandler *This, 33224 LPWSTR *ppsz); 33225 33226 HRESULT (STDMETHODCALLTYPE *GetUIName)( 33227 IAssocHandler *This, 33228 LPWSTR *ppsz); 33229 33230 HRESULT (STDMETHODCALLTYPE *GetIconLocation)( 33231 IAssocHandler *This, 33232 LPWSTR *ppszPath, 33233 int *pIndex); 33234 33235 HRESULT (STDMETHODCALLTYPE *IsRecommended)( 33236 IAssocHandler *This); 33237 33238 HRESULT (STDMETHODCALLTYPE *MakeDefault)( 33239 IAssocHandler *This, 33240 LPCWSTR pszDescription); 33241 33242 HRESULT (STDMETHODCALLTYPE *Invoke)( 33243 IAssocHandler *This, 33244 IDataObject *pdo); 33245 33246 HRESULT (STDMETHODCALLTYPE *CreateInvoker)( 33247 IAssocHandler *This, 33248 IDataObject *pdo, 33249 IAssocHandlerInvoker **ppInvoker); 33250 33251 END_INTERFACE 33252 } IAssocHandlerVtbl; 33253 33254 interface IAssocHandler { 33255 CONST_VTBL IAssocHandlerVtbl* lpVtbl; 33256 }; 33257 33258 #ifdef COBJMACROS 33259 #ifndef WIDL_C_INLINE_WRAPPERS 33260 /*** IUnknown methods ***/ 33261 #define IAssocHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 33262 #define IAssocHandler_AddRef(This) (This)->lpVtbl->AddRef(This) 33263 #define IAssocHandler_Release(This) (This)->lpVtbl->Release(This) 33264 /*** IAssocHandler methods ***/ 33265 #define IAssocHandler_GetName(This,ppsz) (This)->lpVtbl->GetName(This,ppsz) 33266 #define IAssocHandler_GetUIName(This,ppsz) (This)->lpVtbl->GetUIName(This,ppsz) 33267 #define IAssocHandler_GetIconLocation(This,ppszPath,pIndex) (This)->lpVtbl->GetIconLocation(This,ppszPath,pIndex) 33268 #define IAssocHandler_IsRecommended(This) (This)->lpVtbl->IsRecommended(This) 33269 #define IAssocHandler_MakeDefault(This,pszDescription) (This)->lpVtbl->MakeDefault(This,pszDescription) 33270 #define IAssocHandler_Invoke(This,pdo) (This)->lpVtbl->Invoke(This,pdo) 33271 #define IAssocHandler_CreateInvoker(This,pdo,ppInvoker) (This)->lpVtbl->CreateInvoker(This,pdo,ppInvoker) 33272 #else 33273 /*** IUnknown methods ***/ 33274 static inline HRESULT IAssocHandler_QueryInterface(IAssocHandler* This,REFIID riid,void **ppvObject) { 33275 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 33276 } 33277 static inline ULONG IAssocHandler_AddRef(IAssocHandler* This) { 33278 return This->lpVtbl->AddRef(This); 33279 } 33280 static inline ULONG IAssocHandler_Release(IAssocHandler* This) { 33281 return This->lpVtbl->Release(This); 33282 } 33283 /*** IAssocHandler methods ***/ 33284 static inline HRESULT IAssocHandler_GetName(IAssocHandler* This,LPWSTR *ppsz) { 33285 return This->lpVtbl->GetName(This,ppsz); 33286 } 33287 static inline HRESULT IAssocHandler_GetUIName(IAssocHandler* This,LPWSTR *ppsz) { 33288 return This->lpVtbl->GetUIName(This,ppsz); 33289 } 33290 static inline HRESULT IAssocHandler_GetIconLocation(IAssocHandler* This,LPWSTR *ppszPath,int *pIndex) { 33291 return This->lpVtbl->GetIconLocation(This,ppszPath,pIndex); 33292 } 33293 static inline HRESULT IAssocHandler_IsRecommended(IAssocHandler* This) { 33294 return This->lpVtbl->IsRecommended(This); 33295 } 33296 static inline HRESULT IAssocHandler_MakeDefault(IAssocHandler* This,LPCWSTR pszDescription) { 33297 return This->lpVtbl->MakeDefault(This,pszDescription); 33298 } 33299 static inline HRESULT IAssocHandler_Invoke(IAssocHandler* This,IDataObject *pdo) { 33300 return This->lpVtbl->Invoke(This,pdo); 33301 } 33302 static inline HRESULT IAssocHandler_CreateInvoker(IAssocHandler* This,IDataObject *pdo,IAssocHandlerInvoker **ppInvoker) { 33303 return This->lpVtbl->CreateInvoker(This,pdo,ppInvoker); 33304 } 33305 #endif 33306 #endif 33307 33308 #endif 33309 33310 33311 #endif /* __IAssocHandler_INTERFACE_DEFINED__ */ 33312 33313 33314 /***************************************************************************** 33315 * IEnumAssocHandlers interface 33316 */ 33317 #ifndef __IEnumAssocHandlers_INTERFACE_DEFINED__ 33318 #define __IEnumAssocHandlers_INTERFACE_DEFINED__ 33319 33320 DEFINE_GUID(IID_IEnumAssocHandlers, 0x973810ae, 0x9599, 0x4b88, 0x9e,0x4d, 0x6e,0xe9,0x8c,0x95,0x52,0xda); 33321 #if defined(__cplusplus) && !defined(CINTERFACE) 33322 MIDL_INTERFACE("973810ae-9599-4b88-9e4d-6ee98c9552da") 33323 IEnumAssocHandlers : public IUnknown 33324 { 33325 virtual HRESULT STDMETHODCALLTYPE Next( 33326 ULONG celt, 33327 IAssocHandler **rgelt, 33328 ULONG *pceltFetched) = 0; 33329 33330 }; 33331 #ifdef __CRT_UUID_DECL 33332 __CRT_UUID_DECL(IEnumAssocHandlers, 0x973810ae, 0x9599, 0x4b88, 0x9e,0x4d, 0x6e,0xe9,0x8c,0x95,0x52,0xda) 33333 #endif 33334 #else 33335 typedef struct IEnumAssocHandlersVtbl { 33336 BEGIN_INTERFACE 33337 33338 /*** IUnknown methods ***/ 33339 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 33340 IEnumAssocHandlers *This, 33341 REFIID riid, 33342 void **ppvObject); 33343 33344 ULONG (STDMETHODCALLTYPE *AddRef)( 33345 IEnumAssocHandlers *This); 33346 33347 ULONG (STDMETHODCALLTYPE *Release)( 33348 IEnumAssocHandlers *This); 33349 33350 /*** IEnumAssocHandlers methods ***/ 33351 HRESULT (STDMETHODCALLTYPE *Next)( 33352 IEnumAssocHandlers *This, 33353 ULONG celt, 33354 IAssocHandler **rgelt, 33355 ULONG *pceltFetched); 33356 33357 END_INTERFACE 33358 } IEnumAssocHandlersVtbl; 33359 33360 interface IEnumAssocHandlers { 33361 CONST_VTBL IEnumAssocHandlersVtbl* lpVtbl; 33362 }; 33363 33364 #ifdef COBJMACROS 33365 #ifndef WIDL_C_INLINE_WRAPPERS 33366 /*** IUnknown methods ***/ 33367 #define IEnumAssocHandlers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 33368 #define IEnumAssocHandlers_AddRef(This) (This)->lpVtbl->AddRef(This) 33369 #define IEnumAssocHandlers_Release(This) (This)->lpVtbl->Release(This) 33370 /*** IEnumAssocHandlers methods ***/ 33371 #define IEnumAssocHandlers_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 33372 #else 33373 /*** IUnknown methods ***/ 33374 static inline HRESULT IEnumAssocHandlers_QueryInterface(IEnumAssocHandlers* This,REFIID riid,void **ppvObject) { 33375 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 33376 } 33377 static inline ULONG IEnumAssocHandlers_AddRef(IEnumAssocHandlers* This) { 33378 return This->lpVtbl->AddRef(This); 33379 } 33380 static inline ULONG IEnumAssocHandlers_Release(IEnumAssocHandlers* This) { 33381 return This->lpVtbl->Release(This); 33382 } 33383 /*** IEnumAssocHandlers methods ***/ 33384 static inline HRESULT IEnumAssocHandlers_Next(IEnumAssocHandlers* This,ULONG celt,IAssocHandler **rgelt,ULONG *pceltFetched) { 33385 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 33386 } 33387 #endif 33388 #endif 33389 33390 #endif 33391 33392 33393 #endif /* __IEnumAssocHandlers_INTERFACE_DEFINED__ */ 33394 33395 33396 typedef enum ASSOC_FILTER { 33397 ASSOC_FILTER_NONE = 0x0, 33398 ASSOC_FILTER_RECOMMENDED = 0x1 33399 } ASSOC_FILTER; 33400 33401 DEFINE_ENUM_FLAG_OPERATORS(ASSOC_FILTER) 33402 33403 SHSTDAPI SHAssocEnumHandlers(PCWSTR pszExtra, ASSOC_FILTER afFilter, IEnumAssocHandlers **ppEnumHandler); 33404 #endif 33405 33406 #if NTDDI_VERSION >= NTDDI_WIN7 33407 SHSTDAPI SHAssocEnumHandlersForProtocolByApplication(PCWSTR protocol, REFIID riid, void **enumHandlers); 33408 #endif 33409 33410 #if NTDDI_VERSION >= NTDDI_WIN8 33411 /***************************************************************************** 33412 * IDataObjectProvider interface 33413 */ 33414 #ifndef __IDataObjectProvider_INTERFACE_DEFINED__ 33415 #define __IDataObjectProvider_INTERFACE_DEFINED__ 33416 33417 DEFINE_GUID(IID_IDataObjectProvider, 0x3d25f6d6, 0x4b2a, 0x433c, 0x91,0x84, 0x7c,0x33,0xad,0x35,0xd0,0x01); 33418 #if defined(__cplusplus) && !defined(CINTERFACE) 33419 MIDL_INTERFACE("3d25f6d6-4b2a-433c-9184-7c33ad35d001") 33420 IDataObjectProvider : public IUnknown 33421 { 33422 virtual HRESULT STDMETHODCALLTYPE GetDataObject( 33423 IDataObject **dataObject) = 0; 33424 33425 virtual HRESULT STDMETHODCALLTYPE SetDataObject( 33426 IDataObject *dataObject) = 0; 33427 33428 }; 33429 #ifdef __CRT_UUID_DECL 33430 __CRT_UUID_DECL(IDataObjectProvider, 0x3d25f6d6, 0x4b2a, 0x433c, 0x91,0x84, 0x7c,0x33,0xad,0x35,0xd0,0x01) 33431 #endif 33432 #else 33433 typedef struct IDataObjectProviderVtbl { 33434 BEGIN_INTERFACE 33435 33436 /*** IUnknown methods ***/ 33437 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 33438 IDataObjectProvider *This, 33439 REFIID riid, 33440 void **ppvObject); 33441 33442 ULONG (STDMETHODCALLTYPE *AddRef)( 33443 IDataObjectProvider *This); 33444 33445 ULONG (STDMETHODCALLTYPE *Release)( 33446 IDataObjectProvider *This); 33447 33448 /*** IDataObjectProvider methods ***/ 33449 HRESULT (STDMETHODCALLTYPE *GetDataObject)( 33450 IDataObjectProvider *This, 33451 IDataObject **dataObject); 33452 33453 HRESULT (STDMETHODCALLTYPE *SetDataObject)( 33454 IDataObjectProvider *This, 33455 IDataObject *dataObject); 33456 33457 END_INTERFACE 33458 } IDataObjectProviderVtbl; 33459 33460 interface IDataObjectProvider { 33461 CONST_VTBL IDataObjectProviderVtbl* lpVtbl; 33462 }; 33463 33464 #ifdef COBJMACROS 33465 #ifndef WIDL_C_INLINE_WRAPPERS 33466 /*** IUnknown methods ***/ 33467 #define IDataObjectProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 33468 #define IDataObjectProvider_AddRef(This) (This)->lpVtbl->AddRef(This) 33469 #define IDataObjectProvider_Release(This) (This)->lpVtbl->Release(This) 33470 /*** IDataObjectProvider methods ***/ 33471 #define IDataObjectProvider_GetDataObject(This,dataObject) (This)->lpVtbl->GetDataObject(This,dataObject) 33472 #define IDataObjectProvider_SetDataObject(This,dataObject) (This)->lpVtbl->SetDataObject(This,dataObject) 33473 #else 33474 /*** IUnknown methods ***/ 33475 static inline HRESULT IDataObjectProvider_QueryInterface(IDataObjectProvider* This,REFIID riid,void **ppvObject) { 33476 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 33477 } 33478 static inline ULONG IDataObjectProvider_AddRef(IDataObjectProvider* This) { 33479 return This->lpVtbl->AddRef(This); 33480 } 33481 static inline ULONG IDataObjectProvider_Release(IDataObjectProvider* This) { 33482 return This->lpVtbl->Release(This); 33483 } 33484 /*** IDataObjectProvider methods ***/ 33485 static inline HRESULT IDataObjectProvider_GetDataObject(IDataObjectProvider* This,IDataObject **dataObject) { 33486 return This->lpVtbl->GetDataObject(This,dataObject); 33487 } 33488 static inline HRESULT IDataObjectProvider_SetDataObject(IDataObjectProvider* This,IDataObject *dataObject) { 33489 return This->lpVtbl->SetDataObject(This,dataObject); 33490 } 33491 #endif 33492 #endif 33493 33494 #endif 33495 33496 33497 #endif /* __IDataObjectProvider_INTERFACE_DEFINED__ */ 33498 33499 33500 /***************************************************************************** 33501 * IDataTransferManagerInterop interface 33502 */ 33503 #ifndef __IDataTransferManagerInterop_INTERFACE_DEFINED__ 33504 #define __IDataTransferManagerInterop_INTERFACE_DEFINED__ 33505 33506 DEFINE_GUID(IID_IDataTransferManagerInterop, 0x3a3dcd6c, 0x3eab, 0x43dc, 0xbc,0xde, 0x45,0x67,0x1c,0xe8,0x00,0xc8); 33507 #if defined(__cplusplus) && !defined(CINTERFACE) 33508 MIDL_INTERFACE("3a3dcd6c-3eab-43dc-bcde-45671ce800c8") 33509 IDataTransferManagerInterop : public IUnknown 33510 { 33511 virtual HRESULT STDMETHODCALLTYPE GetForWindow( 33512 HWND appWindow, 33513 REFIID riid, 33514 void **dataTransferManager) = 0; 33515 33516 virtual HRESULT STDMETHODCALLTYPE ShowShareUIForWindow( 33517 HWND appWindow) = 0; 33518 33519 }; 33520 #ifdef __CRT_UUID_DECL 33521 __CRT_UUID_DECL(IDataTransferManagerInterop, 0x3a3dcd6c, 0x3eab, 0x43dc, 0xbc,0xde, 0x45,0x67,0x1c,0xe8,0x00,0xc8) 33522 #endif 33523 #else 33524 typedef struct IDataTransferManagerInteropVtbl { 33525 BEGIN_INTERFACE 33526 33527 /*** IUnknown methods ***/ 33528 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 33529 IDataTransferManagerInterop *This, 33530 REFIID riid, 33531 void **ppvObject); 33532 33533 ULONG (STDMETHODCALLTYPE *AddRef)( 33534 IDataTransferManagerInterop *This); 33535 33536 ULONG (STDMETHODCALLTYPE *Release)( 33537 IDataTransferManagerInterop *This); 33538 33539 /*** IDataTransferManagerInterop methods ***/ 33540 HRESULT (STDMETHODCALLTYPE *GetForWindow)( 33541 IDataTransferManagerInterop *This, 33542 HWND appWindow, 33543 REFIID riid, 33544 void **dataTransferManager); 33545 33546 HRESULT (STDMETHODCALLTYPE *ShowShareUIForWindow)( 33547 IDataTransferManagerInterop *This, 33548 HWND appWindow); 33549 33550 END_INTERFACE 33551 } IDataTransferManagerInteropVtbl; 33552 33553 interface IDataTransferManagerInterop { 33554 CONST_VTBL IDataTransferManagerInteropVtbl* lpVtbl; 33555 }; 33556 33557 #ifdef COBJMACROS 33558 #ifndef WIDL_C_INLINE_WRAPPERS 33559 /*** IUnknown methods ***/ 33560 #define IDataTransferManagerInterop_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 33561 #define IDataTransferManagerInterop_AddRef(This) (This)->lpVtbl->AddRef(This) 33562 #define IDataTransferManagerInterop_Release(This) (This)->lpVtbl->Release(This) 33563 /*** IDataTransferManagerInterop methods ***/ 33564 #define IDataTransferManagerInterop_GetForWindow(This,appWindow,riid,dataTransferManager) (This)->lpVtbl->GetForWindow(This,appWindow,riid,dataTransferManager) 33565 #define IDataTransferManagerInterop_ShowShareUIForWindow(This,appWindow) (This)->lpVtbl->ShowShareUIForWindow(This,appWindow) 33566 #else 33567 /*** IUnknown methods ***/ 33568 static inline HRESULT IDataTransferManagerInterop_QueryInterface(IDataTransferManagerInterop* This,REFIID riid,void **ppvObject) { 33569 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 33570 } 33571 static inline ULONG IDataTransferManagerInterop_AddRef(IDataTransferManagerInterop* This) { 33572 return This->lpVtbl->AddRef(This); 33573 } 33574 static inline ULONG IDataTransferManagerInterop_Release(IDataTransferManagerInterop* This) { 33575 return This->lpVtbl->Release(This); 33576 } 33577 /*** IDataTransferManagerInterop methods ***/ 33578 static inline HRESULT IDataTransferManagerInterop_GetForWindow(IDataTransferManagerInterop* This,HWND appWindow,REFIID riid,void **dataTransferManager) { 33579 return This->lpVtbl->GetForWindow(This,appWindow,riid,dataTransferManager); 33580 } 33581 static inline HRESULT IDataTransferManagerInterop_ShowShareUIForWindow(IDataTransferManagerInterop* This,HWND appWindow) { 33582 return This->lpVtbl->ShowShareUIForWindow(This,appWindow); 33583 } 33584 #endif 33585 #endif 33586 33587 #endif 33588 33589 33590 #endif /* __IDataTransferManagerInterop_INTERFACE_DEFINED__ */ 33591 33592 33593 /***************************************************************************** 33594 * IFrameworkInputPaneHandler interface 33595 */ 33596 #ifndef __IFrameworkInputPaneHandler_INTERFACE_DEFINED__ 33597 #define __IFrameworkInputPaneHandler_INTERFACE_DEFINED__ 33598 33599 DEFINE_GUID(IID_IFrameworkInputPaneHandler, 0x226c537b, 0x1e76, 0x4d9e, 0xa7,0x60, 0x33,0xdb,0x29,0x92,0x2f,0x18); 33600 #if defined(__cplusplus) && !defined(CINTERFACE) 33601 MIDL_INTERFACE("226c537b-1e76-4d9e-a760-33db29922f18") 33602 IFrameworkInputPaneHandler : public IUnknown 33603 { 33604 virtual HRESULT STDMETHODCALLTYPE Showing( 33605 RECT *prcInputPaneScreenLocation, 33606 WINBOOL fEnsureFocusedElementInView) = 0; 33607 33608 virtual HRESULT STDMETHODCALLTYPE Hiding( 33609 WINBOOL fEnsureFocusedElementInView) = 0; 33610 33611 }; 33612 #ifdef __CRT_UUID_DECL 33613 __CRT_UUID_DECL(IFrameworkInputPaneHandler, 0x226c537b, 0x1e76, 0x4d9e, 0xa7,0x60, 0x33,0xdb,0x29,0x92,0x2f,0x18) 33614 #endif 33615 #else 33616 typedef struct IFrameworkInputPaneHandlerVtbl { 33617 BEGIN_INTERFACE 33618 33619 /*** IUnknown methods ***/ 33620 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 33621 IFrameworkInputPaneHandler *This, 33622 REFIID riid, 33623 void **ppvObject); 33624 33625 ULONG (STDMETHODCALLTYPE *AddRef)( 33626 IFrameworkInputPaneHandler *This); 33627 33628 ULONG (STDMETHODCALLTYPE *Release)( 33629 IFrameworkInputPaneHandler *This); 33630 33631 /*** IFrameworkInputPaneHandler methods ***/ 33632 HRESULT (STDMETHODCALLTYPE *Showing)( 33633 IFrameworkInputPaneHandler *This, 33634 RECT *prcInputPaneScreenLocation, 33635 WINBOOL fEnsureFocusedElementInView); 33636 33637 HRESULT (STDMETHODCALLTYPE *Hiding)( 33638 IFrameworkInputPaneHandler *This, 33639 WINBOOL fEnsureFocusedElementInView); 33640 33641 END_INTERFACE 33642 } IFrameworkInputPaneHandlerVtbl; 33643 33644 interface IFrameworkInputPaneHandler { 33645 CONST_VTBL IFrameworkInputPaneHandlerVtbl* lpVtbl; 33646 }; 33647 33648 #ifdef COBJMACROS 33649 #ifndef WIDL_C_INLINE_WRAPPERS 33650 /*** IUnknown methods ***/ 33651 #define IFrameworkInputPaneHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 33652 #define IFrameworkInputPaneHandler_AddRef(This) (This)->lpVtbl->AddRef(This) 33653 #define IFrameworkInputPaneHandler_Release(This) (This)->lpVtbl->Release(This) 33654 /*** IFrameworkInputPaneHandler methods ***/ 33655 #define IFrameworkInputPaneHandler_Showing(This,prcInputPaneScreenLocation,fEnsureFocusedElementInView) (This)->lpVtbl->Showing(This,prcInputPaneScreenLocation,fEnsureFocusedElementInView) 33656 #define IFrameworkInputPaneHandler_Hiding(This,fEnsureFocusedElementInView) (This)->lpVtbl->Hiding(This,fEnsureFocusedElementInView) 33657 #else 33658 /*** IUnknown methods ***/ 33659 static inline HRESULT IFrameworkInputPaneHandler_QueryInterface(IFrameworkInputPaneHandler* This,REFIID riid,void **ppvObject) { 33660 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 33661 } 33662 static inline ULONG IFrameworkInputPaneHandler_AddRef(IFrameworkInputPaneHandler* This) { 33663 return This->lpVtbl->AddRef(This); 33664 } 33665 static inline ULONG IFrameworkInputPaneHandler_Release(IFrameworkInputPaneHandler* This) { 33666 return This->lpVtbl->Release(This); 33667 } 33668 /*** IFrameworkInputPaneHandler methods ***/ 33669 static inline HRESULT IFrameworkInputPaneHandler_Showing(IFrameworkInputPaneHandler* This,RECT *prcInputPaneScreenLocation,WINBOOL fEnsureFocusedElementInView) { 33670 return This->lpVtbl->Showing(This,prcInputPaneScreenLocation,fEnsureFocusedElementInView); 33671 } 33672 static inline HRESULT IFrameworkInputPaneHandler_Hiding(IFrameworkInputPaneHandler* This,WINBOOL fEnsureFocusedElementInView) { 33673 return This->lpVtbl->Hiding(This,fEnsureFocusedElementInView); 33674 } 33675 #endif 33676 #endif 33677 33678 #endif 33679 33680 33681 #endif /* __IFrameworkInputPaneHandler_INTERFACE_DEFINED__ */ 33682 33683 33684 /***************************************************************************** 33685 * IFrameworkInputPane interface 33686 */ 33687 #ifndef __IFrameworkInputPane_INTERFACE_DEFINED__ 33688 #define __IFrameworkInputPane_INTERFACE_DEFINED__ 33689 33690 DEFINE_GUID(IID_IFrameworkInputPane, 0x5752238b, 0x24f0, 0x495a, 0x82,0xf1, 0x2f,0xd5,0x93,0x05,0x67,0x96); 33691 #if defined(__cplusplus) && !defined(CINTERFACE) 33692 MIDL_INTERFACE("5752238b-24f0-495a-82f1-2fd593056796") 33693 IFrameworkInputPane : public IUnknown 33694 { 33695 virtual HRESULT STDMETHODCALLTYPE Advise( 33696 IUnknown *pWindow, 33697 IFrameworkInputPaneHandler *pHandler, 33698 DWORD *pdwCookie) = 0; 33699 33700 virtual HRESULT STDMETHODCALLTYPE AdviseWithHWND( 33701 HWND hwnd, 33702 IFrameworkInputPaneHandler *pHandler, 33703 DWORD *pdwCookie) = 0; 33704 33705 virtual HRESULT STDMETHODCALLTYPE Unadvise( 33706 DWORD dwCookie) = 0; 33707 33708 virtual HRESULT STDMETHODCALLTYPE Location( 33709 RECT *prcInputPaneScreenLocation) = 0; 33710 33711 }; 33712 #ifdef __CRT_UUID_DECL 33713 __CRT_UUID_DECL(IFrameworkInputPane, 0x5752238b, 0x24f0, 0x495a, 0x82,0xf1, 0x2f,0xd5,0x93,0x05,0x67,0x96) 33714 #endif 33715 #else 33716 typedef struct IFrameworkInputPaneVtbl { 33717 BEGIN_INTERFACE 33718 33719 /*** IUnknown methods ***/ 33720 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 33721 IFrameworkInputPane *This, 33722 REFIID riid, 33723 void **ppvObject); 33724 33725 ULONG (STDMETHODCALLTYPE *AddRef)( 33726 IFrameworkInputPane *This); 33727 33728 ULONG (STDMETHODCALLTYPE *Release)( 33729 IFrameworkInputPane *This); 33730 33731 /*** IFrameworkInputPane methods ***/ 33732 HRESULT (STDMETHODCALLTYPE *Advise)( 33733 IFrameworkInputPane *This, 33734 IUnknown *pWindow, 33735 IFrameworkInputPaneHandler *pHandler, 33736 DWORD *pdwCookie); 33737 33738 HRESULT (STDMETHODCALLTYPE *AdviseWithHWND)( 33739 IFrameworkInputPane *This, 33740 HWND hwnd, 33741 IFrameworkInputPaneHandler *pHandler, 33742 DWORD *pdwCookie); 33743 33744 HRESULT (STDMETHODCALLTYPE *Unadvise)( 33745 IFrameworkInputPane *This, 33746 DWORD dwCookie); 33747 33748 HRESULT (STDMETHODCALLTYPE *Location)( 33749 IFrameworkInputPane *This, 33750 RECT *prcInputPaneScreenLocation); 33751 33752 END_INTERFACE 33753 } IFrameworkInputPaneVtbl; 33754 33755 interface IFrameworkInputPane { 33756 CONST_VTBL IFrameworkInputPaneVtbl* lpVtbl; 33757 }; 33758 33759 #ifdef COBJMACROS 33760 #ifndef WIDL_C_INLINE_WRAPPERS 33761 /*** IUnknown methods ***/ 33762 #define IFrameworkInputPane_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 33763 #define IFrameworkInputPane_AddRef(This) (This)->lpVtbl->AddRef(This) 33764 #define IFrameworkInputPane_Release(This) (This)->lpVtbl->Release(This) 33765 /*** IFrameworkInputPane methods ***/ 33766 #define IFrameworkInputPane_Advise(This,pWindow,pHandler,pdwCookie) (This)->lpVtbl->Advise(This,pWindow,pHandler,pdwCookie) 33767 #define IFrameworkInputPane_AdviseWithHWND(This,hwnd,pHandler,pdwCookie) (This)->lpVtbl->AdviseWithHWND(This,hwnd,pHandler,pdwCookie) 33768 #define IFrameworkInputPane_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie) 33769 #define IFrameworkInputPane_Location(This,prcInputPaneScreenLocation) (This)->lpVtbl->Location(This,prcInputPaneScreenLocation) 33770 #else 33771 /*** IUnknown methods ***/ 33772 static inline HRESULT IFrameworkInputPane_QueryInterface(IFrameworkInputPane* This,REFIID riid,void **ppvObject) { 33773 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 33774 } 33775 static inline ULONG IFrameworkInputPane_AddRef(IFrameworkInputPane* This) { 33776 return This->lpVtbl->AddRef(This); 33777 } 33778 static inline ULONG IFrameworkInputPane_Release(IFrameworkInputPane* This) { 33779 return This->lpVtbl->Release(This); 33780 } 33781 /*** IFrameworkInputPane methods ***/ 33782 static inline HRESULT IFrameworkInputPane_Advise(IFrameworkInputPane* This,IUnknown *pWindow,IFrameworkInputPaneHandler *pHandler,DWORD *pdwCookie) { 33783 return This->lpVtbl->Advise(This,pWindow,pHandler,pdwCookie); 33784 } 33785 static inline HRESULT IFrameworkInputPane_AdviseWithHWND(IFrameworkInputPane* This,HWND hwnd,IFrameworkInputPaneHandler *pHandler,DWORD *pdwCookie) { 33786 return This->lpVtbl->AdviseWithHWND(This,hwnd,pHandler,pdwCookie); 33787 } 33788 static inline HRESULT IFrameworkInputPane_Unadvise(IFrameworkInputPane* This,DWORD dwCookie) { 33789 return This->lpVtbl->Unadvise(This,dwCookie); 33790 } 33791 static inline HRESULT IFrameworkInputPane_Location(IFrameworkInputPane* This,RECT *prcInputPaneScreenLocation) { 33792 return This->lpVtbl->Location(This,prcInputPaneScreenLocation); 33793 } 33794 #endif 33795 #endif 33796 33797 #endif 33798 33799 33800 #endif /* __IFrameworkInputPane_INTERFACE_DEFINED__ */ 33801 33802 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 33803 33804 #ifndef PROP_CONTRACT_DELEGATE 33805 #define PROP_CONTRACT_DELEGATE L"ContractDelegate" 33806 #endif 33807 33808 __forceinline void SetContractDelegateWindow(HWND hwndSource, HWND hwndDelegate) { 33809 if (hwndDelegate != NULL) 33810 SetPropW (hwndSource, PROP_CONTRACT_DELEGATE, (HANDLE)hwndDelegate); 33811 else 33812 RemovePropW(hwndSource, PROP_CONTRACT_DELEGATE); 33813 } 33814 33815 #ifndef PROP_CONTRACT_DELEGATE 33816 #define PROP_CONTRACT_DELEGATE L"ContractDelegate" 33817 #endif 33818 33819 __forceinline HWND GetContractDelegateWindow(HWND hwndSource) { return (HWND)GetPropW(hwndSource, PROP_CONTRACT_DELEGATE); } 33820 #endif 33821 #endif 33822 33823 #if NTDDI_VERSION >= NTDDI_WIN8 33824 /***************************************************************************** 33825 * ISearchableApplication interface 33826 */ 33827 #ifndef __ISearchableApplication_INTERFACE_DEFINED__ 33828 #define __ISearchableApplication_INTERFACE_DEFINED__ 33829 33830 DEFINE_GUID(IID_ISearchableApplication, 0x08922f8d, 0x243a, 0x49e3, 0xa4,0x95, 0xbd,0x4f,0x9c,0xf8,0xab,0x9e); 33831 #if defined(__cplusplus) && !defined(CINTERFACE) 33832 MIDL_INTERFACE("08922f8d-243a-49e3-a495-bd4f9cf8ab9e") 33833 ISearchableApplication : public IUnknown 33834 { 33835 virtual HRESULT STDMETHODCALLTYPE GetSearchWindow( 33836 HWND *hwnd) = 0; 33837 33838 }; 33839 #ifdef __CRT_UUID_DECL 33840 __CRT_UUID_DECL(ISearchableApplication, 0x08922f8d, 0x243a, 0x49e3, 0xa4,0x95, 0xbd,0x4f,0x9c,0xf8,0xab,0x9e) 33841 #endif 33842 #else 33843 typedef struct ISearchableApplicationVtbl { 33844 BEGIN_INTERFACE 33845 33846 /*** IUnknown methods ***/ 33847 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 33848 ISearchableApplication *This, 33849 REFIID riid, 33850 void **ppvObject); 33851 33852 ULONG (STDMETHODCALLTYPE *AddRef)( 33853 ISearchableApplication *This); 33854 33855 ULONG (STDMETHODCALLTYPE *Release)( 33856 ISearchableApplication *This); 33857 33858 /*** ISearchableApplication methods ***/ 33859 HRESULT (STDMETHODCALLTYPE *GetSearchWindow)( 33860 ISearchableApplication *This, 33861 HWND *hwnd); 33862 33863 END_INTERFACE 33864 } ISearchableApplicationVtbl; 33865 33866 interface ISearchableApplication { 33867 CONST_VTBL ISearchableApplicationVtbl* lpVtbl; 33868 }; 33869 33870 #ifdef COBJMACROS 33871 #ifndef WIDL_C_INLINE_WRAPPERS 33872 /*** IUnknown methods ***/ 33873 #define ISearchableApplication_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 33874 #define ISearchableApplication_AddRef(This) (This)->lpVtbl->AddRef(This) 33875 #define ISearchableApplication_Release(This) (This)->lpVtbl->Release(This) 33876 /*** ISearchableApplication methods ***/ 33877 #define ISearchableApplication_GetSearchWindow(This,hwnd) (This)->lpVtbl->GetSearchWindow(This,hwnd) 33878 #else 33879 /*** IUnknown methods ***/ 33880 static inline HRESULT ISearchableApplication_QueryInterface(ISearchableApplication* This,REFIID riid,void **ppvObject) { 33881 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 33882 } 33883 static inline ULONG ISearchableApplication_AddRef(ISearchableApplication* This) { 33884 return This->lpVtbl->AddRef(This); 33885 } 33886 static inline ULONG ISearchableApplication_Release(ISearchableApplication* This) { 33887 return This->lpVtbl->Release(This); 33888 } 33889 /*** ISearchableApplication methods ***/ 33890 static inline HRESULT ISearchableApplication_GetSearchWindow(ISearchableApplication* This,HWND *hwnd) { 33891 return This->lpVtbl->GetSearchWindow(This,hwnd); 33892 } 33893 #endif 33894 #endif 33895 33896 #endif 33897 33898 33899 #endif /* __ISearchableApplication_INTERFACE_DEFINED__ */ 33900 33901 33902 typedef enum UNDOCK_REASON { 33903 UR_RESOLUTION_CHANGE = 0, 33904 UR_MONITOR_DISCONNECT = 1 33905 } UNDOCK_REASON; 33906 33907 /***************************************************************************** 33908 * IAccessibilityDockingServiceCallback interface 33909 */ 33910 #ifndef __IAccessibilityDockingServiceCallback_INTERFACE_DEFINED__ 33911 #define __IAccessibilityDockingServiceCallback_INTERFACE_DEFINED__ 33912 33913 DEFINE_GUID(IID_IAccessibilityDockingServiceCallback, 0x157733fd, 0xa592, 0x42e5, 0xb5,0x94, 0x24,0x84,0x68,0xc5,0xa8,0x1b); 33914 #if defined(__cplusplus) && !defined(CINTERFACE) 33915 MIDL_INTERFACE("157733fd-a592-42e5-b594-248468c5a81b") 33916 IAccessibilityDockingServiceCallback : public IUnknown 33917 { 33918 virtual HRESULT STDMETHODCALLTYPE Undocked( 33919 UNDOCK_REASON undockReason) = 0; 33920 33921 }; 33922 #ifdef __CRT_UUID_DECL 33923 __CRT_UUID_DECL(IAccessibilityDockingServiceCallback, 0x157733fd, 0xa592, 0x42e5, 0xb5,0x94, 0x24,0x84,0x68,0xc5,0xa8,0x1b) 33924 #endif 33925 #else 33926 typedef struct IAccessibilityDockingServiceCallbackVtbl { 33927 BEGIN_INTERFACE 33928 33929 /*** IUnknown methods ***/ 33930 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 33931 IAccessibilityDockingServiceCallback *This, 33932 REFIID riid, 33933 void **ppvObject); 33934 33935 ULONG (STDMETHODCALLTYPE *AddRef)( 33936 IAccessibilityDockingServiceCallback *This); 33937 33938 ULONG (STDMETHODCALLTYPE *Release)( 33939 IAccessibilityDockingServiceCallback *This); 33940 33941 /*** IAccessibilityDockingServiceCallback methods ***/ 33942 HRESULT (STDMETHODCALLTYPE *Undocked)( 33943 IAccessibilityDockingServiceCallback *This, 33944 UNDOCK_REASON undockReason); 33945 33946 END_INTERFACE 33947 } IAccessibilityDockingServiceCallbackVtbl; 33948 33949 interface IAccessibilityDockingServiceCallback { 33950 CONST_VTBL IAccessibilityDockingServiceCallbackVtbl* lpVtbl; 33951 }; 33952 33953 #ifdef COBJMACROS 33954 #ifndef WIDL_C_INLINE_WRAPPERS 33955 /*** IUnknown methods ***/ 33956 #define IAccessibilityDockingServiceCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 33957 #define IAccessibilityDockingServiceCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 33958 #define IAccessibilityDockingServiceCallback_Release(This) (This)->lpVtbl->Release(This) 33959 /*** IAccessibilityDockingServiceCallback methods ***/ 33960 #define IAccessibilityDockingServiceCallback_Undocked(This,undockReason) (This)->lpVtbl->Undocked(This,undockReason) 33961 #else 33962 /*** IUnknown methods ***/ 33963 static inline HRESULT IAccessibilityDockingServiceCallback_QueryInterface(IAccessibilityDockingServiceCallback* This,REFIID riid,void **ppvObject) { 33964 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 33965 } 33966 static inline ULONG IAccessibilityDockingServiceCallback_AddRef(IAccessibilityDockingServiceCallback* This) { 33967 return This->lpVtbl->AddRef(This); 33968 } 33969 static inline ULONG IAccessibilityDockingServiceCallback_Release(IAccessibilityDockingServiceCallback* This) { 33970 return This->lpVtbl->Release(This); 33971 } 33972 /*** IAccessibilityDockingServiceCallback methods ***/ 33973 static inline HRESULT IAccessibilityDockingServiceCallback_Undocked(IAccessibilityDockingServiceCallback* This,UNDOCK_REASON undockReason) { 33974 return This->lpVtbl->Undocked(This,undockReason); 33975 } 33976 #endif 33977 #endif 33978 33979 #endif 33980 33981 33982 #endif /* __IAccessibilityDockingServiceCallback_INTERFACE_DEFINED__ */ 33983 33984 33985 /***************************************************************************** 33986 * IAccessibilityDockingService interface 33987 */ 33988 #ifndef __IAccessibilityDockingService_INTERFACE_DEFINED__ 33989 #define __IAccessibilityDockingService_INTERFACE_DEFINED__ 33990 33991 DEFINE_GUID(IID_IAccessibilityDockingService, 0x8849dc22, 0xcedf, 0x4c95, 0x99,0x8d, 0x05,0x14,0x19,0xdd,0x3f,0x76); 33992 #if defined(__cplusplus) && !defined(CINTERFACE) 33993 MIDL_INTERFACE("8849dc22-cedf-4c95-998d-051419dd3f76") 33994 IAccessibilityDockingService : public IUnknown 33995 { 33996 virtual HRESULT STDMETHODCALLTYPE GetAvailableSize( 33997 HMONITOR hMonitor, 33998 UINT *pcxFixed, 33999 UINT *pcyMax) = 0; 34000 34001 virtual HRESULT STDMETHODCALLTYPE DockWindow( 34002 HWND hwnd, 34003 HMONITOR hMonitor, 34004 UINT cyRequested, 34005 IAccessibilityDockingServiceCallback *pCallback) = 0; 34006 34007 virtual HRESULT STDMETHODCALLTYPE UndockWindow( 34008 HWND hwnd) = 0; 34009 34010 }; 34011 #ifdef __CRT_UUID_DECL 34012 __CRT_UUID_DECL(IAccessibilityDockingService, 0x8849dc22, 0xcedf, 0x4c95, 0x99,0x8d, 0x05,0x14,0x19,0xdd,0x3f,0x76) 34013 #endif 34014 #else 34015 typedef struct IAccessibilityDockingServiceVtbl { 34016 BEGIN_INTERFACE 34017 34018 /*** IUnknown methods ***/ 34019 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 34020 IAccessibilityDockingService *This, 34021 REFIID riid, 34022 void **ppvObject); 34023 34024 ULONG (STDMETHODCALLTYPE *AddRef)( 34025 IAccessibilityDockingService *This); 34026 34027 ULONG (STDMETHODCALLTYPE *Release)( 34028 IAccessibilityDockingService *This); 34029 34030 /*** IAccessibilityDockingService methods ***/ 34031 HRESULT (STDMETHODCALLTYPE *GetAvailableSize)( 34032 IAccessibilityDockingService *This, 34033 HMONITOR hMonitor, 34034 UINT *pcxFixed, 34035 UINT *pcyMax); 34036 34037 HRESULT (STDMETHODCALLTYPE *DockWindow)( 34038 IAccessibilityDockingService *This, 34039 HWND hwnd, 34040 HMONITOR hMonitor, 34041 UINT cyRequested, 34042 IAccessibilityDockingServiceCallback *pCallback); 34043 34044 HRESULT (STDMETHODCALLTYPE *UndockWindow)( 34045 IAccessibilityDockingService *This, 34046 HWND hwnd); 34047 34048 END_INTERFACE 34049 } IAccessibilityDockingServiceVtbl; 34050 34051 interface IAccessibilityDockingService { 34052 CONST_VTBL IAccessibilityDockingServiceVtbl* lpVtbl; 34053 }; 34054 34055 #ifdef COBJMACROS 34056 #ifndef WIDL_C_INLINE_WRAPPERS 34057 /*** IUnknown methods ***/ 34058 #define IAccessibilityDockingService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 34059 #define IAccessibilityDockingService_AddRef(This) (This)->lpVtbl->AddRef(This) 34060 #define IAccessibilityDockingService_Release(This) (This)->lpVtbl->Release(This) 34061 /*** IAccessibilityDockingService methods ***/ 34062 #define IAccessibilityDockingService_GetAvailableSize(This,hMonitor,pcxFixed,pcyMax) (This)->lpVtbl->GetAvailableSize(This,hMonitor,pcxFixed,pcyMax) 34063 #define IAccessibilityDockingService_DockWindow(This,hwnd,hMonitor,cyRequested,pCallback) (This)->lpVtbl->DockWindow(This,hwnd,hMonitor,cyRequested,pCallback) 34064 #define IAccessibilityDockingService_UndockWindow(This,hwnd) (This)->lpVtbl->UndockWindow(This,hwnd) 34065 #else 34066 /*** IUnknown methods ***/ 34067 static inline HRESULT IAccessibilityDockingService_QueryInterface(IAccessibilityDockingService* This,REFIID riid,void **ppvObject) { 34068 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 34069 } 34070 static inline ULONG IAccessibilityDockingService_AddRef(IAccessibilityDockingService* This) { 34071 return This->lpVtbl->AddRef(This); 34072 } 34073 static inline ULONG IAccessibilityDockingService_Release(IAccessibilityDockingService* This) { 34074 return This->lpVtbl->Release(This); 34075 } 34076 /*** IAccessibilityDockingService methods ***/ 34077 static inline HRESULT IAccessibilityDockingService_GetAvailableSize(IAccessibilityDockingService* This,HMONITOR hMonitor,UINT *pcxFixed,UINT *pcyMax) { 34078 return This->lpVtbl->GetAvailableSize(This,hMonitor,pcxFixed,pcyMax); 34079 } 34080 static inline HRESULT IAccessibilityDockingService_DockWindow(IAccessibilityDockingService* This,HWND hwnd,HMONITOR hMonitor,UINT cyRequested,IAccessibilityDockingServiceCallback *pCallback) { 34081 return This->lpVtbl->DockWindow(This,hwnd,hMonitor,cyRequested,pCallback); 34082 } 34083 static inline HRESULT IAccessibilityDockingService_UndockWindow(IAccessibilityDockingService* This,HWND hwnd) { 34084 return This->lpVtbl->UndockWindow(This,hwnd); 34085 } 34086 #endif 34087 #endif 34088 34089 #endif 34090 34091 34092 #endif /* __IAccessibilityDockingService_INTERFACE_DEFINED__ */ 34093 34094 34095 typedef enum MONITOR_APP_VISIBILITY { 34096 MAV_UNKNOWN = 0, 34097 MAV_NO_APP_VISIBLE = 1, 34098 MAV_APP_VISIBLE = 2 34099 } MONITOR_APP_VISIBILITY; 34100 34101 /***************************************************************************** 34102 * IAppVisibilityEvents interface 34103 */ 34104 #ifndef __IAppVisibilityEvents_INTERFACE_DEFINED__ 34105 #define __IAppVisibilityEvents_INTERFACE_DEFINED__ 34106 34107 DEFINE_GUID(IID_IAppVisibilityEvents, 0x6584ce6b, 0x7d82, 0x49c2, 0x89,0xc9, 0xc6,0xbc,0x02,0xba,0x8c,0x38); 34108 #if defined(__cplusplus) && !defined(CINTERFACE) 34109 MIDL_INTERFACE("6584ce6b-7d82-49c2-89c9-c6bc02ba8c38") 34110 IAppVisibilityEvents : public IUnknown 34111 { 34112 virtual HRESULT STDMETHODCALLTYPE AppVisibilityOnMonitorChanged( 34113 HMONITOR hMonitor, 34114 MONITOR_APP_VISIBILITY previousMode, 34115 MONITOR_APP_VISIBILITY currentMode) = 0; 34116 34117 virtual HRESULT STDMETHODCALLTYPE LauncherVisibilityChange( 34118 WINBOOL currentVisibleState) = 0; 34119 34120 }; 34121 #ifdef __CRT_UUID_DECL 34122 __CRT_UUID_DECL(IAppVisibilityEvents, 0x6584ce6b, 0x7d82, 0x49c2, 0x89,0xc9, 0xc6,0xbc,0x02,0xba,0x8c,0x38) 34123 #endif 34124 #else 34125 typedef struct IAppVisibilityEventsVtbl { 34126 BEGIN_INTERFACE 34127 34128 /*** IUnknown methods ***/ 34129 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 34130 IAppVisibilityEvents *This, 34131 REFIID riid, 34132 void **ppvObject); 34133 34134 ULONG (STDMETHODCALLTYPE *AddRef)( 34135 IAppVisibilityEvents *This); 34136 34137 ULONG (STDMETHODCALLTYPE *Release)( 34138 IAppVisibilityEvents *This); 34139 34140 /*** IAppVisibilityEvents methods ***/ 34141 HRESULT (STDMETHODCALLTYPE *AppVisibilityOnMonitorChanged)( 34142 IAppVisibilityEvents *This, 34143 HMONITOR hMonitor, 34144 MONITOR_APP_VISIBILITY previousMode, 34145 MONITOR_APP_VISIBILITY currentMode); 34146 34147 HRESULT (STDMETHODCALLTYPE *LauncherVisibilityChange)( 34148 IAppVisibilityEvents *This, 34149 WINBOOL currentVisibleState); 34150 34151 END_INTERFACE 34152 } IAppVisibilityEventsVtbl; 34153 34154 interface IAppVisibilityEvents { 34155 CONST_VTBL IAppVisibilityEventsVtbl* lpVtbl; 34156 }; 34157 34158 #ifdef COBJMACROS 34159 #ifndef WIDL_C_INLINE_WRAPPERS 34160 /*** IUnknown methods ***/ 34161 #define IAppVisibilityEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 34162 #define IAppVisibilityEvents_AddRef(This) (This)->lpVtbl->AddRef(This) 34163 #define IAppVisibilityEvents_Release(This) (This)->lpVtbl->Release(This) 34164 /*** IAppVisibilityEvents methods ***/ 34165 #define IAppVisibilityEvents_AppVisibilityOnMonitorChanged(This,hMonitor,previousMode,currentMode) (This)->lpVtbl->AppVisibilityOnMonitorChanged(This,hMonitor,previousMode,currentMode) 34166 #define IAppVisibilityEvents_LauncherVisibilityChange(This,currentVisibleState) (This)->lpVtbl->LauncherVisibilityChange(This,currentVisibleState) 34167 #else 34168 /*** IUnknown methods ***/ 34169 static inline HRESULT IAppVisibilityEvents_QueryInterface(IAppVisibilityEvents* This,REFIID riid,void **ppvObject) { 34170 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 34171 } 34172 static inline ULONG IAppVisibilityEvents_AddRef(IAppVisibilityEvents* This) { 34173 return This->lpVtbl->AddRef(This); 34174 } 34175 static inline ULONG IAppVisibilityEvents_Release(IAppVisibilityEvents* This) { 34176 return This->lpVtbl->Release(This); 34177 } 34178 /*** IAppVisibilityEvents methods ***/ 34179 static inline HRESULT IAppVisibilityEvents_AppVisibilityOnMonitorChanged(IAppVisibilityEvents* This,HMONITOR hMonitor,MONITOR_APP_VISIBILITY previousMode,MONITOR_APP_VISIBILITY currentMode) { 34180 return This->lpVtbl->AppVisibilityOnMonitorChanged(This,hMonitor,previousMode,currentMode); 34181 } 34182 static inline HRESULT IAppVisibilityEvents_LauncherVisibilityChange(IAppVisibilityEvents* This,WINBOOL currentVisibleState) { 34183 return This->lpVtbl->LauncherVisibilityChange(This,currentVisibleState); 34184 } 34185 #endif 34186 #endif 34187 34188 #endif 34189 34190 34191 #endif /* __IAppVisibilityEvents_INTERFACE_DEFINED__ */ 34192 34193 34194 /***************************************************************************** 34195 * IAppVisibility interface 34196 */ 34197 #ifndef __IAppVisibility_INTERFACE_DEFINED__ 34198 #define __IAppVisibility_INTERFACE_DEFINED__ 34199 34200 DEFINE_GUID(IID_IAppVisibility, 0x2246ea2d, 0xcaea, 0x4444, 0xa3,0xc4, 0x6d,0xe8,0x27,0xe4,0x43,0x13); 34201 #if defined(__cplusplus) && !defined(CINTERFACE) 34202 MIDL_INTERFACE("2246ea2d-caea-4444-a3c4-6de827e44313") 34203 IAppVisibility : public IUnknown 34204 { 34205 virtual HRESULT STDMETHODCALLTYPE GetAppVisibilityOnMonitor( 34206 HMONITOR hMonitor, 34207 MONITOR_APP_VISIBILITY *pMode) = 0; 34208 34209 virtual HRESULT STDMETHODCALLTYPE IsLauncherVisible( 34210 WINBOOL *pfVisible) = 0; 34211 34212 virtual HRESULT STDMETHODCALLTYPE Advise( 34213 IAppVisibilityEvents *pCallback, 34214 DWORD *pdwCookie) = 0; 34215 34216 virtual HRESULT STDMETHODCALLTYPE Unadvise( 34217 DWORD dwCookie) = 0; 34218 34219 }; 34220 #ifdef __CRT_UUID_DECL 34221 __CRT_UUID_DECL(IAppVisibility, 0x2246ea2d, 0xcaea, 0x4444, 0xa3,0xc4, 0x6d,0xe8,0x27,0xe4,0x43,0x13) 34222 #endif 34223 #else 34224 typedef struct IAppVisibilityVtbl { 34225 BEGIN_INTERFACE 34226 34227 /*** IUnknown methods ***/ 34228 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 34229 IAppVisibility *This, 34230 REFIID riid, 34231 void **ppvObject); 34232 34233 ULONG (STDMETHODCALLTYPE *AddRef)( 34234 IAppVisibility *This); 34235 34236 ULONG (STDMETHODCALLTYPE *Release)( 34237 IAppVisibility *This); 34238 34239 /*** IAppVisibility methods ***/ 34240 HRESULT (STDMETHODCALLTYPE *GetAppVisibilityOnMonitor)( 34241 IAppVisibility *This, 34242 HMONITOR hMonitor, 34243 MONITOR_APP_VISIBILITY *pMode); 34244 34245 HRESULT (STDMETHODCALLTYPE *IsLauncherVisible)( 34246 IAppVisibility *This, 34247 WINBOOL *pfVisible); 34248 34249 HRESULT (STDMETHODCALLTYPE *Advise)( 34250 IAppVisibility *This, 34251 IAppVisibilityEvents *pCallback, 34252 DWORD *pdwCookie); 34253 34254 HRESULT (STDMETHODCALLTYPE *Unadvise)( 34255 IAppVisibility *This, 34256 DWORD dwCookie); 34257 34258 END_INTERFACE 34259 } IAppVisibilityVtbl; 34260 34261 interface IAppVisibility { 34262 CONST_VTBL IAppVisibilityVtbl* lpVtbl; 34263 }; 34264 34265 #ifdef COBJMACROS 34266 #ifndef WIDL_C_INLINE_WRAPPERS 34267 /*** IUnknown methods ***/ 34268 #define IAppVisibility_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 34269 #define IAppVisibility_AddRef(This) (This)->lpVtbl->AddRef(This) 34270 #define IAppVisibility_Release(This) (This)->lpVtbl->Release(This) 34271 /*** IAppVisibility methods ***/ 34272 #define IAppVisibility_GetAppVisibilityOnMonitor(This,hMonitor,pMode) (This)->lpVtbl->GetAppVisibilityOnMonitor(This,hMonitor,pMode) 34273 #define IAppVisibility_IsLauncherVisible(This,pfVisible) (This)->lpVtbl->IsLauncherVisible(This,pfVisible) 34274 #define IAppVisibility_Advise(This,pCallback,pdwCookie) (This)->lpVtbl->Advise(This,pCallback,pdwCookie) 34275 #define IAppVisibility_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie) 34276 #else 34277 /*** IUnknown methods ***/ 34278 static inline HRESULT IAppVisibility_QueryInterface(IAppVisibility* This,REFIID riid,void **ppvObject) { 34279 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 34280 } 34281 static inline ULONG IAppVisibility_AddRef(IAppVisibility* This) { 34282 return This->lpVtbl->AddRef(This); 34283 } 34284 static inline ULONG IAppVisibility_Release(IAppVisibility* This) { 34285 return This->lpVtbl->Release(This); 34286 } 34287 /*** IAppVisibility methods ***/ 34288 static inline HRESULT IAppVisibility_GetAppVisibilityOnMonitor(IAppVisibility* This,HMONITOR hMonitor,MONITOR_APP_VISIBILITY *pMode) { 34289 return This->lpVtbl->GetAppVisibilityOnMonitor(This,hMonitor,pMode); 34290 } 34291 static inline HRESULT IAppVisibility_IsLauncherVisible(IAppVisibility* This,WINBOOL *pfVisible) { 34292 return This->lpVtbl->IsLauncherVisible(This,pfVisible); 34293 } 34294 static inline HRESULT IAppVisibility_Advise(IAppVisibility* This,IAppVisibilityEvents *pCallback,DWORD *pdwCookie) { 34295 return This->lpVtbl->Advise(This,pCallback,pdwCookie); 34296 } 34297 static inline HRESULT IAppVisibility_Unadvise(IAppVisibility* This,DWORD dwCookie) { 34298 return This->lpVtbl->Unadvise(This,dwCookie); 34299 } 34300 #endif 34301 #endif 34302 34303 #endif 34304 34305 34306 #endif /* __IAppVisibility_INTERFACE_DEFINED__ */ 34307 34308 34309 #if 0 34310 typedef WCHAR *PZZWSTR; 34311 #endif 34312 34313 typedef enum PACKAGE_EXECUTION_STATE { 34314 PES_UNKNOWN = 0, 34315 PES_RUNNING = 1, 34316 PES_SUSPENDING = 2, 34317 PES_SUSPENDED = 3, 34318 PES_TERMINATED = 4 34319 } PACKAGE_EXECUTION_STATE; 34320 34321 /***************************************************************************** 34322 * IPackageExecutionStateChangeNotification interface 34323 */ 34324 #ifndef __IPackageExecutionStateChangeNotification_INTERFACE_DEFINED__ 34325 #define __IPackageExecutionStateChangeNotification_INTERFACE_DEFINED__ 34326 34327 DEFINE_GUID(IID_IPackageExecutionStateChangeNotification, 0x1bb12a62, 0x2ad8, 0x432b, 0x8c,0xcf, 0x0c,0x2c,0x52,0xaf,0xcd,0x5b); 34328 #if defined(__cplusplus) && !defined(CINTERFACE) 34329 MIDL_INTERFACE("1bb12a62-2ad8-432b-8ccf-0c2c52afcd5b") 34330 IPackageExecutionStateChangeNotification : public IUnknown 34331 { 34332 virtual HRESULT STDMETHODCALLTYPE OnStateChanged( 34333 LPCWSTR pszPackageFullName, 34334 PACKAGE_EXECUTION_STATE pesNewState) = 0; 34335 34336 }; 34337 #ifdef __CRT_UUID_DECL 34338 __CRT_UUID_DECL(IPackageExecutionStateChangeNotification, 0x1bb12a62, 0x2ad8, 0x432b, 0x8c,0xcf, 0x0c,0x2c,0x52,0xaf,0xcd,0x5b) 34339 #endif 34340 #else 34341 typedef struct IPackageExecutionStateChangeNotificationVtbl { 34342 BEGIN_INTERFACE 34343 34344 /*** IUnknown methods ***/ 34345 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 34346 IPackageExecutionStateChangeNotification *This, 34347 REFIID riid, 34348 void **ppvObject); 34349 34350 ULONG (STDMETHODCALLTYPE *AddRef)( 34351 IPackageExecutionStateChangeNotification *This); 34352 34353 ULONG (STDMETHODCALLTYPE *Release)( 34354 IPackageExecutionStateChangeNotification *This); 34355 34356 /*** IPackageExecutionStateChangeNotification methods ***/ 34357 HRESULT (STDMETHODCALLTYPE *OnStateChanged)( 34358 IPackageExecutionStateChangeNotification *This, 34359 LPCWSTR pszPackageFullName, 34360 PACKAGE_EXECUTION_STATE pesNewState); 34361 34362 END_INTERFACE 34363 } IPackageExecutionStateChangeNotificationVtbl; 34364 34365 interface IPackageExecutionStateChangeNotification { 34366 CONST_VTBL IPackageExecutionStateChangeNotificationVtbl* lpVtbl; 34367 }; 34368 34369 #ifdef COBJMACROS 34370 #ifndef WIDL_C_INLINE_WRAPPERS 34371 /*** IUnknown methods ***/ 34372 #define IPackageExecutionStateChangeNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 34373 #define IPackageExecutionStateChangeNotification_AddRef(This) (This)->lpVtbl->AddRef(This) 34374 #define IPackageExecutionStateChangeNotification_Release(This) (This)->lpVtbl->Release(This) 34375 /*** IPackageExecutionStateChangeNotification methods ***/ 34376 #define IPackageExecutionStateChangeNotification_OnStateChanged(This,pszPackageFullName,pesNewState) (This)->lpVtbl->OnStateChanged(This,pszPackageFullName,pesNewState) 34377 #else 34378 /*** IUnknown methods ***/ 34379 static inline HRESULT IPackageExecutionStateChangeNotification_QueryInterface(IPackageExecutionStateChangeNotification* This,REFIID riid,void **ppvObject) { 34380 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 34381 } 34382 static inline ULONG IPackageExecutionStateChangeNotification_AddRef(IPackageExecutionStateChangeNotification* This) { 34383 return This->lpVtbl->AddRef(This); 34384 } 34385 static inline ULONG IPackageExecutionStateChangeNotification_Release(IPackageExecutionStateChangeNotification* This) { 34386 return This->lpVtbl->Release(This); 34387 } 34388 /*** IPackageExecutionStateChangeNotification methods ***/ 34389 static inline HRESULT IPackageExecutionStateChangeNotification_OnStateChanged(IPackageExecutionStateChangeNotification* This,LPCWSTR pszPackageFullName,PACKAGE_EXECUTION_STATE pesNewState) { 34390 return This->lpVtbl->OnStateChanged(This,pszPackageFullName,pesNewState); 34391 } 34392 #endif 34393 #endif 34394 34395 #endif 34396 34397 34398 #endif /* __IPackageExecutionStateChangeNotification_INTERFACE_DEFINED__ */ 34399 34400 34401 /***************************************************************************** 34402 * IPackageDebugSettings interface 34403 */ 34404 #ifndef __IPackageDebugSettings_INTERFACE_DEFINED__ 34405 #define __IPackageDebugSettings_INTERFACE_DEFINED__ 34406 34407 DEFINE_GUID(IID_IPackageDebugSettings, 0xf27c3930, 0x8029, 0x4ad1, 0x94,0xe3, 0x3d,0xba,0x41,0x78,0x10,0xc1); 34408 #if defined(__cplusplus) && !defined(CINTERFACE) 34409 MIDL_INTERFACE("f27c3930-8029-4ad1-94e3-3dba417810c1") 34410 IPackageDebugSettings : public IUnknown 34411 { 34412 virtual HRESULT STDMETHODCALLTYPE EnableDebugging( 34413 LPCWSTR packageFullName, 34414 LPCWSTR debuggerCommandLine, 34415 PZZWSTR environment) = 0; 34416 34417 virtual HRESULT STDMETHODCALLTYPE DisableDebugging( 34418 LPCWSTR packageFullName) = 0; 34419 34420 virtual HRESULT STDMETHODCALLTYPE Suspend( 34421 LPCWSTR packageFullName) = 0; 34422 34423 virtual HRESULT STDMETHODCALLTYPE Resume( 34424 LPCWSTR packageFullName) = 0; 34425 34426 virtual HRESULT STDMETHODCALLTYPE TerminateAllProcesses( 34427 LPCWSTR packageFullName) = 0; 34428 34429 virtual HRESULT STDMETHODCALLTYPE SetTargetSessionId( 34430 ULONG sessionId) = 0; 34431 34432 virtual HRESULT STDMETHODCALLTYPE EnumerateBackgroundTasks( 34433 LPCWSTR packageFullName, 34434 ULONG *taskCount, 34435 LPCGUID *taskIds, 34436 LPCWSTR **taskNames) = 0; 34437 34438 virtual HRESULT STDMETHODCALLTYPE ActivateBackgroundTask( 34439 LPCGUID taskId) = 0; 34440 34441 virtual HRESULT STDMETHODCALLTYPE StartServicing( 34442 LPCWSTR packageFullName) = 0; 34443 34444 virtual HRESULT STDMETHODCALLTYPE StopServicing( 34445 LPCWSTR packageFullName) = 0; 34446 34447 virtual HRESULT STDMETHODCALLTYPE StartSessionRedirection( 34448 LPCWSTR packageFullName, 34449 ULONG sessionId) = 0; 34450 34451 virtual HRESULT STDMETHODCALLTYPE StopSessionRedirection( 34452 LPCWSTR packageFullName) = 0; 34453 34454 virtual HRESULT STDMETHODCALLTYPE GetPackageExecutionState( 34455 LPCWSTR packageFullName, 34456 PACKAGE_EXECUTION_STATE *packageExecutionState) = 0; 34457 34458 virtual HRESULT STDMETHODCALLTYPE RegisterForPackageStateChanges( 34459 LPCWSTR packageFullName, 34460 IPackageExecutionStateChangeNotification *pPackageExecutionStateChangeNotification, 34461 DWORD *pdwCookie) = 0; 34462 34463 virtual HRESULT STDMETHODCALLTYPE UnregisterForPackageStateChanges( 34464 DWORD dwCookie) = 0; 34465 34466 }; 34467 #ifdef __CRT_UUID_DECL 34468 __CRT_UUID_DECL(IPackageDebugSettings, 0xf27c3930, 0x8029, 0x4ad1, 0x94,0xe3, 0x3d,0xba,0x41,0x78,0x10,0xc1) 34469 #endif 34470 #else 34471 typedef struct IPackageDebugSettingsVtbl { 34472 BEGIN_INTERFACE 34473 34474 /*** IUnknown methods ***/ 34475 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 34476 IPackageDebugSettings *This, 34477 REFIID riid, 34478 void **ppvObject); 34479 34480 ULONG (STDMETHODCALLTYPE *AddRef)( 34481 IPackageDebugSettings *This); 34482 34483 ULONG (STDMETHODCALLTYPE *Release)( 34484 IPackageDebugSettings *This); 34485 34486 /*** IPackageDebugSettings methods ***/ 34487 HRESULT (STDMETHODCALLTYPE *EnableDebugging)( 34488 IPackageDebugSettings *This, 34489 LPCWSTR packageFullName, 34490 LPCWSTR debuggerCommandLine, 34491 PZZWSTR environment); 34492 34493 HRESULT (STDMETHODCALLTYPE *DisableDebugging)( 34494 IPackageDebugSettings *This, 34495 LPCWSTR packageFullName); 34496 34497 HRESULT (STDMETHODCALLTYPE *Suspend)( 34498 IPackageDebugSettings *This, 34499 LPCWSTR packageFullName); 34500 34501 HRESULT (STDMETHODCALLTYPE *Resume)( 34502 IPackageDebugSettings *This, 34503 LPCWSTR packageFullName); 34504 34505 HRESULT (STDMETHODCALLTYPE *TerminateAllProcesses)( 34506 IPackageDebugSettings *This, 34507 LPCWSTR packageFullName); 34508 34509 HRESULT (STDMETHODCALLTYPE *SetTargetSessionId)( 34510 IPackageDebugSettings *This, 34511 ULONG sessionId); 34512 34513 HRESULT (STDMETHODCALLTYPE *EnumerateBackgroundTasks)( 34514 IPackageDebugSettings *This, 34515 LPCWSTR packageFullName, 34516 ULONG *taskCount, 34517 LPCGUID *taskIds, 34518 LPCWSTR **taskNames); 34519 34520 HRESULT (STDMETHODCALLTYPE *ActivateBackgroundTask)( 34521 IPackageDebugSettings *This, 34522 LPCGUID taskId); 34523 34524 HRESULT (STDMETHODCALLTYPE *StartServicing)( 34525 IPackageDebugSettings *This, 34526 LPCWSTR packageFullName); 34527 34528 HRESULT (STDMETHODCALLTYPE *StopServicing)( 34529 IPackageDebugSettings *This, 34530 LPCWSTR packageFullName); 34531 34532 HRESULT (STDMETHODCALLTYPE *StartSessionRedirection)( 34533 IPackageDebugSettings *This, 34534 LPCWSTR packageFullName, 34535 ULONG sessionId); 34536 34537 HRESULT (STDMETHODCALLTYPE *StopSessionRedirection)( 34538 IPackageDebugSettings *This, 34539 LPCWSTR packageFullName); 34540 34541 HRESULT (STDMETHODCALLTYPE *GetPackageExecutionState)( 34542 IPackageDebugSettings *This, 34543 LPCWSTR packageFullName, 34544 PACKAGE_EXECUTION_STATE *packageExecutionState); 34545 34546 HRESULT (STDMETHODCALLTYPE *RegisterForPackageStateChanges)( 34547 IPackageDebugSettings *This, 34548 LPCWSTR packageFullName, 34549 IPackageExecutionStateChangeNotification *pPackageExecutionStateChangeNotification, 34550 DWORD *pdwCookie); 34551 34552 HRESULT (STDMETHODCALLTYPE *UnregisterForPackageStateChanges)( 34553 IPackageDebugSettings *This, 34554 DWORD dwCookie); 34555 34556 END_INTERFACE 34557 } IPackageDebugSettingsVtbl; 34558 34559 interface IPackageDebugSettings { 34560 CONST_VTBL IPackageDebugSettingsVtbl* lpVtbl; 34561 }; 34562 34563 #ifdef COBJMACROS 34564 #ifndef WIDL_C_INLINE_WRAPPERS 34565 /*** IUnknown methods ***/ 34566 #define IPackageDebugSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 34567 #define IPackageDebugSettings_AddRef(This) (This)->lpVtbl->AddRef(This) 34568 #define IPackageDebugSettings_Release(This) (This)->lpVtbl->Release(This) 34569 /*** IPackageDebugSettings methods ***/ 34570 #define IPackageDebugSettings_EnableDebugging(This,packageFullName,debuggerCommandLine,environment) (This)->lpVtbl->EnableDebugging(This,packageFullName,debuggerCommandLine,environment) 34571 #define IPackageDebugSettings_DisableDebugging(This,packageFullName) (This)->lpVtbl->DisableDebugging(This,packageFullName) 34572 #define IPackageDebugSettings_Suspend(This,packageFullName) (This)->lpVtbl->Suspend(This,packageFullName) 34573 #define IPackageDebugSettings_Resume(This,packageFullName) (This)->lpVtbl->Resume(This,packageFullName) 34574 #define IPackageDebugSettings_TerminateAllProcesses(This,packageFullName) (This)->lpVtbl->TerminateAllProcesses(This,packageFullName) 34575 #define IPackageDebugSettings_SetTargetSessionId(This,sessionId) (This)->lpVtbl->SetTargetSessionId(This,sessionId) 34576 #define IPackageDebugSettings_EnumerateBackgroundTasks(This,packageFullName,taskCount,taskIds,taskNames) (This)->lpVtbl->EnumerateBackgroundTasks(This,packageFullName,taskCount,taskIds,taskNames) 34577 #define IPackageDebugSettings_ActivateBackgroundTask(This,taskId) (This)->lpVtbl->ActivateBackgroundTask(This,taskId) 34578 #define IPackageDebugSettings_StartServicing(This,packageFullName) (This)->lpVtbl->StartServicing(This,packageFullName) 34579 #define IPackageDebugSettings_StopServicing(This,packageFullName) (This)->lpVtbl->StopServicing(This,packageFullName) 34580 #define IPackageDebugSettings_StartSessionRedirection(This,packageFullName,sessionId) (This)->lpVtbl->StartSessionRedirection(This,packageFullName,sessionId) 34581 #define IPackageDebugSettings_StopSessionRedirection(This,packageFullName) (This)->lpVtbl->StopSessionRedirection(This,packageFullName) 34582 #define IPackageDebugSettings_GetPackageExecutionState(This,packageFullName,packageExecutionState) (This)->lpVtbl->GetPackageExecutionState(This,packageFullName,packageExecutionState) 34583 #define IPackageDebugSettings_RegisterForPackageStateChanges(This,packageFullName,pPackageExecutionStateChangeNotification,pdwCookie) (This)->lpVtbl->RegisterForPackageStateChanges(This,packageFullName,pPackageExecutionStateChangeNotification,pdwCookie) 34584 #define IPackageDebugSettings_UnregisterForPackageStateChanges(This,dwCookie) (This)->lpVtbl->UnregisterForPackageStateChanges(This,dwCookie) 34585 #else 34586 /*** IUnknown methods ***/ 34587 static inline HRESULT IPackageDebugSettings_QueryInterface(IPackageDebugSettings* This,REFIID riid,void **ppvObject) { 34588 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 34589 } 34590 static inline ULONG IPackageDebugSettings_AddRef(IPackageDebugSettings* This) { 34591 return This->lpVtbl->AddRef(This); 34592 } 34593 static inline ULONG IPackageDebugSettings_Release(IPackageDebugSettings* This) { 34594 return This->lpVtbl->Release(This); 34595 } 34596 /*** IPackageDebugSettings methods ***/ 34597 static inline HRESULT IPackageDebugSettings_EnableDebugging(IPackageDebugSettings* This,LPCWSTR packageFullName,LPCWSTR debuggerCommandLine,PZZWSTR environment) { 34598 return This->lpVtbl->EnableDebugging(This,packageFullName,debuggerCommandLine,environment); 34599 } 34600 static inline HRESULT IPackageDebugSettings_DisableDebugging(IPackageDebugSettings* This,LPCWSTR packageFullName) { 34601 return This->lpVtbl->DisableDebugging(This,packageFullName); 34602 } 34603 static inline HRESULT IPackageDebugSettings_Suspend(IPackageDebugSettings* This,LPCWSTR packageFullName) { 34604 return This->lpVtbl->Suspend(This,packageFullName); 34605 } 34606 static inline HRESULT IPackageDebugSettings_Resume(IPackageDebugSettings* This,LPCWSTR packageFullName) { 34607 return This->lpVtbl->Resume(This,packageFullName); 34608 } 34609 static inline HRESULT IPackageDebugSettings_TerminateAllProcesses(IPackageDebugSettings* This,LPCWSTR packageFullName) { 34610 return This->lpVtbl->TerminateAllProcesses(This,packageFullName); 34611 } 34612 static inline HRESULT IPackageDebugSettings_SetTargetSessionId(IPackageDebugSettings* This,ULONG sessionId) { 34613 return This->lpVtbl->SetTargetSessionId(This,sessionId); 34614 } 34615 static inline HRESULT IPackageDebugSettings_EnumerateBackgroundTasks(IPackageDebugSettings* This,LPCWSTR packageFullName,ULONG *taskCount,LPCGUID *taskIds,LPCWSTR **taskNames) { 34616 return This->lpVtbl->EnumerateBackgroundTasks(This,packageFullName,taskCount,taskIds,taskNames); 34617 } 34618 static inline HRESULT IPackageDebugSettings_ActivateBackgroundTask(IPackageDebugSettings* This,LPCGUID taskId) { 34619 return This->lpVtbl->ActivateBackgroundTask(This,taskId); 34620 } 34621 static inline HRESULT IPackageDebugSettings_StartServicing(IPackageDebugSettings* This,LPCWSTR packageFullName) { 34622 return This->lpVtbl->StartServicing(This,packageFullName); 34623 } 34624 static inline HRESULT IPackageDebugSettings_StopServicing(IPackageDebugSettings* This,LPCWSTR packageFullName) { 34625 return This->lpVtbl->StopServicing(This,packageFullName); 34626 } 34627 static inline HRESULT IPackageDebugSettings_StartSessionRedirection(IPackageDebugSettings* This,LPCWSTR packageFullName,ULONG sessionId) { 34628 return This->lpVtbl->StartSessionRedirection(This,packageFullName,sessionId); 34629 } 34630 static inline HRESULT IPackageDebugSettings_StopSessionRedirection(IPackageDebugSettings* This,LPCWSTR packageFullName) { 34631 return This->lpVtbl->StopSessionRedirection(This,packageFullName); 34632 } 34633 static inline HRESULT IPackageDebugSettings_GetPackageExecutionState(IPackageDebugSettings* This,LPCWSTR packageFullName,PACKAGE_EXECUTION_STATE *packageExecutionState) { 34634 return This->lpVtbl->GetPackageExecutionState(This,packageFullName,packageExecutionState); 34635 } 34636 static inline HRESULT IPackageDebugSettings_RegisterForPackageStateChanges(IPackageDebugSettings* This,LPCWSTR packageFullName,IPackageExecutionStateChangeNotification *pPackageExecutionStateChangeNotification,DWORD *pdwCookie) { 34637 return This->lpVtbl->RegisterForPackageStateChanges(This,packageFullName,pPackageExecutionStateChangeNotification,pdwCookie); 34638 } 34639 static inline HRESULT IPackageDebugSettings_UnregisterForPackageStateChanges(IPackageDebugSettings* This,DWORD dwCookie) { 34640 return This->lpVtbl->UnregisterForPackageStateChanges(This,dwCookie); 34641 } 34642 #endif 34643 #endif 34644 34645 #endif 34646 34647 34648 #endif /* __IPackageDebugSettings_INTERFACE_DEFINED__ */ 34649 34650 34651 typedef enum AHE_TYPE { 34652 AHE_DESKTOP = 0, 34653 AHE_IMMERSIVE = 1 34654 } AHE_TYPE; 34655 34656 /***************************************************************************** 34657 * IExecuteCommandApplicationHostEnvironment interface 34658 */ 34659 #ifndef __IExecuteCommandApplicationHostEnvironment_INTERFACE_DEFINED__ 34660 #define __IExecuteCommandApplicationHostEnvironment_INTERFACE_DEFINED__ 34661 34662 DEFINE_GUID(IID_IExecuteCommandApplicationHostEnvironment, 0x18b21aa9, 0xe184, 0x4ff0, 0x9f,0x5e, 0xf8,0x82,0xd0,0x37,0x71,0xb3); 34663 #if defined(__cplusplus) && !defined(CINTERFACE) 34664 MIDL_INTERFACE("18b21aa9-e184-4ff0-9f5e-f882d03771b3") 34665 IExecuteCommandApplicationHostEnvironment : public IUnknown 34666 { 34667 virtual HRESULT STDMETHODCALLTYPE GetValue( 34668 AHE_TYPE *pahe) = 0; 34669 34670 }; 34671 #ifdef __CRT_UUID_DECL 34672 __CRT_UUID_DECL(IExecuteCommandApplicationHostEnvironment, 0x18b21aa9, 0xe184, 0x4ff0, 0x9f,0x5e, 0xf8,0x82,0xd0,0x37,0x71,0xb3) 34673 #endif 34674 #else 34675 typedef struct IExecuteCommandApplicationHostEnvironmentVtbl { 34676 BEGIN_INTERFACE 34677 34678 /*** IUnknown methods ***/ 34679 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 34680 IExecuteCommandApplicationHostEnvironment *This, 34681 REFIID riid, 34682 void **ppvObject); 34683 34684 ULONG (STDMETHODCALLTYPE *AddRef)( 34685 IExecuteCommandApplicationHostEnvironment *This); 34686 34687 ULONG (STDMETHODCALLTYPE *Release)( 34688 IExecuteCommandApplicationHostEnvironment *This); 34689 34690 /*** IExecuteCommandApplicationHostEnvironment methods ***/ 34691 HRESULT (STDMETHODCALLTYPE *GetValue)( 34692 IExecuteCommandApplicationHostEnvironment *This, 34693 AHE_TYPE *pahe); 34694 34695 END_INTERFACE 34696 } IExecuteCommandApplicationHostEnvironmentVtbl; 34697 34698 interface IExecuteCommandApplicationHostEnvironment { 34699 CONST_VTBL IExecuteCommandApplicationHostEnvironmentVtbl* lpVtbl; 34700 }; 34701 34702 #ifdef COBJMACROS 34703 #ifndef WIDL_C_INLINE_WRAPPERS 34704 /*** IUnknown methods ***/ 34705 #define IExecuteCommandApplicationHostEnvironment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 34706 #define IExecuteCommandApplicationHostEnvironment_AddRef(This) (This)->lpVtbl->AddRef(This) 34707 #define IExecuteCommandApplicationHostEnvironment_Release(This) (This)->lpVtbl->Release(This) 34708 /*** IExecuteCommandApplicationHostEnvironment methods ***/ 34709 #define IExecuteCommandApplicationHostEnvironment_GetValue(This,pahe) (This)->lpVtbl->GetValue(This,pahe) 34710 #else 34711 /*** IUnknown methods ***/ 34712 static inline HRESULT IExecuteCommandApplicationHostEnvironment_QueryInterface(IExecuteCommandApplicationHostEnvironment* This,REFIID riid,void **ppvObject) { 34713 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 34714 } 34715 static inline ULONG IExecuteCommandApplicationHostEnvironment_AddRef(IExecuteCommandApplicationHostEnvironment* This) { 34716 return This->lpVtbl->AddRef(This); 34717 } 34718 static inline ULONG IExecuteCommandApplicationHostEnvironment_Release(IExecuteCommandApplicationHostEnvironment* This) { 34719 return This->lpVtbl->Release(This); 34720 } 34721 /*** IExecuteCommandApplicationHostEnvironment methods ***/ 34722 static inline HRESULT IExecuteCommandApplicationHostEnvironment_GetValue(IExecuteCommandApplicationHostEnvironment* This,AHE_TYPE *pahe) { 34723 return This->lpVtbl->GetValue(This,pahe); 34724 } 34725 #endif 34726 #endif 34727 34728 #endif 34729 34730 34731 #endif /* __IExecuteCommandApplicationHostEnvironment_INTERFACE_DEFINED__ */ 34732 34733 34734 typedef enum EC_HOST_UI_MODE { 34735 ECHUIM_DESKTOP = 0, 34736 ECHUIM_IMMERSIVE = 1, 34737 ECHUIM_SYSTEM_LAUNCHER = 2 34738 } EC_HOST_UI_MODE; 34739 34740 /***************************************************************************** 34741 * IExecuteCommandHost interface 34742 */ 34743 #ifndef __IExecuteCommandHost_INTERFACE_DEFINED__ 34744 #define __IExecuteCommandHost_INTERFACE_DEFINED__ 34745 34746 DEFINE_GUID(IID_IExecuteCommandHost, 0x4b6832a2, 0x5f04, 0x4c9d, 0xb8,0x9d, 0x72,0x7a,0x15,0xd1,0x03,0xe7); 34747 #if defined(__cplusplus) && !defined(CINTERFACE) 34748 MIDL_INTERFACE("4b6832a2-5f04-4c9d-b89d-727a15d103e7") 34749 IExecuteCommandHost : public IUnknown 34750 { 34751 virtual HRESULT STDMETHODCALLTYPE GetUIMode( 34752 EC_HOST_UI_MODE *pUIMode) = 0; 34753 34754 }; 34755 #ifdef __CRT_UUID_DECL 34756 __CRT_UUID_DECL(IExecuteCommandHost, 0x4b6832a2, 0x5f04, 0x4c9d, 0xb8,0x9d, 0x72,0x7a,0x15,0xd1,0x03,0xe7) 34757 #endif 34758 #else 34759 typedef struct IExecuteCommandHostVtbl { 34760 BEGIN_INTERFACE 34761 34762 /*** IUnknown methods ***/ 34763 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 34764 IExecuteCommandHost *This, 34765 REFIID riid, 34766 void **ppvObject); 34767 34768 ULONG (STDMETHODCALLTYPE *AddRef)( 34769 IExecuteCommandHost *This); 34770 34771 ULONG (STDMETHODCALLTYPE *Release)( 34772 IExecuteCommandHost *This); 34773 34774 /*** IExecuteCommandHost methods ***/ 34775 HRESULT (STDMETHODCALLTYPE *GetUIMode)( 34776 IExecuteCommandHost *This, 34777 EC_HOST_UI_MODE *pUIMode); 34778 34779 END_INTERFACE 34780 } IExecuteCommandHostVtbl; 34781 34782 interface IExecuteCommandHost { 34783 CONST_VTBL IExecuteCommandHostVtbl* lpVtbl; 34784 }; 34785 34786 #ifdef COBJMACROS 34787 #ifndef WIDL_C_INLINE_WRAPPERS 34788 /*** IUnknown methods ***/ 34789 #define IExecuteCommandHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 34790 #define IExecuteCommandHost_AddRef(This) (This)->lpVtbl->AddRef(This) 34791 #define IExecuteCommandHost_Release(This) (This)->lpVtbl->Release(This) 34792 /*** IExecuteCommandHost methods ***/ 34793 #define IExecuteCommandHost_GetUIMode(This,pUIMode) (This)->lpVtbl->GetUIMode(This,pUIMode) 34794 #else 34795 /*** IUnknown methods ***/ 34796 static inline HRESULT IExecuteCommandHost_QueryInterface(IExecuteCommandHost* This,REFIID riid,void **ppvObject) { 34797 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 34798 } 34799 static inline ULONG IExecuteCommandHost_AddRef(IExecuteCommandHost* This) { 34800 return This->lpVtbl->AddRef(This); 34801 } 34802 static inline ULONG IExecuteCommandHost_Release(IExecuteCommandHost* This) { 34803 return This->lpVtbl->Release(This); 34804 } 34805 /*** IExecuteCommandHost methods ***/ 34806 static inline HRESULT IExecuteCommandHost_GetUIMode(IExecuteCommandHost* This,EC_HOST_UI_MODE *pUIMode) { 34807 return This->lpVtbl->GetUIMode(This,pUIMode); 34808 } 34809 #endif 34810 #endif 34811 34812 #endif 34813 34814 34815 #endif /* __IExecuteCommandHost_INTERFACE_DEFINED__ */ 34816 34817 34818 #define SID_ExecuteCommandHost IID_IExecuteCommandHost 34819 34820 typedef enum APPLICATION_VIEW_STATE { 34821 AVS_FULLSCREEN_LANDSCAPE = 0, 34822 AVS_FILLED = 1, 34823 AVS_SNAPPED = 2, 34824 AVS_FULLSCREEN_PORTRAIT = 3 34825 } APPLICATION_VIEW_STATE; 34826 34827 typedef enum EDGE_GESTURE_KIND { 34828 EGK_TOUCH = 0, 34829 EGK_KEYBOARD = 1, 34830 EGK_MOUSE = 2 34831 } EDGE_GESTURE_KIND; 34832 34833 /***************************************************************************** 34834 * IApplicationDesignModeSettings interface 34835 */ 34836 #ifndef __IApplicationDesignModeSettings_INTERFACE_DEFINED__ 34837 #define __IApplicationDesignModeSettings_INTERFACE_DEFINED__ 34838 34839 DEFINE_GUID(IID_IApplicationDesignModeSettings, 0x2a3dee9a, 0xe31d, 0x46d6, 0x85,0x08, 0xbc,0xc5,0x97,0xdb,0x35,0x57); 34840 #if defined(__cplusplus) && !defined(CINTERFACE) 34841 MIDL_INTERFACE("2a3dee9a-e31d-46d6-8508-bcc597db3557") 34842 IApplicationDesignModeSettings : public IUnknown 34843 { 34844 virtual HRESULT STDMETHODCALLTYPE SetNativeDisplaySize( 34845 SIZE sizeNativeDisplay) = 0; 34846 34847 virtual HRESULT STDMETHODCALLTYPE SetScaleFactor( 34848 DEVICE_SCALE_FACTOR scaleFactor) = 0; 34849 34850 virtual HRESULT STDMETHODCALLTYPE SetApplicationViewState( 34851 APPLICATION_VIEW_STATE viewState) = 0; 34852 34853 virtual HRESULT STDMETHODCALLTYPE ComputeApplicationSize( 34854 SIZE *psizeApplication) = 0; 34855 34856 virtual HRESULT STDMETHODCALLTYPE IsApplicationViewStateSupported( 34857 APPLICATION_VIEW_STATE viewState, 34858 SIZE sizeNativeDisplay, 34859 DEVICE_SCALE_FACTOR scaleFactor, 34860 WINBOOL *pfSupported) = 0; 34861 34862 virtual HRESULT STDMETHODCALLTYPE TriggerEdgeGesture( 34863 EDGE_GESTURE_KIND edgeGestureKind) = 0; 34864 34865 }; 34866 #ifdef __CRT_UUID_DECL 34867 __CRT_UUID_DECL(IApplicationDesignModeSettings, 0x2a3dee9a, 0xe31d, 0x46d6, 0x85,0x08, 0xbc,0xc5,0x97,0xdb,0x35,0x57) 34868 #endif 34869 #else 34870 typedef struct IApplicationDesignModeSettingsVtbl { 34871 BEGIN_INTERFACE 34872 34873 /*** IUnknown methods ***/ 34874 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 34875 IApplicationDesignModeSettings *This, 34876 REFIID riid, 34877 void **ppvObject); 34878 34879 ULONG (STDMETHODCALLTYPE *AddRef)( 34880 IApplicationDesignModeSettings *This); 34881 34882 ULONG (STDMETHODCALLTYPE *Release)( 34883 IApplicationDesignModeSettings *This); 34884 34885 /*** IApplicationDesignModeSettings methods ***/ 34886 HRESULT (STDMETHODCALLTYPE *SetNativeDisplaySize)( 34887 IApplicationDesignModeSettings *This, 34888 SIZE sizeNativeDisplay); 34889 34890 HRESULT (STDMETHODCALLTYPE *SetScaleFactor)( 34891 IApplicationDesignModeSettings *This, 34892 DEVICE_SCALE_FACTOR scaleFactor); 34893 34894 HRESULT (STDMETHODCALLTYPE *SetApplicationViewState)( 34895 IApplicationDesignModeSettings *This, 34896 APPLICATION_VIEW_STATE viewState); 34897 34898 HRESULT (STDMETHODCALLTYPE *ComputeApplicationSize)( 34899 IApplicationDesignModeSettings *This, 34900 SIZE *psizeApplication); 34901 34902 HRESULT (STDMETHODCALLTYPE *IsApplicationViewStateSupported)( 34903 IApplicationDesignModeSettings *This, 34904 APPLICATION_VIEW_STATE viewState, 34905 SIZE sizeNativeDisplay, 34906 DEVICE_SCALE_FACTOR scaleFactor, 34907 WINBOOL *pfSupported); 34908 34909 HRESULT (STDMETHODCALLTYPE *TriggerEdgeGesture)( 34910 IApplicationDesignModeSettings *This, 34911 EDGE_GESTURE_KIND edgeGestureKind); 34912 34913 END_INTERFACE 34914 } IApplicationDesignModeSettingsVtbl; 34915 34916 interface IApplicationDesignModeSettings { 34917 CONST_VTBL IApplicationDesignModeSettingsVtbl* lpVtbl; 34918 }; 34919 34920 #ifdef COBJMACROS 34921 #ifndef WIDL_C_INLINE_WRAPPERS 34922 /*** IUnknown methods ***/ 34923 #define IApplicationDesignModeSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 34924 #define IApplicationDesignModeSettings_AddRef(This) (This)->lpVtbl->AddRef(This) 34925 #define IApplicationDesignModeSettings_Release(This) (This)->lpVtbl->Release(This) 34926 /*** IApplicationDesignModeSettings methods ***/ 34927 #define IApplicationDesignModeSettings_SetNativeDisplaySize(This,sizeNativeDisplay) (This)->lpVtbl->SetNativeDisplaySize(This,sizeNativeDisplay) 34928 #define IApplicationDesignModeSettings_SetScaleFactor(This,scaleFactor) (This)->lpVtbl->SetScaleFactor(This,scaleFactor) 34929 #define IApplicationDesignModeSettings_SetApplicationViewState(This,viewState) (This)->lpVtbl->SetApplicationViewState(This,viewState) 34930 #define IApplicationDesignModeSettings_ComputeApplicationSize(This,psizeApplication) (This)->lpVtbl->ComputeApplicationSize(This,psizeApplication) 34931 #define IApplicationDesignModeSettings_IsApplicationViewStateSupported(This,viewState,sizeNativeDisplay,scaleFactor,pfSupported) (This)->lpVtbl->IsApplicationViewStateSupported(This,viewState,sizeNativeDisplay,scaleFactor,pfSupported) 34932 #define IApplicationDesignModeSettings_TriggerEdgeGesture(This,edgeGestureKind) (This)->lpVtbl->TriggerEdgeGesture(This,edgeGestureKind) 34933 #else 34934 /*** IUnknown methods ***/ 34935 static inline HRESULT IApplicationDesignModeSettings_QueryInterface(IApplicationDesignModeSettings* This,REFIID riid,void **ppvObject) { 34936 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 34937 } 34938 static inline ULONG IApplicationDesignModeSettings_AddRef(IApplicationDesignModeSettings* This) { 34939 return This->lpVtbl->AddRef(This); 34940 } 34941 static inline ULONG IApplicationDesignModeSettings_Release(IApplicationDesignModeSettings* This) { 34942 return This->lpVtbl->Release(This); 34943 } 34944 /*** IApplicationDesignModeSettings methods ***/ 34945 static inline HRESULT IApplicationDesignModeSettings_SetNativeDisplaySize(IApplicationDesignModeSettings* This,SIZE sizeNativeDisplay) { 34946 return This->lpVtbl->SetNativeDisplaySize(This,sizeNativeDisplay); 34947 } 34948 static inline HRESULT IApplicationDesignModeSettings_SetScaleFactor(IApplicationDesignModeSettings* This,DEVICE_SCALE_FACTOR scaleFactor) { 34949 return This->lpVtbl->SetScaleFactor(This,scaleFactor); 34950 } 34951 static inline HRESULT IApplicationDesignModeSettings_SetApplicationViewState(IApplicationDesignModeSettings* This,APPLICATION_VIEW_STATE viewState) { 34952 return This->lpVtbl->SetApplicationViewState(This,viewState); 34953 } 34954 static inline HRESULT IApplicationDesignModeSettings_ComputeApplicationSize(IApplicationDesignModeSettings* This,SIZE *psizeApplication) { 34955 return This->lpVtbl->ComputeApplicationSize(This,psizeApplication); 34956 } 34957 static inline HRESULT IApplicationDesignModeSettings_IsApplicationViewStateSupported(IApplicationDesignModeSettings* This,APPLICATION_VIEW_STATE viewState,SIZE sizeNativeDisplay,DEVICE_SCALE_FACTOR scaleFactor,WINBOOL *pfSupported) { 34958 return This->lpVtbl->IsApplicationViewStateSupported(This,viewState,sizeNativeDisplay,scaleFactor,pfSupported); 34959 } 34960 static inline HRESULT IApplicationDesignModeSettings_TriggerEdgeGesture(IApplicationDesignModeSettings* This,EDGE_GESTURE_KIND edgeGestureKind) { 34961 return This->lpVtbl->TriggerEdgeGesture(This,edgeGestureKind); 34962 } 34963 #endif 34964 #endif 34965 34966 #endif 34967 34968 34969 #endif /* __IApplicationDesignModeSettings_INTERFACE_DEFINED__ */ 34970 34971 34972 /***************************************************************************** 34973 * IInitializeWithWindow interface 34974 */ 34975 #ifndef __IInitializeWithWindow_INTERFACE_DEFINED__ 34976 #define __IInitializeWithWindow_INTERFACE_DEFINED__ 34977 34978 DEFINE_GUID(IID_IInitializeWithWindow, 0x3e68d4bd, 0x7135, 0x4d10, 0x80,0x18, 0x9f,0xb6,0xd9,0xf3,0x3f,0xa1); 34979 #if defined(__cplusplus) && !defined(CINTERFACE) 34980 MIDL_INTERFACE("3e68d4bd-7135-4d10-8018-9fb6d9f33fa1") 34981 IInitializeWithWindow : public IUnknown 34982 { 34983 virtual HRESULT STDMETHODCALLTYPE Initialize( 34984 HWND hwnd) = 0; 34985 34986 }; 34987 #ifdef __CRT_UUID_DECL 34988 __CRT_UUID_DECL(IInitializeWithWindow, 0x3e68d4bd, 0x7135, 0x4d10, 0x80,0x18, 0x9f,0xb6,0xd9,0xf3,0x3f,0xa1) 34989 #endif 34990 #else 34991 typedef struct IInitializeWithWindowVtbl { 34992 BEGIN_INTERFACE 34993 34994 /*** IUnknown methods ***/ 34995 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 34996 IInitializeWithWindow *This, 34997 REFIID riid, 34998 void **ppvObject); 34999 35000 ULONG (STDMETHODCALLTYPE *AddRef)( 35001 IInitializeWithWindow *This); 35002 35003 ULONG (STDMETHODCALLTYPE *Release)( 35004 IInitializeWithWindow *This); 35005 35006 /*** IInitializeWithWindow methods ***/ 35007 HRESULT (STDMETHODCALLTYPE *Initialize)( 35008 IInitializeWithWindow *This, 35009 HWND hwnd); 35010 35011 END_INTERFACE 35012 } IInitializeWithWindowVtbl; 35013 35014 interface IInitializeWithWindow { 35015 CONST_VTBL IInitializeWithWindowVtbl* lpVtbl; 35016 }; 35017 35018 #ifdef COBJMACROS 35019 #ifndef WIDL_C_INLINE_WRAPPERS 35020 /*** IUnknown methods ***/ 35021 #define IInitializeWithWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 35022 #define IInitializeWithWindow_AddRef(This) (This)->lpVtbl->AddRef(This) 35023 #define IInitializeWithWindow_Release(This) (This)->lpVtbl->Release(This) 35024 /*** IInitializeWithWindow methods ***/ 35025 #define IInitializeWithWindow_Initialize(This,hwnd) (This)->lpVtbl->Initialize(This,hwnd) 35026 #else 35027 /*** IUnknown methods ***/ 35028 static inline HRESULT IInitializeWithWindow_QueryInterface(IInitializeWithWindow* This,REFIID riid,void **ppvObject) { 35029 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 35030 } 35031 static inline ULONG IInitializeWithWindow_AddRef(IInitializeWithWindow* This) { 35032 return This->lpVtbl->AddRef(This); 35033 } 35034 static inline ULONG IInitializeWithWindow_Release(IInitializeWithWindow* This) { 35035 return This->lpVtbl->Release(This); 35036 } 35037 /*** IInitializeWithWindow methods ***/ 35038 static inline HRESULT IInitializeWithWindow_Initialize(IInitializeWithWindow* This,HWND hwnd) { 35039 return This->lpVtbl->Initialize(This,hwnd); 35040 } 35041 #endif 35042 #endif 35043 35044 #endif 35045 35046 35047 #endif /* __IInitializeWithWindow_INTERFACE_DEFINED__ */ 35048 35049 35050 /***************************************************************************** 35051 * IHandlerInfo interface 35052 */ 35053 #ifndef __IHandlerInfo_INTERFACE_DEFINED__ 35054 #define __IHandlerInfo_INTERFACE_DEFINED__ 35055 35056 DEFINE_GUID(IID_IHandlerInfo, 0x997706ef, 0xf880, 0x453b, 0x81,0x18, 0x39,0xe1,0xa2,0xd2,0x65,0x5a); 35057 #if defined(__cplusplus) && !defined(CINTERFACE) 35058 MIDL_INTERFACE("997706ef-f880-453b-8118-39e1a2d2655a") 35059 IHandlerInfo : public IUnknown 35060 { 35061 virtual HRESULT STDMETHODCALLTYPE GetApplicationDisplayName( 35062 LPWSTR *value) = 0; 35063 35064 virtual HRESULT STDMETHODCALLTYPE GetApplicationPublisher( 35065 LPWSTR *value) = 0; 35066 35067 virtual HRESULT STDMETHODCALLTYPE GetApplicationIconReference( 35068 LPWSTR *value) = 0; 35069 35070 }; 35071 #ifdef __CRT_UUID_DECL 35072 __CRT_UUID_DECL(IHandlerInfo, 0x997706ef, 0xf880, 0x453b, 0x81,0x18, 0x39,0xe1,0xa2,0xd2,0x65,0x5a) 35073 #endif 35074 #else 35075 typedef struct IHandlerInfoVtbl { 35076 BEGIN_INTERFACE 35077 35078 /*** IUnknown methods ***/ 35079 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 35080 IHandlerInfo *This, 35081 REFIID riid, 35082 void **ppvObject); 35083 35084 ULONG (STDMETHODCALLTYPE *AddRef)( 35085 IHandlerInfo *This); 35086 35087 ULONG (STDMETHODCALLTYPE *Release)( 35088 IHandlerInfo *This); 35089 35090 /*** IHandlerInfo methods ***/ 35091 HRESULT (STDMETHODCALLTYPE *GetApplicationDisplayName)( 35092 IHandlerInfo *This, 35093 LPWSTR *value); 35094 35095 HRESULT (STDMETHODCALLTYPE *GetApplicationPublisher)( 35096 IHandlerInfo *This, 35097 LPWSTR *value); 35098 35099 HRESULT (STDMETHODCALLTYPE *GetApplicationIconReference)( 35100 IHandlerInfo *This, 35101 LPWSTR *value); 35102 35103 END_INTERFACE 35104 } IHandlerInfoVtbl; 35105 35106 interface IHandlerInfo { 35107 CONST_VTBL IHandlerInfoVtbl* lpVtbl; 35108 }; 35109 35110 #ifdef COBJMACROS 35111 #ifndef WIDL_C_INLINE_WRAPPERS 35112 /*** IUnknown methods ***/ 35113 #define IHandlerInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 35114 #define IHandlerInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 35115 #define IHandlerInfo_Release(This) (This)->lpVtbl->Release(This) 35116 /*** IHandlerInfo methods ***/ 35117 #define IHandlerInfo_GetApplicationDisplayName(This,value) (This)->lpVtbl->GetApplicationDisplayName(This,value) 35118 #define IHandlerInfo_GetApplicationPublisher(This,value) (This)->lpVtbl->GetApplicationPublisher(This,value) 35119 #define IHandlerInfo_GetApplicationIconReference(This,value) (This)->lpVtbl->GetApplicationIconReference(This,value) 35120 #else 35121 /*** IUnknown methods ***/ 35122 static inline HRESULT IHandlerInfo_QueryInterface(IHandlerInfo* This,REFIID riid,void **ppvObject) { 35123 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 35124 } 35125 static inline ULONG IHandlerInfo_AddRef(IHandlerInfo* This) { 35126 return This->lpVtbl->AddRef(This); 35127 } 35128 static inline ULONG IHandlerInfo_Release(IHandlerInfo* This) { 35129 return This->lpVtbl->Release(This); 35130 } 35131 /*** IHandlerInfo methods ***/ 35132 static inline HRESULT IHandlerInfo_GetApplicationDisplayName(IHandlerInfo* This,LPWSTR *value) { 35133 return This->lpVtbl->GetApplicationDisplayName(This,value); 35134 } 35135 static inline HRESULT IHandlerInfo_GetApplicationPublisher(IHandlerInfo* This,LPWSTR *value) { 35136 return This->lpVtbl->GetApplicationPublisher(This,value); 35137 } 35138 static inline HRESULT IHandlerInfo_GetApplicationIconReference(IHandlerInfo* This,LPWSTR *value) { 35139 return This->lpVtbl->GetApplicationIconReference(This,value); 35140 } 35141 #endif 35142 #endif 35143 35144 #endif 35145 35146 35147 #endif /* __IHandlerInfo_INTERFACE_DEFINED__ */ 35148 35149 35150 /***************************************************************************** 35151 * IHandlerActivationHost interface 35152 */ 35153 #ifndef __IHandlerActivationHost_INTERFACE_DEFINED__ 35154 #define __IHandlerActivationHost_INTERFACE_DEFINED__ 35155 35156 DEFINE_GUID(IID_IHandlerActivationHost, 0x35094a87, 0x8bb1, 0x4237, 0x96,0xc6, 0xc4,0x17,0xee,0xbd,0xb0,0x78); 35157 #if defined(__cplusplus) && !defined(CINTERFACE) 35158 MIDL_INTERFACE("35094a87-8bb1-4237-96c6-c417eebdb078") 35159 IHandlerActivationHost : public IUnknown 35160 { 35161 virtual HRESULT STDMETHODCALLTYPE BeforeCoCreateInstance( 35162 REFCLSID clsidHandler, 35163 IShellItemArray *itemsBeingActivated, 35164 IHandlerInfo *handlerInfo) = 0; 35165 35166 virtual HRESULT STDMETHODCALLTYPE BeforeCreateProcess( 35167 LPCWSTR applicationPath, 35168 LPCWSTR commandLine, 35169 IHandlerInfo *handlerInfo) = 0; 35170 35171 }; 35172 #ifdef __CRT_UUID_DECL 35173 __CRT_UUID_DECL(IHandlerActivationHost, 0x35094a87, 0x8bb1, 0x4237, 0x96,0xc6, 0xc4,0x17,0xee,0xbd,0xb0,0x78) 35174 #endif 35175 #else 35176 typedef struct IHandlerActivationHostVtbl { 35177 BEGIN_INTERFACE 35178 35179 /*** IUnknown methods ***/ 35180 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 35181 IHandlerActivationHost *This, 35182 REFIID riid, 35183 void **ppvObject); 35184 35185 ULONG (STDMETHODCALLTYPE *AddRef)( 35186 IHandlerActivationHost *This); 35187 35188 ULONG (STDMETHODCALLTYPE *Release)( 35189 IHandlerActivationHost *This); 35190 35191 /*** IHandlerActivationHost methods ***/ 35192 HRESULT (STDMETHODCALLTYPE *BeforeCoCreateInstance)( 35193 IHandlerActivationHost *This, 35194 REFCLSID clsidHandler, 35195 IShellItemArray *itemsBeingActivated, 35196 IHandlerInfo *handlerInfo); 35197 35198 HRESULT (STDMETHODCALLTYPE *BeforeCreateProcess)( 35199 IHandlerActivationHost *This, 35200 LPCWSTR applicationPath, 35201 LPCWSTR commandLine, 35202 IHandlerInfo *handlerInfo); 35203 35204 END_INTERFACE 35205 } IHandlerActivationHostVtbl; 35206 35207 interface IHandlerActivationHost { 35208 CONST_VTBL IHandlerActivationHostVtbl* lpVtbl; 35209 }; 35210 35211 #ifdef COBJMACROS 35212 #ifndef WIDL_C_INLINE_WRAPPERS 35213 /*** IUnknown methods ***/ 35214 #define IHandlerActivationHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 35215 #define IHandlerActivationHost_AddRef(This) (This)->lpVtbl->AddRef(This) 35216 #define IHandlerActivationHost_Release(This) (This)->lpVtbl->Release(This) 35217 /*** IHandlerActivationHost methods ***/ 35218 #define IHandlerActivationHost_BeforeCoCreateInstance(This,clsidHandler,itemsBeingActivated,handlerInfo) (This)->lpVtbl->BeforeCoCreateInstance(This,clsidHandler,itemsBeingActivated,handlerInfo) 35219 #define IHandlerActivationHost_BeforeCreateProcess(This,applicationPath,commandLine,handlerInfo) (This)->lpVtbl->BeforeCreateProcess(This,applicationPath,commandLine,handlerInfo) 35220 #else 35221 /*** IUnknown methods ***/ 35222 static inline HRESULT IHandlerActivationHost_QueryInterface(IHandlerActivationHost* This,REFIID riid,void **ppvObject) { 35223 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 35224 } 35225 static inline ULONG IHandlerActivationHost_AddRef(IHandlerActivationHost* This) { 35226 return This->lpVtbl->AddRef(This); 35227 } 35228 static inline ULONG IHandlerActivationHost_Release(IHandlerActivationHost* This) { 35229 return This->lpVtbl->Release(This); 35230 } 35231 /*** IHandlerActivationHost methods ***/ 35232 static inline HRESULT IHandlerActivationHost_BeforeCoCreateInstance(IHandlerActivationHost* This,REFCLSID clsidHandler,IShellItemArray *itemsBeingActivated,IHandlerInfo *handlerInfo) { 35233 return This->lpVtbl->BeforeCoCreateInstance(This,clsidHandler,itemsBeingActivated,handlerInfo); 35234 } 35235 static inline HRESULT IHandlerActivationHost_BeforeCreateProcess(IHandlerActivationHost* This,LPCWSTR applicationPath,LPCWSTR commandLine,IHandlerInfo *handlerInfo) { 35236 return This->lpVtbl->BeforeCreateProcess(This,applicationPath,commandLine,handlerInfo); 35237 } 35238 #endif 35239 #endif 35240 35241 #endif 35242 35243 35244 #endif /* __IHandlerActivationHost_INTERFACE_DEFINED__ */ 35245 35246 35247 #define SID_SHandlerActivationHost IID_IHandlerActivationHost 35248 35249 DEFINE_GUID(SID_ShellExecuteNamedPropertyStore, 0xeb84ada2, 0x00ff, 0x4992, 0x83, 0x24, 0xed, 0x5c, 0xe0, 0x61, 0xcb, 0x29); 35250 #endif 35251 35252 #endif 35253 /* Begin additional prototypes for all interfaces */ 35254 35255 ULONG __RPC_USER PCIDLIST_ABSOLUTE_UserSize (ULONG *, ULONG, PCIDLIST_ABSOLUTE *); 35256 unsigned char * __RPC_USER PCIDLIST_ABSOLUTE_UserMarshal (ULONG *, unsigned char *, PCIDLIST_ABSOLUTE *); 35257 unsigned char * __RPC_USER PCIDLIST_ABSOLUTE_UserUnmarshal(ULONG *, unsigned char *, PCIDLIST_ABSOLUTE *); 35258 void __RPC_USER PCIDLIST_ABSOLUTE_UserFree (ULONG *, PCIDLIST_ABSOLUTE *); 35259 ULONG __RPC_USER PIDLIST_ABSOLUTE_UserSize (ULONG *, ULONG, PIDLIST_ABSOLUTE *); 35260 unsigned char * __RPC_USER PIDLIST_ABSOLUTE_UserMarshal (ULONG *, unsigned char *, PIDLIST_ABSOLUTE *); 35261 unsigned char * __RPC_USER PIDLIST_ABSOLUTE_UserUnmarshal(ULONG *, unsigned char *, PIDLIST_ABSOLUTE *); 35262 void __RPC_USER PIDLIST_ABSOLUTE_UserFree (ULONG *, PIDLIST_ABSOLUTE *); 35263 ULONG __RPC_USER PITEMID_CHILD_UserSize (ULONG *, ULONG, PITEMID_CHILD *); 35264 unsigned char * __RPC_USER PITEMID_CHILD_UserMarshal (ULONG *, unsigned char *, PITEMID_CHILD *); 35265 unsigned char * __RPC_USER PITEMID_CHILD_UserUnmarshal(ULONG *, unsigned char *, PITEMID_CHILD *); 35266 void __RPC_USER PITEMID_CHILD_UserFree (ULONG *, PITEMID_CHILD *); 35267 ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); 35268 unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); 35269 unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); 35270 void __RPC_USER HWND_UserFree (ULONG *, HWND *); 35271 ULONG __RPC_USER PIDLIST_RELATIVE_UserSize (ULONG *, ULONG, PIDLIST_RELATIVE *); 35272 unsigned char * __RPC_USER PIDLIST_RELATIVE_UserMarshal (ULONG *, unsigned char *, PIDLIST_RELATIVE *); 35273 unsigned char * __RPC_USER PIDLIST_RELATIVE_UserUnmarshal(ULONG *, unsigned char *, PIDLIST_RELATIVE *); 35274 void __RPC_USER PIDLIST_RELATIVE_UserFree (ULONG *, PIDLIST_RELATIVE *); 35275 ULONG __RPC_USER PCUIDLIST_RELATIVE_UserSize (ULONG *, ULONG, PCUIDLIST_RELATIVE *); 35276 unsigned char * __RPC_USER PCUIDLIST_RELATIVE_UserMarshal (ULONG *, unsigned char *, PCUIDLIST_RELATIVE *); 35277 unsigned char * __RPC_USER PCUIDLIST_RELATIVE_UserUnmarshal(ULONG *, unsigned char *, PCUIDLIST_RELATIVE *); 35278 void __RPC_USER PCUIDLIST_RELATIVE_UserFree (ULONG *, PCUIDLIST_RELATIVE *); 35279 ULONG __RPC_USER PCUITEMID_CHILD_UserSize (ULONG *, ULONG, PCUITEMID_CHILD *); 35280 unsigned char * __RPC_USER PCUITEMID_CHILD_UserMarshal (ULONG *, unsigned char *, PCUITEMID_CHILD *); 35281 unsigned char * __RPC_USER PCUITEMID_CHILD_UserUnmarshal(ULONG *, unsigned char *, PCUITEMID_CHILD *); 35282 void __RPC_USER PCUITEMID_CHILD_UserFree (ULONG *, PCUITEMID_CHILD *); 35283 ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *); 35284 unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *); 35285 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *); 35286 void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *); 35287 ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); 35288 unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); 35289 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); 35290 void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); 35291 ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *); 35292 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *); 35293 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *); 35294 void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *); 35295 ULONG __RPC_USER HBITMAP_UserSize (ULONG *, ULONG, HBITMAP *); 35296 unsigned char * __RPC_USER HBITMAP_UserMarshal (ULONG *, unsigned char *, HBITMAP *); 35297 unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *); 35298 void __RPC_USER HBITMAP_UserFree (ULONG *, HBITMAP *); 35299 ULONG __RPC_USER HMENU_UserSize (ULONG *, ULONG, HMENU *); 35300 unsigned char * __RPC_USER HMENU_UserMarshal (ULONG *, unsigned char *, HMENU *); 35301 unsigned char * __RPC_USER HMENU_UserUnmarshal(ULONG *, unsigned char *, HMENU *); 35302 void __RPC_USER HMENU_UserFree (ULONG *, HMENU *); 35303 ULONG __RPC_USER HGLOBAL_UserSize (ULONG *, ULONG, HGLOBAL *); 35304 unsigned char * __RPC_USER HGLOBAL_UserMarshal (ULONG *, unsigned char *, HGLOBAL *); 35305 unsigned char * __RPC_USER HGLOBAL_UserUnmarshal(ULONG *, unsigned char *, HGLOBAL *); 35306 void __RPC_USER HGLOBAL_UserFree (ULONG *, HGLOBAL *); 35307 ULONG __RPC_USER HICON_UserSize (ULONG *, ULONG, HICON *); 35308 unsigned char * __RPC_USER HICON_UserMarshal (ULONG *, unsigned char *, HICON *); 35309 unsigned char * __RPC_USER HICON_UserUnmarshal(ULONG *, unsigned char *, HICON *); 35310 void __RPC_USER HICON_UserFree (ULONG *, HICON *); 35311 ULONG __RPC_USER HACCEL_UserSize (ULONG *, ULONG, HACCEL *); 35312 unsigned char * __RPC_USER HACCEL_UserMarshal (ULONG *, unsigned char *, HACCEL *); 35313 unsigned char * __RPC_USER HACCEL_UserUnmarshal(ULONG *, unsigned char *, HACCEL *); 35314 void __RPC_USER HACCEL_UserFree (ULONG *, HACCEL *); 35315 ULONG __RPC_USER HMONITOR_UserSize (ULONG *, ULONG, HMONITOR *); 35316 unsigned char * __RPC_USER HMONITOR_UserMarshal (ULONG *, unsigned char *, HMONITOR *); 35317 unsigned char * __RPC_USER HMONITOR_UserUnmarshal(ULONG *, unsigned char *, HMONITOR *); 35318 void __RPC_USER HMONITOR_UserFree (ULONG *, HMONITOR *); 35319 35320 /* End additional prototypes */ 35321 35322 #ifdef __cplusplus 35323 } 35324 #endif 35325 35326 #endif /* __shobjidl_h__ */