1 /*** Autogenerated by WIDL 1.6 from include/shobjidl.idl - Do not edit ***/ 2 3 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 4 #define __REQUIRED_RPCNDR_H_VERSION__ 475 5 #endif 6 7 #include <rpc.h> 8 #include <rpcndr.h> 9 10 #ifndef COM_NO_WINDOWS_H 11 #include <windows.h> 12 #include <ole2.h> 13 #endif 14 15 #ifndef __shobjidl_h__ 16 #define __shobjidl_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __IContextMenu_FWD_DEFINED__ 21 #define __IContextMenu_FWD_DEFINED__ 22 typedef interface IContextMenu IContextMenu; 23 #endif 24 25 #ifndef __IContextMenu2_FWD_DEFINED__ 26 #define __IContextMenu2_FWD_DEFINED__ 27 typedef interface IContextMenu2 IContextMenu2; 28 #endif 29 30 #ifndef __IContextMenu3_FWD_DEFINED__ 31 #define __IContextMenu3_FWD_DEFINED__ 32 typedef interface IContextMenu3 IContextMenu3; 33 #endif 34 35 #ifndef __IExecuteCommand_FWD_DEFINED__ 36 #define __IExecuteCommand_FWD_DEFINED__ 37 typedef interface IExecuteCommand IExecuteCommand; 38 #endif 39 40 #ifndef __IPersistFolder_FWD_DEFINED__ 41 #define __IPersistFolder_FWD_DEFINED__ 42 typedef interface IPersistFolder IPersistFolder; 43 #endif 44 45 #ifndef __IRunnableTask_FWD_DEFINED__ 46 #define __IRunnableTask_FWD_DEFINED__ 47 typedef interface IRunnableTask IRunnableTask; 48 #endif 49 50 #ifndef __IShellTaskScheduler_FWD_DEFINED__ 51 #define __IShellTaskScheduler_FWD_DEFINED__ 52 typedef interface IShellTaskScheduler IShellTaskScheduler; 53 #endif 54 55 #ifndef __IQueryCodePage_FWD_DEFINED__ 56 #define __IQueryCodePage_FWD_DEFINED__ 57 typedef interface IQueryCodePage IQueryCodePage; 58 #endif 59 60 #ifndef __IPersistFolder2_FWD_DEFINED__ 61 #define __IPersistFolder2_FWD_DEFINED__ 62 typedef interface IPersistFolder2 IPersistFolder2; 63 #endif 64 65 #ifndef __IPersistFolder3_FWD_DEFINED__ 66 #define __IPersistFolder3_FWD_DEFINED__ 67 typedef interface IPersistFolder3 IPersistFolder3; 68 #endif 69 70 #ifndef __IPersistIDList_FWD_DEFINED__ 71 #define __IPersistIDList_FWD_DEFINED__ 72 typedef interface IPersistIDList IPersistIDList; 73 #endif 74 75 #ifndef __IEnumIDList_FWD_DEFINED__ 76 #define __IEnumIDList_FWD_DEFINED__ 77 typedef interface IEnumIDList IEnumIDList; 78 #endif 79 80 #ifndef __IEnumFullIDList_FWD_DEFINED__ 81 #define __IEnumFullIDList_FWD_DEFINED__ 82 typedef interface IEnumFullIDList IEnumFullIDList; 83 #endif 84 85 #ifndef __IObjectWithFolderEnumMode_FWD_DEFINED__ 86 #define __IObjectWithFolderEnumMode_FWD_DEFINED__ 87 typedef interface IObjectWithFolderEnumMode IObjectWithFolderEnumMode; 88 #endif 89 90 #ifndef __IParseAndCreateItem_FWD_DEFINED__ 91 #define __IParseAndCreateItem_FWD_DEFINED__ 92 typedef interface IParseAndCreateItem IParseAndCreateItem; 93 #endif 94 95 #ifndef __IShellFolder_FWD_DEFINED__ 96 #define __IShellFolder_FWD_DEFINED__ 97 typedef interface IShellFolder IShellFolder; 98 #endif 99 100 #ifndef __IEnumExtraSearch_FWD_DEFINED__ 101 #define __IEnumExtraSearch_FWD_DEFINED__ 102 typedef interface IEnumExtraSearch IEnumExtraSearch; 103 #endif 104 105 #ifndef __IShellFolder2_FWD_DEFINED__ 106 #define __IShellFolder2_FWD_DEFINED__ 107 typedef interface IShellFolder2 IShellFolder2; 108 #endif 109 110 #ifndef __IFolderViewOptions_FWD_DEFINED__ 111 #define __IFolderViewOptions_FWD_DEFINED__ 112 typedef interface IFolderViewOptions IFolderViewOptions; 113 #endif 114 115 #ifndef __IShellView_FWD_DEFINED__ 116 #define __IShellView_FWD_DEFINED__ 117 typedef interface IShellView IShellView; 118 #endif 119 120 #ifndef __IShellView2_FWD_DEFINED__ 121 #define __IShellView2_FWD_DEFINED__ 122 typedef interface IShellView2 IShellView2; 123 #endif 124 125 #ifndef __IShellView3_FWD_DEFINED__ 126 #define __IShellView3_FWD_DEFINED__ 127 typedef interface IShellView3 IShellView3; 128 #endif 129 130 #ifndef __IFolderView_FWD_DEFINED__ 131 #define __IFolderView_FWD_DEFINED__ 132 typedef interface IFolderView IFolderView; 133 #endif 134 135 #ifndef __ISearchBoxInfo_FWD_DEFINED__ 136 #define __ISearchBoxInfo_FWD_DEFINED__ 137 typedef interface ISearchBoxInfo ISearchBoxInfo; 138 #endif 139 140 #ifndef __IFolderView2_FWD_DEFINED__ 141 #define __IFolderView2_FWD_DEFINED__ 142 typedef interface IFolderView2 IFolderView2; 143 #endif 144 145 #ifndef __IFolderViewSettings_FWD_DEFINED__ 146 #define __IFolderViewSettings_FWD_DEFINED__ 147 typedef interface IFolderViewSettings IFolderViewSettings; 148 #endif 149 150 #ifndef __IPreviewHandlerVisuals_FWD_DEFINED__ 151 #define __IPreviewHandlerVisuals_FWD_DEFINED__ 152 typedef interface IPreviewHandlerVisuals IPreviewHandlerVisuals; 153 #endif 154 155 #ifndef __IVisualProperties_FWD_DEFINED__ 156 #define __IVisualProperties_FWD_DEFINED__ 157 typedef interface IVisualProperties IVisualProperties; 158 #endif 159 160 #ifndef __ICommDlgBrowser_FWD_DEFINED__ 161 #define __ICommDlgBrowser_FWD_DEFINED__ 162 typedef interface ICommDlgBrowser ICommDlgBrowser; 163 #endif 164 165 #ifndef __ICommDlgBrowser2_FWD_DEFINED__ 166 #define __ICommDlgBrowser2_FWD_DEFINED__ 167 typedef interface ICommDlgBrowser2 ICommDlgBrowser2; 168 #endif 169 170 #ifndef __ICommDlgBrowser3_FWD_DEFINED__ 171 #define __ICommDlgBrowser3_FWD_DEFINED__ 172 typedef interface ICommDlgBrowser3 ICommDlgBrowser3; 173 #endif 174 175 #ifndef __IColumnManager_FWD_DEFINED__ 176 #define __IColumnManager_FWD_DEFINED__ 177 typedef interface IColumnManager IColumnManager; 178 #endif 179 180 #ifndef __IFolderFilterSite_FWD_DEFINED__ 181 #define __IFolderFilterSite_FWD_DEFINED__ 182 typedef interface IFolderFilterSite IFolderFilterSite; 183 #endif 184 185 #ifndef __IFolderFilter_FWD_DEFINED__ 186 #define __IFolderFilter_FWD_DEFINED__ 187 typedef interface IFolderFilter IFolderFilter; 188 #endif 189 190 #ifndef __IInputObjectSite_FWD_DEFINED__ 191 #define __IInputObjectSite_FWD_DEFINED__ 192 typedef interface IInputObjectSite IInputObjectSite; 193 #endif 194 195 #ifndef __IInputObject_FWD_DEFINED__ 196 #define __IInputObject_FWD_DEFINED__ 197 typedef interface IInputObject IInputObject; 198 #endif 199 200 #ifndef __IInputObject2_FWD_DEFINED__ 201 #define __IInputObject2_FWD_DEFINED__ 202 typedef interface IInputObject2 IInputObject2; 203 #endif 204 205 #ifndef __IShellIcon_FWD_DEFINED__ 206 #define __IShellIcon_FWD_DEFINED__ 207 typedef interface IShellIcon IShellIcon; 208 #endif 209 210 #ifndef __IShellBrowser_FWD_DEFINED__ 211 #define __IShellBrowser_FWD_DEFINED__ 212 typedef interface IShellBrowser IShellBrowser; 213 #endif 214 215 #ifndef __IProfferService_FWD_DEFINED__ 216 #define __IProfferService_FWD_DEFINED__ 217 typedef interface IProfferService IProfferService; 218 #endif 219 220 #ifndef __IShellItem_FWD_DEFINED__ 221 #define __IShellItem_FWD_DEFINED__ 222 typedef interface IShellItem IShellItem; 223 #endif 224 225 #ifndef __IShellItem2_FWD_DEFINED__ 226 #define __IShellItem2_FWD_DEFINED__ 227 typedef interface IShellItem2 IShellItem2; 228 #endif 229 230 #ifndef __IShellItemImageFactory_FWD_DEFINED__ 231 #define __IShellItemImageFactory_FWD_DEFINED__ 232 typedef interface IShellItemImageFactory IShellItemImageFactory; 233 #endif 234 235 #ifndef __IUserAccountChangeCallback_FWD_DEFINED__ 236 #define __IUserAccountChangeCallback_FWD_DEFINED__ 237 typedef interface IUserAccountChangeCallback IUserAccountChangeCallback; 238 #endif 239 240 #ifndef __IEnumShellItems_FWD_DEFINED__ 241 #define __IEnumShellItems_FWD_DEFINED__ 242 typedef interface IEnumShellItems IEnumShellItems; 243 #endif 244 245 #ifndef __ITransferAdviseSink_FWD_DEFINED__ 246 #define __ITransferAdviseSink_FWD_DEFINED__ 247 typedef interface ITransferAdviseSink ITransferAdviseSink; 248 #endif 249 250 #ifndef __ITransferSource_FWD_DEFINED__ 251 #define __ITransferSource_FWD_DEFINED__ 252 typedef interface ITransferSource ITransferSource; 253 #endif 254 255 #ifndef __IEnumResources_FWD_DEFINED__ 256 #define __IEnumResources_FWD_DEFINED__ 257 typedef interface IEnumResources IEnumResources; 258 #endif 259 260 #ifndef __IShellItemResources_FWD_DEFINED__ 261 #define __IShellItemResources_FWD_DEFINED__ 262 typedef interface IShellItemResources IShellItemResources; 263 #endif 264 265 #ifndef __ITransferDestination_FWD_DEFINED__ 266 #define __ITransferDestination_FWD_DEFINED__ 267 typedef interface ITransferDestination ITransferDestination; 268 #endif 269 270 #ifndef __IStreamAsync_FWD_DEFINED__ 271 #define __IStreamAsync_FWD_DEFINED__ 272 typedef interface IStreamAsync IStreamAsync; 273 #endif 274 275 #ifndef __IStreamUnbufferedInfo_FWD_DEFINED__ 276 #define __IStreamUnbufferedInfo_FWD_DEFINED__ 277 typedef interface IStreamUnbufferedInfo IStreamUnbufferedInfo; 278 #endif 279 280 #ifndef __IFileOperationProgressSink_FWD_DEFINED__ 281 #define __IFileOperationProgressSink_FWD_DEFINED__ 282 typedef interface IFileOperationProgressSink IFileOperationProgressSink; 283 #endif 284 285 #ifndef __IShellItemArray_FWD_DEFINED__ 286 #define __IShellItemArray_FWD_DEFINED__ 287 typedef interface IShellItemArray IShellItemArray; 288 #endif 289 290 #ifndef __IInitializeWithItem_FWD_DEFINED__ 291 #define __IInitializeWithItem_FWD_DEFINED__ 292 typedef interface IInitializeWithItem IInitializeWithItem; 293 #endif 294 295 #ifndef __IObjectWithSelection_FWD_DEFINED__ 296 #define __IObjectWithSelection_FWD_DEFINED__ 297 typedef interface IObjectWithSelection IObjectWithSelection; 298 #endif 299 300 #ifndef __IObjectWithBackReferences_FWD_DEFINED__ 301 #define __IObjectWithBackReferences_FWD_DEFINED__ 302 typedef interface IObjectWithBackReferences IObjectWithBackReferences; 303 #endif 304 305 #ifndef __IPropertyUI_FWD_DEFINED__ 306 #define __IPropertyUI_FWD_DEFINED__ 307 typedef interface IPropertyUI IPropertyUI; 308 #endif 309 310 #ifndef __ICategoryProvider_FWD_DEFINED__ 311 #define __ICategoryProvider_FWD_DEFINED__ 312 typedef interface ICategoryProvider ICategoryProvider; 313 #endif 314 315 #ifndef __ICategorizer_FWD_DEFINED__ 316 #define __ICategorizer_FWD_DEFINED__ 317 typedef interface ICategorizer ICategorizer; 318 #endif 319 320 #ifndef __IDropTargetHelper_FWD_DEFINED__ 321 #define __IDropTargetHelper_FWD_DEFINED__ 322 typedef interface IDropTargetHelper IDropTargetHelper; 323 #endif 324 325 #ifndef __IDragSourceHelper_FWD_DEFINED__ 326 #define __IDragSourceHelper_FWD_DEFINED__ 327 typedef interface IDragSourceHelper IDragSourceHelper; 328 #endif 329 330 #ifndef __IDragSourceHelper2_FWD_DEFINED__ 331 #define __IDragSourceHelper2_FWD_DEFINED__ 332 typedef interface IDragSourceHelper2 IDragSourceHelper2; 333 #endif 334 335 #ifndef __IShellLinkA_FWD_DEFINED__ 336 #define __IShellLinkA_FWD_DEFINED__ 337 typedef interface IShellLinkA IShellLinkA; 338 #endif 339 340 #ifndef __IShellLinkW_FWD_DEFINED__ 341 #define __IShellLinkW_FWD_DEFINED__ 342 typedef interface IShellLinkW IShellLinkW; 343 #endif 344 345 #ifndef __IShellLinkDataList_FWD_DEFINED__ 346 #define __IShellLinkDataList_FWD_DEFINED__ 347 typedef interface IShellLinkDataList IShellLinkDataList; 348 #endif 349 350 #ifndef __IResolveShellLink_FWD_DEFINED__ 351 #define __IResolveShellLink_FWD_DEFINED__ 352 typedef interface IResolveShellLink IResolveShellLink; 353 #endif 354 355 #ifndef __IActionProgressDialog_FWD_DEFINED__ 356 #define __IActionProgressDialog_FWD_DEFINED__ 357 typedef interface IActionProgressDialog IActionProgressDialog; 358 #endif 359 360 #ifndef __IHWEventHandler_FWD_DEFINED__ 361 #define __IHWEventHandler_FWD_DEFINED__ 362 typedef interface IHWEventHandler IHWEventHandler; 363 #endif 364 365 #ifndef __IHWEventHandler2_FWD_DEFINED__ 366 #define __IHWEventHandler2_FWD_DEFINED__ 367 typedef interface IHWEventHandler2 IHWEventHandler2; 368 #endif 369 370 #ifndef __IQueryCancelAutoPlay_FWD_DEFINED__ 371 #define __IQueryCancelAutoPlay_FWD_DEFINED__ 372 typedef interface IQueryCancelAutoPlay IQueryCancelAutoPlay; 373 #endif 374 375 #ifndef __IDynamicHWHandler_FWD_DEFINED__ 376 #define __IDynamicHWHandler_FWD_DEFINED__ 377 typedef interface IDynamicHWHandler IDynamicHWHandler; 378 #endif 379 380 #ifndef __IActionProgress_FWD_DEFINED__ 381 #define __IActionProgress_FWD_DEFINED__ 382 typedef interface IActionProgress IActionProgress; 383 #endif 384 385 #ifndef __IShellExtInit_FWD_DEFINED__ 386 #define __IShellExtInit_FWD_DEFINED__ 387 typedef interface IShellExtInit IShellExtInit; 388 #endif 389 390 #ifndef __IShellPropSheetExt_FWD_DEFINED__ 391 #define __IShellPropSheetExt_FWD_DEFINED__ 392 typedef interface IShellPropSheetExt IShellPropSheetExt; 393 #endif 394 395 #ifndef __IRemoteComputer_FWD_DEFINED__ 396 #define __IRemoteComputer_FWD_DEFINED__ 397 typedef interface IRemoteComputer IRemoteComputer; 398 #endif 399 400 #ifndef __IQueryContinue_FWD_DEFINED__ 401 #define __IQueryContinue_FWD_DEFINED__ 402 typedef interface IQueryContinue IQueryContinue; 403 #endif 404 405 #ifndef __IObjectWithCancelEvent_FWD_DEFINED__ 406 #define __IObjectWithCancelEvent_FWD_DEFINED__ 407 typedef interface IObjectWithCancelEvent IObjectWithCancelEvent; 408 #endif 409 410 #ifndef __IUserNotification_FWD_DEFINED__ 411 #define __IUserNotification_FWD_DEFINED__ 412 typedef interface IUserNotification IUserNotification; 413 #endif 414 415 #ifndef __IUserNotificationCallback_FWD_DEFINED__ 416 #define __IUserNotificationCallback_FWD_DEFINED__ 417 typedef interface IUserNotificationCallback IUserNotificationCallback; 418 #endif 419 420 #ifndef __IUserNotification2_FWD_DEFINED__ 421 #define __IUserNotification2_FWD_DEFINED__ 422 typedef interface IUserNotification2 IUserNotification2; 423 #endif 424 425 #ifndef __IItemNameLimits_FWD_DEFINED__ 426 #define __IItemNameLimits_FWD_DEFINED__ 427 typedef interface IItemNameLimits IItemNameLimits; 428 #endif 429 430 #ifndef __ISearchFolderItemFactory_FWD_DEFINED__ 431 #define __ISearchFolderItemFactory_FWD_DEFINED__ 432 typedef interface ISearchFolderItemFactory ISearchFolderItemFactory; 433 #endif 434 435 #ifndef __IExtractImage_FWD_DEFINED__ 436 #define __IExtractImage_FWD_DEFINED__ 437 typedef interface IExtractImage IExtractImage; 438 #endif 439 440 #ifndef __IExtractImage2_FWD_DEFINED__ 441 #define __IExtractImage2_FWD_DEFINED__ 442 typedef interface IExtractImage2 IExtractImage2; 443 #endif 444 445 #ifndef __IThumbnailHandlerFactory_FWD_DEFINED__ 446 #define __IThumbnailHandlerFactory_FWD_DEFINED__ 447 typedef interface IThumbnailHandlerFactory IThumbnailHandlerFactory; 448 #endif 449 450 #ifndef __IParentAndItem_FWD_DEFINED__ 451 #define __IParentAndItem_FWD_DEFINED__ 452 typedef interface IParentAndItem IParentAndItem; 453 #endif 454 455 #ifndef __IDockingWindow_FWD_DEFINED__ 456 #define __IDockingWindow_FWD_DEFINED__ 457 typedef interface IDockingWindow IDockingWindow; 458 #endif 459 460 #ifndef __IDeskBand_FWD_DEFINED__ 461 #define __IDeskBand_FWD_DEFINED__ 462 typedef interface IDeskBand IDeskBand; 463 #endif 464 465 #ifndef __IDeskBandInfo_FWD_DEFINED__ 466 #define __IDeskBandInfo_FWD_DEFINED__ 467 typedef interface IDeskBandInfo IDeskBandInfo; 468 #endif 469 470 #ifndef __IDeskBand2_FWD_DEFINED__ 471 #define __IDeskBand2_FWD_DEFINED__ 472 typedef interface IDeskBand2 IDeskBand2; 473 #endif 474 475 #ifndef __ITaskbarList_FWD_DEFINED__ 476 #define __ITaskbarList_FWD_DEFINED__ 477 typedef interface ITaskbarList ITaskbarList; 478 #endif 479 480 #ifndef __ITaskbarList2_FWD_DEFINED__ 481 #define __ITaskbarList2_FWD_DEFINED__ 482 typedef interface ITaskbarList2 ITaskbarList2; 483 #endif 484 485 #ifndef __ITaskbarList3_FWD_DEFINED__ 486 #define __ITaskbarList3_FWD_DEFINED__ 487 typedef interface ITaskbarList3 ITaskbarList3; 488 #endif 489 490 #ifndef __ITaskbarList4_FWD_DEFINED__ 491 #define __ITaskbarList4_FWD_DEFINED__ 492 typedef interface ITaskbarList4 ITaskbarList4; 493 #endif 494 495 #ifndef __IStartMenuPinnedList_FWD_DEFINED__ 496 #define __IStartMenuPinnedList_FWD_DEFINED__ 497 typedef interface IStartMenuPinnedList IStartMenuPinnedList; 498 #endif 499 500 #ifndef __ICDBurn_FWD_DEFINED__ 501 #define __ICDBurn_FWD_DEFINED__ 502 typedef interface ICDBurn ICDBurn; 503 #endif 504 505 #ifndef __IWizardSite_FWD_DEFINED__ 506 #define __IWizardSite_FWD_DEFINED__ 507 typedef interface IWizardSite IWizardSite; 508 #endif 509 510 #ifndef __IWizardExtension_FWD_DEFINED__ 511 #define __IWizardExtension_FWD_DEFINED__ 512 typedef interface IWizardExtension IWizardExtension; 513 #endif 514 515 #ifndef __IWebWizardExtension_FWD_DEFINED__ 516 #define __IWebWizardExtension_FWD_DEFINED__ 517 typedef interface IWebWizardExtension IWebWizardExtension; 518 #endif 519 520 #ifndef __IPublishingWizard_FWD_DEFINED__ 521 #define __IPublishingWizard_FWD_DEFINED__ 522 typedef interface IPublishingWizard IPublishingWizard; 523 #endif 524 525 #ifndef __IFolderViewHost_FWD_DEFINED__ 526 #define __IFolderViewHost_FWD_DEFINED__ 527 typedef interface IFolderViewHost IFolderViewHost; 528 #endif 529 530 #ifndef __IExplorerBrowserEvents_FWD_DEFINED__ 531 #define __IExplorerBrowserEvents_FWD_DEFINED__ 532 typedef interface IExplorerBrowserEvents IExplorerBrowserEvents; 533 #endif 534 535 #ifndef __IExplorerBrowser_FWD_DEFINED__ 536 #define __IExplorerBrowser_FWD_DEFINED__ 537 typedef interface IExplorerBrowser IExplorerBrowser; 538 #endif 539 540 #ifndef __IAccessibleObject_FWD_DEFINED__ 541 #define __IAccessibleObject_FWD_DEFINED__ 542 typedef interface IAccessibleObject IAccessibleObject; 543 #endif 544 545 #ifndef __IResultsFolder_FWD_DEFINED__ 546 #define __IResultsFolder_FWD_DEFINED__ 547 typedef interface IResultsFolder IResultsFolder; 548 #endif 549 550 #ifndef __IEnumObjects_FWD_DEFINED__ 551 #define __IEnumObjects_FWD_DEFINED__ 552 typedef interface IEnumObjects IEnumObjects; 553 #endif 554 555 #ifndef __IOperationsProgressDialog_FWD_DEFINED__ 556 #define __IOperationsProgressDialog_FWD_DEFINED__ 557 typedef interface IOperationsProgressDialog IOperationsProgressDialog; 558 #endif 559 560 #ifndef __IIOCancelInformation_FWD_DEFINED__ 561 #define __IIOCancelInformation_FWD_DEFINED__ 562 typedef interface IIOCancelInformation IIOCancelInformation; 563 #endif 564 565 #ifndef __IFileOperation_FWD_DEFINED__ 566 #define __IFileOperation_FWD_DEFINED__ 567 typedef interface IFileOperation IFileOperation; 568 #endif 569 570 #ifndef __IObjectProvider_FWD_DEFINED__ 571 #define __IObjectProvider_FWD_DEFINED__ 572 typedef interface IObjectProvider IObjectProvider; 573 #endif 574 575 #ifndef __INamespaceWalkCB_FWD_DEFINED__ 576 #define __INamespaceWalkCB_FWD_DEFINED__ 577 typedef interface INamespaceWalkCB INamespaceWalkCB; 578 #endif 579 580 #ifndef __INamespaceWalkCB2_FWD_DEFINED__ 581 #define __INamespaceWalkCB2_FWD_DEFINED__ 582 typedef interface INamespaceWalkCB2 INamespaceWalkCB2; 583 #endif 584 585 #ifndef __INamespaceWalk_FWD_DEFINED__ 586 #define __INamespaceWalk_FWD_DEFINED__ 587 typedef interface INamespaceWalk INamespaceWalk; 588 #endif 589 590 #ifndef __IAutoCompleteDropDown_FWD_DEFINED__ 591 #define __IAutoCompleteDropDown_FWD_DEFINED__ 592 typedef interface IAutoCompleteDropDown IAutoCompleteDropDown; 593 #endif 594 595 #ifndef __IBandSite_FWD_DEFINED__ 596 #define __IBandSite_FWD_DEFINED__ 597 typedef interface IBandSite IBandSite; 598 #endif 599 600 #ifndef __IModalWindow_FWD_DEFINED__ 601 #define __IModalWindow_FWD_DEFINED__ 602 typedef interface IModalWindow IModalWindow; 603 #endif 604 605 #ifndef __ICDBurnExt_FWD_DEFINED__ 606 #define __ICDBurnExt_FWD_DEFINED__ 607 typedef interface ICDBurnExt ICDBurnExt; 608 #endif 609 610 #ifndef __IContextMenuSite_FWD_DEFINED__ 611 #define __IContextMenuSite_FWD_DEFINED__ 612 typedef interface IContextMenuSite IContextMenuSite; 613 #endif 614 615 #ifndef __IEnumReadyCallback_FWD_DEFINED__ 616 #define __IEnumReadyCallback_FWD_DEFINED__ 617 typedef interface IEnumReadyCallback IEnumReadyCallback; 618 #endif 619 620 #ifndef __IEnumerableView_FWD_DEFINED__ 621 #define __IEnumerableView_FWD_DEFINED__ 622 typedef interface IEnumerableView IEnumerableView; 623 #endif 624 625 #ifndef __IInsertItem_FWD_DEFINED__ 626 #define __IInsertItem_FWD_DEFINED__ 627 typedef interface IInsertItem IInsertItem; 628 #endif 629 630 #ifndef __IMenuBand_FWD_DEFINED__ 631 #define __IMenuBand_FWD_DEFINED__ 632 typedef interface IMenuBand IMenuBand; 633 #endif 634 635 #ifndef __IFolderBandPriv_FWD_DEFINED__ 636 #define __IFolderBandPriv_FWD_DEFINED__ 637 typedef interface IFolderBandPriv IFolderBandPriv; 638 #endif 639 640 #ifndef __IRegTreeItem_FWD_DEFINED__ 641 #define __IRegTreeItem_FWD_DEFINED__ 642 typedef interface IRegTreeItem IRegTreeItem; 643 #endif 644 645 #ifndef __IImageRecompress_FWD_DEFINED__ 646 #define __IImageRecompress_FWD_DEFINED__ 647 typedef interface IImageRecompress IImageRecompress; 648 #endif 649 650 #ifndef __IDeskBar_FWD_DEFINED__ 651 #define __IDeskBar_FWD_DEFINED__ 652 typedef interface IDeskBar IDeskBar; 653 #endif 654 655 #ifndef __IMenuPopup_FWD_DEFINED__ 656 #define __IMenuPopup_FWD_DEFINED__ 657 typedef interface IMenuPopup IMenuPopup; 658 #endif 659 660 #ifndef __IFileIsInUse_FWD_DEFINED__ 661 #define __IFileIsInUse_FWD_DEFINED__ 662 typedef interface IFileIsInUse IFileIsInUse; 663 #endif 664 665 #ifndef __IFileDialogEvents_FWD_DEFINED__ 666 #define __IFileDialogEvents_FWD_DEFINED__ 667 typedef interface IFileDialogEvents IFileDialogEvents; 668 #endif 669 670 #ifndef __IFileDialog_FWD_DEFINED__ 671 #define __IFileDialog_FWD_DEFINED__ 672 typedef interface IFileDialog IFileDialog; 673 #endif 674 675 #ifndef __IFileSaveDialog_FWD_DEFINED__ 676 #define __IFileSaveDialog_FWD_DEFINED__ 677 typedef interface IFileSaveDialog IFileSaveDialog; 678 #endif 679 680 #ifndef __IFileOpenDialog_FWD_DEFINED__ 681 #define __IFileOpenDialog_FWD_DEFINED__ 682 typedef interface IFileOpenDialog IFileOpenDialog; 683 #endif 684 685 #ifndef __IFileDialogCustomize_FWD_DEFINED__ 686 #define __IFileDialogCustomize_FWD_DEFINED__ 687 typedef interface IFileDialogCustomize IFileDialogCustomize; 688 #endif 689 690 #ifndef __IFileDialogControlEvents_FWD_DEFINED__ 691 #define __IFileDialogControlEvents_FWD_DEFINED__ 692 typedef interface IFileDialogControlEvents IFileDialogControlEvents; 693 #endif 694 695 #ifndef __IFileDialog2_FWD_DEFINED__ 696 #define __IFileDialog2_FWD_DEFINED__ 697 typedef interface IFileDialog2 IFileDialog2; 698 #endif 699 700 #ifndef __IApplicationAssociationRegistration_FWD_DEFINED__ 701 #define __IApplicationAssociationRegistration_FWD_DEFINED__ 702 typedef interface IApplicationAssociationRegistration IApplicationAssociationRegistration; 703 #endif 704 705 #ifndef __IApplicationAssociationRegistrationUI_FWD_DEFINED__ 706 #define __IApplicationAssociationRegistrationUI_FWD_DEFINED__ 707 typedef interface IApplicationAssociationRegistrationUI IApplicationAssociationRegistrationUI; 708 #endif 709 710 #ifndef __IDelegateFolder_FWD_DEFINED__ 711 #define __IDelegateFolder_FWD_DEFINED__ 712 typedef interface IDelegateFolder IDelegateFolder; 713 #endif 714 715 #ifndef __IBrowserFrameOptions_FWD_DEFINED__ 716 #define __IBrowserFrameOptions_FWD_DEFINED__ 717 typedef interface IBrowserFrameOptions IBrowserFrameOptions; 718 #endif 719 720 #ifndef __INewWindowManager_FWD_DEFINED__ 721 #define __INewWindowManager_FWD_DEFINED__ 722 typedef interface INewWindowManager INewWindowManager; 723 #endif 724 725 #ifndef __IAttachmentExecute_FWD_DEFINED__ 726 #define __IAttachmentExecute_FWD_DEFINED__ 727 typedef interface IAttachmentExecute IAttachmentExecute; 728 #endif 729 730 #ifndef __IShellMenuCallback_FWD_DEFINED__ 731 #define __IShellMenuCallback_FWD_DEFINED__ 732 typedef interface IShellMenuCallback IShellMenuCallback; 733 #endif 734 735 #ifndef __IShellMenu_FWD_DEFINED__ 736 #define __IShellMenu_FWD_DEFINED__ 737 typedef interface IShellMenu IShellMenu; 738 #endif 739 740 #ifndef __IShellRunDll_FWD_DEFINED__ 741 #define __IShellRunDll_FWD_DEFINED__ 742 typedef interface IShellRunDll IShellRunDll; 743 #endif 744 745 #ifndef __IKnownFolder_FWD_DEFINED__ 746 #define __IKnownFolder_FWD_DEFINED__ 747 typedef interface IKnownFolder IKnownFolder; 748 #endif 749 750 #ifndef __IKnownFolderManager_FWD_DEFINED__ 751 #define __IKnownFolderManager_FWD_DEFINED__ 752 typedef interface IKnownFolderManager IKnownFolderManager; 753 #endif 754 755 #ifndef __ISharingConfigurationManager_FWD_DEFINED__ 756 #define __ISharingConfigurationManager_FWD_DEFINED__ 757 typedef interface ISharingConfigurationManager ISharingConfigurationManager; 758 #endif 759 760 #ifndef __IPreviousVersionsInfo_FWD_DEFINED__ 761 #define __IPreviousVersionsInfo_FWD_DEFINED__ 762 typedef interface IPreviousVersionsInfo IPreviousVersionsInfo; 763 #endif 764 765 #ifndef __IRelatedItem_FWD_DEFINED__ 766 #define __IRelatedItem_FWD_DEFINED__ 767 typedef interface IRelatedItem IRelatedItem; 768 #endif 769 770 #ifndef __IIdentityName_FWD_DEFINED__ 771 #define __IIdentityName_FWD_DEFINED__ 772 typedef interface IIdentityName IIdentityName; 773 #endif 774 775 #ifndef __IDelegateItem_FWD_DEFINED__ 776 #define __IDelegateItem_FWD_DEFINED__ 777 typedef interface IDelegateItem IDelegateItem; 778 #endif 779 780 #ifndef __ICurrentItem_FWD_DEFINED__ 781 #define __ICurrentItem_FWD_DEFINED__ 782 typedef interface ICurrentItem ICurrentItem; 783 #endif 784 785 #ifndef __ITransferMediumItem_FWD_DEFINED__ 786 #define __ITransferMediumItem_FWD_DEFINED__ 787 typedef interface ITransferMediumItem ITransferMediumItem; 788 #endif 789 790 #ifndef __IUseToBrowseItem_FWD_DEFINED__ 791 #define __IUseToBrowseItem_FWD_DEFINED__ 792 typedef interface IUseToBrowseItem IUseToBrowseItem; 793 #endif 794 795 #ifndef __IDisplayItem_FWD_DEFINED__ 796 #define __IDisplayItem_FWD_DEFINED__ 797 typedef interface IDisplayItem IDisplayItem; 798 #endif 799 800 #ifndef __IViewStateIdentityItem_FWD_DEFINED__ 801 #define __IViewStateIdentityItem_FWD_DEFINED__ 802 typedef interface IViewStateIdentityItem IViewStateIdentityItem; 803 #endif 804 805 #ifndef __IPreviewItem_FWD_DEFINED__ 806 #define __IPreviewItem_FWD_DEFINED__ 807 typedef interface IPreviewItem IPreviewItem; 808 #endif 809 810 #ifndef __IDestinationStreamFactory_FWD_DEFINED__ 811 #define __IDestinationStreamFactory_FWD_DEFINED__ 812 typedef interface IDestinationStreamFactory IDestinationStreamFactory; 813 #endif 814 815 #ifndef __INewMenuClient_FWD_DEFINED__ 816 #define __INewMenuClient_FWD_DEFINED__ 817 typedef interface INewMenuClient INewMenuClient; 818 #endif 819 820 #ifndef __IInitializeWithBindCtx_FWD_DEFINED__ 821 #define __IInitializeWithBindCtx_FWD_DEFINED__ 822 typedef interface IInitializeWithBindCtx IInitializeWithBindCtx; 823 #endif 824 825 #ifndef __IShellItemFilter_FWD_DEFINED__ 826 #define __IShellItemFilter_FWD_DEFINED__ 827 typedef interface IShellItemFilter IShellItemFilter; 828 #endif 829 830 #ifndef __INameSpaceTreeControl_FWD_DEFINED__ 831 #define __INameSpaceTreeControl_FWD_DEFINED__ 832 typedef interface INameSpaceTreeControl INameSpaceTreeControl; 833 #endif 834 835 #ifndef __INameSpaceTreeControl2_FWD_DEFINED__ 836 #define __INameSpaceTreeControl2_FWD_DEFINED__ 837 typedef interface INameSpaceTreeControl2 INameSpaceTreeControl2; 838 #endif 839 840 #ifndef __INameSpaceTreeControlEvents_FWD_DEFINED__ 841 #define __INameSpaceTreeControlEvents_FWD_DEFINED__ 842 typedef interface INameSpaceTreeControlEvents INameSpaceTreeControlEvents; 843 #endif 844 845 #ifndef __INameSpaceTreeControlDropHandler_FWD_DEFINED__ 846 #define __INameSpaceTreeControlDropHandler_FWD_DEFINED__ 847 typedef interface INameSpaceTreeControlDropHandler INameSpaceTreeControlDropHandler; 848 #endif 849 850 #ifndef __INameSpaceTreeAccessible_FWD_DEFINED__ 851 #define __INameSpaceTreeAccessible_FWD_DEFINED__ 852 typedef interface INameSpaceTreeAccessible INameSpaceTreeAccessible; 853 #endif 854 855 #ifndef __INameSpaceTreeControlCustomDraw_FWD_DEFINED__ 856 #define __INameSpaceTreeControlCustomDraw_FWD_DEFINED__ 857 typedef interface INameSpaceTreeControlCustomDraw INameSpaceTreeControlCustomDraw; 858 #endif 859 860 #ifndef __INameSpaceTreeControlFolderCapabilities_FWD_DEFINED__ 861 #define __INameSpaceTreeControlFolderCapabilities_FWD_DEFINED__ 862 typedef interface INameSpaceTreeControlFolderCapabilities INameSpaceTreeControlFolderCapabilities; 863 #endif 864 865 #ifndef __IPreviewHandler_FWD_DEFINED__ 866 #define __IPreviewHandler_FWD_DEFINED__ 867 typedef interface IPreviewHandler IPreviewHandler; 868 #endif 869 870 #ifndef __IPreviewHandlerFrame_FWD_DEFINED__ 871 #define __IPreviewHandlerFrame_FWD_DEFINED__ 872 typedef interface IPreviewHandlerFrame IPreviewHandlerFrame; 873 #endif 874 875 #ifndef __ITrayDeskBand_FWD_DEFINED__ 876 #define __ITrayDeskBand_FWD_DEFINED__ 877 typedef interface ITrayDeskBand ITrayDeskBand; 878 #endif 879 880 #ifndef __IBandHost_FWD_DEFINED__ 881 #define __IBandHost_FWD_DEFINED__ 882 typedef interface IBandHost IBandHost; 883 #endif 884 885 #ifndef __IExplorerPaneVisibility_FWD_DEFINED__ 886 #define __IExplorerPaneVisibility_FWD_DEFINED__ 887 typedef interface IExplorerPaneVisibility IExplorerPaneVisibility; 888 #endif 889 890 #ifndef __IContextMenuCB_FWD_DEFINED__ 891 #define __IContextMenuCB_FWD_DEFINED__ 892 typedef interface IContextMenuCB IContextMenuCB; 893 #endif 894 895 #ifndef __IDefaultExtractIconInit_FWD_DEFINED__ 896 #define __IDefaultExtractIconInit_FWD_DEFINED__ 897 typedef interface IDefaultExtractIconInit IDefaultExtractIconInit; 898 #endif 899 900 #ifndef __IExplorerCommand_FWD_DEFINED__ 901 #define __IExplorerCommand_FWD_DEFINED__ 902 typedef interface IExplorerCommand IExplorerCommand; 903 #endif 904 905 #ifndef __IExplorerCommandState_FWD_DEFINED__ 906 #define __IExplorerCommandState_FWD_DEFINED__ 907 typedef interface IExplorerCommandState IExplorerCommandState; 908 #endif 909 910 #ifndef __IInitializeCommand_FWD_DEFINED__ 911 #define __IInitializeCommand_FWD_DEFINED__ 912 typedef interface IInitializeCommand IInitializeCommand; 913 #endif 914 915 #ifndef __IEnumExplorerCommand_FWD_DEFINED__ 916 #define __IEnumExplorerCommand_FWD_DEFINED__ 917 typedef interface IEnumExplorerCommand IEnumExplorerCommand; 918 #endif 919 920 #ifndef __IExplorerCommandProvider_FWD_DEFINED__ 921 #define __IExplorerCommandProvider_FWD_DEFINED__ 922 typedef interface IExplorerCommandProvider IExplorerCommandProvider; 923 #endif 924 925 #ifndef __IInitializeNetworkFolder_FWD_DEFINED__ 926 #define __IInitializeNetworkFolder_FWD_DEFINED__ 927 typedef interface IInitializeNetworkFolder IInitializeNetworkFolder; 928 #endif 929 930 #ifndef __IOpenControlPanel_FWD_DEFINED__ 931 #define __IOpenControlPanel_FWD_DEFINED__ 932 typedef interface IOpenControlPanel IOpenControlPanel; 933 #endif 934 935 #ifndef __IComputerInfoChangeNotify_FWD_DEFINED__ 936 #define __IComputerInfoChangeNotify_FWD_DEFINED__ 937 typedef interface IComputerInfoChangeNotify IComputerInfoChangeNotify; 938 #endif 939 940 #ifndef __IFileSystemBindData_FWD_DEFINED__ 941 #define __IFileSystemBindData_FWD_DEFINED__ 942 typedef interface IFileSystemBindData IFileSystemBindData; 943 #endif 944 945 #ifndef __IFileSystemBindData2_FWD_DEFINED__ 946 #define __IFileSystemBindData2_FWD_DEFINED__ 947 typedef interface IFileSystemBindData2 IFileSystemBindData2; 948 #endif 949 950 #ifndef __ICustomDestinationList_FWD_DEFINED__ 951 #define __ICustomDestinationList_FWD_DEFINED__ 952 typedef interface ICustomDestinationList ICustomDestinationList; 953 #endif 954 955 #ifndef __IApplicationDestinations_FWD_DEFINED__ 956 #define __IApplicationDestinations_FWD_DEFINED__ 957 typedef interface IApplicationDestinations IApplicationDestinations; 958 #endif 959 960 #ifndef __IApplicationDocumentLists_FWD_DEFINED__ 961 #define __IApplicationDocumentLists_FWD_DEFINED__ 962 typedef interface IApplicationDocumentLists IApplicationDocumentLists; 963 #endif 964 965 #ifndef __IObjectWithAppUserModelID_FWD_DEFINED__ 966 #define __IObjectWithAppUserModelID_FWD_DEFINED__ 967 typedef interface IObjectWithAppUserModelID IObjectWithAppUserModelID; 968 #endif 969 970 #ifndef __IObjectWithProgID_FWD_DEFINED__ 971 #define __IObjectWithProgID_FWD_DEFINED__ 972 typedef interface IObjectWithProgID IObjectWithProgID; 973 #endif 974 975 #ifndef __IUpdateIDList_FWD_DEFINED__ 976 #define __IUpdateIDList_FWD_DEFINED__ 977 typedef interface IUpdateIDList IUpdateIDList; 978 #endif 979 980 #ifndef __IDesktopGadget_FWD_DEFINED__ 981 #define __IDesktopGadget_FWD_DEFINED__ 982 typedef interface IDesktopGadget IDesktopGadget; 983 #endif 984 985 #ifndef __IDesktopWallpaper_FWD_DEFINED__ 986 #define __IDesktopWallpaper_FWD_DEFINED__ 987 typedef interface IDesktopWallpaper IDesktopWallpaper; 988 #endif 989 990 #ifndef __IHomeGroup_FWD_DEFINED__ 991 #define __IHomeGroup_FWD_DEFINED__ 992 typedef interface IHomeGroup IHomeGroup; 993 #endif 994 995 #ifndef __IInitializeWithPropertyStore_FWD_DEFINED__ 996 #define __IInitializeWithPropertyStore_FWD_DEFINED__ 997 typedef interface IInitializeWithPropertyStore IInitializeWithPropertyStore; 998 #endif 999 1000 #ifndef __IOpenSearchSource_FWD_DEFINED__ 1001 #define __IOpenSearchSource_FWD_DEFINED__ 1002 typedef interface IOpenSearchSource IOpenSearchSource; 1003 #endif 1004 1005 #ifndef __IShellLibrary_FWD_DEFINED__ 1006 #define __IShellLibrary_FWD_DEFINED__ 1007 typedef interface IShellLibrary IShellLibrary; 1008 #endif 1009 1010 #ifndef __IPlaybackManagerEvents_FWD_DEFINED__ 1011 #define __IPlaybackManagerEvents_FWD_DEFINED__ 1012 typedef interface IPlaybackManagerEvents IPlaybackManagerEvents; 1013 #endif 1014 1015 #ifndef __IPlaybackManager_FWD_DEFINED__ 1016 #define __IPlaybackManager_FWD_DEFINED__ 1017 typedef interface IPlaybackManager IPlaybackManager; 1018 #endif 1019 1020 #ifndef __IDefaultFolderMenuInitialize_FWD_DEFINED__ 1021 #define __IDefaultFolderMenuInitialize_FWD_DEFINED__ 1022 typedef interface IDefaultFolderMenuInitialize IDefaultFolderMenuInitialize; 1023 #endif 1024 1025 #ifndef __IApplicationActivationManager_FWD_DEFINED__ 1026 #define __IApplicationActivationManager_FWD_DEFINED__ 1027 typedef interface IApplicationActivationManager IApplicationActivationManager; 1028 #endif 1029 1030 #ifndef __DesktopWallpaper_FWD_DEFINED__ 1031 #define __DesktopWallpaper_FWD_DEFINED__ 1032 #ifdef __cplusplus 1033 typedef class DesktopWallpaper DesktopWallpaper; 1034 #else 1035 typedef struct DesktopWallpaper DesktopWallpaper; 1036 #endif /* defined __cplusplus */ 1037 #endif /* defined __DesktopWallpaper_FWD_DEFINED__ */ 1038 1039 #ifndef __ShellDesktop_FWD_DEFINED__ 1040 #define __ShellDesktop_FWD_DEFINED__ 1041 #ifdef __cplusplus 1042 typedef class ShellDesktop ShellDesktop; 1043 #else 1044 typedef struct ShellDesktop ShellDesktop; 1045 #endif /* defined __cplusplus */ 1046 #endif /* defined __ShellDesktop_FWD_DEFINED__ */ 1047 1048 #ifndef __ShellFSFolder_FWD_DEFINED__ 1049 #define __ShellFSFolder_FWD_DEFINED__ 1050 #ifdef __cplusplus 1051 typedef class ShellFSFolder ShellFSFolder; 1052 #else 1053 typedef struct ShellFSFolder ShellFSFolder; 1054 #endif /* defined __cplusplus */ 1055 #endif /* defined __ShellFSFolder_FWD_DEFINED__ */ 1056 1057 #ifndef __NetworkPlaces_FWD_DEFINED__ 1058 #define __NetworkPlaces_FWD_DEFINED__ 1059 #ifdef __cplusplus 1060 typedef class NetworkPlaces NetworkPlaces; 1061 #else 1062 typedef struct NetworkPlaces NetworkPlaces; 1063 #endif /* defined __cplusplus */ 1064 #endif /* defined __NetworkPlaces_FWD_DEFINED__ */ 1065 1066 #ifndef __ShellLink_FWD_DEFINED__ 1067 #define __ShellLink_FWD_DEFINED__ 1068 #ifdef __cplusplus 1069 typedef class ShellLink ShellLink; 1070 #else 1071 typedef struct ShellLink ShellLink; 1072 #endif /* defined __cplusplus */ 1073 #endif /* defined __ShellLink_FWD_DEFINED__ */ 1074 1075 #ifndef __QueryCancelAutoPlay_FWD_DEFINED__ 1076 #define __QueryCancelAutoPlay_FWD_DEFINED__ 1077 #ifdef __cplusplus 1078 typedef class QueryCancelAutoPlay QueryCancelAutoPlay; 1079 #else 1080 typedef struct QueryCancelAutoPlay QueryCancelAutoPlay; 1081 #endif /* defined __cplusplus */ 1082 #endif /* defined __QueryCancelAutoPlay_FWD_DEFINED__ */ 1083 1084 #ifndef __DriveSizeCategorizer_FWD_DEFINED__ 1085 #define __DriveSizeCategorizer_FWD_DEFINED__ 1086 #ifdef __cplusplus 1087 typedef class DriveSizeCategorizer DriveSizeCategorizer; 1088 #else 1089 typedef struct DriveSizeCategorizer DriveSizeCategorizer; 1090 #endif /* defined __cplusplus */ 1091 #endif /* defined __DriveSizeCategorizer_FWD_DEFINED__ */ 1092 1093 #ifndef __DriveTypeCategorizer_FWD_DEFINED__ 1094 #define __DriveTypeCategorizer_FWD_DEFINED__ 1095 #ifdef __cplusplus 1096 typedef class DriveTypeCategorizer DriveTypeCategorizer; 1097 #else 1098 typedef struct DriveTypeCategorizer DriveTypeCategorizer; 1099 #endif /* defined __cplusplus */ 1100 #endif /* defined __DriveTypeCategorizer_FWD_DEFINED__ */ 1101 1102 #ifndef __FreeSpaceCategorizer_FWD_DEFINED__ 1103 #define __FreeSpaceCategorizer_FWD_DEFINED__ 1104 #ifdef __cplusplus 1105 typedef class FreeSpaceCategorizer FreeSpaceCategorizer; 1106 #else 1107 typedef struct FreeSpaceCategorizer FreeSpaceCategorizer; 1108 #endif /* defined __cplusplus */ 1109 #endif /* defined __FreeSpaceCategorizer_FWD_DEFINED__ */ 1110 1111 #ifndef __TimeCategorizer_FWD_DEFINED__ 1112 #define __TimeCategorizer_FWD_DEFINED__ 1113 #ifdef __cplusplus 1114 typedef class TimeCategorizer TimeCategorizer; 1115 #else 1116 typedef struct TimeCategorizer TimeCategorizer; 1117 #endif /* defined __cplusplus */ 1118 #endif /* defined __TimeCategorizer_FWD_DEFINED__ */ 1119 1120 #ifndef __SizeCategorizer_FWD_DEFINED__ 1121 #define __SizeCategorizer_FWD_DEFINED__ 1122 #ifdef __cplusplus 1123 typedef class SizeCategorizer SizeCategorizer; 1124 #else 1125 typedef struct SizeCategorizer SizeCategorizer; 1126 #endif /* defined __cplusplus */ 1127 #endif /* defined __SizeCategorizer_FWD_DEFINED__ */ 1128 1129 #ifndef __AlphabeticalCategorizer_FWD_DEFINED__ 1130 #define __AlphabeticalCategorizer_FWD_DEFINED__ 1131 #ifdef __cplusplus 1132 typedef class AlphabeticalCategorizer AlphabeticalCategorizer; 1133 #else 1134 typedef struct AlphabeticalCategorizer AlphabeticalCategorizer; 1135 #endif /* defined __cplusplus */ 1136 #endif /* defined __AlphabeticalCategorizer_FWD_DEFINED__ */ 1137 1138 #ifndef __MergedCategorizer_FWD_DEFINED__ 1139 #define __MergedCategorizer_FWD_DEFINED__ 1140 #ifdef __cplusplus 1141 typedef class MergedCategorizer MergedCategorizer; 1142 #else 1143 typedef struct MergedCategorizer MergedCategorizer; 1144 #endif /* defined __cplusplus */ 1145 #endif /* defined __MergedCategorizer_FWD_DEFINED__ */ 1146 1147 #ifndef __ImageProperties_FWD_DEFINED__ 1148 #define __ImageProperties_FWD_DEFINED__ 1149 #ifdef __cplusplus 1150 typedef class ImageProperties ImageProperties; 1151 #else 1152 typedef struct ImageProperties ImageProperties; 1153 #endif /* defined __cplusplus */ 1154 #endif /* defined __ImageProperties_FWD_DEFINED__ */ 1155 1156 #ifndef __PropertiesUI_FWD_DEFINED__ 1157 #define __PropertiesUI_FWD_DEFINED__ 1158 #ifdef __cplusplus 1159 typedef class PropertiesUI PropertiesUI; 1160 #else 1161 typedef struct PropertiesUI PropertiesUI; 1162 #endif /* defined __cplusplus */ 1163 #endif /* defined __PropertiesUI_FWD_DEFINED__ */ 1164 1165 #ifndef __UserNotification_FWD_DEFINED__ 1166 #define __UserNotification_FWD_DEFINED__ 1167 #ifdef __cplusplus 1168 typedef class UserNotification UserNotification; 1169 #else 1170 typedef struct UserNotification UserNotification; 1171 #endif /* defined __cplusplus */ 1172 #endif /* defined __UserNotification_FWD_DEFINED__ */ 1173 1174 #ifndef __CDBurn_FWD_DEFINED__ 1175 #define __CDBurn_FWD_DEFINED__ 1176 #ifdef __cplusplus 1177 typedef class CDBurn CDBurn; 1178 #else 1179 typedef struct CDBurn CDBurn; 1180 #endif /* defined __cplusplus */ 1181 #endif /* defined __CDBurn_FWD_DEFINED__ */ 1182 1183 #ifndef __TaskbarList_FWD_DEFINED__ 1184 #define __TaskbarList_FWD_DEFINED__ 1185 #ifdef __cplusplus 1186 typedef class TaskbarList TaskbarList; 1187 #else 1188 typedef struct TaskbarList TaskbarList; 1189 #endif /* defined __cplusplus */ 1190 #endif /* defined __TaskbarList_FWD_DEFINED__ */ 1191 1192 #ifndef __StartMenuPin_FWD_DEFINED__ 1193 #define __StartMenuPin_FWD_DEFINED__ 1194 #ifdef __cplusplus 1195 typedef class StartMenuPin StartMenuPin; 1196 #else 1197 typedef struct StartMenuPin StartMenuPin; 1198 #endif /* defined __cplusplus */ 1199 #endif /* defined __StartMenuPin_FWD_DEFINED__ */ 1200 1201 #ifndef __WebWizardHost_FWD_DEFINED__ 1202 #define __WebWizardHost_FWD_DEFINED__ 1203 #ifdef __cplusplus 1204 typedef class WebWizardHost WebWizardHost; 1205 #else 1206 typedef struct WebWizardHost WebWizardHost; 1207 #endif /* defined __cplusplus */ 1208 #endif /* defined __WebWizardHost_FWD_DEFINED__ */ 1209 1210 #ifndef __PublishDropTarget_FWD_DEFINED__ 1211 #define __PublishDropTarget_FWD_DEFINED__ 1212 #ifdef __cplusplus 1213 typedef class PublishDropTarget PublishDropTarget; 1214 #else 1215 typedef struct PublishDropTarget PublishDropTarget; 1216 #endif /* defined __cplusplus */ 1217 #endif /* defined __PublishDropTarget_FWD_DEFINED__ */ 1218 1219 #ifndef __PublishingWizard_FWD_DEFINED__ 1220 #define __PublishingWizard_FWD_DEFINED__ 1221 #ifdef __cplusplus 1222 typedef class PublishingWizard PublishingWizard; 1223 #else 1224 typedef struct PublishingWizard PublishingWizard; 1225 #endif /* defined __cplusplus */ 1226 #endif /* defined __PublishingWizard_FWD_DEFINED__ */ 1227 1228 #ifndef __InternetPrintOrdering_FWD_DEFINED__ 1229 #define __InternetPrintOrdering_FWD_DEFINED__ 1230 #ifdef __cplusplus 1231 typedef class InternetPrintOrdering InternetPrintOrdering; 1232 #else 1233 typedef struct InternetPrintOrdering InternetPrintOrdering; 1234 #endif /* defined __cplusplus */ 1235 #endif /* defined __InternetPrintOrdering_FWD_DEFINED__ */ 1236 1237 #ifndef __FolderViewHost_FWD_DEFINED__ 1238 #define __FolderViewHost_FWD_DEFINED__ 1239 #ifdef __cplusplus 1240 typedef class FolderViewHost FolderViewHost; 1241 #else 1242 typedef struct FolderViewHost FolderViewHost; 1243 #endif /* defined __cplusplus */ 1244 #endif /* defined __FolderViewHost_FWD_DEFINED__ */ 1245 1246 #ifndef __ExplorerBrowser_FWD_DEFINED__ 1247 #define __ExplorerBrowser_FWD_DEFINED__ 1248 #ifdef __cplusplus 1249 typedef class ExplorerBrowser ExplorerBrowser; 1250 #else 1251 typedef struct ExplorerBrowser ExplorerBrowser; 1252 #endif /* defined __cplusplus */ 1253 #endif /* defined __ExplorerBrowser_FWD_DEFINED__ */ 1254 1255 #ifndef __ImageRecompress_FWD_DEFINED__ 1256 #define __ImageRecompress_FWD_DEFINED__ 1257 #ifdef __cplusplus 1258 typedef class ImageRecompress ImageRecompress; 1259 #else 1260 typedef struct ImageRecompress ImageRecompress; 1261 #endif /* defined __cplusplus */ 1262 #endif /* defined __ImageRecompress_FWD_DEFINED__ */ 1263 1264 #ifndef __TrayBandSiteService_FWD_DEFINED__ 1265 #define __TrayBandSiteService_FWD_DEFINED__ 1266 #ifdef __cplusplus 1267 typedef class TrayBandSiteService TrayBandSiteService; 1268 #else 1269 typedef struct TrayBandSiteService TrayBandSiteService; 1270 #endif /* defined __cplusplus */ 1271 #endif /* defined __TrayBandSiteService_FWD_DEFINED__ */ 1272 1273 #ifndef __TrayDeskBand_FWD_DEFINED__ 1274 #define __TrayDeskBand_FWD_DEFINED__ 1275 #ifdef __cplusplus 1276 typedef class TrayDeskBand TrayDeskBand; 1277 #else 1278 typedef struct TrayDeskBand TrayDeskBand; 1279 #endif /* defined __cplusplus */ 1280 #endif /* defined __TrayDeskBand_FWD_DEFINED__ */ 1281 1282 #ifndef __AttachmentServices_FWD_DEFINED__ 1283 #define __AttachmentServices_FWD_DEFINED__ 1284 #ifdef __cplusplus 1285 typedef class AttachmentServices AttachmentServices; 1286 #else 1287 typedef struct AttachmentServices AttachmentServices; 1288 #endif /* defined __cplusplus */ 1289 #endif /* defined __AttachmentServices_FWD_DEFINED__ */ 1290 1291 #ifndef __DocPropShellExtension_FWD_DEFINED__ 1292 #define __DocPropShellExtension_FWD_DEFINED__ 1293 #ifdef __cplusplus 1294 typedef class DocPropShellExtension DocPropShellExtension; 1295 #else 1296 typedef struct DocPropShellExtension DocPropShellExtension; 1297 #endif /* defined __cplusplus */ 1298 #endif /* defined __DocPropShellExtension_FWD_DEFINED__ */ 1299 1300 #ifndef __ShellItem_FWD_DEFINED__ 1301 #define __ShellItem_FWD_DEFINED__ 1302 #ifdef __cplusplus 1303 typedef class ShellItem ShellItem; 1304 #else 1305 typedef struct ShellItem ShellItem; 1306 #endif /* defined __cplusplus */ 1307 #endif /* defined __ShellItem_FWD_DEFINED__ */ 1308 1309 #ifndef __NamespaceWalker_FWD_DEFINED__ 1310 #define __NamespaceWalker_FWD_DEFINED__ 1311 #ifdef __cplusplus 1312 typedef class NamespaceWalker NamespaceWalker; 1313 #else 1314 typedef struct NamespaceWalker NamespaceWalker; 1315 #endif /* defined __cplusplus */ 1316 #endif /* defined __NamespaceWalker_FWD_DEFINED__ */ 1317 1318 #ifndef __FileOperation_FWD_DEFINED__ 1319 #define __FileOperation_FWD_DEFINED__ 1320 #ifdef __cplusplus 1321 typedef class FileOperation FileOperation; 1322 #else 1323 typedef struct FileOperation FileOperation; 1324 #endif /* defined __cplusplus */ 1325 #endif /* defined __FileOperation_FWD_DEFINED__ */ 1326 1327 #ifndef __FileOpenDialog_FWD_DEFINED__ 1328 #define __FileOpenDialog_FWD_DEFINED__ 1329 #ifdef __cplusplus 1330 typedef class FileOpenDialog FileOpenDialog; 1331 #else 1332 typedef struct FileOpenDialog FileOpenDialog; 1333 #endif /* defined __cplusplus */ 1334 #endif /* defined __FileOpenDialog_FWD_DEFINED__ */ 1335 1336 #ifndef __FileSaveDialog_FWD_DEFINED__ 1337 #define __FileSaveDialog_FWD_DEFINED__ 1338 #ifdef __cplusplus 1339 typedef class FileSaveDialog FileSaveDialog; 1340 #else 1341 typedef struct FileSaveDialog FileSaveDialog; 1342 #endif /* defined __cplusplus */ 1343 #endif /* defined __FileSaveDialog_FWD_DEFINED__ */ 1344 1345 #ifndef __KnownFolderManager_FWD_DEFINED__ 1346 #define __KnownFolderManager_FWD_DEFINED__ 1347 #ifdef __cplusplus 1348 typedef class KnownFolderManager KnownFolderManager; 1349 #else 1350 typedef struct KnownFolderManager KnownFolderManager; 1351 #endif /* defined __cplusplus */ 1352 #endif /* defined __KnownFolderManager_FWD_DEFINED__ */ 1353 1354 #ifndef __FSCopyHandler_FWD_DEFINED__ 1355 #define __FSCopyHandler_FWD_DEFINED__ 1356 #ifdef __cplusplus 1357 typedef class FSCopyHandler FSCopyHandler; 1358 #else 1359 typedef struct FSCopyHandler FSCopyHandler; 1360 #endif /* defined __cplusplus */ 1361 #endif /* defined __FSCopyHandler_FWD_DEFINED__ */ 1362 1363 #ifndef __SharingConfigurationManager_FWD_DEFINED__ 1364 #define __SharingConfigurationManager_FWD_DEFINED__ 1365 #ifdef __cplusplus 1366 typedef class SharingConfigurationManager SharingConfigurationManager; 1367 #else 1368 typedef struct SharingConfigurationManager SharingConfigurationManager; 1369 #endif /* defined __cplusplus */ 1370 #endif /* defined __SharingConfigurationManager_FWD_DEFINED__ */ 1371 1372 #ifndef __PreviousVersions_FWD_DEFINED__ 1373 #define __PreviousVersions_FWD_DEFINED__ 1374 #ifdef __cplusplus 1375 typedef class PreviousVersions PreviousVersions; 1376 #else 1377 typedef struct PreviousVersions PreviousVersions; 1378 #endif /* defined __cplusplus */ 1379 #endif /* defined __PreviousVersions_FWD_DEFINED__ */ 1380 1381 #ifndef __NetworkConnections_FWD_DEFINED__ 1382 #define __NetworkConnections_FWD_DEFINED__ 1383 #ifdef __cplusplus 1384 typedef class NetworkConnections NetworkConnections; 1385 #else 1386 typedef struct NetworkConnections NetworkConnections; 1387 #endif /* defined __cplusplus */ 1388 #endif /* defined __NetworkConnections_FWD_DEFINED__ */ 1389 1390 #ifndef __NamespaceTreeControl_FWD_DEFINED__ 1391 #define __NamespaceTreeControl_FWD_DEFINED__ 1392 #ifdef __cplusplus 1393 typedef class NamespaceTreeControl NamespaceTreeControl; 1394 #else 1395 typedef struct NamespaceTreeControl NamespaceTreeControl; 1396 #endif /* defined __cplusplus */ 1397 #endif /* defined __NamespaceTreeControl_FWD_DEFINED__ */ 1398 1399 #ifndef __IENamespaceTreeControl_FWD_DEFINED__ 1400 #define __IENamespaceTreeControl_FWD_DEFINED__ 1401 #ifdef __cplusplus 1402 typedef class IENamespaceTreeControl IENamespaceTreeControl; 1403 #else 1404 typedef struct IENamespaceTreeControl IENamespaceTreeControl; 1405 #endif /* defined __cplusplus */ 1406 #endif /* defined __IENamespaceTreeControl_FWD_DEFINED__ */ 1407 1408 #ifndef __ScheduledTasks_FWD_DEFINED__ 1409 #define __ScheduledTasks_FWD_DEFINED__ 1410 #ifdef __cplusplus 1411 typedef class ScheduledTasks ScheduledTasks; 1412 #else 1413 typedef struct ScheduledTasks ScheduledTasks; 1414 #endif /* defined __cplusplus */ 1415 #endif /* defined __ScheduledTasks_FWD_DEFINED__ */ 1416 1417 #ifndef __ApplicationAssociationRegistration_FWD_DEFINED__ 1418 #define __ApplicationAssociationRegistration_FWD_DEFINED__ 1419 #ifdef __cplusplus 1420 typedef class ApplicationAssociationRegistration ApplicationAssociationRegistration; 1421 #else 1422 typedef struct ApplicationAssociationRegistration ApplicationAssociationRegistration; 1423 #endif /* defined __cplusplus */ 1424 #endif /* defined __ApplicationAssociationRegistration_FWD_DEFINED__ */ 1425 1426 #ifndef __ApplicationAssociationRegistrationUI_FWD_DEFINED__ 1427 #define __ApplicationAssociationRegistrationUI_FWD_DEFINED__ 1428 #ifdef __cplusplus 1429 typedef class ApplicationAssociationRegistrationUI ApplicationAssociationRegistrationUI; 1430 #else 1431 typedef struct ApplicationAssociationRegistrationUI ApplicationAssociationRegistrationUI; 1432 #endif /* defined __cplusplus */ 1433 #endif /* defined __ApplicationAssociationRegistrationUI_FWD_DEFINED__ */ 1434 1435 #ifndef __SearchFolderItemFactory_FWD_DEFINED__ 1436 #define __SearchFolderItemFactory_FWD_DEFINED__ 1437 #ifdef __cplusplus 1438 typedef class SearchFolderItemFactory SearchFolderItemFactory; 1439 #else 1440 typedef struct SearchFolderItemFactory SearchFolderItemFactory; 1441 #endif /* defined __cplusplus */ 1442 #endif /* defined __SearchFolderItemFactory_FWD_DEFINED__ */ 1443 1444 #ifndef __OpenControlPanel_FWD_DEFINED__ 1445 #define __OpenControlPanel_FWD_DEFINED__ 1446 #ifdef __cplusplus 1447 typedef class OpenControlPanel OpenControlPanel; 1448 #else 1449 typedef struct OpenControlPanel OpenControlPanel; 1450 #endif /* defined __cplusplus */ 1451 #endif /* defined __OpenControlPanel_FWD_DEFINED__ */ 1452 1453 #ifndef __MailRecipient_FWD_DEFINED__ 1454 #define __MailRecipient_FWD_DEFINED__ 1455 #ifdef __cplusplus 1456 typedef class MailRecipient MailRecipient; 1457 #else 1458 typedef struct MailRecipient MailRecipient; 1459 #endif /* defined __cplusplus */ 1460 #endif /* defined __MailRecipient_FWD_DEFINED__ */ 1461 1462 #ifndef __NetworkExplorerFolder_FWD_DEFINED__ 1463 #define __NetworkExplorerFolder_FWD_DEFINED__ 1464 #ifdef __cplusplus 1465 typedef class NetworkExplorerFolder NetworkExplorerFolder; 1466 #else 1467 typedef struct NetworkExplorerFolder NetworkExplorerFolder; 1468 #endif /* defined __cplusplus */ 1469 #endif /* defined __NetworkExplorerFolder_FWD_DEFINED__ */ 1470 1471 #ifndef __DestinationList_FWD_DEFINED__ 1472 #define __DestinationList_FWD_DEFINED__ 1473 #ifdef __cplusplus 1474 typedef class DestinationList DestinationList; 1475 #else 1476 typedef struct DestinationList DestinationList; 1477 #endif /* defined __cplusplus */ 1478 #endif /* defined __DestinationList_FWD_DEFINED__ */ 1479 1480 #ifndef __ApplicationDestinations_FWD_DEFINED__ 1481 #define __ApplicationDestinations_FWD_DEFINED__ 1482 #ifdef __cplusplus 1483 typedef class ApplicationDestinations ApplicationDestinations; 1484 #else 1485 typedef struct ApplicationDestinations ApplicationDestinations; 1486 #endif /* defined __cplusplus */ 1487 #endif /* defined __ApplicationDestinations_FWD_DEFINED__ */ 1488 1489 #ifndef __ApplicationDocumentLists_FWD_DEFINED__ 1490 #define __ApplicationDocumentLists_FWD_DEFINED__ 1491 #ifdef __cplusplus 1492 typedef class ApplicationDocumentLists ApplicationDocumentLists; 1493 #else 1494 typedef struct ApplicationDocumentLists ApplicationDocumentLists; 1495 #endif /* defined __cplusplus */ 1496 #endif /* defined __ApplicationDocumentLists_FWD_DEFINED__ */ 1497 1498 #ifndef __HomeGroup_FWD_DEFINED__ 1499 #define __HomeGroup_FWD_DEFINED__ 1500 #ifdef __cplusplus 1501 typedef class HomeGroup HomeGroup; 1502 #else 1503 typedef struct HomeGroup HomeGroup; 1504 #endif /* defined __cplusplus */ 1505 #endif /* defined __HomeGroup_FWD_DEFINED__ */ 1506 1507 #ifndef __ShellLibrary_FWD_DEFINED__ 1508 #define __ShellLibrary_FWD_DEFINED__ 1509 #ifdef __cplusplus 1510 typedef class ShellLibrary ShellLibrary; 1511 #else 1512 typedef struct ShellLibrary ShellLibrary; 1513 #endif /* defined __cplusplus */ 1514 #endif /* defined __ShellLibrary_FWD_DEFINED__ */ 1515 1516 #ifndef __AppStartupLink_FWD_DEFINED__ 1517 #define __AppStartupLink_FWD_DEFINED__ 1518 #ifdef __cplusplus 1519 typedef class AppStartupLink AppStartupLink; 1520 #else 1521 typedef struct AppStartupLink AppStartupLink; 1522 #endif /* defined __cplusplus */ 1523 #endif /* defined __AppStartupLink_FWD_DEFINED__ */ 1524 1525 #ifndef __EnumerableObjectCollection_FWD_DEFINED__ 1526 #define __EnumerableObjectCollection_FWD_DEFINED__ 1527 #ifdef __cplusplus 1528 typedef class EnumerableObjectCollection EnumerableObjectCollection; 1529 #else 1530 typedef struct EnumerableObjectCollection EnumerableObjectCollection; 1531 #endif /* defined __cplusplus */ 1532 #endif /* defined __EnumerableObjectCollection_FWD_DEFINED__ */ 1533 1534 #ifndef __DesktopGadget_FWD_DEFINED__ 1535 #define __DesktopGadget_FWD_DEFINED__ 1536 #ifdef __cplusplus 1537 typedef class DesktopGadget DesktopGadget; 1538 #else 1539 typedef struct DesktopGadget DesktopGadget; 1540 #endif /* defined __cplusplus */ 1541 #endif /* defined __DesktopGadget_FWD_DEFINED__ */ 1542 1543 #ifndef __PlaybackManager_FWD_DEFINED__ 1544 #define __PlaybackManager_FWD_DEFINED__ 1545 #ifdef __cplusplus 1546 typedef class PlaybackManager PlaybackManager; 1547 #else 1548 typedef struct PlaybackManager PlaybackManager; 1549 #endif /* defined __cplusplus */ 1550 #endif /* defined __PlaybackManager_FWD_DEFINED__ */ 1551 1552 #ifndef __AccessibilityDockingService_FWD_DEFINED__ 1553 #define __AccessibilityDockingService_FWD_DEFINED__ 1554 #ifdef __cplusplus 1555 typedef class AccessibilityDockingService AccessibilityDockingService; 1556 #else 1557 typedef struct AccessibilityDockingService AccessibilityDockingService; 1558 #endif /* defined __cplusplus */ 1559 #endif /* defined __AccessibilityDockingService_FWD_DEFINED__ */ 1560 1561 #ifndef __FrameworkInputPane_FWD_DEFINED__ 1562 #define __FrameworkInputPane_FWD_DEFINED__ 1563 #ifdef __cplusplus 1564 typedef class FrameworkInputPane FrameworkInputPane; 1565 #else 1566 typedef struct FrameworkInputPane FrameworkInputPane; 1567 #endif /* defined __cplusplus */ 1568 #endif /* defined __FrameworkInputPane_FWD_DEFINED__ */ 1569 1570 #ifndef __DefFolderMenu_FWD_DEFINED__ 1571 #define __DefFolderMenu_FWD_DEFINED__ 1572 #ifdef __cplusplus 1573 typedef class DefFolderMenu DefFolderMenu; 1574 #else 1575 typedef struct DefFolderMenu DefFolderMenu; 1576 #endif /* defined __cplusplus */ 1577 #endif /* defined __DefFolderMenu_FWD_DEFINED__ */ 1578 1579 #ifndef __AppVisibility_FWD_DEFINED__ 1580 #define __AppVisibility_FWD_DEFINED__ 1581 #ifdef __cplusplus 1582 typedef class AppVisibility AppVisibility; 1583 #else 1584 typedef struct AppVisibility AppVisibility; 1585 #endif /* defined __cplusplus */ 1586 #endif /* defined __AppVisibility_FWD_DEFINED__ */ 1587 1588 #ifndef __AppShellVerbHandler_FWD_DEFINED__ 1589 #define __AppShellVerbHandler_FWD_DEFINED__ 1590 #ifdef __cplusplus 1591 typedef class AppShellVerbHandler AppShellVerbHandler; 1592 #else 1593 typedef struct AppShellVerbHandler AppShellVerbHandler; 1594 #endif /* defined __cplusplus */ 1595 #endif /* defined __AppShellVerbHandler_FWD_DEFINED__ */ 1596 1597 #ifndef __ExecuteUnknown_FWD_DEFINED__ 1598 #define __ExecuteUnknown_FWD_DEFINED__ 1599 #ifdef __cplusplus 1600 typedef class ExecuteUnknown ExecuteUnknown; 1601 #else 1602 typedef struct ExecuteUnknown ExecuteUnknown; 1603 #endif /* defined __cplusplus */ 1604 #endif /* defined __ExecuteUnknown_FWD_DEFINED__ */ 1605 1606 #ifndef __PackageDebugSettings_FWD_DEFINED__ 1607 #define __PackageDebugSettings_FWD_DEFINED__ 1608 #ifdef __cplusplus 1609 typedef class PackageDebugSettings PackageDebugSettings; 1610 #else 1611 typedef struct PackageDebugSettings PackageDebugSettings; 1612 #endif /* defined __cplusplus */ 1613 #endif /* defined __PackageDebugSettings_FWD_DEFINED__ */ 1614 1615 #ifndef __ApplicationActivationManager_FWD_DEFINED__ 1616 #define __ApplicationActivationManager_FWD_DEFINED__ 1617 #ifdef __cplusplus 1618 typedef class ApplicationActivationManager ApplicationActivationManager; 1619 #else 1620 typedef struct ApplicationActivationManager ApplicationActivationManager; 1621 #endif /* defined __cplusplus */ 1622 #endif /* defined __ApplicationActivationManager_FWD_DEFINED__ */ 1623 1624 #ifndef __ApplicationDesignModeSettings_FWD_DEFINED__ 1625 #define __ApplicationDesignModeSettings_FWD_DEFINED__ 1626 #ifdef __cplusplus 1627 typedef class ApplicationDesignModeSettings ApplicationDesignModeSettings; 1628 #else 1629 typedef struct ApplicationDesignModeSettings ApplicationDesignModeSettings; 1630 #endif /* defined __cplusplus */ 1631 #endif /* defined __ApplicationDesignModeSettings_FWD_DEFINED__ */ 1632 1633 #ifndef __ExecuteFolder_FWD_DEFINED__ 1634 #define __ExecuteFolder_FWD_DEFINED__ 1635 #ifdef __cplusplus 1636 typedef class ExecuteFolder ExecuteFolder; 1637 #else 1638 typedef struct ExecuteFolder ExecuteFolder; 1639 #endif /* defined __cplusplus */ 1640 #endif /* defined __ExecuteFolder_FWD_DEFINED__ */ 1641 1642 #ifndef __IAssocHandlerInvoker_FWD_DEFINED__ 1643 #define __IAssocHandlerInvoker_FWD_DEFINED__ 1644 typedef interface IAssocHandlerInvoker IAssocHandlerInvoker; 1645 #endif 1646 1647 #ifndef __IAssocHandler_FWD_DEFINED__ 1648 #define __IAssocHandler_FWD_DEFINED__ 1649 typedef interface IAssocHandler IAssocHandler; 1650 #endif 1651 1652 #ifndef __IEnumAssocHandlers_FWD_DEFINED__ 1653 #define __IEnumAssocHandlers_FWD_DEFINED__ 1654 typedef interface IEnumAssocHandlers IEnumAssocHandlers; 1655 #endif 1656 1657 #ifndef __IDataObjectProvider_FWD_DEFINED__ 1658 #define __IDataObjectProvider_FWD_DEFINED__ 1659 typedef interface IDataObjectProvider IDataObjectProvider; 1660 #endif 1661 1662 #ifndef __IDataTransferManagerInterop_FWD_DEFINED__ 1663 #define __IDataTransferManagerInterop_FWD_DEFINED__ 1664 typedef interface IDataTransferManagerInterop IDataTransferManagerInterop; 1665 #endif 1666 1667 #ifndef __IFrameworkInputPaneHandler_FWD_DEFINED__ 1668 #define __IFrameworkInputPaneHandler_FWD_DEFINED__ 1669 typedef interface IFrameworkInputPaneHandler IFrameworkInputPaneHandler; 1670 #endif 1671 1672 #ifndef __IFrameworkInputPane_FWD_DEFINED__ 1673 #define __IFrameworkInputPane_FWD_DEFINED__ 1674 typedef interface IFrameworkInputPane IFrameworkInputPane; 1675 #endif 1676 1677 #ifndef __ISearchableApplication_FWD_DEFINED__ 1678 #define __ISearchableApplication_FWD_DEFINED__ 1679 typedef interface ISearchableApplication ISearchableApplication; 1680 #endif 1681 1682 #ifndef __IAccessibilityDockingServiceCallback_FWD_DEFINED__ 1683 #define __IAccessibilityDockingServiceCallback_FWD_DEFINED__ 1684 typedef interface IAccessibilityDockingServiceCallback IAccessibilityDockingServiceCallback; 1685 #endif 1686 1687 #ifndef __IAccessibilityDockingService_FWD_DEFINED__ 1688 #define __IAccessibilityDockingService_FWD_DEFINED__ 1689 typedef interface IAccessibilityDockingService IAccessibilityDockingService; 1690 #endif 1691 1692 #ifndef __IAppVisibilityEvents_FWD_DEFINED__ 1693 #define __IAppVisibilityEvents_FWD_DEFINED__ 1694 typedef interface IAppVisibilityEvents IAppVisibilityEvents; 1695 #endif 1696 1697 #ifndef __IAppVisibility_FWD_DEFINED__ 1698 #define __IAppVisibility_FWD_DEFINED__ 1699 typedef interface IAppVisibility IAppVisibility; 1700 #endif 1701 1702 #ifndef __IPackageExecutionStateChangeNotification_FWD_DEFINED__ 1703 #define __IPackageExecutionStateChangeNotification_FWD_DEFINED__ 1704 typedef interface IPackageExecutionStateChangeNotification IPackageExecutionStateChangeNotification; 1705 #endif 1706 1707 #ifndef __IPackageDebugSettings_FWD_DEFINED__ 1708 #define __IPackageDebugSettings_FWD_DEFINED__ 1709 typedef interface IPackageDebugSettings IPackageDebugSettings; 1710 #endif 1711 1712 #ifndef __IExecuteCommandApplicationHostEnvironment_FWD_DEFINED__ 1713 #define __IExecuteCommandApplicationHostEnvironment_FWD_DEFINED__ 1714 typedef interface IExecuteCommandApplicationHostEnvironment IExecuteCommandApplicationHostEnvironment; 1715 #endif 1716 1717 #ifndef __IExecuteCommandHost_FWD_DEFINED__ 1718 #define __IExecuteCommandHost_FWD_DEFINED__ 1719 typedef interface IExecuteCommandHost IExecuteCommandHost; 1720 #endif 1721 1722 #ifndef __IApplicationDesignModeSettings_FWD_DEFINED__ 1723 #define __IApplicationDesignModeSettings_FWD_DEFINED__ 1724 typedef interface IApplicationDesignModeSettings IApplicationDesignModeSettings; 1725 #endif 1726 1727 #ifndef __IInitializeWithWindow_FWD_DEFINED__ 1728 #define __IInitializeWithWindow_FWD_DEFINED__ 1729 typedef interface IInitializeWithWindow IInitializeWithWindow; 1730 #endif 1731 1732 #ifndef __IHandlerInfo_FWD_DEFINED__ 1733 #define __IHandlerInfo_FWD_DEFINED__ 1734 typedef interface IHandlerInfo IHandlerInfo; 1735 #endif 1736 1737 #ifndef __IHandlerActivationHost_FWD_DEFINED__ 1738 #define __IHandlerActivationHost_FWD_DEFINED__ 1739 typedef interface IHandlerActivationHost IHandlerActivationHost; 1740 #endif 1741 1742 /* Headers for imported files */ 1743 1744 #include <objidl.h> 1745 #include <oleidl.h> 1746 #include <oaidl.h> 1747 #include <docobj.h> 1748 #include <shtypes.h> 1749 #include <servprov.h> 1750 #include <comcat.h> 1751 #include <propidl.h> 1752 #include <prsht.h> 1753 #include <msxml.h> 1754 #include <wtypes.h> 1755 #include <propsys.h> 1756 #include <objectarray.h> 1757 #include <structuredquerycondition.h> 1758 1759 #ifdef __cplusplus 1760 extern "C" { 1761 #endif 1762 1763 /** 1764 * This file is part of the mingw-w64 runtime package. 1765 * No warranty is given; refer to the file DISCLAIMER within this package. 1766 */ 1767 1768 #include <winapifamily.h> 1769 1770 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 1771 1772 #include <_mingw_unicode.h> 1773 1774 1775 #include <sherrors.h> 1776 1777 #ifndef SHSTDAPI 1778 #ifdef _SHELL32_ 1779 #define SHSTDAPI STDAPI 1780 #define SHSTDAPI_(type) STDAPI_(type) 1781 #else 1782 #define SHSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE 1783 #define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE 1784 #endif 1785 #endif 1786 1787 #define CMF_NORMAL 0x0 1788 #define CMF_DEFAULTONLY 0x1 1789 #define CMF_VERBSONLY 0x2 1790 #define CMF_EXPLORE 0x4 1791 #define CMF_NOVERBS 0x8 1792 #define CMF_CANRENAME 0x10 1793 #define CMF_NODEFAULT 0x20 1794 #if NTDDI_VERSION < NTDDI_VISTA 1795 #define CMF_INCLUDESTATIC 0x40 1796 #endif 1797 #if NTDDI_VERSION >= NTDDI_VISTA 1798 #define CMF_ITEMMENU 0x80 1799 #endif 1800 #define CMF_EXTENDEDVERBS 0x100 1801 #if NTDDI_VERSION >= NTDDI_VISTA 1802 #define CMF_DISABLEDVERBS 0x200 1803 #endif 1804 #define CMF_ASYNCVERBSTATE 0x400 1805 #define CMF_OPTIMIZEFORINVOKE 0x800 1806 #define CMF_SYNCCASCADEMENU 0x1000 1807 #define CMF_DONOTPICKDEFAULT 0x2000 1808 #define CMF_RESERVED 0xffff0000 1809 1810 #define GCS_VERBA 0x0 1811 #define GCS_HELPTEXTA 0x1 1812 #define GCS_VALIDATEA 0x2 1813 #define GCS_VERBW 0x4 1814 #define GCS_HELPTEXTW 0x5 1815 #define GCS_VALIDATEW 0x6 1816 #define GCS_VERBICONW 0x14 1817 #define GCS_UNICODE 0x4 1818 1819 #define GCS_VERB __MINGW_NAME_AW(GCS_VERB) 1820 #define GCS_HELPTEXT __MINGW_NAME_AW(GCS_HELPTEXT) 1821 #define GCS_VALIDATE __MINGW_NAME_AW(GCS_VALIDATE) 1822 1823 #define CMDSTR_NEWFOLDERA "NewFolder" 1824 #define CMDSTR_VIEWLISTA "ViewList" 1825 #define CMDSTR_VIEWDETAILSA "ViewDetails" 1826 #define CMDSTR_NEWFOLDERW L"NewFolder" 1827 #define CMDSTR_VIEWLISTW L"ViewList" 1828 #define CMDSTR_VIEWDETAILSW L"ViewDetails" 1829 1830 #define CMDSTR_NEWFOLDER __MINGW_NAME_AW(CMDSTR_NEWFOLDER) 1831 #define CMDSTR_VIEWLIST __MINGW_NAME_AW(CMDSTR_VIEWLIST) 1832 #define CMDSTR_VIEWDETAILS __MINGW_NAME_AW(CMDSTR_VIEWDETAILS) 1833 1834 #define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY 1835 #define CMIC_MASK_ICON SEE_MASK_ICON 1836 #define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI 1837 #define CMIC_MASK_UNICODE SEE_MASK_UNICODE 1838 #define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE 1839 #if NTDDI_VERSION < NTDDI_VISTA 1840 #define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME 1841 #define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE 1842 #endif 1843 #define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM 1844 #define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK 1845 #if NTDDI_VERSION >= NTDDI_VISTA 1846 #define CMIC_MASK_NOASYNC SEE_MASK_NOASYNC 1847 #endif 1848 #define CMIC_MASK_SHIFT_DOWN 0x10000000 1849 #define CMIC_MASK_CONTROL_DOWN 0x40000000 1850 #define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE 1851 #define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS 1852 #define CMIC_MASK_PTINVOKE 0x20000000 1853 1854 #include <pshpack8.h> 1855 typedef struct _CMINVOKECOMMANDINFO { 1856 DWORD cbSize; 1857 DWORD fMask; 1858 HWND hwnd; 1859 LPCSTR lpVerb; 1860 LPCSTR lpParameters; 1861 LPCSTR lpDirectory; 1862 int nShow; 1863 DWORD dwHotKey; 1864 HANDLE hIcon; 1865 } CMINVOKECOMMANDINFO; 1866 1867 typedef CMINVOKECOMMANDINFO *LPCMINVOKECOMMANDINFO; 1868 typedef const CMINVOKECOMMANDINFO *PCCMINVOKECOMMANDINFO; 1869 1870 typedef struct _CMINVOKECOMMANDINFOEX { 1871 DWORD cbSize; 1872 DWORD fMask; 1873 HWND hwnd; 1874 LPCSTR lpVerb; 1875 LPCSTR lpParameters; 1876 LPCSTR lpDirectory; 1877 int nShow; 1878 DWORD dwHotKey; 1879 HANDLE hIcon; 1880 LPCSTR lpTitle; 1881 LPCWSTR lpVerbW; 1882 LPCWSTR lpParametersW; 1883 LPCWSTR lpDirectoryW; 1884 LPCWSTR lpTitleW; 1885 POINT ptInvoke; 1886 } CMINVOKECOMMANDINFOEX; 1887 1888 typedef CMINVOKECOMMANDINFOEX *LPCMINVOKECOMMANDINFOEX; 1889 typedef const CMINVOKECOMMANDINFOEX *PCCMINVOKECOMMANDINFOEX; 1890 #include <poppack.h> 1891 1892 /***************************************************************************** 1893 * IContextMenu interface 1894 */ 1895 #ifndef __IContextMenu_INTERFACE_DEFINED__ 1896 #define __IContextMenu_INTERFACE_DEFINED__ 1897 1898 DEFINE_GUID(IID_IContextMenu, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1899 #if defined(__cplusplus) && !defined(CINTERFACE) 1900 MIDL_INTERFACE("000214e4-0000-0000-c000-000000000046") 1901 IContextMenu : public IUnknown 1902 { 1903 virtual HRESULT STDMETHODCALLTYPE QueryContextMenu( 1904 HMENU hmenu, 1905 UINT indexMenu, 1906 UINT idCmdFirst, 1907 UINT idCmdLast, 1908 UINT uFlags) = 0; 1909 1910 virtual HRESULT STDMETHODCALLTYPE InvokeCommand( 1911 CMINVOKECOMMANDINFO *pici) = 0; 1912 1913 virtual HRESULT STDMETHODCALLTYPE GetCommandString( 1914 UINT_PTR idCmd, 1915 UINT uType, 1916 UINT *pReserved, 1917 CHAR *pszName, 1918 UINT cchMax) = 0; 1919 1920 }; 1921 #ifdef __CRT_UUID_DECL 1922 __CRT_UUID_DECL(IContextMenu, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1923 #endif 1924 #else 1925 typedef struct IContextMenuVtbl { 1926 BEGIN_INTERFACE 1927 1928 /*** IUnknown methods ***/ 1929 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1930 IContextMenu* This, 1931 REFIID riid, 1932 void **ppvObject); 1933 1934 ULONG (STDMETHODCALLTYPE *AddRef)( 1935 IContextMenu* This); 1936 1937 ULONG (STDMETHODCALLTYPE *Release)( 1938 IContextMenu* This); 1939 1940 /*** IContextMenu methods ***/ 1941 HRESULT (STDMETHODCALLTYPE *QueryContextMenu)( 1942 IContextMenu* This, 1943 HMENU hmenu, 1944 UINT indexMenu, 1945 UINT idCmdFirst, 1946 UINT idCmdLast, 1947 UINT uFlags); 1948 1949 HRESULT (STDMETHODCALLTYPE *InvokeCommand)( 1950 IContextMenu* This, 1951 CMINVOKECOMMANDINFO *pici); 1952 1953 HRESULT (STDMETHODCALLTYPE *GetCommandString)( 1954 IContextMenu* This, 1955 UINT_PTR idCmd, 1956 UINT uType, 1957 UINT *pReserved, 1958 CHAR *pszName, 1959 UINT cchMax); 1960 1961 END_INTERFACE 1962 } IContextMenuVtbl; 1963 interface IContextMenu { 1964 CONST_VTBL IContextMenuVtbl* lpVtbl; 1965 }; 1966 1967 #ifdef COBJMACROS 1968 #ifndef WIDL_C_INLINE_WRAPPERS 1969 /*** IUnknown methods ***/ 1970 #define IContextMenu_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1971 #define IContextMenu_AddRef(This) (This)->lpVtbl->AddRef(This) 1972 #define IContextMenu_Release(This) (This)->lpVtbl->Release(This) 1973 /*** IContextMenu methods ***/ 1974 #define IContextMenu_QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) (This)->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) 1975 #define IContextMenu_InvokeCommand(This,pici) (This)->lpVtbl->InvokeCommand(This,pici) 1976 #define IContextMenu_GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) (This)->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) 1977 #else 1978 /*** IUnknown methods ***/ 1979 static FORCEINLINE HRESULT IContextMenu_QueryInterface(IContextMenu* This,REFIID riid,void **ppvObject) { 1980 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1981 } 1982 static FORCEINLINE ULONG IContextMenu_AddRef(IContextMenu* This) { 1983 return This->lpVtbl->AddRef(This); 1984 } 1985 static FORCEINLINE ULONG IContextMenu_Release(IContextMenu* This) { 1986 return This->lpVtbl->Release(This); 1987 } 1988 /*** IContextMenu methods ***/ 1989 static FORCEINLINE HRESULT IContextMenu_QueryContextMenu(IContextMenu* This,HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) { 1990 return This->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags); 1991 } 1992 static FORCEINLINE HRESULT IContextMenu_InvokeCommand(IContextMenu* This,CMINVOKECOMMANDINFO *pici) { 1993 return This->lpVtbl->InvokeCommand(This,pici); 1994 } 1995 static FORCEINLINE HRESULT IContextMenu_GetCommandString(IContextMenu* This,UINT_PTR idCmd,UINT uType,UINT *pReserved,CHAR *pszName,UINT cchMax) { 1996 return This->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax); 1997 } 1998 #endif 1999 #endif 2000 2001 #endif 2002 2003 HRESULT STDMETHODCALLTYPE IContextMenu_QueryContextMenu_Proxy( 2004 IContextMenu* This, 2005 HMENU hmenu, 2006 UINT indexMenu, 2007 UINT idCmdFirst, 2008 UINT idCmdLast, 2009 UINT uFlags); 2010 void __RPC_STUB IContextMenu_QueryContextMenu_Stub( 2011 IRpcStubBuffer* This, 2012 IRpcChannelBuffer* pRpcChannelBuffer, 2013 PRPC_MESSAGE pRpcMessage, 2014 DWORD* pdwStubPhase); 2015 HRESULT STDMETHODCALLTYPE IContextMenu_InvokeCommand_Proxy( 2016 IContextMenu* This, 2017 CMINVOKECOMMANDINFO *pici); 2018 void __RPC_STUB IContextMenu_InvokeCommand_Stub( 2019 IRpcStubBuffer* This, 2020 IRpcChannelBuffer* pRpcChannelBuffer, 2021 PRPC_MESSAGE pRpcMessage, 2022 DWORD* pdwStubPhase); 2023 HRESULT STDMETHODCALLTYPE IContextMenu_GetCommandString_Proxy( 2024 IContextMenu* This, 2025 UINT_PTR idCmd, 2026 UINT uType, 2027 UINT *pReserved, 2028 CHAR *pszName, 2029 UINT cchMax); 2030 void __RPC_STUB IContextMenu_GetCommandString_Stub( 2031 IRpcStubBuffer* This, 2032 IRpcChannelBuffer* pRpcChannelBuffer, 2033 PRPC_MESSAGE pRpcMessage, 2034 DWORD* pdwStubPhase); 2035 2036 #endif /* __IContextMenu_INTERFACE_DEFINED__ */ 2037 2038 typedef IContextMenu *LPCONTEXTMENU; 2039 2040 /***************************************************************************** 2041 * IContextMenu2 interface 2042 */ 2043 #ifndef __IContextMenu2_INTERFACE_DEFINED__ 2044 #define __IContextMenu2_INTERFACE_DEFINED__ 2045 2046 DEFINE_GUID(IID_IContextMenu2, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 2047 #if defined(__cplusplus) && !defined(CINTERFACE) 2048 MIDL_INTERFACE("000214f4-0000-0000-c000-000000000046") 2049 IContextMenu2 : public IContextMenu 2050 { 2051 virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg( 2052 UINT uMsg, 2053 WPARAM wParam, 2054 LPARAM lParam) = 0; 2055 2056 }; 2057 #ifdef __CRT_UUID_DECL 2058 __CRT_UUID_DECL(IContextMenu2, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 2059 #endif 2060 #else 2061 typedef struct IContextMenu2Vtbl { 2062 BEGIN_INTERFACE 2063 2064 /*** IUnknown methods ***/ 2065 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2066 IContextMenu2* This, 2067 REFIID riid, 2068 void **ppvObject); 2069 2070 ULONG (STDMETHODCALLTYPE *AddRef)( 2071 IContextMenu2* This); 2072 2073 ULONG (STDMETHODCALLTYPE *Release)( 2074 IContextMenu2* This); 2075 2076 /*** IContextMenu methods ***/ 2077 HRESULT (STDMETHODCALLTYPE *QueryContextMenu)( 2078 IContextMenu2* This, 2079 HMENU hmenu, 2080 UINT indexMenu, 2081 UINT idCmdFirst, 2082 UINT idCmdLast, 2083 UINT uFlags); 2084 2085 HRESULT (STDMETHODCALLTYPE *InvokeCommand)( 2086 IContextMenu2* This, 2087 CMINVOKECOMMANDINFO *pici); 2088 2089 HRESULT (STDMETHODCALLTYPE *GetCommandString)( 2090 IContextMenu2* This, 2091 UINT_PTR idCmd, 2092 UINT uType, 2093 UINT *pReserved, 2094 CHAR *pszName, 2095 UINT cchMax); 2096 2097 /*** IContextMenu2 methods ***/ 2098 HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)( 2099 IContextMenu2* This, 2100 UINT uMsg, 2101 WPARAM wParam, 2102 LPARAM lParam); 2103 2104 END_INTERFACE 2105 } IContextMenu2Vtbl; 2106 interface IContextMenu2 { 2107 CONST_VTBL IContextMenu2Vtbl* lpVtbl; 2108 }; 2109 2110 #ifdef COBJMACROS 2111 #ifndef WIDL_C_INLINE_WRAPPERS 2112 /*** IUnknown methods ***/ 2113 #define IContextMenu2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2114 #define IContextMenu2_AddRef(This) (This)->lpVtbl->AddRef(This) 2115 #define IContextMenu2_Release(This) (This)->lpVtbl->Release(This) 2116 /*** IContextMenu methods ***/ 2117 #define IContextMenu2_QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) (This)->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) 2118 #define IContextMenu2_InvokeCommand(This,pici) (This)->lpVtbl->InvokeCommand(This,pici) 2119 #define IContextMenu2_GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) (This)->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) 2120 /*** IContextMenu2 methods ***/ 2121 #define IContextMenu2_HandleMenuMsg(This,uMsg,wParam,lParam) (This)->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam) 2122 #else 2123 /*** IUnknown methods ***/ 2124 static FORCEINLINE HRESULT IContextMenu2_QueryInterface(IContextMenu2* This,REFIID riid,void **ppvObject) { 2125 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2126 } 2127 static FORCEINLINE ULONG IContextMenu2_AddRef(IContextMenu2* This) { 2128 return This->lpVtbl->AddRef(This); 2129 } 2130 static FORCEINLINE ULONG IContextMenu2_Release(IContextMenu2* This) { 2131 return This->lpVtbl->Release(This); 2132 } 2133 /*** IContextMenu methods ***/ 2134 static FORCEINLINE HRESULT IContextMenu2_QueryContextMenu(IContextMenu2* This,HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) { 2135 return This->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags); 2136 } 2137 static FORCEINLINE HRESULT IContextMenu2_InvokeCommand(IContextMenu2* This,CMINVOKECOMMANDINFO *pici) { 2138 return This->lpVtbl->InvokeCommand(This,pici); 2139 } 2140 static FORCEINLINE HRESULT IContextMenu2_GetCommandString(IContextMenu2* This,UINT_PTR idCmd,UINT uType,UINT *pReserved,CHAR *pszName,UINT cchMax) { 2141 return This->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax); 2142 } 2143 /*** IContextMenu2 methods ***/ 2144 static FORCEINLINE HRESULT IContextMenu2_HandleMenuMsg(IContextMenu2* This,UINT uMsg,WPARAM wParam,LPARAM lParam) { 2145 return This->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam); 2146 } 2147 #endif 2148 #endif 2149 2150 #endif 2151 2152 HRESULT STDMETHODCALLTYPE IContextMenu2_HandleMenuMsg_Proxy( 2153 IContextMenu2* This, 2154 UINT uMsg, 2155 WPARAM wParam, 2156 LPARAM lParam); 2157 void __RPC_STUB IContextMenu2_HandleMenuMsg_Stub( 2158 IRpcStubBuffer* This, 2159 IRpcChannelBuffer* pRpcChannelBuffer, 2160 PRPC_MESSAGE pRpcMessage, 2161 DWORD* pdwStubPhase); 2162 2163 #endif /* __IContextMenu2_INTERFACE_DEFINED__ */ 2164 2165 typedef IContextMenu2 *LPCONTEXTMENU2; 2166 2167 /***************************************************************************** 2168 * IContextMenu3 interface 2169 */ 2170 #ifndef __IContextMenu3_INTERFACE_DEFINED__ 2171 #define __IContextMenu3_INTERFACE_DEFINED__ 2172 2173 DEFINE_GUID(IID_IContextMenu3, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19); 2174 #if defined(__cplusplus) && !defined(CINTERFACE) 2175 MIDL_INTERFACE("bcfce0a0-ec17-11d0-8d10-00a0c90f2719") 2176 IContextMenu3 : public IContextMenu2 2177 { 2178 virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg2( 2179 UINT uMsg, 2180 WPARAM wParam, 2181 LPARAM lParam, 2182 LRESULT *plResult) = 0; 2183 2184 }; 2185 #ifdef __CRT_UUID_DECL 2186 __CRT_UUID_DECL(IContextMenu3, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19) 2187 #endif 2188 #else 2189 typedef struct IContextMenu3Vtbl { 2190 BEGIN_INTERFACE 2191 2192 /*** IUnknown methods ***/ 2193 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2194 IContextMenu3* This, 2195 REFIID riid, 2196 void **ppvObject); 2197 2198 ULONG (STDMETHODCALLTYPE *AddRef)( 2199 IContextMenu3* This); 2200 2201 ULONG (STDMETHODCALLTYPE *Release)( 2202 IContextMenu3* This); 2203 2204 /*** IContextMenu methods ***/ 2205 HRESULT (STDMETHODCALLTYPE *QueryContextMenu)( 2206 IContextMenu3* This, 2207 HMENU hmenu, 2208 UINT indexMenu, 2209 UINT idCmdFirst, 2210 UINT idCmdLast, 2211 UINT uFlags); 2212 2213 HRESULT (STDMETHODCALLTYPE *InvokeCommand)( 2214 IContextMenu3* This, 2215 CMINVOKECOMMANDINFO *pici); 2216 2217 HRESULT (STDMETHODCALLTYPE *GetCommandString)( 2218 IContextMenu3* This, 2219 UINT_PTR idCmd, 2220 UINT uType, 2221 UINT *pReserved, 2222 CHAR *pszName, 2223 UINT cchMax); 2224 2225 /*** IContextMenu2 methods ***/ 2226 HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)( 2227 IContextMenu3* This, 2228 UINT uMsg, 2229 WPARAM wParam, 2230 LPARAM lParam); 2231 2232 /*** IContextMenu3 methods ***/ 2233 HRESULT (STDMETHODCALLTYPE *HandleMenuMsg2)( 2234 IContextMenu3* This, 2235 UINT uMsg, 2236 WPARAM wParam, 2237 LPARAM lParam, 2238 LRESULT *plResult); 2239 2240 END_INTERFACE 2241 } IContextMenu3Vtbl; 2242 interface IContextMenu3 { 2243 CONST_VTBL IContextMenu3Vtbl* lpVtbl; 2244 }; 2245 2246 #ifdef COBJMACROS 2247 #ifndef WIDL_C_INLINE_WRAPPERS 2248 /*** IUnknown methods ***/ 2249 #define IContextMenu3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2250 #define IContextMenu3_AddRef(This) (This)->lpVtbl->AddRef(This) 2251 #define IContextMenu3_Release(This) (This)->lpVtbl->Release(This) 2252 /*** IContextMenu methods ***/ 2253 #define IContextMenu3_QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) (This)->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) 2254 #define IContextMenu3_InvokeCommand(This,pici) (This)->lpVtbl->InvokeCommand(This,pici) 2255 #define IContextMenu3_GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) (This)->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) 2256 /*** IContextMenu2 methods ***/ 2257 #define IContextMenu3_HandleMenuMsg(This,uMsg,wParam,lParam) (This)->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam) 2258 /*** IContextMenu3 methods ***/ 2259 #define IContextMenu3_HandleMenuMsg2(This,uMsg,wParam,lParam,plResult) (This)->lpVtbl->HandleMenuMsg2(This,uMsg,wParam,lParam,plResult) 2260 #else 2261 /*** IUnknown methods ***/ 2262 static FORCEINLINE HRESULT IContextMenu3_QueryInterface(IContextMenu3* This,REFIID riid,void **ppvObject) { 2263 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2264 } 2265 static FORCEINLINE ULONG IContextMenu3_AddRef(IContextMenu3* This) { 2266 return This->lpVtbl->AddRef(This); 2267 } 2268 static FORCEINLINE ULONG IContextMenu3_Release(IContextMenu3* This) { 2269 return This->lpVtbl->Release(This); 2270 } 2271 /*** IContextMenu methods ***/ 2272 static FORCEINLINE HRESULT IContextMenu3_QueryContextMenu(IContextMenu3* This,HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) { 2273 return This->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags); 2274 } 2275 static FORCEINLINE HRESULT IContextMenu3_InvokeCommand(IContextMenu3* This,CMINVOKECOMMANDINFO *pici) { 2276 return This->lpVtbl->InvokeCommand(This,pici); 2277 } 2278 static FORCEINLINE HRESULT IContextMenu3_GetCommandString(IContextMenu3* This,UINT_PTR idCmd,UINT uType,UINT *pReserved,CHAR *pszName,UINT cchMax) { 2279 return This->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax); 2280 } 2281 /*** IContextMenu2 methods ***/ 2282 static FORCEINLINE HRESULT IContextMenu3_HandleMenuMsg(IContextMenu3* This,UINT uMsg,WPARAM wParam,LPARAM lParam) { 2283 return This->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam); 2284 } 2285 /*** IContextMenu3 methods ***/ 2286 static FORCEINLINE HRESULT IContextMenu3_HandleMenuMsg2(IContextMenu3* This,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) { 2287 return This->lpVtbl->HandleMenuMsg2(This,uMsg,wParam,lParam,plResult); 2288 } 2289 #endif 2290 #endif 2291 2292 #endif 2293 2294 HRESULT STDMETHODCALLTYPE IContextMenu3_HandleMenuMsg2_Proxy( 2295 IContextMenu3* This, 2296 UINT uMsg, 2297 WPARAM wParam, 2298 LPARAM lParam, 2299 LRESULT *plResult); 2300 void __RPC_STUB IContextMenu3_HandleMenuMsg2_Stub( 2301 IRpcStubBuffer* This, 2302 IRpcChannelBuffer* pRpcChannelBuffer, 2303 PRPC_MESSAGE pRpcMessage, 2304 DWORD* pdwStubPhase); 2305 2306 #endif /* __IContextMenu3_INTERFACE_DEFINED__ */ 2307 2308 typedef IContextMenu3 *LPCONTEXTMENU3; 2309 2310 /***************************************************************************** 2311 * IExecuteCommand interface 2312 */ 2313 #ifndef __IExecuteCommand_INTERFACE_DEFINED__ 2314 #define __IExecuteCommand_INTERFACE_DEFINED__ 2315 2316 DEFINE_GUID(IID_IExecuteCommand, 0x7f9185b0, 0xcb92, 0x43c5, 0x80,0xa9, 0x92,0x27,0x7a,0x4f,0x7b,0x54); 2317 #if defined(__cplusplus) && !defined(CINTERFACE) 2318 MIDL_INTERFACE("7f9185b0-cb92-43c5-80a9-92277a4f7b54") 2319 IExecuteCommand : public IUnknown 2320 { 2321 virtual HRESULT STDMETHODCALLTYPE SetKeyState( 2322 DWORD grfKeyState) = 0; 2323 2324 virtual HRESULT STDMETHODCALLTYPE SetParameters( 2325 LPCWSTR pszParameters) = 0; 2326 2327 virtual HRESULT STDMETHODCALLTYPE SetPosition( 2328 POINT pt) = 0; 2329 2330 virtual HRESULT STDMETHODCALLTYPE SetShowWindow( 2331 int nShow) = 0; 2332 2333 virtual HRESULT STDMETHODCALLTYPE SetNoShowUI( 2334 WINBOOL fNoShowUI) = 0; 2335 2336 virtual HRESULT STDMETHODCALLTYPE SetDirectory( 2337 LPCWSTR pszDirectory) = 0; 2338 2339 virtual HRESULT STDMETHODCALLTYPE Execute( 2340 ) = 0; 2341 2342 }; 2343 #ifdef __CRT_UUID_DECL 2344 __CRT_UUID_DECL(IExecuteCommand, 0x7f9185b0, 0xcb92, 0x43c5, 0x80,0xa9, 0x92,0x27,0x7a,0x4f,0x7b,0x54) 2345 #endif 2346 #else 2347 typedef struct IExecuteCommandVtbl { 2348 BEGIN_INTERFACE 2349 2350 /*** IUnknown methods ***/ 2351 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2352 IExecuteCommand* This, 2353 REFIID riid, 2354 void **ppvObject); 2355 2356 ULONG (STDMETHODCALLTYPE *AddRef)( 2357 IExecuteCommand* This); 2358 2359 ULONG (STDMETHODCALLTYPE *Release)( 2360 IExecuteCommand* This); 2361 2362 /*** IExecuteCommand methods ***/ 2363 HRESULT (STDMETHODCALLTYPE *SetKeyState)( 2364 IExecuteCommand* This, 2365 DWORD grfKeyState); 2366 2367 HRESULT (STDMETHODCALLTYPE *SetParameters)( 2368 IExecuteCommand* This, 2369 LPCWSTR pszParameters); 2370 2371 HRESULT (STDMETHODCALLTYPE *SetPosition)( 2372 IExecuteCommand* This, 2373 POINT pt); 2374 2375 HRESULT (STDMETHODCALLTYPE *SetShowWindow)( 2376 IExecuteCommand* This, 2377 int nShow); 2378 2379 HRESULT (STDMETHODCALLTYPE *SetNoShowUI)( 2380 IExecuteCommand* This, 2381 WINBOOL fNoShowUI); 2382 2383 HRESULT (STDMETHODCALLTYPE *SetDirectory)( 2384 IExecuteCommand* This, 2385 LPCWSTR pszDirectory); 2386 2387 HRESULT (STDMETHODCALLTYPE *Execute)( 2388 IExecuteCommand* This); 2389 2390 END_INTERFACE 2391 } IExecuteCommandVtbl; 2392 interface IExecuteCommand { 2393 CONST_VTBL IExecuteCommandVtbl* lpVtbl; 2394 }; 2395 2396 #ifdef COBJMACROS 2397 #ifndef WIDL_C_INLINE_WRAPPERS 2398 /*** IUnknown methods ***/ 2399 #define IExecuteCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2400 #define IExecuteCommand_AddRef(This) (This)->lpVtbl->AddRef(This) 2401 #define IExecuteCommand_Release(This) (This)->lpVtbl->Release(This) 2402 /*** IExecuteCommand methods ***/ 2403 #define IExecuteCommand_SetKeyState(This,grfKeyState) (This)->lpVtbl->SetKeyState(This,grfKeyState) 2404 #define IExecuteCommand_SetParameters(This,pszParameters) (This)->lpVtbl->SetParameters(This,pszParameters) 2405 #define IExecuteCommand_SetPosition(This,pt) (This)->lpVtbl->SetPosition(This,pt) 2406 #define IExecuteCommand_SetShowWindow(This,nShow) (This)->lpVtbl->SetShowWindow(This,nShow) 2407 #define IExecuteCommand_SetNoShowUI(This,fNoShowUI) (This)->lpVtbl->SetNoShowUI(This,fNoShowUI) 2408 #define IExecuteCommand_SetDirectory(This,pszDirectory) (This)->lpVtbl->SetDirectory(This,pszDirectory) 2409 #define IExecuteCommand_Execute(This) (This)->lpVtbl->Execute(This) 2410 #else 2411 /*** IUnknown methods ***/ 2412 static FORCEINLINE HRESULT IExecuteCommand_QueryInterface(IExecuteCommand* This,REFIID riid,void **ppvObject) { 2413 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2414 } 2415 static FORCEINLINE ULONG IExecuteCommand_AddRef(IExecuteCommand* This) { 2416 return This->lpVtbl->AddRef(This); 2417 } 2418 static FORCEINLINE ULONG IExecuteCommand_Release(IExecuteCommand* This) { 2419 return This->lpVtbl->Release(This); 2420 } 2421 /*** IExecuteCommand methods ***/ 2422 static FORCEINLINE HRESULT IExecuteCommand_SetKeyState(IExecuteCommand* This,DWORD grfKeyState) { 2423 return This->lpVtbl->SetKeyState(This,grfKeyState); 2424 } 2425 static FORCEINLINE HRESULT IExecuteCommand_SetParameters(IExecuteCommand* This,LPCWSTR pszParameters) { 2426 return This->lpVtbl->SetParameters(This,pszParameters); 2427 } 2428 static FORCEINLINE HRESULT IExecuteCommand_SetPosition(IExecuteCommand* This,POINT pt) { 2429 return This->lpVtbl->SetPosition(This,pt); 2430 } 2431 static FORCEINLINE HRESULT IExecuteCommand_SetShowWindow(IExecuteCommand* This,int nShow) { 2432 return This->lpVtbl->SetShowWindow(This,nShow); 2433 } 2434 static FORCEINLINE HRESULT IExecuteCommand_SetNoShowUI(IExecuteCommand* This,WINBOOL fNoShowUI) { 2435 return This->lpVtbl->SetNoShowUI(This,fNoShowUI); 2436 } 2437 static FORCEINLINE HRESULT IExecuteCommand_SetDirectory(IExecuteCommand* This,LPCWSTR pszDirectory) { 2438 return This->lpVtbl->SetDirectory(This,pszDirectory); 2439 } 2440 static FORCEINLINE HRESULT IExecuteCommand_Execute(IExecuteCommand* This) { 2441 return This->lpVtbl->Execute(This); 2442 } 2443 #endif 2444 #endif 2445 2446 #endif 2447 2448 HRESULT STDMETHODCALLTYPE IExecuteCommand_SetKeyState_Proxy( 2449 IExecuteCommand* This, 2450 DWORD grfKeyState); 2451 void __RPC_STUB IExecuteCommand_SetKeyState_Stub( 2452 IRpcStubBuffer* This, 2453 IRpcChannelBuffer* pRpcChannelBuffer, 2454 PRPC_MESSAGE pRpcMessage, 2455 DWORD* pdwStubPhase); 2456 HRESULT STDMETHODCALLTYPE IExecuteCommand_SetParameters_Proxy( 2457 IExecuteCommand* This, 2458 LPCWSTR pszParameters); 2459 void __RPC_STUB IExecuteCommand_SetParameters_Stub( 2460 IRpcStubBuffer* This, 2461 IRpcChannelBuffer* pRpcChannelBuffer, 2462 PRPC_MESSAGE pRpcMessage, 2463 DWORD* pdwStubPhase); 2464 HRESULT STDMETHODCALLTYPE IExecuteCommand_SetPosition_Proxy( 2465 IExecuteCommand* This, 2466 POINT pt); 2467 void __RPC_STUB IExecuteCommand_SetPosition_Stub( 2468 IRpcStubBuffer* This, 2469 IRpcChannelBuffer* pRpcChannelBuffer, 2470 PRPC_MESSAGE pRpcMessage, 2471 DWORD* pdwStubPhase); 2472 HRESULT STDMETHODCALLTYPE IExecuteCommand_SetShowWindow_Proxy( 2473 IExecuteCommand* This, 2474 int nShow); 2475 void __RPC_STUB IExecuteCommand_SetShowWindow_Stub( 2476 IRpcStubBuffer* This, 2477 IRpcChannelBuffer* pRpcChannelBuffer, 2478 PRPC_MESSAGE pRpcMessage, 2479 DWORD* pdwStubPhase); 2480 HRESULT STDMETHODCALLTYPE IExecuteCommand_SetNoShowUI_Proxy( 2481 IExecuteCommand* This, 2482 WINBOOL fNoShowUI); 2483 void __RPC_STUB IExecuteCommand_SetNoShowUI_Stub( 2484 IRpcStubBuffer* This, 2485 IRpcChannelBuffer* pRpcChannelBuffer, 2486 PRPC_MESSAGE pRpcMessage, 2487 DWORD* pdwStubPhase); 2488 HRESULT STDMETHODCALLTYPE IExecuteCommand_SetDirectory_Proxy( 2489 IExecuteCommand* This, 2490 LPCWSTR pszDirectory); 2491 void __RPC_STUB IExecuteCommand_SetDirectory_Stub( 2492 IRpcStubBuffer* This, 2493 IRpcChannelBuffer* pRpcChannelBuffer, 2494 PRPC_MESSAGE pRpcMessage, 2495 DWORD* pdwStubPhase); 2496 HRESULT STDMETHODCALLTYPE IExecuteCommand_Execute_Proxy( 2497 IExecuteCommand* This); 2498 void __RPC_STUB IExecuteCommand_Execute_Stub( 2499 IRpcStubBuffer* This, 2500 IRpcChannelBuffer* pRpcChannelBuffer, 2501 PRPC_MESSAGE pRpcMessage, 2502 DWORD* pdwStubPhase); 2503 2504 #endif /* __IExecuteCommand_INTERFACE_DEFINED__ */ 2505 2506 2507 /***************************************************************************** 2508 * IPersistFolder interface 2509 */ 2510 #ifndef __IPersistFolder_INTERFACE_DEFINED__ 2511 #define __IPersistFolder_INTERFACE_DEFINED__ 2512 2513 DEFINE_GUID(IID_IPersistFolder, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 2514 #if defined(__cplusplus) && !defined(CINTERFACE) 2515 MIDL_INTERFACE("000214ea-0000-0000-c000-000000000046") 2516 IPersistFolder : public IPersist 2517 { 2518 virtual HRESULT STDMETHODCALLTYPE Initialize( 2519 PCIDLIST_ABSOLUTE pidl) = 0; 2520 2521 }; 2522 #ifdef __CRT_UUID_DECL 2523 __CRT_UUID_DECL(IPersistFolder, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 2524 #endif 2525 #else 2526 typedef struct IPersistFolderVtbl { 2527 BEGIN_INTERFACE 2528 2529 /*** IUnknown methods ***/ 2530 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2531 IPersistFolder* This, 2532 REFIID riid, 2533 void **ppvObject); 2534 2535 ULONG (STDMETHODCALLTYPE *AddRef)( 2536 IPersistFolder* This); 2537 2538 ULONG (STDMETHODCALLTYPE *Release)( 2539 IPersistFolder* This); 2540 2541 /*** IPersist methods ***/ 2542 HRESULT (STDMETHODCALLTYPE *GetClassID)( 2543 IPersistFolder* This, 2544 CLSID *pClassID); 2545 2546 /*** IPersistFolder methods ***/ 2547 HRESULT (STDMETHODCALLTYPE *Initialize)( 2548 IPersistFolder* This, 2549 PCIDLIST_ABSOLUTE pidl); 2550 2551 END_INTERFACE 2552 } IPersistFolderVtbl; 2553 interface IPersistFolder { 2554 CONST_VTBL IPersistFolderVtbl* lpVtbl; 2555 }; 2556 2557 #ifdef COBJMACROS 2558 #ifndef WIDL_C_INLINE_WRAPPERS 2559 /*** IUnknown methods ***/ 2560 #define IPersistFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2561 #define IPersistFolder_AddRef(This) (This)->lpVtbl->AddRef(This) 2562 #define IPersistFolder_Release(This) (This)->lpVtbl->Release(This) 2563 /*** IPersist methods ***/ 2564 #define IPersistFolder_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 2565 /*** IPersistFolder methods ***/ 2566 #define IPersistFolder_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl) 2567 #else 2568 /*** IUnknown methods ***/ 2569 static FORCEINLINE HRESULT IPersistFolder_QueryInterface(IPersistFolder* This,REFIID riid,void **ppvObject) { 2570 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2571 } 2572 static FORCEINLINE ULONG IPersistFolder_AddRef(IPersistFolder* This) { 2573 return This->lpVtbl->AddRef(This); 2574 } 2575 static FORCEINLINE ULONG IPersistFolder_Release(IPersistFolder* This) { 2576 return This->lpVtbl->Release(This); 2577 } 2578 /*** IPersist methods ***/ 2579 static FORCEINLINE HRESULT IPersistFolder_GetClassID(IPersistFolder* This,CLSID *pClassID) { 2580 return This->lpVtbl->GetClassID(This,pClassID); 2581 } 2582 /*** IPersistFolder methods ***/ 2583 static FORCEINLINE HRESULT IPersistFolder_Initialize(IPersistFolder* This,PCIDLIST_ABSOLUTE pidl) { 2584 return This->lpVtbl->Initialize(This,pidl); 2585 } 2586 #endif 2587 #endif 2588 2589 #endif 2590 2591 HRESULT STDMETHODCALLTYPE IPersistFolder_Initialize_Proxy( 2592 IPersistFolder* This, 2593 PCIDLIST_ABSOLUTE pidl); 2594 void __RPC_STUB IPersistFolder_Initialize_Stub( 2595 IRpcStubBuffer* This, 2596 IRpcChannelBuffer* pRpcChannelBuffer, 2597 PRPC_MESSAGE pRpcMessage, 2598 DWORD* pdwStubPhase); 2599 2600 #endif /* __IPersistFolder_INTERFACE_DEFINED__ */ 2601 2602 typedef IPersistFolder *LPPERSISTFOLDER; 2603 2604 #define IRTIR_TASK_NOT_RUNNING 0 2605 #define IRTIR_TASK_RUNNING 1 2606 #define IRTIR_TASK_SUSPENDED 2 2607 #define IRTIR_TASK_PENDING 3 2608 #define IRTIR_TASK_FINISHED 4 2609 2610 /***************************************************************************** 2611 * IRunnableTask interface 2612 */ 2613 #ifndef __IRunnableTask_INTERFACE_DEFINED__ 2614 #define __IRunnableTask_INTERFACE_DEFINED__ 2615 2616 DEFINE_GUID(IID_IRunnableTask, 0x85788d00, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec); 2617 #if defined(__cplusplus) && !defined(CINTERFACE) 2618 MIDL_INTERFACE("85788d00-6807-11d0-b810-00c04fd706ec") 2619 IRunnableTask : public IUnknown 2620 { 2621 virtual HRESULT STDMETHODCALLTYPE Run( 2622 ) = 0; 2623 2624 virtual HRESULT STDMETHODCALLTYPE Kill( 2625 WINBOOL bWait) = 0; 2626 2627 virtual HRESULT STDMETHODCALLTYPE Suspend( 2628 ) = 0; 2629 2630 virtual HRESULT STDMETHODCALLTYPE Resume( 2631 ) = 0; 2632 2633 virtual ULONG STDMETHODCALLTYPE IsRunning( 2634 ) = 0; 2635 2636 }; 2637 #ifdef __CRT_UUID_DECL 2638 __CRT_UUID_DECL(IRunnableTask, 0x85788d00, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec) 2639 #endif 2640 #else 2641 typedef struct IRunnableTaskVtbl { 2642 BEGIN_INTERFACE 2643 2644 /*** IUnknown methods ***/ 2645 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2646 IRunnableTask* This, 2647 REFIID riid, 2648 void **ppvObject); 2649 2650 ULONG (STDMETHODCALLTYPE *AddRef)( 2651 IRunnableTask* This); 2652 2653 ULONG (STDMETHODCALLTYPE *Release)( 2654 IRunnableTask* This); 2655 2656 /*** IRunnableTask methods ***/ 2657 HRESULT (STDMETHODCALLTYPE *Run)( 2658 IRunnableTask* This); 2659 2660 HRESULT (STDMETHODCALLTYPE *Kill)( 2661 IRunnableTask* This, 2662 WINBOOL bWait); 2663 2664 HRESULT (STDMETHODCALLTYPE *Suspend)( 2665 IRunnableTask* This); 2666 2667 HRESULT (STDMETHODCALLTYPE *Resume)( 2668 IRunnableTask* This); 2669 2670 ULONG (STDMETHODCALLTYPE *IsRunning)( 2671 IRunnableTask* This); 2672 2673 END_INTERFACE 2674 } IRunnableTaskVtbl; 2675 interface IRunnableTask { 2676 CONST_VTBL IRunnableTaskVtbl* lpVtbl; 2677 }; 2678 2679 #ifdef COBJMACROS 2680 #ifndef WIDL_C_INLINE_WRAPPERS 2681 /*** IUnknown methods ***/ 2682 #define IRunnableTask_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2683 #define IRunnableTask_AddRef(This) (This)->lpVtbl->AddRef(This) 2684 #define IRunnableTask_Release(This) (This)->lpVtbl->Release(This) 2685 /*** IRunnableTask methods ***/ 2686 #define IRunnableTask_Run(This) (This)->lpVtbl->Run(This) 2687 #define IRunnableTask_Kill(This,bWait) (This)->lpVtbl->Kill(This,bWait) 2688 #define IRunnableTask_Suspend(This) (This)->lpVtbl->Suspend(This) 2689 #define IRunnableTask_Resume(This) (This)->lpVtbl->Resume(This) 2690 #define IRunnableTask_IsRunning(This) (This)->lpVtbl->IsRunning(This) 2691 #else 2692 /*** IUnknown methods ***/ 2693 static FORCEINLINE HRESULT IRunnableTask_QueryInterface(IRunnableTask* This,REFIID riid,void **ppvObject) { 2694 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2695 } 2696 static FORCEINLINE ULONG IRunnableTask_AddRef(IRunnableTask* This) { 2697 return This->lpVtbl->AddRef(This); 2698 } 2699 static FORCEINLINE ULONG IRunnableTask_Release(IRunnableTask* This) { 2700 return This->lpVtbl->Release(This); 2701 } 2702 /*** IRunnableTask methods ***/ 2703 static FORCEINLINE HRESULT IRunnableTask_Run(IRunnableTask* This) { 2704 return This->lpVtbl->Run(This); 2705 } 2706 static FORCEINLINE HRESULT IRunnableTask_Kill(IRunnableTask* This,WINBOOL bWait) { 2707 return This->lpVtbl->Kill(This,bWait); 2708 } 2709 static FORCEINLINE HRESULT IRunnableTask_Suspend(IRunnableTask* This) { 2710 return This->lpVtbl->Suspend(This); 2711 } 2712 static FORCEINLINE HRESULT IRunnableTask_Resume(IRunnableTask* This) { 2713 return This->lpVtbl->Resume(This); 2714 } 2715 static FORCEINLINE ULONG IRunnableTask_IsRunning(IRunnableTask* This) { 2716 return This->lpVtbl->IsRunning(This); 2717 } 2718 #endif 2719 #endif 2720 2721 #endif 2722 2723 HRESULT STDMETHODCALLTYPE IRunnableTask_Run_Proxy( 2724 IRunnableTask* This); 2725 void __RPC_STUB IRunnableTask_Run_Stub( 2726 IRpcStubBuffer* This, 2727 IRpcChannelBuffer* pRpcChannelBuffer, 2728 PRPC_MESSAGE pRpcMessage, 2729 DWORD* pdwStubPhase); 2730 HRESULT STDMETHODCALLTYPE IRunnableTask_Kill_Proxy( 2731 IRunnableTask* This, 2732 WINBOOL bWait); 2733 void __RPC_STUB IRunnableTask_Kill_Stub( 2734 IRpcStubBuffer* This, 2735 IRpcChannelBuffer* pRpcChannelBuffer, 2736 PRPC_MESSAGE pRpcMessage, 2737 DWORD* pdwStubPhase); 2738 HRESULT STDMETHODCALLTYPE IRunnableTask_Suspend_Proxy( 2739 IRunnableTask* This); 2740 void __RPC_STUB IRunnableTask_Suspend_Stub( 2741 IRpcStubBuffer* This, 2742 IRpcChannelBuffer* pRpcChannelBuffer, 2743 PRPC_MESSAGE pRpcMessage, 2744 DWORD* pdwStubPhase); 2745 HRESULT STDMETHODCALLTYPE IRunnableTask_Resume_Proxy( 2746 IRunnableTask* This); 2747 void __RPC_STUB IRunnableTask_Resume_Stub( 2748 IRpcStubBuffer* This, 2749 IRpcChannelBuffer* pRpcChannelBuffer, 2750 PRPC_MESSAGE pRpcMessage, 2751 DWORD* pdwStubPhase); 2752 ULONG STDMETHODCALLTYPE IRunnableTask_IsRunning_Proxy( 2753 IRunnableTask* This); 2754 void __RPC_STUB IRunnableTask_IsRunning_Stub( 2755 IRpcStubBuffer* This, 2756 IRpcChannelBuffer* pRpcChannelBuffer, 2757 PRPC_MESSAGE pRpcMessage, 2758 DWORD* pdwStubPhase); 2759 2760 #endif /* __IRunnableTask_INTERFACE_DEFINED__ */ 2761 2762 2763 #define TOID_NULL GUID_NULL 2764 #define ITSAT_DEFAULT_LPARAM ((DWORD_PTR)-1) 2765 2766 #define ITSAT_DEFAULT_PRIORITY 0x10000000 2767 #define ITSAT_MAX_PRIORITY 0x7fffffff 2768 #define ITSAT_MIN_PRIORITY 0x00000000 2769 2770 #define ITSSFLAG_COMPLETE_ON_DESTROY 0x0 2771 #define ITSSFLAG_KILL_ON_DESTROY 0x1 2772 2773 #define ITSSFLAG_FLAGS_MASK 0x3 2774 2775 #define ITSS_THREAD_DESTROY_DEFAULT_TIMEOUT (10 * 1000) 2776 #define ITSS_THREAD_TERMINATE_TIMEOUT (INFINITE) 2777 #define ITSS_THREAD_TIMEOUT_NO_CHANGE (INFINITE - 1) 2778 2779 /***************************************************************************** 2780 * IShellTaskScheduler interface 2781 */ 2782 #ifndef __IShellTaskScheduler_INTERFACE_DEFINED__ 2783 #define __IShellTaskScheduler_INTERFACE_DEFINED__ 2784 2785 DEFINE_GUID(IID_IShellTaskScheduler, 0x6ccb7be0, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec); 2786 #if defined(__cplusplus) && !defined(CINTERFACE) 2787 MIDL_INTERFACE("6ccb7be0-6807-11d0-b810-00c04fd706ec") 2788 IShellTaskScheduler : public IUnknown 2789 { 2790 virtual HRESULT STDMETHODCALLTYPE AddTask( 2791 IRunnableTask *prt, 2792 REFTASKOWNERID rtoid, 2793 DWORD_PTR lParam, 2794 DWORD dwPriority) = 0; 2795 2796 virtual HRESULT STDMETHODCALLTYPE RemoveTasks( 2797 REFTASKOWNERID rtoid, 2798 DWORD_PTR lParam, 2799 WINBOOL bWaitIfRunning) = 0; 2800 2801 virtual UINT STDMETHODCALLTYPE CountTasks( 2802 REFTASKOWNERID rtoid) = 0; 2803 2804 virtual HRESULT STDMETHODCALLTYPE Status( 2805 DWORD dwReleaseStatus, 2806 DWORD dwThreadTimeout) = 0; 2807 2808 }; 2809 #ifdef __CRT_UUID_DECL 2810 __CRT_UUID_DECL(IShellTaskScheduler, 0x6ccb7be0, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec) 2811 #endif 2812 #else 2813 typedef struct IShellTaskSchedulerVtbl { 2814 BEGIN_INTERFACE 2815 2816 /*** IUnknown methods ***/ 2817 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2818 IShellTaskScheduler* This, 2819 REFIID riid, 2820 void **ppvObject); 2821 2822 ULONG (STDMETHODCALLTYPE *AddRef)( 2823 IShellTaskScheduler* This); 2824 2825 ULONG (STDMETHODCALLTYPE *Release)( 2826 IShellTaskScheduler* This); 2827 2828 /*** IShellTaskScheduler methods ***/ 2829 HRESULT (STDMETHODCALLTYPE *AddTask)( 2830 IShellTaskScheduler* This, 2831 IRunnableTask *prt, 2832 REFTASKOWNERID rtoid, 2833 DWORD_PTR lParam, 2834 DWORD dwPriority); 2835 2836 HRESULT (STDMETHODCALLTYPE *RemoveTasks)( 2837 IShellTaskScheduler* This, 2838 REFTASKOWNERID rtoid, 2839 DWORD_PTR lParam, 2840 WINBOOL bWaitIfRunning); 2841 2842 UINT (STDMETHODCALLTYPE *CountTasks)( 2843 IShellTaskScheduler* This, 2844 REFTASKOWNERID rtoid); 2845 2846 HRESULT (STDMETHODCALLTYPE *Status)( 2847 IShellTaskScheduler* This, 2848 DWORD dwReleaseStatus, 2849 DWORD dwThreadTimeout); 2850 2851 END_INTERFACE 2852 } IShellTaskSchedulerVtbl; 2853 interface IShellTaskScheduler { 2854 CONST_VTBL IShellTaskSchedulerVtbl* lpVtbl; 2855 }; 2856 2857 #ifdef COBJMACROS 2858 #ifndef WIDL_C_INLINE_WRAPPERS 2859 /*** IUnknown methods ***/ 2860 #define IShellTaskScheduler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2861 #define IShellTaskScheduler_AddRef(This) (This)->lpVtbl->AddRef(This) 2862 #define IShellTaskScheduler_Release(This) (This)->lpVtbl->Release(This) 2863 /*** IShellTaskScheduler methods ***/ 2864 #define IShellTaskScheduler_AddTask(This,prt,rtoid,lParam,dwPriority) (This)->lpVtbl->AddTask(This,prt,rtoid,lParam,dwPriority) 2865 #define IShellTaskScheduler_RemoveTasks(This,rtoid,lParam,bWaitIfRunning) (This)->lpVtbl->RemoveTasks(This,rtoid,lParam,bWaitIfRunning) 2866 #define IShellTaskScheduler_CountTasks(This,rtoid) (This)->lpVtbl->CountTasks(This,rtoid) 2867 #define IShellTaskScheduler_Status(This,dwReleaseStatus,dwThreadTimeout) (This)->lpVtbl->Status(This,dwReleaseStatus,dwThreadTimeout) 2868 #else 2869 /*** IUnknown methods ***/ 2870 static FORCEINLINE HRESULT IShellTaskScheduler_QueryInterface(IShellTaskScheduler* This,REFIID riid,void **ppvObject) { 2871 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2872 } 2873 static FORCEINLINE ULONG IShellTaskScheduler_AddRef(IShellTaskScheduler* This) { 2874 return This->lpVtbl->AddRef(This); 2875 } 2876 static FORCEINLINE ULONG IShellTaskScheduler_Release(IShellTaskScheduler* This) { 2877 return This->lpVtbl->Release(This); 2878 } 2879 /*** IShellTaskScheduler methods ***/ 2880 static FORCEINLINE HRESULT IShellTaskScheduler_AddTask(IShellTaskScheduler* This,IRunnableTask *prt,REFTASKOWNERID rtoid,DWORD_PTR lParam,DWORD dwPriority) { 2881 return This->lpVtbl->AddTask(This,prt,rtoid,lParam,dwPriority); 2882 } 2883 static FORCEINLINE HRESULT IShellTaskScheduler_RemoveTasks(IShellTaskScheduler* This,REFTASKOWNERID rtoid,DWORD_PTR lParam,WINBOOL bWaitIfRunning) { 2884 return This->lpVtbl->RemoveTasks(This,rtoid,lParam,bWaitIfRunning); 2885 } 2886 static FORCEINLINE UINT IShellTaskScheduler_CountTasks(IShellTaskScheduler* This,REFTASKOWNERID rtoid) { 2887 return This->lpVtbl->CountTasks(This,rtoid); 2888 } 2889 static FORCEINLINE HRESULT IShellTaskScheduler_Status(IShellTaskScheduler* This,DWORD dwReleaseStatus,DWORD dwThreadTimeout) { 2890 return This->lpVtbl->Status(This,dwReleaseStatus,dwThreadTimeout); 2891 } 2892 #endif 2893 #endif 2894 2895 #endif 2896 2897 HRESULT STDMETHODCALLTYPE IShellTaskScheduler_AddTask_Proxy( 2898 IShellTaskScheduler* This, 2899 IRunnableTask *prt, 2900 REFTASKOWNERID rtoid, 2901 DWORD_PTR lParam, 2902 DWORD dwPriority); 2903 void __RPC_STUB IShellTaskScheduler_AddTask_Stub( 2904 IRpcStubBuffer* This, 2905 IRpcChannelBuffer* pRpcChannelBuffer, 2906 PRPC_MESSAGE pRpcMessage, 2907 DWORD* pdwStubPhase); 2908 HRESULT STDMETHODCALLTYPE IShellTaskScheduler_RemoveTasks_Proxy( 2909 IShellTaskScheduler* This, 2910 REFTASKOWNERID rtoid, 2911 DWORD_PTR lParam, 2912 WINBOOL bWaitIfRunning); 2913 void __RPC_STUB IShellTaskScheduler_RemoveTasks_Stub( 2914 IRpcStubBuffer* This, 2915 IRpcChannelBuffer* pRpcChannelBuffer, 2916 PRPC_MESSAGE pRpcMessage, 2917 DWORD* pdwStubPhase); 2918 UINT STDMETHODCALLTYPE IShellTaskScheduler_CountTasks_Proxy( 2919 IShellTaskScheduler* This, 2920 REFTASKOWNERID rtoid); 2921 void __RPC_STUB IShellTaskScheduler_CountTasks_Stub( 2922 IRpcStubBuffer* This, 2923 IRpcChannelBuffer* pRpcChannelBuffer, 2924 PRPC_MESSAGE pRpcMessage, 2925 DWORD* pdwStubPhase); 2926 HRESULT STDMETHODCALLTYPE IShellTaskScheduler_Status_Proxy( 2927 IShellTaskScheduler* This, 2928 DWORD dwReleaseStatus, 2929 DWORD dwThreadTimeout); 2930 void __RPC_STUB IShellTaskScheduler_Status_Stub( 2931 IRpcStubBuffer* This, 2932 IRpcChannelBuffer* pRpcChannelBuffer, 2933 PRPC_MESSAGE pRpcMessage, 2934 DWORD* pdwStubPhase); 2935 2936 #endif /* __IShellTaskScheduler_INTERFACE_DEFINED__ */ 2937 2938 2939 #define SID_ShellTaskScheduler IID_IShellTaskScheduler 2940 2941 /***************************************************************************** 2942 * IQueryCodePage interface 2943 */ 2944 #ifndef __IQueryCodePage_INTERFACE_DEFINED__ 2945 #define __IQueryCodePage_INTERFACE_DEFINED__ 2946 2947 DEFINE_GUID(IID_IQueryCodePage, 0xc7b236ce, 0xee80, 0x11d0, 0x98,0x5f, 0x00,0x60,0x08,0x05,0x93,0x82); 2948 #if defined(__cplusplus) && !defined(CINTERFACE) 2949 MIDL_INTERFACE("c7b236ce-ee80-11d0-985f-006008059382") 2950 IQueryCodePage : public IUnknown 2951 { 2952 virtual HRESULT STDMETHODCALLTYPE GetCodePage( 2953 UINT *puiCodePage) = 0; 2954 2955 virtual HRESULT STDMETHODCALLTYPE SetCodePage( 2956 UINT uiCodePage) = 0; 2957 2958 }; 2959 #ifdef __CRT_UUID_DECL 2960 __CRT_UUID_DECL(IQueryCodePage, 0xc7b236ce, 0xee80, 0x11d0, 0x98,0x5f, 0x00,0x60,0x08,0x05,0x93,0x82) 2961 #endif 2962 #else 2963 typedef struct IQueryCodePageVtbl { 2964 BEGIN_INTERFACE 2965 2966 /*** IUnknown methods ***/ 2967 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2968 IQueryCodePage* This, 2969 REFIID riid, 2970 void **ppvObject); 2971 2972 ULONG (STDMETHODCALLTYPE *AddRef)( 2973 IQueryCodePage* This); 2974 2975 ULONG (STDMETHODCALLTYPE *Release)( 2976 IQueryCodePage* This); 2977 2978 /*** IQueryCodePage methods ***/ 2979 HRESULT (STDMETHODCALLTYPE *GetCodePage)( 2980 IQueryCodePage* This, 2981 UINT *puiCodePage); 2982 2983 HRESULT (STDMETHODCALLTYPE *SetCodePage)( 2984 IQueryCodePage* This, 2985 UINT uiCodePage); 2986 2987 END_INTERFACE 2988 } IQueryCodePageVtbl; 2989 interface IQueryCodePage { 2990 CONST_VTBL IQueryCodePageVtbl* lpVtbl; 2991 }; 2992 2993 #ifdef COBJMACROS 2994 #ifndef WIDL_C_INLINE_WRAPPERS 2995 /*** IUnknown methods ***/ 2996 #define IQueryCodePage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2997 #define IQueryCodePage_AddRef(This) (This)->lpVtbl->AddRef(This) 2998 #define IQueryCodePage_Release(This) (This)->lpVtbl->Release(This) 2999 /*** IQueryCodePage methods ***/ 3000 #define IQueryCodePage_GetCodePage(This,puiCodePage) (This)->lpVtbl->GetCodePage(This,puiCodePage) 3001 #define IQueryCodePage_SetCodePage(This,uiCodePage) (This)->lpVtbl->SetCodePage(This,uiCodePage) 3002 #else 3003 /*** IUnknown methods ***/ 3004 static FORCEINLINE HRESULT IQueryCodePage_QueryInterface(IQueryCodePage* This,REFIID riid,void **ppvObject) { 3005 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3006 } 3007 static FORCEINLINE ULONG IQueryCodePage_AddRef(IQueryCodePage* This) { 3008 return This->lpVtbl->AddRef(This); 3009 } 3010 static FORCEINLINE ULONG IQueryCodePage_Release(IQueryCodePage* This) { 3011 return This->lpVtbl->Release(This); 3012 } 3013 /*** IQueryCodePage methods ***/ 3014 static FORCEINLINE HRESULT IQueryCodePage_GetCodePage(IQueryCodePage* This,UINT *puiCodePage) { 3015 return This->lpVtbl->GetCodePage(This,puiCodePage); 3016 } 3017 static FORCEINLINE HRESULT IQueryCodePage_SetCodePage(IQueryCodePage* This,UINT uiCodePage) { 3018 return This->lpVtbl->SetCodePage(This,uiCodePage); 3019 } 3020 #endif 3021 #endif 3022 3023 #endif 3024 3025 HRESULT STDMETHODCALLTYPE IQueryCodePage_GetCodePage_Proxy( 3026 IQueryCodePage* This, 3027 UINT *puiCodePage); 3028 void __RPC_STUB IQueryCodePage_GetCodePage_Stub( 3029 IRpcStubBuffer* This, 3030 IRpcChannelBuffer* pRpcChannelBuffer, 3031 PRPC_MESSAGE pRpcMessage, 3032 DWORD* pdwStubPhase); 3033 HRESULT STDMETHODCALLTYPE IQueryCodePage_SetCodePage_Proxy( 3034 IQueryCodePage* This, 3035 UINT uiCodePage); 3036 void __RPC_STUB IQueryCodePage_SetCodePage_Stub( 3037 IRpcStubBuffer* This, 3038 IRpcChannelBuffer* pRpcChannelBuffer, 3039 PRPC_MESSAGE pRpcMessage, 3040 DWORD* pdwStubPhase); 3041 3042 #endif /* __IQueryCodePage_INTERFACE_DEFINED__ */ 3043 3044 3045 /***************************************************************************** 3046 * IPersistFolder2 interface 3047 */ 3048 #ifndef __IPersistFolder2_INTERFACE_DEFINED__ 3049 #define __IPersistFolder2_INTERFACE_DEFINED__ 3050 3051 DEFINE_GUID(IID_IPersistFolder2, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f); 3052 #if defined(__cplusplus) && !defined(CINTERFACE) 3053 MIDL_INTERFACE("1ac3d9f0-175c-11d1-95be-00609797ea4f") 3054 IPersistFolder2 : public IPersistFolder 3055 { 3056 virtual HRESULT STDMETHODCALLTYPE GetCurFolder( 3057 PIDLIST_ABSOLUTE *ppidl) = 0; 3058 3059 }; 3060 #ifdef __CRT_UUID_DECL 3061 __CRT_UUID_DECL(IPersistFolder2, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f) 3062 #endif 3063 #else 3064 typedef struct IPersistFolder2Vtbl { 3065 BEGIN_INTERFACE 3066 3067 /*** IUnknown methods ***/ 3068 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3069 IPersistFolder2* This, 3070 REFIID riid, 3071 void **ppvObject); 3072 3073 ULONG (STDMETHODCALLTYPE *AddRef)( 3074 IPersistFolder2* This); 3075 3076 ULONG (STDMETHODCALLTYPE *Release)( 3077 IPersistFolder2* This); 3078 3079 /*** IPersist methods ***/ 3080 HRESULT (STDMETHODCALLTYPE *GetClassID)( 3081 IPersistFolder2* This, 3082 CLSID *pClassID); 3083 3084 /*** IPersistFolder methods ***/ 3085 HRESULT (STDMETHODCALLTYPE *Initialize)( 3086 IPersistFolder2* This, 3087 PCIDLIST_ABSOLUTE pidl); 3088 3089 /*** IPersistFolder2 methods ***/ 3090 HRESULT (STDMETHODCALLTYPE *GetCurFolder)( 3091 IPersistFolder2* This, 3092 PIDLIST_ABSOLUTE *ppidl); 3093 3094 END_INTERFACE 3095 } IPersistFolder2Vtbl; 3096 interface IPersistFolder2 { 3097 CONST_VTBL IPersistFolder2Vtbl* lpVtbl; 3098 }; 3099 3100 #ifdef COBJMACROS 3101 #ifndef WIDL_C_INLINE_WRAPPERS 3102 /*** IUnknown methods ***/ 3103 #define IPersistFolder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3104 #define IPersistFolder2_AddRef(This) (This)->lpVtbl->AddRef(This) 3105 #define IPersistFolder2_Release(This) (This)->lpVtbl->Release(This) 3106 /*** IPersist methods ***/ 3107 #define IPersistFolder2_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 3108 /*** IPersistFolder methods ***/ 3109 #define IPersistFolder2_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl) 3110 /*** IPersistFolder2 methods ***/ 3111 #define IPersistFolder2_GetCurFolder(This,ppidl) (This)->lpVtbl->GetCurFolder(This,ppidl) 3112 #else 3113 /*** IUnknown methods ***/ 3114 static FORCEINLINE HRESULT IPersistFolder2_QueryInterface(IPersistFolder2* This,REFIID riid,void **ppvObject) { 3115 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3116 } 3117 static FORCEINLINE ULONG IPersistFolder2_AddRef(IPersistFolder2* This) { 3118 return This->lpVtbl->AddRef(This); 3119 } 3120 static FORCEINLINE ULONG IPersistFolder2_Release(IPersistFolder2* This) { 3121 return This->lpVtbl->Release(This); 3122 } 3123 /*** IPersist methods ***/ 3124 static FORCEINLINE HRESULT IPersistFolder2_GetClassID(IPersistFolder2* This,CLSID *pClassID) { 3125 return This->lpVtbl->GetClassID(This,pClassID); 3126 } 3127 /*** IPersistFolder methods ***/ 3128 static FORCEINLINE HRESULT IPersistFolder2_Initialize(IPersistFolder2* This,PCIDLIST_ABSOLUTE pidl) { 3129 return This->lpVtbl->Initialize(This,pidl); 3130 } 3131 /*** IPersistFolder2 methods ***/ 3132 static FORCEINLINE HRESULT IPersistFolder2_GetCurFolder(IPersistFolder2* This,PIDLIST_ABSOLUTE *ppidl) { 3133 return This->lpVtbl->GetCurFolder(This,ppidl); 3134 } 3135 #endif 3136 #endif 3137 3138 #endif 3139 3140 HRESULT STDMETHODCALLTYPE IPersistFolder2_GetCurFolder_Proxy( 3141 IPersistFolder2* This, 3142 PIDLIST_ABSOLUTE *ppidl); 3143 void __RPC_STUB IPersistFolder2_GetCurFolder_Stub( 3144 IRpcStubBuffer* This, 3145 IRpcChannelBuffer* pRpcChannelBuffer, 3146 PRPC_MESSAGE pRpcMessage, 3147 DWORD* pdwStubPhase); 3148 3149 #endif /* __IPersistFolder2_INTERFACE_DEFINED__ */ 3150 3151 3152 #define CSIDL_FLAG_PFTI_TRACKTARGET CSIDL_FLAG_DONT_VERIFY 3153 3154 #include <pshpack8.h> 3155 typedef struct _PERSIST_FOLDER_TARGET_INFO { 3156 PIDLIST_ABSOLUTE pidlTargetFolder; 3157 WCHAR szTargetParsingName[260]; 3158 WCHAR szNetworkProvider[260]; 3159 DWORD dwAttributes; 3160 int csidl; 3161 } PERSIST_FOLDER_TARGET_INFO; 3162 #include <poppack.h> 3163 3164 /***************************************************************************** 3165 * IPersistFolder3 interface 3166 */ 3167 #ifndef __IPersistFolder3_INTERFACE_DEFINED__ 3168 #define __IPersistFolder3_INTERFACE_DEFINED__ 3169 3170 DEFINE_GUID(IID_IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf); 3171 #if defined(__cplusplus) && !defined(CINTERFACE) 3172 MIDL_INTERFACE("cef04fdf-fe72-11d2-87a5-00c04f6837cf") 3173 IPersistFolder3 : public IPersistFolder2 3174 { 3175 virtual HRESULT STDMETHODCALLTYPE InitializeEx( 3176 IBindCtx *pbc, 3177 PCIDLIST_ABSOLUTE pidlRoot, 3178 const PERSIST_FOLDER_TARGET_INFO *ppfti) = 0; 3179 3180 virtual HRESULT STDMETHODCALLTYPE GetFolderTargetInfo( 3181 PERSIST_FOLDER_TARGET_INFO *ppfti) = 0; 3182 3183 }; 3184 #ifdef __CRT_UUID_DECL 3185 __CRT_UUID_DECL(IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf) 3186 #endif 3187 #else 3188 typedef struct IPersistFolder3Vtbl { 3189 BEGIN_INTERFACE 3190 3191 /*** IUnknown methods ***/ 3192 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3193 IPersistFolder3* This, 3194 REFIID riid, 3195 void **ppvObject); 3196 3197 ULONG (STDMETHODCALLTYPE *AddRef)( 3198 IPersistFolder3* This); 3199 3200 ULONG (STDMETHODCALLTYPE *Release)( 3201 IPersistFolder3* This); 3202 3203 /*** IPersist methods ***/ 3204 HRESULT (STDMETHODCALLTYPE *GetClassID)( 3205 IPersistFolder3* This, 3206 CLSID *pClassID); 3207 3208 /*** IPersistFolder methods ***/ 3209 HRESULT (STDMETHODCALLTYPE *Initialize)( 3210 IPersistFolder3* This, 3211 PCIDLIST_ABSOLUTE pidl); 3212 3213 /*** IPersistFolder2 methods ***/ 3214 HRESULT (STDMETHODCALLTYPE *GetCurFolder)( 3215 IPersistFolder3* This, 3216 PIDLIST_ABSOLUTE *ppidl); 3217 3218 /*** IPersistFolder3 methods ***/ 3219 HRESULT (STDMETHODCALLTYPE *InitializeEx)( 3220 IPersistFolder3* This, 3221 IBindCtx *pbc, 3222 PCIDLIST_ABSOLUTE pidlRoot, 3223 const PERSIST_FOLDER_TARGET_INFO *ppfti); 3224 3225 HRESULT (STDMETHODCALLTYPE *GetFolderTargetInfo)( 3226 IPersistFolder3* This, 3227 PERSIST_FOLDER_TARGET_INFO *ppfti); 3228 3229 END_INTERFACE 3230 } IPersistFolder3Vtbl; 3231 interface IPersistFolder3 { 3232 CONST_VTBL IPersistFolder3Vtbl* lpVtbl; 3233 }; 3234 3235 #ifdef COBJMACROS 3236 #ifndef WIDL_C_INLINE_WRAPPERS 3237 /*** IUnknown methods ***/ 3238 #define IPersistFolder3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3239 #define IPersistFolder3_AddRef(This) (This)->lpVtbl->AddRef(This) 3240 #define IPersistFolder3_Release(This) (This)->lpVtbl->Release(This) 3241 /*** IPersist methods ***/ 3242 #define IPersistFolder3_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 3243 /*** IPersistFolder methods ***/ 3244 #define IPersistFolder3_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl) 3245 /*** IPersistFolder2 methods ***/ 3246 #define IPersistFolder3_GetCurFolder(This,ppidl) (This)->lpVtbl->GetCurFolder(This,ppidl) 3247 /*** IPersistFolder3 methods ***/ 3248 #define IPersistFolder3_InitializeEx(This,pbc,pidlRoot,ppfti) (This)->lpVtbl->InitializeEx(This,pbc,pidlRoot,ppfti) 3249 #define IPersistFolder3_GetFolderTargetInfo(This,ppfti) (This)->lpVtbl->GetFolderTargetInfo(This,ppfti) 3250 #else 3251 /*** IUnknown methods ***/ 3252 static FORCEINLINE HRESULT IPersistFolder3_QueryInterface(IPersistFolder3* This,REFIID riid,void **ppvObject) { 3253 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3254 } 3255 static FORCEINLINE ULONG IPersistFolder3_AddRef(IPersistFolder3* This) { 3256 return This->lpVtbl->AddRef(This); 3257 } 3258 static FORCEINLINE ULONG IPersistFolder3_Release(IPersistFolder3* This) { 3259 return This->lpVtbl->Release(This); 3260 } 3261 /*** IPersist methods ***/ 3262 static FORCEINLINE HRESULT IPersistFolder3_GetClassID(IPersistFolder3* This,CLSID *pClassID) { 3263 return This->lpVtbl->GetClassID(This,pClassID); 3264 } 3265 /*** IPersistFolder methods ***/ 3266 static FORCEINLINE HRESULT IPersistFolder3_Initialize(IPersistFolder3* This,PCIDLIST_ABSOLUTE pidl) { 3267 return This->lpVtbl->Initialize(This,pidl); 3268 } 3269 /*** IPersistFolder2 methods ***/ 3270 static FORCEINLINE HRESULT IPersistFolder3_GetCurFolder(IPersistFolder3* This,PIDLIST_ABSOLUTE *ppidl) { 3271 return This->lpVtbl->GetCurFolder(This,ppidl); 3272 } 3273 /*** IPersistFolder3 methods ***/ 3274 static FORCEINLINE HRESULT IPersistFolder3_InitializeEx(IPersistFolder3* This,IBindCtx *pbc,PCIDLIST_ABSOLUTE pidlRoot,const PERSIST_FOLDER_TARGET_INFO *ppfti) { 3275 return This->lpVtbl->InitializeEx(This,pbc,pidlRoot,ppfti); 3276 } 3277 static FORCEINLINE HRESULT IPersistFolder3_GetFolderTargetInfo(IPersistFolder3* This,PERSIST_FOLDER_TARGET_INFO *ppfti) { 3278 return This->lpVtbl->GetFolderTargetInfo(This,ppfti); 3279 } 3280 #endif 3281 #endif 3282 3283 #endif 3284 3285 HRESULT STDMETHODCALLTYPE IPersistFolder3_InitializeEx_Proxy( 3286 IPersistFolder3* This, 3287 IBindCtx *pbc, 3288 PCIDLIST_ABSOLUTE pidlRoot, 3289 const PERSIST_FOLDER_TARGET_INFO *ppfti); 3290 void __RPC_STUB IPersistFolder3_InitializeEx_Stub( 3291 IRpcStubBuffer* This, 3292 IRpcChannelBuffer* pRpcChannelBuffer, 3293 PRPC_MESSAGE pRpcMessage, 3294 DWORD* pdwStubPhase); 3295 HRESULT STDMETHODCALLTYPE IPersistFolder3_GetFolderTargetInfo_Proxy( 3296 IPersistFolder3* This, 3297 PERSIST_FOLDER_TARGET_INFO *ppfti); 3298 void __RPC_STUB IPersistFolder3_GetFolderTargetInfo_Stub( 3299 IRpcStubBuffer* This, 3300 IRpcChannelBuffer* pRpcChannelBuffer, 3301 PRPC_MESSAGE pRpcMessage, 3302 DWORD* pdwStubPhase); 3303 3304 #endif /* __IPersistFolder3_INTERFACE_DEFINED__ */ 3305 3306 3307 /***************************************************************************** 3308 * IPersistIDList interface 3309 */ 3310 #ifndef __IPersistIDList_INTERFACE_DEFINED__ 3311 #define __IPersistIDList_INTERFACE_DEFINED__ 3312 3313 DEFINE_GUID(IID_IPersistIDList, 0x1079acfc, 0x29bd, 0x11d3, 0x8e,0x0d, 0x00,0xc0,0x4f,0x68,0x37,0xd5); 3314 #if defined(__cplusplus) && !defined(CINTERFACE) 3315 MIDL_INTERFACE("1079acfc-29bd-11d3-8e0d-00c04f6837d5") 3316 IPersistIDList : public IPersist 3317 { 3318 virtual HRESULT STDMETHODCALLTYPE SetIDList( 3319 PCIDLIST_ABSOLUTE pidl) = 0; 3320 3321 virtual HRESULT STDMETHODCALLTYPE GetIDList( 3322 PIDLIST_ABSOLUTE *ppidl) = 0; 3323 3324 }; 3325 #ifdef __CRT_UUID_DECL 3326 __CRT_UUID_DECL(IPersistIDList, 0x1079acfc, 0x29bd, 0x11d3, 0x8e,0x0d, 0x00,0xc0,0x4f,0x68,0x37,0xd5) 3327 #endif 3328 #else 3329 typedef struct IPersistIDListVtbl { 3330 BEGIN_INTERFACE 3331 3332 /*** IUnknown methods ***/ 3333 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3334 IPersistIDList* This, 3335 REFIID riid, 3336 void **ppvObject); 3337 3338 ULONG (STDMETHODCALLTYPE *AddRef)( 3339 IPersistIDList* This); 3340 3341 ULONG (STDMETHODCALLTYPE *Release)( 3342 IPersistIDList* This); 3343 3344 /*** IPersist methods ***/ 3345 HRESULT (STDMETHODCALLTYPE *GetClassID)( 3346 IPersistIDList* This, 3347 CLSID *pClassID); 3348 3349 /*** IPersistIDList methods ***/ 3350 HRESULT (STDMETHODCALLTYPE *SetIDList)( 3351 IPersistIDList* This, 3352 PCIDLIST_ABSOLUTE pidl); 3353 3354 HRESULT (STDMETHODCALLTYPE *GetIDList)( 3355 IPersistIDList* This, 3356 PIDLIST_ABSOLUTE *ppidl); 3357 3358 END_INTERFACE 3359 } IPersistIDListVtbl; 3360 interface IPersistIDList { 3361 CONST_VTBL IPersistIDListVtbl* lpVtbl; 3362 }; 3363 3364 #ifdef COBJMACROS 3365 #ifndef WIDL_C_INLINE_WRAPPERS 3366 /*** IUnknown methods ***/ 3367 #define IPersistIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3368 #define IPersistIDList_AddRef(This) (This)->lpVtbl->AddRef(This) 3369 #define IPersistIDList_Release(This) (This)->lpVtbl->Release(This) 3370 /*** IPersist methods ***/ 3371 #define IPersistIDList_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 3372 /*** IPersistIDList methods ***/ 3373 #define IPersistIDList_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl) 3374 #define IPersistIDList_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl) 3375 #else 3376 /*** IUnknown methods ***/ 3377 static FORCEINLINE HRESULT IPersistIDList_QueryInterface(IPersistIDList* This,REFIID riid,void **ppvObject) { 3378 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3379 } 3380 static FORCEINLINE ULONG IPersistIDList_AddRef(IPersistIDList* This) { 3381 return This->lpVtbl->AddRef(This); 3382 } 3383 static FORCEINLINE ULONG IPersistIDList_Release(IPersistIDList* This) { 3384 return This->lpVtbl->Release(This); 3385 } 3386 /*** IPersist methods ***/ 3387 static FORCEINLINE HRESULT IPersistIDList_GetClassID(IPersistIDList* This,CLSID *pClassID) { 3388 return This->lpVtbl->GetClassID(This,pClassID); 3389 } 3390 /*** IPersistIDList methods ***/ 3391 static FORCEINLINE HRESULT IPersistIDList_SetIDList(IPersistIDList* This,PCIDLIST_ABSOLUTE pidl) { 3392 return This->lpVtbl->SetIDList(This,pidl); 3393 } 3394 static FORCEINLINE HRESULT IPersistIDList_GetIDList(IPersistIDList* This,PIDLIST_ABSOLUTE *ppidl) { 3395 return This->lpVtbl->GetIDList(This,ppidl); 3396 } 3397 #endif 3398 #endif 3399 3400 #endif 3401 3402 HRESULT STDMETHODCALLTYPE IPersistIDList_SetIDList_Proxy( 3403 IPersistIDList* This, 3404 PCIDLIST_ABSOLUTE pidl); 3405 void __RPC_STUB IPersistIDList_SetIDList_Stub( 3406 IRpcStubBuffer* This, 3407 IRpcChannelBuffer* pRpcChannelBuffer, 3408 PRPC_MESSAGE pRpcMessage, 3409 DWORD* pdwStubPhase); 3410 HRESULT STDMETHODCALLTYPE IPersistIDList_GetIDList_Proxy( 3411 IPersistIDList* This, 3412 PIDLIST_ABSOLUTE *ppidl); 3413 void __RPC_STUB IPersistIDList_GetIDList_Stub( 3414 IRpcStubBuffer* This, 3415 IRpcChannelBuffer* pRpcChannelBuffer, 3416 PRPC_MESSAGE pRpcMessage, 3417 DWORD* pdwStubPhase); 3418 3419 #endif /* __IPersistIDList_INTERFACE_DEFINED__ */ 3420 3421 3422 /***************************************************************************** 3423 * IEnumIDList interface 3424 */ 3425 #ifndef __IEnumIDList_INTERFACE_DEFINED__ 3426 #define __IEnumIDList_INTERFACE_DEFINED__ 3427 3428 DEFINE_GUID(IID_IEnumIDList, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 3429 #if defined(__cplusplus) && !defined(CINTERFACE) 3430 MIDL_INTERFACE("000214f2-0000-0000-c000-000000000046") 3431 IEnumIDList : public IUnknown 3432 { 3433 virtual HRESULT STDMETHODCALLTYPE Next( 3434 ULONG celt, 3435 PITEMID_CHILD *rgelt, 3436 ULONG *pceltFetched) = 0; 3437 3438 virtual HRESULT STDMETHODCALLTYPE Skip( 3439 ULONG celt) = 0; 3440 3441 virtual HRESULT STDMETHODCALLTYPE Reset( 3442 ) = 0; 3443 3444 virtual HRESULT STDMETHODCALLTYPE Clone( 3445 IEnumIDList **ppenum) = 0; 3446 3447 }; 3448 #ifdef __CRT_UUID_DECL 3449 __CRT_UUID_DECL(IEnumIDList, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 3450 #endif 3451 #else 3452 typedef struct IEnumIDListVtbl { 3453 BEGIN_INTERFACE 3454 3455 /*** IUnknown methods ***/ 3456 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3457 IEnumIDList* This, 3458 REFIID riid, 3459 void **ppvObject); 3460 3461 ULONG (STDMETHODCALLTYPE *AddRef)( 3462 IEnumIDList* This); 3463 3464 ULONG (STDMETHODCALLTYPE *Release)( 3465 IEnumIDList* This); 3466 3467 /*** IEnumIDList methods ***/ 3468 HRESULT (STDMETHODCALLTYPE *Next)( 3469 IEnumIDList* This, 3470 ULONG celt, 3471 PITEMID_CHILD *rgelt, 3472 ULONG *pceltFetched); 3473 3474 HRESULT (STDMETHODCALLTYPE *Skip)( 3475 IEnumIDList* This, 3476 ULONG celt); 3477 3478 HRESULT (STDMETHODCALLTYPE *Reset)( 3479 IEnumIDList* This); 3480 3481 HRESULT (STDMETHODCALLTYPE *Clone)( 3482 IEnumIDList* This, 3483 IEnumIDList **ppenum); 3484 3485 END_INTERFACE 3486 } IEnumIDListVtbl; 3487 interface IEnumIDList { 3488 CONST_VTBL IEnumIDListVtbl* lpVtbl; 3489 }; 3490 3491 #ifdef COBJMACROS 3492 #ifndef WIDL_C_INLINE_WRAPPERS 3493 /*** IUnknown methods ***/ 3494 #define IEnumIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3495 #define IEnumIDList_AddRef(This) (This)->lpVtbl->AddRef(This) 3496 #define IEnumIDList_Release(This) (This)->lpVtbl->Release(This) 3497 /*** IEnumIDList methods ***/ 3498 #define IEnumIDList_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 3499 #define IEnumIDList_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 3500 #define IEnumIDList_Reset(This) (This)->lpVtbl->Reset(This) 3501 #define IEnumIDList_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 3502 #else 3503 /*** IUnknown methods ***/ 3504 static FORCEINLINE HRESULT IEnumIDList_QueryInterface(IEnumIDList* This,REFIID riid,void **ppvObject) { 3505 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3506 } 3507 static FORCEINLINE ULONG IEnumIDList_AddRef(IEnumIDList* This) { 3508 return This->lpVtbl->AddRef(This); 3509 } 3510 static FORCEINLINE ULONG IEnumIDList_Release(IEnumIDList* This) { 3511 return This->lpVtbl->Release(This); 3512 } 3513 /*** IEnumIDList methods ***/ 3514 static FORCEINLINE HRESULT IEnumIDList_Next(IEnumIDList* This,ULONG celt,PITEMID_CHILD *rgelt,ULONG *pceltFetched) { 3515 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 3516 } 3517 static FORCEINLINE HRESULT IEnumIDList_Skip(IEnumIDList* This,ULONG celt) { 3518 return This->lpVtbl->Skip(This,celt); 3519 } 3520 static FORCEINLINE HRESULT IEnumIDList_Reset(IEnumIDList* This) { 3521 return This->lpVtbl->Reset(This); 3522 } 3523 static FORCEINLINE HRESULT IEnumIDList_Clone(IEnumIDList* This,IEnumIDList **ppenum) { 3524 return This->lpVtbl->Clone(This,ppenum); 3525 } 3526 #endif 3527 #endif 3528 3529 #endif 3530 3531 HRESULT STDMETHODCALLTYPE IEnumIDList_RemoteNext_Proxy( 3532 IEnumIDList* This, 3533 ULONG celt, 3534 PITEMID_CHILD *rgelt, 3535 ULONG *pceltFetched); 3536 void __RPC_STUB IEnumIDList_RemoteNext_Stub( 3537 IRpcStubBuffer* This, 3538 IRpcChannelBuffer* pRpcChannelBuffer, 3539 PRPC_MESSAGE pRpcMessage, 3540 DWORD* pdwStubPhase); 3541 HRESULT STDMETHODCALLTYPE IEnumIDList_Skip_Proxy( 3542 IEnumIDList* This, 3543 ULONG celt); 3544 void __RPC_STUB IEnumIDList_Skip_Stub( 3545 IRpcStubBuffer* This, 3546 IRpcChannelBuffer* pRpcChannelBuffer, 3547 PRPC_MESSAGE pRpcMessage, 3548 DWORD* pdwStubPhase); 3549 HRESULT STDMETHODCALLTYPE IEnumIDList_Reset_Proxy( 3550 IEnumIDList* This); 3551 void __RPC_STUB IEnumIDList_Reset_Stub( 3552 IRpcStubBuffer* This, 3553 IRpcChannelBuffer* pRpcChannelBuffer, 3554 PRPC_MESSAGE pRpcMessage, 3555 DWORD* pdwStubPhase); 3556 HRESULT STDMETHODCALLTYPE IEnumIDList_Clone_Proxy( 3557 IEnumIDList* This, 3558 IEnumIDList **ppenum); 3559 void __RPC_STUB IEnumIDList_Clone_Stub( 3560 IRpcStubBuffer* This, 3561 IRpcChannelBuffer* pRpcChannelBuffer, 3562 PRPC_MESSAGE pRpcMessage, 3563 DWORD* pdwStubPhase); 3564 HRESULT CALLBACK IEnumIDList_Next_Proxy( 3565 IEnumIDList* This, 3566 ULONG celt, 3567 PITEMID_CHILD *rgelt, 3568 ULONG *pceltFetched); 3569 HRESULT __RPC_STUB IEnumIDList_Next_Stub( 3570 IEnumIDList* This, 3571 ULONG celt, 3572 PITEMID_CHILD *rgelt, 3573 ULONG *pceltFetched); 3574 3575 #endif /* __IEnumIDList_INTERFACE_DEFINED__ */ 3576 3577 typedef IEnumIDList *LPENUMIDLIST; 3578 3579 /***************************************************************************** 3580 * IEnumFullIDList interface 3581 */ 3582 #ifndef __IEnumFullIDList_INTERFACE_DEFINED__ 3583 #define __IEnumFullIDList_INTERFACE_DEFINED__ 3584 3585 DEFINE_GUID(IID_IEnumFullIDList, 0xd0191542, 0x7954, 0x4908, 0xbc,0x06, 0xb2,0x36,0x0b,0xbe,0x45,0xba); 3586 #if defined(__cplusplus) && !defined(CINTERFACE) 3587 MIDL_INTERFACE("d0191542-7954-4908-bc06-b2360bbe45ba") 3588 IEnumFullIDList : public IUnknown 3589 { 3590 virtual HRESULT STDMETHODCALLTYPE Next( 3591 ULONG celt, 3592 PIDLIST_ABSOLUTE *rgelt, 3593 ULONG *pceltFetched) = 0; 3594 3595 virtual HRESULT STDMETHODCALLTYPE Skip( 3596 ULONG celt) = 0; 3597 3598 virtual HRESULT STDMETHODCALLTYPE Reset( 3599 ) = 0; 3600 3601 virtual HRESULT STDMETHODCALLTYPE Clone( 3602 IEnumFullIDList **ppenum) = 0; 3603 3604 }; 3605 #ifdef __CRT_UUID_DECL 3606 __CRT_UUID_DECL(IEnumFullIDList, 0xd0191542, 0x7954, 0x4908, 0xbc,0x06, 0xb2,0x36,0x0b,0xbe,0x45,0xba) 3607 #endif 3608 #else 3609 typedef struct IEnumFullIDListVtbl { 3610 BEGIN_INTERFACE 3611 3612 /*** IUnknown methods ***/ 3613 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3614 IEnumFullIDList* This, 3615 REFIID riid, 3616 void **ppvObject); 3617 3618 ULONG (STDMETHODCALLTYPE *AddRef)( 3619 IEnumFullIDList* This); 3620 3621 ULONG (STDMETHODCALLTYPE *Release)( 3622 IEnumFullIDList* This); 3623 3624 /*** IEnumFullIDList methods ***/ 3625 HRESULT (STDMETHODCALLTYPE *Next)( 3626 IEnumFullIDList* This, 3627 ULONG celt, 3628 PIDLIST_ABSOLUTE *rgelt, 3629 ULONG *pceltFetched); 3630 3631 HRESULT (STDMETHODCALLTYPE *Skip)( 3632 IEnumFullIDList* This, 3633 ULONG celt); 3634 3635 HRESULT (STDMETHODCALLTYPE *Reset)( 3636 IEnumFullIDList* This); 3637 3638 HRESULT (STDMETHODCALLTYPE *Clone)( 3639 IEnumFullIDList* This, 3640 IEnumFullIDList **ppenum); 3641 3642 END_INTERFACE 3643 } IEnumFullIDListVtbl; 3644 interface IEnumFullIDList { 3645 CONST_VTBL IEnumFullIDListVtbl* lpVtbl; 3646 }; 3647 3648 #ifdef COBJMACROS 3649 #ifndef WIDL_C_INLINE_WRAPPERS 3650 /*** IUnknown methods ***/ 3651 #define IEnumFullIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3652 #define IEnumFullIDList_AddRef(This) (This)->lpVtbl->AddRef(This) 3653 #define IEnumFullIDList_Release(This) (This)->lpVtbl->Release(This) 3654 /*** IEnumFullIDList methods ***/ 3655 #define IEnumFullIDList_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 3656 #define IEnumFullIDList_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 3657 #define IEnumFullIDList_Reset(This) (This)->lpVtbl->Reset(This) 3658 #define IEnumFullIDList_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 3659 #else 3660 /*** IUnknown methods ***/ 3661 static FORCEINLINE HRESULT IEnumFullIDList_QueryInterface(IEnumFullIDList* This,REFIID riid,void **ppvObject) { 3662 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3663 } 3664 static FORCEINLINE ULONG IEnumFullIDList_AddRef(IEnumFullIDList* This) { 3665 return This->lpVtbl->AddRef(This); 3666 } 3667 static FORCEINLINE ULONG IEnumFullIDList_Release(IEnumFullIDList* This) { 3668 return This->lpVtbl->Release(This); 3669 } 3670 /*** IEnumFullIDList methods ***/ 3671 static FORCEINLINE HRESULT IEnumFullIDList_Next(IEnumFullIDList* This,ULONG celt,PIDLIST_ABSOLUTE *rgelt,ULONG *pceltFetched) { 3672 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 3673 } 3674 static FORCEINLINE HRESULT IEnumFullIDList_Skip(IEnumFullIDList* This,ULONG celt) { 3675 return This->lpVtbl->Skip(This,celt); 3676 } 3677 static FORCEINLINE HRESULT IEnumFullIDList_Reset(IEnumFullIDList* This) { 3678 return This->lpVtbl->Reset(This); 3679 } 3680 static FORCEINLINE HRESULT IEnumFullIDList_Clone(IEnumFullIDList* This,IEnumFullIDList **ppenum) { 3681 return This->lpVtbl->Clone(This,ppenum); 3682 } 3683 #endif 3684 #endif 3685 3686 #endif 3687 3688 HRESULT STDMETHODCALLTYPE IEnumFullIDList_RemoteNext_Proxy( 3689 IEnumFullIDList* This, 3690 ULONG celt, 3691 PIDLIST_ABSOLUTE *rgelt, 3692 ULONG *pceltFetched); 3693 void __RPC_STUB IEnumFullIDList_RemoteNext_Stub( 3694 IRpcStubBuffer* This, 3695 IRpcChannelBuffer* pRpcChannelBuffer, 3696 PRPC_MESSAGE pRpcMessage, 3697 DWORD* pdwStubPhase); 3698 HRESULT STDMETHODCALLTYPE IEnumFullIDList_Skip_Proxy( 3699 IEnumFullIDList* This, 3700 ULONG celt); 3701 void __RPC_STUB IEnumFullIDList_Skip_Stub( 3702 IRpcStubBuffer* This, 3703 IRpcChannelBuffer* pRpcChannelBuffer, 3704 PRPC_MESSAGE pRpcMessage, 3705 DWORD* pdwStubPhase); 3706 HRESULT STDMETHODCALLTYPE IEnumFullIDList_Reset_Proxy( 3707 IEnumFullIDList* This); 3708 void __RPC_STUB IEnumFullIDList_Reset_Stub( 3709 IRpcStubBuffer* This, 3710 IRpcChannelBuffer* pRpcChannelBuffer, 3711 PRPC_MESSAGE pRpcMessage, 3712 DWORD* pdwStubPhase); 3713 HRESULT STDMETHODCALLTYPE IEnumFullIDList_Clone_Proxy( 3714 IEnumFullIDList* This, 3715 IEnumFullIDList **ppenum); 3716 void __RPC_STUB IEnumFullIDList_Clone_Stub( 3717 IRpcStubBuffer* This, 3718 IRpcChannelBuffer* pRpcChannelBuffer, 3719 PRPC_MESSAGE pRpcMessage, 3720 DWORD* pdwStubPhase); 3721 HRESULT CALLBACK IEnumFullIDList_Next_Proxy( 3722 IEnumFullIDList* This, 3723 ULONG celt, 3724 PIDLIST_ABSOLUTE *rgelt, 3725 ULONG *pceltFetched); 3726 HRESULT __RPC_STUB IEnumFullIDList_Next_Stub( 3727 IEnumFullIDList* This, 3728 ULONG celt, 3729 PIDLIST_ABSOLUTE *rgelt, 3730 ULONG *pceltFetched); 3731 3732 #endif /* __IEnumFullIDList_INTERFACE_DEFINED__ */ 3733 3734 3735 enum _SHGDNF { 3736 SHGDN_NORMAL = 0x0, 3737 SHGDN_INFOLDER = 0x1, 3738 SHGDN_FOREDITING = 0x1000, 3739 SHGDN_FORADDRESSBAR = 0x4000, 3740 SHGDN_FORPARSING = 0x8000 3741 }; 3742 3743 3744 typedef DWORD SHGDNF; 3745 3746 enum _SHCONTF { 3747 SHCONTF_CHECKING_FOR_CHILDREN = 0x10, 3748 SHCONTF_FOLDERS = 0x20, 3749 SHCONTF_NONFOLDERS = 0x40, 3750 SHCONTF_INCLUDEHIDDEN = 0x80, 3751 SHCONTF_INIT_ON_FIRST_NEXT = 0x100, 3752 SHCONTF_NETPRINTERSRCH = 0x200, 3753 SHCONTF_SHAREABLE = 0x400, 3754 SHCONTF_STORAGE = 0x800, 3755 SHCONTF_NAVIGATION_ENUM = 0x1000, 3756 SHCONTF_FASTITEMS = 0x2000, 3757 SHCONTF_FLATLIST = 0x4000, 3758 SHCONTF_ENABLE_ASYNC = 0x8000, 3759 SHCONTF_INCLUDESUPERHIDDEN = 0x10000 3760 }; 3761 3762 3763 typedef DWORD SHCONTF; 3764 3765 #define SHCIDS_ALLFIELDS __MSABI_LONG(0x80000000) 3766 #define SHCIDS_CANONICALONLY __MSABI_LONG(0x10000000) 3767 #define SHCIDS_BITMASK __MSABI_LONG(0xffff0000) 3768 #define SHCIDS_COLUMNMASK __MSABI_LONG(0x0000ffff) 3769 3770 #define SFGAO_CANCOPY DROPEFFECT_COPY 3771 #define SFGAO_CANMOVE DROPEFFECT_MOVE 3772 #define SFGAO_CANLINK DROPEFFECT_LINK 3773 #define SFGAO_STORAGE __MSABI_LONG(0x8) 3774 #define SFGAO_CANRENAME __MSABI_LONG(0x10) 3775 #define SFGAO_CANDELETE __MSABI_LONG(0x20) 3776 #define SFGAO_HASPROPSHEET __MSABI_LONG(0x40) 3777 #define SFGAO_DROPTARGET __MSABI_LONG(0x100) 3778 3779 #define SFGAO_CAPABILITYMASK __MSABI_LONG(0x177) 3780 3781 #define SFGAO_SYSTEM __MSABI_LONG(0x1000) 3782 #define SFGAO_ENCRYPTED __MSABI_LONG(0x2000) 3783 #define SFGAO_ISSLOW __MSABI_LONG(0x4000) 3784 #define SFGAO_GHOSTED __MSABI_LONG(0x8000) 3785 #define SFGAO_LINK __MSABI_LONG(0x10000) 3786 #define SFGAO_SHARE __MSABI_LONG(0x20000) 3787 #define SFGAO_READONLY __MSABI_LONG(0x40000) 3788 #define SFGAO_HIDDEN __MSABI_LONG(0x80000) 3789 3790 #define SFGAO_DISPLAYATTRMASK __MSABI_LONG(0xfc000) 3791 3792 #define SFGAO_FILESYSANCESTOR __MSABI_LONG(0x10000000) 3793 #define SFGAO_FOLDER __MSABI_LONG(0x20000000) 3794 #define SFGAO_FILESYSTEM __MSABI_LONG(0x40000000) 3795 #define SFGAO_HASSUBFOLDER __MSABI_LONG(0x80000000) 3796 3797 #define SFGAO_CONTENTSMASK __MSABI_LONG(0x80000000) 3798 3799 #define SFGAO_VALIDATE __MSABI_LONG(0x1000000) 3800 #define SFGAO_REMOVABLE __MSABI_LONG(0x2000000) 3801 #define SFGAO_COMPRESSED __MSABI_LONG(0x4000000) 3802 #define SFGAO_BROWSABLE __MSABI_LONG(0x8000000) 3803 #define SFGAO_NONENUMERATED __MSABI_LONG(0x100000) 3804 #define SFGAO_NEWCONTENT __MSABI_LONG(0x200000) 3805 #define SFGAO_CANMONIKER __MSABI_LONG(0x400000) 3806 #define SFGAO_HASSTORAGE __MSABI_LONG(0x400000) 3807 #define SFGAO_STREAM __MSABI_LONG(0x400000) 3808 #define SFGAO_STORAGEANCESTOR __MSABI_LONG(0x00800000) 3809 3810 #define SFGAO_STORAGECAPMASK __MSABI_LONG(0x70c50008) 3811 #define SFGAO_PKEYSFGAOMASK __MSABI_LONG(0x81044000) 3812 3813 typedef ULONG SFGAOF; 3814 3815 #define STR_BIND_FORCE_FOLDER_SHORTCUT_RESOLVE L"Force Folder Shortcut Resolve" 3816 #define STR_AVOID_DRIVE_RESTRICTION_POLICY L"Avoid Drive Restriction Policy" 3817 #define STR_AVOID_DRIVE_RESTRICTION_POLICY L"Avoid Drive Restriction Policy" 3818 #define STR_SKIP_BINDING_CLSID L"Skip Binding CLSID" 3819 #define STR_PARSE_PREFER_FOLDER_BROWSING L"Parse Prefer Folder Browsing" 3820 #define STR_DONT_PARSE_RELATIVE L"Don't Parse Relative" 3821 #define STR_PARSE_TRANSLATE_ALIASES L"Parse Translate Aliases" 3822 #define STR_PARSE_SKIP_NET_CACHE L"Skip Net Resource Cache" 3823 #define STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS L"Parse Shell Protocol To File Objects" 3824 #if _WIN32_IE >= 0x0700 3825 #define STR_TRACK_CLSID L"Track the CLSID" 3826 #define STR_INTERNAL_NAVIGATE L"Internal Navigation" 3827 #define STR_PARSE_PROPERTYSTORE L"DelegateNamedProperties" 3828 #define STR_NO_VALIDATE_FILENAME_CHARS L"NoValidateFilenameChars" 3829 #define STR_BIND_DELEGATE_CREATE_OBJECT L"Delegate Object Creation" 3830 #define STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS L"Allow binding to Internet shell folder handlers and negate STR_PARSE_PREFER_WEB_BROWSING" 3831 #define STR_PARSE_PREFER_WEB_BROWSING L"Do not bind to Internet shell folder handlers" 3832 #define STR_PARSE_SHOW_NET_DIAGNOSTICS_UI L"Show network diagnostics UI" 3833 #define STR_PARSE_DONT_REQUIRE_VALIDATED_URLS L"Do not require validated URLs" 3834 #define STR_INTERNETFOLDER_PARSE_ONLY_URLMON_BINDABLE L"Validate URL" 3835 #endif 3836 3837 #if NTDDI_VERSION >= NTDDI_WIN8 3838 #define BIND_INTERRUPTABLE 0xffffffff 3839 #endif 3840 3841 #if NTDDI_VERSION >= NTDDI_WIN7 3842 #define STR_BIND_FOLDERS_READ_ONLY L"Folders As Read Only" 3843 #define STR_BIND_FOLDER_ENUM_MODE L"Folder Enum Mode" 3844 3845 typedef enum FOLDER_ENUM_MODE { 3846 FEM_VIEWRESULT = 0, 3847 FEM_NAVIGATION = 1 3848 } FOLDER_ENUM_MODE; 3849 3850 /***************************************************************************** 3851 * IObjectWithFolderEnumMode interface 3852 */ 3853 #ifndef __IObjectWithFolderEnumMode_INTERFACE_DEFINED__ 3854 #define __IObjectWithFolderEnumMode_INTERFACE_DEFINED__ 3855 3856 DEFINE_GUID(IID_IObjectWithFolderEnumMode, 0x6a9d9026, 0x0e6e, 0x464c, 0xb0,0x00, 0x42,0xec,0xc0,0x7d,0xe6,0x73); 3857 #if defined(__cplusplus) && !defined(CINTERFACE) 3858 MIDL_INTERFACE("6a9d9026-0e6e-464c-b000-42ecc07de673") 3859 IObjectWithFolderEnumMode : public IUnknown 3860 { 3861 virtual HRESULT STDMETHODCALLTYPE SetMode( 3862 FOLDER_ENUM_MODE feMode) = 0; 3863 3864 virtual HRESULT STDMETHODCALLTYPE GetMode( 3865 FOLDER_ENUM_MODE *pfeMode) = 0; 3866 3867 }; 3868 #ifdef __CRT_UUID_DECL 3869 __CRT_UUID_DECL(IObjectWithFolderEnumMode, 0x6a9d9026, 0x0e6e, 0x464c, 0xb0,0x00, 0x42,0xec,0xc0,0x7d,0xe6,0x73) 3870 #endif 3871 #else 3872 typedef struct IObjectWithFolderEnumModeVtbl { 3873 BEGIN_INTERFACE 3874 3875 /*** IUnknown methods ***/ 3876 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3877 IObjectWithFolderEnumMode* This, 3878 REFIID riid, 3879 void **ppvObject); 3880 3881 ULONG (STDMETHODCALLTYPE *AddRef)( 3882 IObjectWithFolderEnumMode* This); 3883 3884 ULONG (STDMETHODCALLTYPE *Release)( 3885 IObjectWithFolderEnumMode* This); 3886 3887 /*** IObjectWithFolderEnumMode methods ***/ 3888 HRESULT (STDMETHODCALLTYPE *SetMode)( 3889 IObjectWithFolderEnumMode* This, 3890 FOLDER_ENUM_MODE feMode); 3891 3892 HRESULT (STDMETHODCALLTYPE *GetMode)( 3893 IObjectWithFolderEnumMode* This, 3894 FOLDER_ENUM_MODE *pfeMode); 3895 3896 END_INTERFACE 3897 } IObjectWithFolderEnumModeVtbl; 3898 interface IObjectWithFolderEnumMode { 3899 CONST_VTBL IObjectWithFolderEnumModeVtbl* lpVtbl; 3900 }; 3901 3902 #ifdef COBJMACROS 3903 #ifndef WIDL_C_INLINE_WRAPPERS 3904 /*** IUnknown methods ***/ 3905 #define IObjectWithFolderEnumMode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3906 #define IObjectWithFolderEnumMode_AddRef(This) (This)->lpVtbl->AddRef(This) 3907 #define IObjectWithFolderEnumMode_Release(This) (This)->lpVtbl->Release(This) 3908 /*** IObjectWithFolderEnumMode methods ***/ 3909 #define IObjectWithFolderEnumMode_SetMode(This,feMode) (This)->lpVtbl->SetMode(This,feMode) 3910 #define IObjectWithFolderEnumMode_GetMode(This,pfeMode) (This)->lpVtbl->GetMode(This,pfeMode) 3911 #else 3912 /*** IUnknown methods ***/ 3913 static FORCEINLINE HRESULT IObjectWithFolderEnumMode_QueryInterface(IObjectWithFolderEnumMode* This,REFIID riid,void **ppvObject) { 3914 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3915 } 3916 static FORCEINLINE ULONG IObjectWithFolderEnumMode_AddRef(IObjectWithFolderEnumMode* This) { 3917 return This->lpVtbl->AddRef(This); 3918 } 3919 static FORCEINLINE ULONG IObjectWithFolderEnumMode_Release(IObjectWithFolderEnumMode* This) { 3920 return This->lpVtbl->Release(This); 3921 } 3922 /*** IObjectWithFolderEnumMode methods ***/ 3923 static FORCEINLINE HRESULT IObjectWithFolderEnumMode_SetMode(IObjectWithFolderEnumMode* This,FOLDER_ENUM_MODE feMode) { 3924 return This->lpVtbl->SetMode(This,feMode); 3925 } 3926 static FORCEINLINE HRESULT IObjectWithFolderEnumMode_GetMode(IObjectWithFolderEnumMode* This,FOLDER_ENUM_MODE *pfeMode) { 3927 return This->lpVtbl->GetMode(This,pfeMode); 3928 } 3929 #endif 3930 #endif 3931 3932 #endif 3933 3934 HRESULT STDMETHODCALLTYPE IObjectWithFolderEnumMode_SetMode_Proxy( 3935 IObjectWithFolderEnumMode* This, 3936 FOLDER_ENUM_MODE feMode); 3937 void __RPC_STUB IObjectWithFolderEnumMode_SetMode_Stub( 3938 IRpcStubBuffer* This, 3939 IRpcChannelBuffer* pRpcChannelBuffer, 3940 PRPC_MESSAGE pRpcMessage, 3941 DWORD* pdwStubPhase); 3942 HRESULT STDMETHODCALLTYPE IObjectWithFolderEnumMode_GetMode_Proxy( 3943 IObjectWithFolderEnumMode* This, 3944 FOLDER_ENUM_MODE *pfeMode); 3945 void __RPC_STUB IObjectWithFolderEnumMode_GetMode_Stub( 3946 IRpcStubBuffer* This, 3947 IRpcChannelBuffer* pRpcChannelBuffer, 3948 PRPC_MESSAGE pRpcMessage, 3949 DWORD* pdwStubPhase); 3950 3951 #endif /* __IObjectWithFolderEnumMode_INTERFACE_DEFINED__ */ 3952 3953 3954 #define STR_PARSE_WITH_EXPLICIT_PROGID L"ExplicitProgid" 3955 #define STR_PARSE_WITH_EXPLICIT_ASSOCAPP L"ExplicitAssociationApp" 3956 #define STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL L"ExplicitAssociationSuccessful" 3957 #define STR_PARSE_AND_CREATE_ITEM L"ParseAndCreateItem" 3958 #define STR_PROPERTYBAG_PARAM L"SHBindCtxPropertyBag" 3959 #define STR_ENUM_ITEMS_FLAGS L"SHCONTF" 3960 3961 #ifndef __IShellItem_FWD_DEFINED__ 3962 #define __IShellItem_FWD_DEFINED__ 3963 typedef interface IShellItem IShellItem; 3964 #endif 3965 3966 3967 /***************************************************************************** 3968 * IParseAndCreateItem interface 3969 */ 3970 #ifndef __IParseAndCreateItem_INTERFACE_DEFINED__ 3971 #define __IParseAndCreateItem_INTERFACE_DEFINED__ 3972 3973 DEFINE_GUID(IID_IParseAndCreateItem, 0x67efed0e, 0xe827, 0x4408, 0xb4,0x93, 0x78,0xf3,0x98,0x2b,0x68,0x5c); 3974 #if defined(__cplusplus) && !defined(CINTERFACE) 3975 MIDL_INTERFACE("67efed0e-e827-4408-b493-78f3982b685c") 3976 IParseAndCreateItem : public IUnknown 3977 { 3978 virtual HRESULT STDMETHODCALLTYPE SetItem( 3979 IShellItem *psi) = 0; 3980 3981 virtual HRESULT STDMETHODCALLTYPE GetItem( 3982 REFIID riid, 3983 void **ppv) = 0; 3984 3985 }; 3986 #ifdef __CRT_UUID_DECL 3987 __CRT_UUID_DECL(IParseAndCreateItem, 0x67efed0e, 0xe827, 0x4408, 0xb4,0x93, 0x78,0xf3,0x98,0x2b,0x68,0x5c) 3988 #endif 3989 #else 3990 typedef struct IParseAndCreateItemVtbl { 3991 BEGIN_INTERFACE 3992 3993 /*** IUnknown methods ***/ 3994 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3995 IParseAndCreateItem* This, 3996 REFIID riid, 3997 void **ppvObject); 3998 3999 ULONG (STDMETHODCALLTYPE *AddRef)( 4000 IParseAndCreateItem* This); 4001 4002 ULONG (STDMETHODCALLTYPE *Release)( 4003 IParseAndCreateItem* This); 4004 4005 /*** IParseAndCreateItem methods ***/ 4006 HRESULT (STDMETHODCALLTYPE *SetItem)( 4007 IParseAndCreateItem* This, 4008 IShellItem *psi); 4009 4010 HRESULT (STDMETHODCALLTYPE *GetItem)( 4011 IParseAndCreateItem* This, 4012 REFIID riid, 4013 void **ppv); 4014 4015 END_INTERFACE 4016 } IParseAndCreateItemVtbl; 4017 interface IParseAndCreateItem { 4018 CONST_VTBL IParseAndCreateItemVtbl* lpVtbl; 4019 }; 4020 4021 #ifdef COBJMACROS 4022 #ifndef WIDL_C_INLINE_WRAPPERS 4023 /*** IUnknown methods ***/ 4024 #define IParseAndCreateItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4025 #define IParseAndCreateItem_AddRef(This) (This)->lpVtbl->AddRef(This) 4026 #define IParseAndCreateItem_Release(This) (This)->lpVtbl->Release(This) 4027 /*** IParseAndCreateItem methods ***/ 4028 #define IParseAndCreateItem_SetItem(This,psi) (This)->lpVtbl->SetItem(This,psi) 4029 #define IParseAndCreateItem_GetItem(This,riid,ppv) (This)->lpVtbl->GetItem(This,riid,ppv) 4030 #else 4031 /*** IUnknown methods ***/ 4032 static FORCEINLINE HRESULT IParseAndCreateItem_QueryInterface(IParseAndCreateItem* This,REFIID riid,void **ppvObject) { 4033 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4034 } 4035 static FORCEINLINE ULONG IParseAndCreateItem_AddRef(IParseAndCreateItem* This) { 4036 return This->lpVtbl->AddRef(This); 4037 } 4038 static FORCEINLINE ULONG IParseAndCreateItem_Release(IParseAndCreateItem* This) { 4039 return This->lpVtbl->Release(This); 4040 } 4041 /*** IParseAndCreateItem methods ***/ 4042 static FORCEINLINE HRESULT IParseAndCreateItem_SetItem(IParseAndCreateItem* This,IShellItem *psi) { 4043 return This->lpVtbl->SetItem(This,psi); 4044 } 4045 static FORCEINLINE HRESULT IParseAndCreateItem_GetItem(IParseAndCreateItem* This,REFIID riid,void **ppv) { 4046 return This->lpVtbl->GetItem(This,riid,ppv); 4047 } 4048 #endif 4049 #endif 4050 4051 #endif 4052 4053 HRESULT STDMETHODCALLTYPE IParseAndCreateItem_SetItem_Proxy( 4054 IParseAndCreateItem* This, 4055 IShellItem *psi); 4056 void __RPC_STUB IParseAndCreateItem_SetItem_Stub( 4057 IRpcStubBuffer* This, 4058 IRpcChannelBuffer* pRpcChannelBuffer, 4059 PRPC_MESSAGE pRpcMessage, 4060 DWORD* pdwStubPhase); 4061 HRESULT STDMETHODCALLTYPE IParseAndCreateItem_GetItem_Proxy( 4062 IParseAndCreateItem* This, 4063 REFIID riid, 4064 void **ppv); 4065 void __RPC_STUB IParseAndCreateItem_GetItem_Stub( 4066 IRpcStubBuffer* This, 4067 IRpcChannelBuffer* pRpcChannelBuffer, 4068 PRPC_MESSAGE pRpcMessage, 4069 DWORD* pdwStubPhase); 4070 4071 #endif /* __IParseAndCreateItem_INTERFACE_DEFINED__ */ 4072 4073 4074 #define STR_ITEM_CACHE_CONTEXT L"ItemCacheContext" 4075 #endif 4076 4077 #ifndef __IShellFolder_FWD_DEFINED__ 4078 #define __IShellFolder_FWD_DEFINED__ 4079 typedef interface IShellFolder IShellFolder; 4080 #endif 4081 4082 4083 /***************************************************************************** 4084 * IShellFolder interface 4085 */ 4086 #ifndef __IShellFolder_INTERFACE_DEFINED__ 4087 #define __IShellFolder_INTERFACE_DEFINED__ 4088 4089 DEFINE_GUID(IID_IShellFolder, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4090 #if defined(__cplusplus) && !defined(CINTERFACE) 4091 MIDL_INTERFACE("000214e6-0000-0000-c000-000000000046") 4092 IShellFolder : public IUnknown 4093 { 4094 virtual HRESULT STDMETHODCALLTYPE ParseDisplayName( 4095 HWND hwnd, 4096 IBindCtx *pbc, 4097 LPWSTR pszDisplayName, 4098 ULONG *pchEaten, 4099 PIDLIST_RELATIVE *ppidl, 4100 ULONG *pdwAttributes) = 0; 4101 4102 virtual HRESULT STDMETHODCALLTYPE EnumObjects( 4103 HWND hwnd, 4104 SHCONTF grfFlags, 4105 IEnumIDList **ppenumIDList) = 0; 4106 4107 virtual HRESULT STDMETHODCALLTYPE BindToObject( 4108 PCUIDLIST_RELATIVE pidl, 4109 IBindCtx *pbc, 4110 REFIID riid, 4111 void **ppv) = 0; 4112 4113 virtual HRESULT STDMETHODCALLTYPE BindToStorage( 4114 PCUIDLIST_RELATIVE pidl, 4115 IBindCtx *pbc, 4116 REFIID riid, 4117 void **ppv) = 0; 4118 4119 virtual HRESULT STDMETHODCALLTYPE CompareIDs( 4120 LPARAM lParam, 4121 PCUIDLIST_RELATIVE pidl1, 4122 PCUIDLIST_RELATIVE pidl2) = 0; 4123 4124 virtual HRESULT STDMETHODCALLTYPE CreateViewObject( 4125 HWND hwndOwner, 4126 REFIID riid, 4127 void **ppv) = 0; 4128 4129 virtual HRESULT STDMETHODCALLTYPE GetAttributesOf( 4130 UINT cidl, 4131 PCUITEMID_CHILD_ARRAY apidl, 4132 SFGAOF *rgfInOut) = 0; 4133 4134 virtual HRESULT STDMETHODCALLTYPE GetUIObjectOf( 4135 HWND hwndOwner, 4136 UINT cidl, 4137 PCUITEMID_CHILD_ARRAY apidl, 4138 REFIID riid, 4139 UINT *rgfReserved, 4140 void **ppv) = 0; 4141 4142 virtual HRESULT STDMETHODCALLTYPE GetDisplayNameOf( 4143 PCUITEMID_CHILD pidl, 4144 SHGDNF uFlags, 4145 STRRET *pName) = 0; 4146 4147 virtual HRESULT STDMETHODCALLTYPE SetNameOf( 4148 HWND hwnd, 4149 PCUITEMID_CHILD pidl, 4150 LPCWSTR pszName, 4151 SHGDNF uFlags, 4152 PITEMID_CHILD *ppidlOut) = 0; 4153 4154 }; 4155 #ifdef __CRT_UUID_DECL 4156 __CRT_UUID_DECL(IShellFolder, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4157 #endif 4158 #else 4159 typedef struct IShellFolderVtbl { 4160 BEGIN_INTERFACE 4161 4162 /*** IUnknown methods ***/ 4163 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4164 IShellFolder* This, 4165 REFIID riid, 4166 void **ppvObject); 4167 4168 ULONG (STDMETHODCALLTYPE *AddRef)( 4169 IShellFolder* This); 4170 4171 ULONG (STDMETHODCALLTYPE *Release)( 4172 IShellFolder* This); 4173 4174 /*** IShellFolder methods ***/ 4175 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)( 4176 IShellFolder* This, 4177 HWND hwnd, 4178 IBindCtx *pbc, 4179 LPWSTR pszDisplayName, 4180 ULONG *pchEaten, 4181 PIDLIST_RELATIVE *ppidl, 4182 ULONG *pdwAttributes); 4183 4184 HRESULT (STDMETHODCALLTYPE *EnumObjects)( 4185 IShellFolder* This, 4186 HWND hwnd, 4187 SHCONTF grfFlags, 4188 IEnumIDList **ppenumIDList); 4189 4190 HRESULT (STDMETHODCALLTYPE *BindToObject)( 4191 IShellFolder* This, 4192 PCUIDLIST_RELATIVE pidl, 4193 IBindCtx *pbc, 4194 REFIID riid, 4195 void **ppv); 4196 4197 HRESULT (STDMETHODCALLTYPE *BindToStorage)( 4198 IShellFolder* This, 4199 PCUIDLIST_RELATIVE pidl, 4200 IBindCtx *pbc, 4201 REFIID riid, 4202 void **ppv); 4203 4204 HRESULT (STDMETHODCALLTYPE *CompareIDs)( 4205 IShellFolder* This, 4206 LPARAM lParam, 4207 PCUIDLIST_RELATIVE pidl1, 4208 PCUIDLIST_RELATIVE pidl2); 4209 4210 HRESULT (STDMETHODCALLTYPE *CreateViewObject)( 4211 IShellFolder* This, 4212 HWND hwndOwner, 4213 REFIID riid, 4214 void **ppv); 4215 4216 HRESULT (STDMETHODCALLTYPE *GetAttributesOf)( 4217 IShellFolder* This, 4218 UINT cidl, 4219 PCUITEMID_CHILD_ARRAY apidl, 4220 SFGAOF *rgfInOut); 4221 4222 HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)( 4223 IShellFolder* This, 4224 HWND hwndOwner, 4225 UINT cidl, 4226 PCUITEMID_CHILD_ARRAY apidl, 4227 REFIID riid, 4228 UINT *rgfReserved, 4229 void **ppv); 4230 4231 HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)( 4232 IShellFolder* This, 4233 PCUITEMID_CHILD pidl, 4234 SHGDNF uFlags, 4235 STRRET *pName); 4236 4237 HRESULT (STDMETHODCALLTYPE *SetNameOf)( 4238 IShellFolder* This, 4239 HWND hwnd, 4240 PCUITEMID_CHILD pidl, 4241 LPCWSTR pszName, 4242 SHGDNF uFlags, 4243 PITEMID_CHILD *ppidlOut); 4244 4245 END_INTERFACE 4246 } IShellFolderVtbl; 4247 interface IShellFolder { 4248 CONST_VTBL IShellFolderVtbl* lpVtbl; 4249 }; 4250 4251 #ifdef COBJMACROS 4252 #ifndef WIDL_C_INLINE_WRAPPERS 4253 /*** IUnknown methods ***/ 4254 #define IShellFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4255 #define IShellFolder_AddRef(This) (This)->lpVtbl->AddRef(This) 4256 #define IShellFolder_Release(This) (This)->lpVtbl->Release(This) 4257 /*** IShellFolder methods ***/ 4258 #define IShellFolder_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) (This)->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) 4259 #define IShellFolder_EnumObjects(This,hwnd,grfFlags,ppenumIDList) (This)->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList) 4260 #define IShellFolder_BindToObject(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv) 4261 #define IShellFolder_BindToStorage(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv) 4262 #define IShellFolder_CompareIDs(This,lParam,pidl1,pidl2) (This)->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2) 4263 #define IShellFolder_CreateViewObject(This,hwndOwner,riid,ppv) (This)->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv) 4264 #define IShellFolder_GetAttributesOf(This,cidl,apidl,rgfInOut) (This)->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut) 4265 #define IShellFolder_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) (This)->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) 4266 #define IShellFolder_GetDisplayNameOf(This,pidl,uFlags,pName) (This)->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName) 4267 #define IShellFolder_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) (This)->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) 4268 #else 4269 /*** IUnknown methods ***/ 4270 static FORCEINLINE HRESULT IShellFolder_QueryInterface(IShellFolder* This,REFIID riid,void **ppvObject) { 4271 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4272 } 4273 static FORCEINLINE ULONG IShellFolder_AddRef(IShellFolder* This) { 4274 return This->lpVtbl->AddRef(This); 4275 } 4276 static FORCEINLINE ULONG IShellFolder_Release(IShellFolder* This) { 4277 return This->lpVtbl->Release(This); 4278 } 4279 /*** IShellFolder methods ***/ 4280 static FORCEINLINE HRESULT IShellFolder_ParseDisplayName(IShellFolder* This,HWND hwnd,IBindCtx *pbc,LPWSTR pszDisplayName,ULONG *pchEaten,PIDLIST_RELATIVE *ppidl,ULONG *pdwAttributes) { 4281 return This->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes); 4282 } 4283 static FORCEINLINE HRESULT IShellFolder_EnumObjects(IShellFolder* This,HWND hwnd,SHCONTF grfFlags,IEnumIDList **ppenumIDList) { 4284 return This->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList); 4285 } 4286 static FORCEINLINE HRESULT IShellFolder_BindToObject(IShellFolder* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) { 4287 return This->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv); 4288 } 4289 static FORCEINLINE HRESULT IShellFolder_BindToStorage(IShellFolder* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) { 4290 return This->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv); 4291 } 4292 static FORCEINLINE HRESULT IShellFolder_CompareIDs(IShellFolder* This,LPARAM lParam,PCUIDLIST_RELATIVE pidl1,PCUIDLIST_RELATIVE pidl2) { 4293 return This->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2); 4294 } 4295 static FORCEINLINE HRESULT IShellFolder_CreateViewObject(IShellFolder* This,HWND hwndOwner,REFIID riid,void **ppv) { 4296 return This->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv); 4297 } 4298 static FORCEINLINE HRESULT IShellFolder_GetAttributesOf(IShellFolder* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,SFGAOF *rgfInOut) { 4299 return This->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut); 4300 } 4301 static FORCEINLINE HRESULT IShellFolder_GetUIObjectOf(IShellFolder* This,HWND hwndOwner,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,REFIID riid,UINT *rgfReserved,void **ppv) { 4302 return This->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv); 4303 } 4304 static FORCEINLINE HRESULT IShellFolder_GetDisplayNameOf(IShellFolder* This,PCUITEMID_CHILD pidl,SHGDNF uFlags,STRRET *pName) { 4305 return This->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName); 4306 } 4307 static FORCEINLINE HRESULT IShellFolder_SetNameOf(IShellFolder* This,HWND hwnd,PCUITEMID_CHILD pidl,LPCWSTR pszName,SHGDNF uFlags,PITEMID_CHILD *ppidlOut) { 4308 return This->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut); 4309 } 4310 #endif 4311 #endif 4312 4313 #endif 4314 4315 HRESULT STDMETHODCALLTYPE IShellFolder_ParseDisplayName_Proxy( 4316 IShellFolder* This, 4317 HWND hwnd, 4318 IBindCtx *pbc, 4319 LPWSTR pszDisplayName, 4320 ULONG *pchEaten, 4321 PIDLIST_RELATIVE *ppidl, 4322 ULONG *pdwAttributes); 4323 void __RPC_STUB IShellFolder_ParseDisplayName_Stub( 4324 IRpcStubBuffer* This, 4325 IRpcChannelBuffer* pRpcChannelBuffer, 4326 PRPC_MESSAGE pRpcMessage, 4327 DWORD* pdwStubPhase); 4328 HRESULT STDMETHODCALLTYPE IShellFolder_EnumObjects_Proxy( 4329 IShellFolder* This, 4330 HWND hwnd, 4331 SHCONTF grfFlags, 4332 IEnumIDList **ppenumIDList); 4333 void __RPC_STUB IShellFolder_EnumObjects_Stub( 4334 IRpcStubBuffer* This, 4335 IRpcChannelBuffer* pRpcChannelBuffer, 4336 PRPC_MESSAGE pRpcMessage, 4337 DWORD* pdwStubPhase); 4338 HRESULT STDMETHODCALLTYPE IShellFolder_BindToObject_Proxy( 4339 IShellFolder* This, 4340 PCUIDLIST_RELATIVE pidl, 4341 IBindCtx *pbc, 4342 REFIID riid, 4343 void **ppv); 4344 void __RPC_STUB IShellFolder_BindToObject_Stub( 4345 IRpcStubBuffer* This, 4346 IRpcChannelBuffer* pRpcChannelBuffer, 4347 PRPC_MESSAGE pRpcMessage, 4348 DWORD* pdwStubPhase); 4349 HRESULT STDMETHODCALLTYPE IShellFolder_BindToStorage_Proxy( 4350 IShellFolder* This, 4351 PCUIDLIST_RELATIVE pidl, 4352 IBindCtx *pbc, 4353 REFIID riid, 4354 void **ppv); 4355 void __RPC_STUB IShellFolder_BindToStorage_Stub( 4356 IRpcStubBuffer* This, 4357 IRpcChannelBuffer* pRpcChannelBuffer, 4358 PRPC_MESSAGE pRpcMessage, 4359 DWORD* pdwStubPhase); 4360 HRESULT STDMETHODCALLTYPE IShellFolder_CompareIDs_Proxy( 4361 IShellFolder* This, 4362 LPARAM lParam, 4363 PCUIDLIST_RELATIVE pidl1, 4364 PCUIDLIST_RELATIVE pidl2); 4365 void __RPC_STUB IShellFolder_CompareIDs_Stub( 4366 IRpcStubBuffer* This, 4367 IRpcChannelBuffer* pRpcChannelBuffer, 4368 PRPC_MESSAGE pRpcMessage, 4369 DWORD* pdwStubPhase); 4370 HRESULT STDMETHODCALLTYPE IShellFolder_CreateViewObject_Proxy( 4371 IShellFolder* This, 4372 HWND hwndOwner, 4373 REFIID riid, 4374 void **ppv); 4375 void __RPC_STUB IShellFolder_CreateViewObject_Stub( 4376 IRpcStubBuffer* This, 4377 IRpcChannelBuffer* pRpcChannelBuffer, 4378 PRPC_MESSAGE pRpcMessage, 4379 DWORD* pdwStubPhase); 4380 HRESULT STDMETHODCALLTYPE IShellFolder_GetAttributesOf_Proxy( 4381 IShellFolder* This, 4382 UINT cidl, 4383 PCUITEMID_CHILD_ARRAY apidl, 4384 SFGAOF *rgfInOut); 4385 void __RPC_STUB IShellFolder_GetAttributesOf_Stub( 4386 IRpcStubBuffer* This, 4387 IRpcChannelBuffer* pRpcChannelBuffer, 4388 PRPC_MESSAGE pRpcMessage, 4389 DWORD* pdwStubPhase); 4390 HRESULT STDMETHODCALLTYPE IShellFolder_GetUIObjectOf_Proxy( 4391 IShellFolder* This, 4392 HWND hwndOwner, 4393 UINT cidl, 4394 PCUITEMID_CHILD_ARRAY apidl, 4395 REFIID riid, 4396 UINT *rgfReserved, 4397 void **ppv); 4398 void __RPC_STUB IShellFolder_GetUIObjectOf_Stub( 4399 IRpcStubBuffer* This, 4400 IRpcChannelBuffer* pRpcChannelBuffer, 4401 PRPC_MESSAGE pRpcMessage, 4402 DWORD* pdwStubPhase); 4403 HRESULT STDMETHODCALLTYPE IShellFolder_GetDisplayNameOf_Proxy( 4404 IShellFolder* This, 4405 PCUITEMID_CHILD pidl, 4406 SHGDNF uFlags, 4407 STRRET *pName); 4408 void __RPC_STUB IShellFolder_GetDisplayNameOf_Stub( 4409 IRpcStubBuffer* This, 4410 IRpcChannelBuffer* pRpcChannelBuffer, 4411 PRPC_MESSAGE pRpcMessage, 4412 DWORD* pdwStubPhase); 4413 HRESULT STDMETHODCALLTYPE IShellFolder_RemoteSetNameOf_Proxy( 4414 IShellFolder* This, 4415 HWND hwnd, 4416 PCUITEMID_CHILD pidl, 4417 LPCWSTR pszName, 4418 SHGDNF uFlags, 4419 PITEMID_CHILD *ppidlOut); 4420 void __RPC_STUB IShellFolder_RemoteSetNameOf_Stub( 4421 IRpcStubBuffer* This, 4422 IRpcChannelBuffer* pRpcChannelBuffer, 4423 PRPC_MESSAGE pRpcMessage, 4424 DWORD* pdwStubPhase); 4425 HRESULT CALLBACK IShellFolder_SetNameOf_Proxy( 4426 IShellFolder* This, 4427 HWND hwnd, 4428 PCUITEMID_CHILD pidl, 4429 LPCWSTR pszName, 4430 SHGDNF uFlags, 4431 PITEMID_CHILD *ppidlOut); 4432 HRESULT __RPC_STUB IShellFolder_SetNameOf_Stub( 4433 IShellFolder* This, 4434 HWND hwnd, 4435 PCUITEMID_CHILD pidl, 4436 LPCWSTR pszName, 4437 SHGDNF uFlags, 4438 PITEMID_CHILD *ppidlOut); 4439 4440 #endif /* __IShellFolder_INTERFACE_DEFINED__ */ 4441 4442 typedef IShellFolder *LPSHELLFOLDER; 4443 4444 typedef struct EXTRASEARCH { 4445 GUID guidSearch; 4446 WCHAR wszFriendlyName[80]; 4447 WCHAR wszUrl[2084]; 4448 } EXTRASEARCH; 4449 typedef struct EXTRASEARCH *LPEXTRASEARCH; 4450 4451 /***************************************************************************** 4452 * IEnumExtraSearch interface 4453 */ 4454 #ifndef __IEnumExtraSearch_INTERFACE_DEFINED__ 4455 #define __IEnumExtraSearch_INTERFACE_DEFINED__ 4456 4457 DEFINE_GUID(IID_IEnumExtraSearch, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13); 4458 #if defined(__cplusplus) && !defined(CINTERFACE) 4459 MIDL_INTERFACE("0e700be1-9db6-11d1-a1ce-00c04fd75d13") 4460 IEnumExtraSearch : public IUnknown 4461 { 4462 virtual HRESULT STDMETHODCALLTYPE Next( 4463 ULONG celt, 4464 EXTRASEARCH *rgelt, 4465 ULONG *pceltFetched) = 0; 4466 4467 virtual HRESULT STDMETHODCALLTYPE Skip( 4468 ULONG celt) = 0; 4469 4470 virtual HRESULT STDMETHODCALLTYPE Reset( 4471 ) = 0; 4472 4473 virtual HRESULT STDMETHODCALLTYPE Clone( 4474 IEnumExtraSearch **ppenum) = 0; 4475 4476 }; 4477 #ifdef __CRT_UUID_DECL 4478 __CRT_UUID_DECL(IEnumExtraSearch, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13) 4479 #endif 4480 #else 4481 typedef struct IEnumExtraSearchVtbl { 4482 BEGIN_INTERFACE 4483 4484 /*** IUnknown methods ***/ 4485 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4486 IEnumExtraSearch* This, 4487 REFIID riid, 4488 void **ppvObject); 4489 4490 ULONG (STDMETHODCALLTYPE *AddRef)( 4491 IEnumExtraSearch* This); 4492 4493 ULONG (STDMETHODCALLTYPE *Release)( 4494 IEnumExtraSearch* This); 4495 4496 /*** IEnumExtraSearch methods ***/ 4497 HRESULT (STDMETHODCALLTYPE *Next)( 4498 IEnumExtraSearch* This, 4499 ULONG celt, 4500 EXTRASEARCH *rgelt, 4501 ULONG *pceltFetched); 4502 4503 HRESULT (STDMETHODCALLTYPE *Skip)( 4504 IEnumExtraSearch* This, 4505 ULONG celt); 4506 4507 HRESULT (STDMETHODCALLTYPE *Reset)( 4508 IEnumExtraSearch* This); 4509 4510 HRESULT (STDMETHODCALLTYPE *Clone)( 4511 IEnumExtraSearch* This, 4512 IEnumExtraSearch **ppenum); 4513 4514 END_INTERFACE 4515 } IEnumExtraSearchVtbl; 4516 interface IEnumExtraSearch { 4517 CONST_VTBL IEnumExtraSearchVtbl* lpVtbl; 4518 }; 4519 4520 #ifdef COBJMACROS 4521 #ifndef WIDL_C_INLINE_WRAPPERS 4522 /*** IUnknown methods ***/ 4523 #define IEnumExtraSearch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4524 #define IEnumExtraSearch_AddRef(This) (This)->lpVtbl->AddRef(This) 4525 #define IEnumExtraSearch_Release(This) (This)->lpVtbl->Release(This) 4526 /*** IEnumExtraSearch methods ***/ 4527 #define IEnumExtraSearch_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 4528 #define IEnumExtraSearch_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 4529 #define IEnumExtraSearch_Reset(This) (This)->lpVtbl->Reset(This) 4530 #define IEnumExtraSearch_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 4531 #else 4532 /*** IUnknown methods ***/ 4533 static FORCEINLINE HRESULT IEnumExtraSearch_QueryInterface(IEnumExtraSearch* This,REFIID riid,void **ppvObject) { 4534 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4535 } 4536 static FORCEINLINE ULONG IEnumExtraSearch_AddRef(IEnumExtraSearch* This) { 4537 return This->lpVtbl->AddRef(This); 4538 } 4539 static FORCEINLINE ULONG IEnumExtraSearch_Release(IEnumExtraSearch* This) { 4540 return This->lpVtbl->Release(This); 4541 } 4542 /*** IEnumExtraSearch methods ***/ 4543 static FORCEINLINE HRESULT IEnumExtraSearch_Next(IEnumExtraSearch* This,ULONG celt,EXTRASEARCH *rgelt,ULONG *pceltFetched) { 4544 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 4545 } 4546 static FORCEINLINE HRESULT IEnumExtraSearch_Skip(IEnumExtraSearch* This,ULONG celt) { 4547 return This->lpVtbl->Skip(This,celt); 4548 } 4549 static FORCEINLINE HRESULT IEnumExtraSearch_Reset(IEnumExtraSearch* This) { 4550 return This->lpVtbl->Reset(This); 4551 } 4552 static FORCEINLINE HRESULT IEnumExtraSearch_Clone(IEnumExtraSearch* This,IEnumExtraSearch **ppenum) { 4553 return This->lpVtbl->Clone(This,ppenum); 4554 } 4555 #endif 4556 #endif 4557 4558 #endif 4559 4560 HRESULT STDMETHODCALLTYPE IEnumExtraSearch_Next_Proxy( 4561 IEnumExtraSearch* This, 4562 ULONG celt, 4563 EXTRASEARCH *rgelt, 4564 ULONG *pceltFetched); 4565 void __RPC_STUB IEnumExtraSearch_Next_Stub( 4566 IRpcStubBuffer* This, 4567 IRpcChannelBuffer* pRpcChannelBuffer, 4568 PRPC_MESSAGE pRpcMessage, 4569 DWORD* pdwStubPhase); 4570 HRESULT STDMETHODCALLTYPE IEnumExtraSearch_Skip_Proxy( 4571 IEnumExtraSearch* This, 4572 ULONG celt); 4573 void __RPC_STUB IEnumExtraSearch_Skip_Stub( 4574 IRpcStubBuffer* This, 4575 IRpcChannelBuffer* pRpcChannelBuffer, 4576 PRPC_MESSAGE pRpcMessage, 4577 DWORD* pdwStubPhase); 4578 HRESULT STDMETHODCALLTYPE IEnumExtraSearch_Reset_Proxy( 4579 IEnumExtraSearch* This); 4580 void __RPC_STUB IEnumExtraSearch_Reset_Stub( 4581 IRpcStubBuffer* This, 4582 IRpcChannelBuffer* pRpcChannelBuffer, 4583 PRPC_MESSAGE pRpcMessage, 4584 DWORD* pdwStubPhase); 4585 HRESULT STDMETHODCALLTYPE IEnumExtraSearch_Clone_Proxy( 4586 IEnumExtraSearch* This, 4587 IEnumExtraSearch **ppenum); 4588 void __RPC_STUB IEnumExtraSearch_Clone_Stub( 4589 IRpcStubBuffer* This, 4590 IRpcChannelBuffer* pRpcChannelBuffer, 4591 PRPC_MESSAGE pRpcMessage, 4592 DWORD* pdwStubPhase); 4593 4594 #endif /* __IEnumExtraSearch_INTERFACE_DEFINED__ */ 4595 4596 typedef IEnumExtraSearch *LPENUMEXTRASEARCH; 4597 4598 /***************************************************************************** 4599 * IShellFolder2 interface 4600 */ 4601 #ifndef __IShellFolder2_INTERFACE_DEFINED__ 4602 #define __IShellFolder2_INTERFACE_DEFINED__ 4603 4604 DEFINE_GUID(IID_IShellFolder2, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1); 4605 #if defined(__cplusplus) && !defined(CINTERFACE) 4606 MIDL_INTERFACE("93f2f68c-1d1b-11d3-a30e-00c04f79abd1") 4607 IShellFolder2 : public IShellFolder 4608 { 4609 virtual HRESULT STDMETHODCALLTYPE GetDefaultSearchGUID( 4610 GUID *pguid) = 0; 4611 4612 virtual HRESULT STDMETHODCALLTYPE EnumSearches( 4613 IEnumExtraSearch **ppenum) = 0; 4614 4615 virtual HRESULT STDMETHODCALLTYPE GetDefaultColumn( 4616 DWORD dwRes, 4617 ULONG *pSort, 4618 ULONG *pDisplay) = 0; 4619 4620 virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnState( 4621 UINT iColumn, 4622 SHCOLSTATEF *pcsFlags) = 0; 4623 4624 virtual HRESULT STDMETHODCALLTYPE GetDetailsEx( 4625 PCUITEMID_CHILD pidl, 4626 const SHCOLUMNID *pscid, 4627 VARIANT *pv) = 0; 4628 4629 virtual HRESULT STDMETHODCALLTYPE GetDetailsOf( 4630 PCUITEMID_CHILD pidl, 4631 UINT iColumn, 4632 SHELLDETAILS *psd) = 0; 4633 4634 virtual HRESULT STDMETHODCALLTYPE MapColumnToSCID( 4635 UINT iColumn, 4636 SHCOLUMNID *pscid) = 0; 4637 4638 }; 4639 #ifdef __CRT_UUID_DECL 4640 __CRT_UUID_DECL(IShellFolder2, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1) 4641 #endif 4642 #else 4643 typedef struct IShellFolder2Vtbl { 4644 BEGIN_INTERFACE 4645 4646 /*** IUnknown methods ***/ 4647 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4648 IShellFolder2* This, 4649 REFIID riid, 4650 void **ppvObject); 4651 4652 ULONG (STDMETHODCALLTYPE *AddRef)( 4653 IShellFolder2* This); 4654 4655 ULONG (STDMETHODCALLTYPE *Release)( 4656 IShellFolder2* This); 4657 4658 /*** IShellFolder methods ***/ 4659 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)( 4660 IShellFolder2* This, 4661 HWND hwnd, 4662 IBindCtx *pbc, 4663 LPWSTR pszDisplayName, 4664 ULONG *pchEaten, 4665 PIDLIST_RELATIVE *ppidl, 4666 ULONG *pdwAttributes); 4667 4668 HRESULT (STDMETHODCALLTYPE *EnumObjects)( 4669 IShellFolder2* This, 4670 HWND hwnd, 4671 SHCONTF grfFlags, 4672 IEnumIDList **ppenumIDList); 4673 4674 HRESULT (STDMETHODCALLTYPE *BindToObject)( 4675 IShellFolder2* This, 4676 PCUIDLIST_RELATIVE pidl, 4677 IBindCtx *pbc, 4678 REFIID riid, 4679 void **ppv); 4680 4681 HRESULT (STDMETHODCALLTYPE *BindToStorage)( 4682 IShellFolder2* This, 4683 PCUIDLIST_RELATIVE pidl, 4684 IBindCtx *pbc, 4685 REFIID riid, 4686 void **ppv); 4687 4688 HRESULT (STDMETHODCALLTYPE *CompareIDs)( 4689 IShellFolder2* This, 4690 LPARAM lParam, 4691 PCUIDLIST_RELATIVE pidl1, 4692 PCUIDLIST_RELATIVE pidl2); 4693 4694 HRESULT (STDMETHODCALLTYPE *CreateViewObject)( 4695 IShellFolder2* This, 4696 HWND hwndOwner, 4697 REFIID riid, 4698 void **ppv); 4699 4700 HRESULT (STDMETHODCALLTYPE *GetAttributesOf)( 4701 IShellFolder2* This, 4702 UINT cidl, 4703 PCUITEMID_CHILD_ARRAY apidl, 4704 SFGAOF *rgfInOut); 4705 4706 HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)( 4707 IShellFolder2* This, 4708 HWND hwndOwner, 4709 UINT cidl, 4710 PCUITEMID_CHILD_ARRAY apidl, 4711 REFIID riid, 4712 UINT *rgfReserved, 4713 void **ppv); 4714 4715 HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)( 4716 IShellFolder2* This, 4717 PCUITEMID_CHILD pidl, 4718 SHGDNF uFlags, 4719 STRRET *pName); 4720 4721 HRESULT (STDMETHODCALLTYPE *SetNameOf)( 4722 IShellFolder2* This, 4723 HWND hwnd, 4724 PCUITEMID_CHILD pidl, 4725 LPCWSTR pszName, 4726 SHGDNF uFlags, 4727 PITEMID_CHILD *ppidlOut); 4728 4729 /*** IShellFolder2 methods ***/ 4730 HRESULT (STDMETHODCALLTYPE *GetDefaultSearchGUID)( 4731 IShellFolder2* This, 4732 GUID *pguid); 4733 4734 HRESULT (STDMETHODCALLTYPE *EnumSearches)( 4735 IShellFolder2* This, 4736 IEnumExtraSearch **ppenum); 4737 4738 HRESULT (STDMETHODCALLTYPE *GetDefaultColumn)( 4739 IShellFolder2* This, 4740 DWORD dwRes, 4741 ULONG *pSort, 4742 ULONG *pDisplay); 4743 4744 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnState)( 4745 IShellFolder2* This, 4746 UINT iColumn, 4747 SHCOLSTATEF *pcsFlags); 4748 4749 HRESULT (STDMETHODCALLTYPE *GetDetailsEx)( 4750 IShellFolder2* This, 4751 PCUITEMID_CHILD pidl, 4752 const SHCOLUMNID *pscid, 4753 VARIANT *pv); 4754 4755 HRESULT (STDMETHODCALLTYPE *GetDetailsOf)( 4756 IShellFolder2* This, 4757 PCUITEMID_CHILD pidl, 4758 UINT iColumn, 4759 SHELLDETAILS *psd); 4760 4761 HRESULT (STDMETHODCALLTYPE *MapColumnToSCID)( 4762 IShellFolder2* This, 4763 UINT iColumn, 4764 SHCOLUMNID *pscid); 4765 4766 END_INTERFACE 4767 } IShellFolder2Vtbl; 4768 interface IShellFolder2 { 4769 CONST_VTBL IShellFolder2Vtbl* lpVtbl; 4770 }; 4771 4772 #ifdef COBJMACROS 4773 #ifndef WIDL_C_INLINE_WRAPPERS 4774 /*** IUnknown methods ***/ 4775 #define IShellFolder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4776 #define IShellFolder2_AddRef(This) (This)->lpVtbl->AddRef(This) 4777 #define IShellFolder2_Release(This) (This)->lpVtbl->Release(This) 4778 /*** IShellFolder methods ***/ 4779 #define IShellFolder2_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) (This)->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) 4780 #define IShellFolder2_EnumObjects(This,hwnd,grfFlags,ppenumIDList) (This)->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList) 4781 #define IShellFolder2_BindToObject(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv) 4782 #define IShellFolder2_BindToStorage(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv) 4783 #define IShellFolder2_CompareIDs(This,lParam,pidl1,pidl2) (This)->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2) 4784 #define IShellFolder2_CreateViewObject(This,hwndOwner,riid,ppv) (This)->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv) 4785 #define IShellFolder2_GetAttributesOf(This,cidl,apidl,rgfInOut) (This)->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut) 4786 #define IShellFolder2_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) (This)->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) 4787 #define IShellFolder2_GetDisplayNameOf(This,pidl,uFlags,pName) (This)->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName) 4788 #define IShellFolder2_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) (This)->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) 4789 /*** IShellFolder2 methods ***/ 4790 #define IShellFolder2_GetDefaultSearchGUID(This,pguid) (This)->lpVtbl->GetDefaultSearchGUID(This,pguid) 4791 #define IShellFolder2_EnumSearches(This,ppenum) (This)->lpVtbl->EnumSearches(This,ppenum) 4792 #define IShellFolder2_GetDefaultColumn(This,dwRes,pSort,pDisplay) (This)->lpVtbl->GetDefaultColumn(This,dwRes,pSort,pDisplay) 4793 #define IShellFolder2_GetDefaultColumnState(This,iColumn,pcsFlags) (This)->lpVtbl->GetDefaultColumnState(This,iColumn,pcsFlags) 4794 #define IShellFolder2_GetDetailsEx(This,pidl,pscid,pv) (This)->lpVtbl->GetDetailsEx(This,pidl,pscid,pv) 4795 #define IShellFolder2_GetDetailsOf(This,pidl,iColumn,psd) (This)->lpVtbl->GetDetailsOf(This,pidl,iColumn,psd) 4796 #define IShellFolder2_MapColumnToSCID(This,iColumn,pscid) (This)->lpVtbl->MapColumnToSCID(This,iColumn,pscid) 4797 #else 4798 /*** IUnknown methods ***/ 4799 static FORCEINLINE HRESULT IShellFolder2_QueryInterface(IShellFolder2* This,REFIID riid,void **ppvObject) { 4800 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4801 } 4802 static FORCEINLINE ULONG IShellFolder2_AddRef(IShellFolder2* This) { 4803 return This->lpVtbl->AddRef(This); 4804 } 4805 static FORCEINLINE ULONG IShellFolder2_Release(IShellFolder2* This) { 4806 return This->lpVtbl->Release(This); 4807 } 4808 /*** IShellFolder methods ***/ 4809 static FORCEINLINE HRESULT IShellFolder2_ParseDisplayName(IShellFolder2* This,HWND hwnd,IBindCtx *pbc,LPWSTR pszDisplayName,ULONG *pchEaten,PIDLIST_RELATIVE *ppidl,ULONG *pdwAttributes) { 4810 return This->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes); 4811 } 4812 static FORCEINLINE HRESULT IShellFolder2_EnumObjects(IShellFolder2* This,HWND hwnd,SHCONTF grfFlags,IEnumIDList **ppenumIDList) { 4813 return This->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList); 4814 } 4815 static FORCEINLINE HRESULT IShellFolder2_BindToObject(IShellFolder2* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) { 4816 return This->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv); 4817 } 4818 static FORCEINLINE HRESULT IShellFolder2_BindToStorage(IShellFolder2* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) { 4819 return This->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv); 4820 } 4821 static FORCEINLINE HRESULT IShellFolder2_CompareIDs(IShellFolder2* This,LPARAM lParam,PCUIDLIST_RELATIVE pidl1,PCUIDLIST_RELATIVE pidl2) { 4822 return This->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2); 4823 } 4824 static FORCEINLINE HRESULT IShellFolder2_CreateViewObject(IShellFolder2* This,HWND hwndOwner,REFIID riid,void **ppv) { 4825 return This->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv); 4826 } 4827 static FORCEINLINE HRESULT IShellFolder2_GetAttributesOf(IShellFolder2* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,SFGAOF *rgfInOut) { 4828 return This->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut); 4829 } 4830 static FORCEINLINE HRESULT IShellFolder2_GetUIObjectOf(IShellFolder2* This,HWND hwndOwner,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,REFIID riid,UINT *rgfReserved,void **ppv) { 4831 return This->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv); 4832 } 4833 static FORCEINLINE HRESULT IShellFolder2_GetDisplayNameOf(IShellFolder2* This,PCUITEMID_CHILD pidl,SHGDNF uFlags,STRRET *pName) { 4834 return This->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName); 4835 } 4836 static FORCEINLINE HRESULT IShellFolder2_SetNameOf(IShellFolder2* This,HWND hwnd,PCUITEMID_CHILD pidl,LPCWSTR pszName,SHGDNF uFlags,PITEMID_CHILD *ppidlOut) { 4837 return This->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut); 4838 } 4839 /*** IShellFolder2 methods ***/ 4840 static FORCEINLINE HRESULT IShellFolder2_GetDefaultSearchGUID(IShellFolder2* This,GUID *pguid) { 4841 return This->lpVtbl->GetDefaultSearchGUID(This,pguid); 4842 } 4843 static FORCEINLINE HRESULT IShellFolder2_EnumSearches(IShellFolder2* This,IEnumExtraSearch **ppenum) { 4844 return This->lpVtbl->EnumSearches(This,ppenum); 4845 } 4846 static FORCEINLINE HRESULT IShellFolder2_GetDefaultColumn(IShellFolder2* This,DWORD dwRes,ULONG *pSort,ULONG *pDisplay) { 4847 return This->lpVtbl->GetDefaultColumn(This,dwRes,pSort,pDisplay); 4848 } 4849 static FORCEINLINE HRESULT IShellFolder2_GetDefaultColumnState(IShellFolder2* This,UINT iColumn,SHCOLSTATEF *pcsFlags) { 4850 return This->lpVtbl->GetDefaultColumnState(This,iColumn,pcsFlags); 4851 } 4852 static FORCEINLINE HRESULT IShellFolder2_GetDetailsEx(IShellFolder2* This,PCUITEMID_CHILD pidl,const SHCOLUMNID *pscid,VARIANT *pv) { 4853 return This->lpVtbl->GetDetailsEx(This,pidl,pscid,pv); 4854 } 4855 static FORCEINLINE HRESULT IShellFolder2_GetDetailsOf(IShellFolder2* This,PCUITEMID_CHILD pidl,UINT iColumn,SHELLDETAILS *psd) { 4856 return This->lpVtbl->GetDetailsOf(This,pidl,iColumn,psd); 4857 } 4858 static FORCEINLINE HRESULT IShellFolder2_MapColumnToSCID(IShellFolder2* This,UINT iColumn,SHCOLUMNID *pscid) { 4859 return This->lpVtbl->MapColumnToSCID(This,iColumn,pscid); 4860 } 4861 #endif 4862 #endif 4863 4864 #endif 4865 4866 HRESULT STDMETHODCALLTYPE IShellFolder2_GetDefaultSearchGUID_Proxy( 4867 IShellFolder2* This, 4868 GUID *pguid); 4869 void __RPC_STUB IShellFolder2_GetDefaultSearchGUID_Stub( 4870 IRpcStubBuffer* This, 4871 IRpcChannelBuffer* pRpcChannelBuffer, 4872 PRPC_MESSAGE pRpcMessage, 4873 DWORD* pdwStubPhase); 4874 HRESULT STDMETHODCALLTYPE IShellFolder2_EnumSearches_Proxy( 4875 IShellFolder2* This, 4876 IEnumExtraSearch **ppenum); 4877 void __RPC_STUB IShellFolder2_EnumSearches_Stub( 4878 IRpcStubBuffer* This, 4879 IRpcChannelBuffer* pRpcChannelBuffer, 4880 PRPC_MESSAGE pRpcMessage, 4881 DWORD* pdwStubPhase); 4882 HRESULT STDMETHODCALLTYPE IShellFolder2_GetDefaultColumn_Proxy( 4883 IShellFolder2* This, 4884 DWORD dwRes, 4885 ULONG *pSort, 4886 ULONG *pDisplay); 4887 void __RPC_STUB IShellFolder2_GetDefaultColumn_Stub( 4888 IRpcStubBuffer* This, 4889 IRpcChannelBuffer* pRpcChannelBuffer, 4890 PRPC_MESSAGE pRpcMessage, 4891 DWORD* pdwStubPhase); 4892 HRESULT STDMETHODCALLTYPE IShellFolder2_GetDefaultColumnState_Proxy( 4893 IShellFolder2* This, 4894 UINT iColumn, 4895 SHCOLSTATEF *pcsFlags); 4896 void __RPC_STUB IShellFolder2_GetDefaultColumnState_Stub( 4897 IRpcStubBuffer* This, 4898 IRpcChannelBuffer* pRpcChannelBuffer, 4899 PRPC_MESSAGE pRpcMessage, 4900 DWORD* pdwStubPhase); 4901 HRESULT STDMETHODCALLTYPE IShellFolder2_GetDetailsEx_Proxy( 4902 IShellFolder2* This, 4903 PCUITEMID_CHILD pidl, 4904 const SHCOLUMNID *pscid, 4905 VARIANT *pv); 4906 void __RPC_STUB IShellFolder2_GetDetailsEx_Stub( 4907 IRpcStubBuffer* This, 4908 IRpcChannelBuffer* pRpcChannelBuffer, 4909 PRPC_MESSAGE pRpcMessage, 4910 DWORD* pdwStubPhase); 4911 HRESULT STDMETHODCALLTYPE IShellFolder2_GetDetailsOf_Proxy( 4912 IShellFolder2* This, 4913 PCUITEMID_CHILD pidl, 4914 UINT iColumn, 4915 SHELLDETAILS *psd); 4916 void __RPC_STUB IShellFolder2_GetDetailsOf_Stub( 4917 IRpcStubBuffer* This, 4918 IRpcChannelBuffer* pRpcChannelBuffer, 4919 PRPC_MESSAGE pRpcMessage, 4920 DWORD* pdwStubPhase); 4921 HRESULT STDMETHODCALLTYPE IShellFolder2_MapColumnToSCID_Proxy( 4922 IShellFolder2* This, 4923 UINT iColumn, 4924 SHCOLUMNID *pscid); 4925 void __RPC_STUB IShellFolder2_MapColumnToSCID_Stub( 4926 IRpcStubBuffer* This, 4927 IRpcChannelBuffer* pRpcChannelBuffer, 4928 PRPC_MESSAGE pRpcMessage, 4929 DWORD* pdwStubPhase); 4930 4931 #endif /* __IShellFolder2_INTERFACE_DEFINED__ */ 4932 4933 typedef char *LPVIEWSETTINGS; 4934 4935 typedef enum FOLDERFLAGS { 4936 FWF_NONE = 0x0, 4937 FWF_AUTOARRANGE = 0x1, 4938 FWF_ABBREVIATEDNAMES = 0x2, 4939 FWF_SNAPTOGRID = 0x4, 4940 FWF_OWNERDATA = 0x8, 4941 FWF_BESTFITWINDOW = 0x10, 4942 FWF_DESKTOP = 0x20, 4943 FWF_SINGLESEL = 0x40, 4944 FWF_NOSUBFOLDERS = 0x80, 4945 FWF_TRANSPARENT = 0x100, 4946 FWF_NOCLIENTEDGE = 0x200, 4947 FWF_NOSCROLL = 0x400, 4948 FWF_ALIGNLEFT = 0x800, 4949 FWF_NOICONS = 0x1000, 4950 FWF_SHOWSELALWAYS = 0x2000, 4951 FWF_NOVISIBLE = 0x4000, 4952 FWF_SINGLECLICKACTIVATE = 0x8000, 4953 FWF_NOWEBVIEW = 0x10000, 4954 FWF_HIDEFILENAMES = 0x20000, 4955 FWF_CHECKSELECT = 0x40000, 4956 FWF_NOENUMREFRESH = 0x80000, 4957 FWF_NOGROUPING = 0x100000, 4958 FWF_FULLROWSELECT = 0x200000, 4959 FWF_NOFILTERS = 0x400000, 4960 FWF_NOCOLUMNHEADER = 0x800000, 4961 FWF_NOHEADERINALLVIEWS = 0x1000000, 4962 FWF_EXTENDEDTILES = 0x2000000, 4963 FWF_TRICHECKSELECT = 0x4000000, 4964 FWF_AUTOCHECKSELECT = 0x8000000, 4965 FWF_NOBROWSERVIEWSTATE = 0x10000000, 4966 FWF_SUBSETGROUPS = 0x20000000, 4967 FWF_USESEARCHFOLDER = 0x40000000, 4968 FWF_ALLOWRTLREADING = 0x80000000 4969 } FOLDERFLAGS; 4970 4971 DEFINE_ENUM_FLAG_OPERATORS(FOLDERFLAGS) 4972 4973 typedef enum FOLDERVIEWMODE { 4974 FVM_AUTO = -1, 4975 FVM_FIRST = 1, 4976 FVM_ICON = 1, 4977 FVM_SMALLICON = 2, 4978 FVM_LIST = 3, 4979 FVM_DETAILS = 4, 4980 FVM_THUMBNAIL = 5, 4981 FVM_TILE = 6, 4982 FVM_THUMBSTRIP = 7, 4983 FVM_CONTENT = 8, 4984 FVM_LAST = 8 4985 } FOLDERVIEWMODE; 4986 4987 #if NTDDI_VERSION >= NTDDI_VISTA 4988 typedef enum FOLDERLOGICALVIEWMODE { 4989 FLVM_UNSPECIFIED = -1, 4990 FLVM_FIRST = 1, 4991 FLVM_DETAILS = 1, 4992 FLVM_TILES = 2, 4993 FLVM_ICONS = 3, 4994 FLVM_LIST = 4, 4995 FLVM_CONTENT = 5, 4996 FLVM_LAST = 5 4997 } FOLDERLOGICALVIEWMODE; 4998 #endif 4999 typedef struct FOLDERSETTINGS { 5000 UINT ViewMode; 5001 UINT fFlags; 5002 } FOLDERSETTINGS; 5003 5004 typedef FOLDERSETTINGS *LPFOLDERSETTINGS; 5005 typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS; 5006 typedef FOLDERSETTINGS *PFOLDERSETTINGS; 5007 5008 /***************************************************************************** 5009 * IFolderViewOptions interface 5010 */ 5011 #ifndef __IFolderViewOptions_INTERFACE_DEFINED__ 5012 #define __IFolderViewOptions_INTERFACE_DEFINED__ 5013 5014 typedef enum FOLDERVIEWOPTIONS { 5015 FVO_DEFAULT = 0x0, 5016 FVO_VISTALAYOUT = 0x1, 5017 FVO_CUSTOMPOSITION = 0x2, 5018 FVO_CUSTOMORDERING = 0x4, 5019 FVO_SUPPORTHYPERLINKS = 0x8, 5020 FVO_NOANIMATIONS = 0x10, 5021 FVO_NOSCROLLTIPS = 0x20 5022 } FOLDERVIEWOPTIONS; 5023 5024 DEFINE_ENUM_FLAG_OPERATORS(FOLDERVIEWOPTIONS) 5025 5026 DEFINE_GUID(IID_IFolderViewOptions, 0x3cc974d2, 0xb302, 0x4d36, 0xad,0x3e, 0x06,0xd9,0x3f,0x69,0x5d,0x3f); 5027 #if defined(__cplusplus) && !defined(CINTERFACE) 5028 MIDL_INTERFACE("3cc974d2-b302-4d36-ad3e-06d93f695d3f") 5029 IFolderViewOptions : public IUnknown 5030 { 5031 virtual HRESULT STDMETHODCALLTYPE SetFolderViewOptions( 5032 FOLDERVIEWOPTIONS fvoMask, 5033 FOLDERVIEWOPTIONS fvoFlags) = 0; 5034 5035 virtual HRESULT STDMETHODCALLTYPE GetFolderViewOptions( 5036 FOLDERVIEWOPTIONS *pfvoFlags) = 0; 5037 5038 }; 5039 #ifdef __CRT_UUID_DECL 5040 __CRT_UUID_DECL(IFolderViewOptions, 0x3cc974d2, 0xb302, 0x4d36, 0xad,0x3e, 0x06,0xd9,0x3f,0x69,0x5d,0x3f) 5041 #endif 5042 #else 5043 typedef struct IFolderViewOptionsVtbl { 5044 BEGIN_INTERFACE 5045 5046 /*** IUnknown methods ***/ 5047 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5048 IFolderViewOptions* This, 5049 REFIID riid, 5050 void **ppvObject); 5051 5052 ULONG (STDMETHODCALLTYPE *AddRef)( 5053 IFolderViewOptions* This); 5054 5055 ULONG (STDMETHODCALLTYPE *Release)( 5056 IFolderViewOptions* This); 5057 5058 /*** IFolderViewOptions methods ***/ 5059 HRESULT (STDMETHODCALLTYPE *SetFolderViewOptions)( 5060 IFolderViewOptions* This, 5061 FOLDERVIEWOPTIONS fvoMask, 5062 FOLDERVIEWOPTIONS fvoFlags); 5063 5064 HRESULT (STDMETHODCALLTYPE *GetFolderViewOptions)( 5065 IFolderViewOptions* This, 5066 FOLDERVIEWOPTIONS *pfvoFlags); 5067 5068 END_INTERFACE 5069 } IFolderViewOptionsVtbl; 5070 interface IFolderViewOptions { 5071 CONST_VTBL IFolderViewOptionsVtbl* lpVtbl; 5072 }; 5073 5074 #ifdef COBJMACROS 5075 #ifndef WIDL_C_INLINE_WRAPPERS 5076 /*** IUnknown methods ***/ 5077 #define IFolderViewOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5078 #define IFolderViewOptions_AddRef(This) (This)->lpVtbl->AddRef(This) 5079 #define IFolderViewOptions_Release(This) (This)->lpVtbl->Release(This) 5080 /*** IFolderViewOptions methods ***/ 5081 #define IFolderViewOptions_SetFolderViewOptions(This,fvoMask,fvoFlags) (This)->lpVtbl->SetFolderViewOptions(This,fvoMask,fvoFlags) 5082 #define IFolderViewOptions_GetFolderViewOptions(This,pfvoFlags) (This)->lpVtbl->GetFolderViewOptions(This,pfvoFlags) 5083 #else 5084 /*** IUnknown methods ***/ 5085 static FORCEINLINE HRESULT IFolderViewOptions_QueryInterface(IFolderViewOptions* This,REFIID riid,void **ppvObject) { 5086 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5087 } 5088 static FORCEINLINE ULONG IFolderViewOptions_AddRef(IFolderViewOptions* This) { 5089 return This->lpVtbl->AddRef(This); 5090 } 5091 static FORCEINLINE ULONG IFolderViewOptions_Release(IFolderViewOptions* This) { 5092 return This->lpVtbl->Release(This); 5093 } 5094 /*** IFolderViewOptions methods ***/ 5095 static FORCEINLINE HRESULT IFolderViewOptions_SetFolderViewOptions(IFolderViewOptions* This,FOLDERVIEWOPTIONS fvoMask,FOLDERVIEWOPTIONS fvoFlags) { 5096 return This->lpVtbl->SetFolderViewOptions(This,fvoMask,fvoFlags); 5097 } 5098 static FORCEINLINE HRESULT IFolderViewOptions_GetFolderViewOptions(IFolderViewOptions* This,FOLDERVIEWOPTIONS *pfvoFlags) { 5099 return This->lpVtbl->GetFolderViewOptions(This,pfvoFlags); 5100 } 5101 #endif 5102 #endif 5103 5104 #endif 5105 5106 HRESULT STDMETHODCALLTYPE IFolderViewOptions_SetFolderViewOptions_Proxy( 5107 IFolderViewOptions* This, 5108 FOLDERVIEWOPTIONS fvoMask, 5109 FOLDERVIEWOPTIONS fvoFlags); 5110 void __RPC_STUB IFolderViewOptions_SetFolderViewOptions_Stub( 5111 IRpcStubBuffer* This, 5112 IRpcChannelBuffer* pRpcChannelBuffer, 5113 PRPC_MESSAGE pRpcMessage, 5114 DWORD* pdwStubPhase); 5115 HRESULT STDMETHODCALLTYPE IFolderViewOptions_GetFolderViewOptions_Proxy( 5116 IFolderViewOptions* This, 5117 FOLDERVIEWOPTIONS *pfvoFlags); 5118 void __RPC_STUB IFolderViewOptions_GetFolderViewOptions_Stub( 5119 IRpcStubBuffer* This, 5120 IRpcChannelBuffer* pRpcChannelBuffer, 5121 PRPC_MESSAGE pRpcMessage, 5122 DWORD* pdwStubPhase); 5123 5124 #endif /* __IFolderViewOptions_INTERFACE_DEFINED__ */ 5125 5126 typedef enum _SVSIF { 5127 SVSI_DESELECT = 0x0, 5128 SVSI_SELECT = 0x1, 5129 SVSI_EDIT = 0x3, 5130 SVSI_DESELECTOTHERS = 0x4, 5131 SVSI_ENSUREVISIBLE = 0x8, 5132 SVSI_FOCUSED = 0x10, 5133 SVSI_TRANSLATEPT = 0x20, 5134 SVSI_SELECTIONMARK = 0x40, 5135 SVSI_POSITIONITEM = 0x80, 5136 SVSI_CHECK = 0x100, 5137 SVSI_CHECK2 = 0x200, 5138 SVSI_KEYBOARDSELECT = 0x401, 5139 SVSI_NOTAKEFOCUS = 0x40000000 5140 } _SVSIF; 5141 5142 #define SVSI_NOSTATECHANGE ((UINT)0x80000000) 5143 5144 typedef UINT SVSIF; 5145 5146 typedef enum _SVGIO { 5147 SVGIO_BACKGROUND = 0x0, 5148 SVGIO_SELECTION = 0x1, 5149 SVGIO_ALLVIEW = 0x2, 5150 SVGIO_CHECKED = 0x3, 5151 SVGIO_TYPE_MASK = 0xf, 5152 SVGIO_FLAG_VIEWORDER = 0x80000000 5153 } _SVGIO; 5154 5155 DEFINE_ENUM_FLAG_OPERATORS(_SVGIO) 5156 5157 typedef int SVGIO; 5158 5159 typedef enum SVUIA_STATUS { 5160 SVUIA_DEACTIVATE = 0, 5161 SVUIA_ACTIVATE_NOFOCUS = 1, 5162 SVUIA_ACTIVATE_FOCUS = 2, 5163 SVUIA_INPLACEACTIVATE = 3 5164 } SVUIA_STATUS; 5165 5166 #ifdef _FIX_ENABLEMODELESS_CONFLICT 5167 #define EnableModeless EnableModelessSV 5168 #endif 5169 5170 #if 0 5171 typedef LPARAM LPFNSVADDPROPSHEETPAGE; 5172 #else 5173 #include <prsht.h> 5174 typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE; 5175 #endif 5176 5177 #ifndef __IShellBrowser_FWD_DEFINED__ 5178 #define __IShellBrowser_FWD_DEFINED__ 5179 typedef interface IShellBrowser IShellBrowser; 5180 #endif 5181 5182 5183 /***************************************************************************** 5184 * IShellView interface 5185 */ 5186 #ifndef __IShellView_INTERFACE_DEFINED__ 5187 #define __IShellView_INTERFACE_DEFINED__ 5188 5189 DEFINE_GUID(IID_IShellView, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5190 #if defined(__cplusplus) && !defined(CINTERFACE) 5191 MIDL_INTERFACE("000214e3-0000-0000-c000-000000000046") 5192 IShellView : public IOleWindow 5193 { 5194 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator( 5195 MSG *pmsg) = 0; 5196 5197 virtual HRESULT STDMETHODCALLTYPE EnableModeless( 5198 WINBOOL fEnable) = 0; 5199 5200 virtual HRESULT STDMETHODCALLTYPE UIActivate( 5201 UINT uState) = 0; 5202 5203 virtual HRESULT STDMETHODCALLTYPE Refresh( 5204 ) = 0; 5205 5206 virtual HRESULT STDMETHODCALLTYPE CreateViewWindow( 5207 IShellView *psvPrevious, 5208 LPCFOLDERSETTINGS pfs, 5209 IShellBrowser *psb, 5210 RECT *prcView, 5211 HWND *phWnd) = 0; 5212 5213 virtual HRESULT STDMETHODCALLTYPE DestroyViewWindow( 5214 ) = 0; 5215 5216 virtual HRESULT STDMETHODCALLTYPE GetCurrentInfo( 5217 LPFOLDERSETTINGS pfs) = 0; 5218 5219 virtual HRESULT STDMETHODCALLTYPE AddPropertySheetPages( 5220 DWORD dwReserved, 5221 LPFNSVADDPROPSHEETPAGE pfn, 5222 LPARAM lparam) = 0; 5223 5224 virtual HRESULT STDMETHODCALLTYPE SaveViewState( 5225 ) = 0; 5226 5227 virtual HRESULT STDMETHODCALLTYPE SelectItem( 5228 PCUITEMID_CHILD pidlItem, 5229 SVSIF uFlags) = 0; 5230 5231 virtual HRESULT STDMETHODCALLTYPE GetItemObject( 5232 UINT uItem, 5233 REFIID riid, 5234 void **ppv) = 0; 5235 5236 }; 5237 #ifdef __CRT_UUID_DECL 5238 __CRT_UUID_DECL(IShellView, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5239 #endif 5240 #else 5241 typedef struct IShellViewVtbl { 5242 BEGIN_INTERFACE 5243 5244 /*** IUnknown methods ***/ 5245 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5246 IShellView* This, 5247 REFIID riid, 5248 void **ppvObject); 5249 5250 ULONG (STDMETHODCALLTYPE *AddRef)( 5251 IShellView* This); 5252 5253 ULONG (STDMETHODCALLTYPE *Release)( 5254 IShellView* This); 5255 5256 /*** IOleWindow methods ***/ 5257 HRESULT (STDMETHODCALLTYPE *GetWindow)( 5258 IShellView* This, 5259 HWND *phwnd); 5260 5261 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 5262 IShellView* This, 5263 WINBOOL fEnterMode); 5264 5265 /*** IShellView methods ***/ 5266 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)( 5267 IShellView* This, 5268 MSG *pmsg); 5269 5270 HRESULT (STDMETHODCALLTYPE *EnableModeless)( 5271 IShellView* This, 5272 WINBOOL fEnable); 5273 5274 HRESULT (STDMETHODCALLTYPE *UIActivate)( 5275 IShellView* This, 5276 UINT uState); 5277 5278 HRESULT (STDMETHODCALLTYPE *Refresh)( 5279 IShellView* This); 5280 5281 HRESULT (STDMETHODCALLTYPE *CreateViewWindow)( 5282 IShellView* This, 5283 IShellView *psvPrevious, 5284 LPCFOLDERSETTINGS pfs, 5285 IShellBrowser *psb, 5286 RECT *prcView, 5287 HWND *phWnd); 5288 5289 HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)( 5290 IShellView* This); 5291 5292 HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)( 5293 IShellView* This, 5294 LPFOLDERSETTINGS pfs); 5295 5296 HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)( 5297 IShellView* This, 5298 DWORD dwReserved, 5299 LPFNSVADDPROPSHEETPAGE pfn, 5300 LPARAM lparam); 5301 5302 HRESULT (STDMETHODCALLTYPE *SaveViewState)( 5303 IShellView* This); 5304 5305 HRESULT (STDMETHODCALLTYPE *SelectItem)( 5306 IShellView* This, 5307 PCUITEMID_CHILD pidlItem, 5308 SVSIF uFlags); 5309 5310 HRESULT (STDMETHODCALLTYPE *GetItemObject)( 5311 IShellView* This, 5312 UINT uItem, 5313 REFIID riid, 5314 void **ppv); 5315 5316 END_INTERFACE 5317 } IShellViewVtbl; 5318 interface IShellView { 5319 CONST_VTBL IShellViewVtbl* lpVtbl; 5320 }; 5321 5322 #ifdef COBJMACROS 5323 #ifndef WIDL_C_INLINE_WRAPPERS 5324 /*** IUnknown methods ***/ 5325 #define IShellView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5326 #define IShellView_AddRef(This) (This)->lpVtbl->AddRef(This) 5327 #define IShellView_Release(This) (This)->lpVtbl->Release(This) 5328 /*** IOleWindow methods ***/ 5329 #define IShellView_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 5330 #define IShellView_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 5331 /*** IShellView methods ***/ 5332 #define IShellView_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg) 5333 #define IShellView_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable) 5334 #define IShellView_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState) 5335 #define IShellView_Refresh(This) (This)->lpVtbl->Refresh(This) 5336 #define IShellView_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) 5337 #define IShellView_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This) 5338 #define IShellView_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs) 5339 #define IShellView_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam) 5340 #define IShellView_SaveViewState(This) (This)->lpVtbl->SaveViewState(This) 5341 #define IShellView_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags) 5342 #define IShellView_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv) 5343 #else 5344 /*** IUnknown methods ***/ 5345 static FORCEINLINE HRESULT IShellView_QueryInterface(IShellView* This,REFIID riid,void **ppvObject) { 5346 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5347 } 5348 static FORCEINLINE ULONG IShellView_AddRef(IShellView* This) { 5349 return This->lpVtbl->AddRef(This); 5350 } 5351 static FORCEINLINE ULONG IShellView_Release(IShellView* This) { 5352 return This->lpVtbl->Release(This); 5353 } 5354 /*** IOleWindow methods ***/ 5355 static FORCEINLINE HRESULT IShellView_GetWindow(IShellView* This,HWND *phwnd) { 5356 return This->lpVtbl->GetWindow(This,phwnd); 5357 } 5358 static FORCEINLINE HRESULT IShellView_ContextSensitiveHelp(IShellView* This,WINBOOL fEnterMode) { 5359 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 5360 } 5361 /*** IShellView methods ***/ 5362 static FORCEINLINE HRESULT IShellView_TranslateAccelerator(IShellView* This,MSG *pmsg) { 5363 return This->lpVtbl->TranslateAccelerator(This,pmsg); 5364 } 5365 static FORCEINLINE HRESULT IShellView_EnableModeless(IShellView* This,WINBOOL fEnable) { 5366 return This->lpVtbl->EnableModeless(This,fEnable); 5367 } 5368 static FORCEINLINE HRESULT IShellView_UIActivate(IShellView* This,UINT uState) { 5369 return This->lpVtbl->UIActivate(This,uState); 5370 } 5371 static FORCEINLINE HRESULT IShellView_Refresh(IShellView* This) { 5372 return This->lpVtbl->Refresh(This); 5373 } 5374 static FORCEINLINE HRESULT IShellView_CreateViewWindow(IShellView* This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) { 5375 return This->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd); 5376 } 5377 static FORCEINLINE HRESULT IShellView_DestroyViewWindow(IShellView* This) { 5378 return This->lpVtbl->DestroyViewWindow(This); 5379 } 5380 static FORCEINLINE HRESULT IShellView_GetCurrentInfo(IShellView* This,LPFOLDERSETTINGS pfs) { 5381 return This->lpVtbl->GetCurrentInfo(This,pfs); 5382 } 5383 static FORCEINLINE HRESULT IShellView_AddPropertySheetPages(IShellView* This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) { 5384 return This->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam); 5385 } 5386 static FORCEINLINE HRESULT IShellView_SaveViewState(IShellView* This) { 5387 return This->lpVtbl->SaveViewState(This); 5388 } 5389 static FORCEINLINE HRESULT IShellView_SelectItem(IShellView* This,PCUITEMID_CHILD pidlItem,SVSIF uFlags) { 5390 return This->lpVtbl->SelectItem(This,pidlItem,uFlags); 5391 } 5392 static FORCEINLINE HRESULT IShellView_GetItemObject(IShellView* This,UINT uItem,REFIID riid,void **ppv) { 5393 return This->lpVtbl->GetItemObject(This,uItem,riid,ppv); 5394 } 5395 #endif 5396 #endif 5397 5398 #endif 5399 5400 HRESULT STDMETHODCALLTYPE IShellView_TranslateAccelerator_Proxy( 5401 IShellView* This, 5402 MSG *pmsg); 5403 void __RPC_STUB IShellView_TranslateAccelerator_Stub( 5404 IRpcStubBuffer* This, 5405 IRpcChannelBuffer* pRpcChannelBuffer, 5406 PRPC_MESSAGE pRpcMessage, 5407 DWORD* pdwStubPhase); 5408 HRESULT STDMETHODCALLTYPE IShellView_EnableModeless_Proxy( 5409 IShellView* This, 5410 WINBOOL fEnable); 5411 void __RPC_STUB IShellView_EnableModeless_Stub( 5412 IRpcStubBuffer* This, 5413 IRpcChannelBuffer* pRpcChannelBuffer, 5414 PRPC_MESSAGE pRpcMessage, 5415 DWORD* pdwStubPhase); 5416 HRESULT STDMETHODCALLTYPE IShellView_UIActivate_Proxy( 5417 IShellView* This, 5418 UINT uState); 5419 void __RPC_STUB IShellView_UIActivate_Stub( 5420 IRpcStubBuffer* This, 5421 IRpcChannelBuffer* pRpcChannelBuffer, 5422 PRPC_MESSAGE pRpcMessage, 5423 DWORD* pdwStubPhase); 5424 HRESULT STDMETHODCALLTYPE IShellView_Refresh_Proxy( 5425 IShellView* This); 5426 void __RPC_STUB IShellView_Refresh_Stub( 5427 IRpcStubBuffer* This, 5428 IRpcChannelBuffer* pRpcChannelBuffer, 5429 PRPC_MESSAGE pRpcMessage, 5430 DWORD* pdwStubPhase); 5431 HRESULT STDMETHODCALLTYPE IShellView_CreateViewWindow_Proxy( 5432 IShellView* This, 5433 IShellView *psvPrevious, 5434 LPCFOLDERSETTINGS pfs, 5435 IShellBrowser *psb, 5436 RECT *prcView, 5437 HWND *phWnd); 5438 void __RPC_STUB IShellView_CreateViewWindow_Stub( 5439 IRpcStubBuffer* This, 5440 IRpcChannelBuffer* pRpcChannelBuffer, 5441 PRPC_MESSAGE pRpcMessage, 5442 DWORD* pdwStubPhase); 5443 HRESULT STDMETHODCALLTYPE IShellView_DestroyViewWindow_Proxy( 5444 IShellView* This); 5445 void __RPC_STUB IShellView_DestroyViewWindow_Stub( 5446 IRpcStubBuffer* This, 5447 IRpcChannelBuffer* pRpcChannelBuffer, 5448 PRPC_MESSAGE pRpcMessage, 5449 DWORD* pdwStubPhase); 5450 HRESULT STDMETHODCALLTYPE IShellView_GetCurrentInfo_Proxy( 5451 IShellView* This, 5452 LPFOLDERSETTINGS pfs); 5453 void __RPC_STUB IShellView_GetCurrentInfo_Stub( 5454 IRpcStubBuffer* This, 5455 IRpcChannelBuffer* pRpcChannelBuffer, 5456 PRPC_MESSAGE pRpcMessage, 5457 DWORD* pdwStubPhase); 5458 HRESULT STDMETHODCALLTYPE IShellView_SaveViewState_Proxy( 5459 IShellView* This); 5460 void __RPC_STUB IShellView_SaveViewState_Stub( 5461 IRpcStubBuffer* This, 5462 IRpcChannelBuffer* pRpcChannelBuffer, 5463 PRPC_MESSAGE pRpcMessage, 5464 DWORD* pdwStubPhase); 5465 HRESULT STDMETHODCALLTYPE IShellView_SelectItem_Proxy( 5466 IShellView* This, 5467 PCUITEMID_CHILD pidlItem, 5468 SVSIF uFlags); 5469 void __RPC_STUB IShellView_SelectItem_Stub( 5470 IRpcStubBuffer* This, 5471 IRpcChannelBuffer* pRpcChannelBuffer, 5472 PRPC_MESSAGE pRpcMessage, 5473 DWORD* pdwStubPhase); 5474 HRESULT STDMETHODCALLTYPE IShellView_GetItemObject_Proxy( 5475 IShellView* This, 5476 UINT uItem, 5477 REFIID riid, 5478 void **ppv); 5479 void __RPC_STUB IShellView_GetItemObject_Stub( 5480 IRpcStubBuffer* This, 5481 IRpcChannelBuffer* pRpcChannelBuffer, 5482 PRPC_MESSAGE pRpcMessage, 5483 DWORD* pdwStubPhase); 5484 5485 #endif /* __IShellView_INTERFACE_DEFINED__ */ 5486 5487 typedef IShellView *LPSHELLVIEW; 5488 5489 /***************************************************************************** 5490 * IShellView2 interface 5491 */ 5492 #ifndef __IShellView2_INTERFACE_DEFINED__ 5493 #define __IShellView2_INTERFACE_DEFINED__ 5494 5495 typedef GUID SHELLVIEWID; 5496 5497 #define SV2GV_CURRENTVIEW ((UINT)-1) 5498 #define SV2GV_DEFAULTVIEW ((UINT)-2) 5499 5500 #include <pshpack8.h> 5501 typedef struct _SV2CVW2_PARAMS { 5502 DWORD cbSize; 5503 IShellView *psvPrev; 5504 LPCFOLDERSETTINGS pfs; 5505 IShellBrowser *psbOwner; 5506 RECT *prcView; 5507 const SHELLVIEWID *pvid; 5508 HWND hwndView; 5509 } SV2CVW2_PARAMS; 5510 typedef struct _SV2CVW2_PARAMS *LPSV2CVW2_PARAMS; 5511 #include <poppack.h> 5512 5513 DEFINE_GUID(IID_IShellView2, 0x88e39e80, 0x3578, 0x11cf, 0xae,0x69, 0x08,0x00,0x2b,0x2e,0x12,0x62); 5514 #if defined(__cplusplus) && !defined(CINTERFACE) 5515 MIDL_INTERFACE("88e39e80-3578-11cf-ae69-08002b2e1262") 5516 IShellView2 : public IShellView 5517 { 5518 virtual HRESULT STDMETHODCALLTYPE GetView( 5519 SHELLVIEWID *pvid, 5520 ULONG uView) = 0; 5521 5522 virtual HRESULT STDMETHODCALLTYPE CreateViewWindow2( 5523 LPSV2CVW2_PARAMS lpParams) = 0; 5524 5525 virtual HRESULT STDMETHODCALLTYPE HandleRename( 5526 PCUITEMID_CHILD pidlNew) = 0; 5527 5528 virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItem( 5529 PCUITEMID_CHILD pidlItem, 5530 UINT uFlags, 5531 POINT *ppt) = 0; 5532 5533 }; 5534 #ifdef __CRT_UUID_DECL 5535 __CRT_UUID_DECL(IShellView2, 0x88e39e80, 0x3578, 0x11cf, 0xae,0x69, 0x08,0x00,0x2b,0x2e,0x12,0x62) 5536 #endif 5537 #else 5538 typedef struct IShellView2Vtbl { 5539 BEGIN_INTERFACE 5540 5541 /*** IUnknown methods ***/ 5542 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5543 IShellView2* This, 5544 REFIID riid, 5545 void **ppvObject); 5546 5547 ULONG (STDMETHODCALLTYPE *AddRef)( 5548 IShellView2* This); 5549 5550 ULONG (STDMETHODCALLTYPE *Release)( 5551 IShellView2* This); 5552 5553 /*** IOleWindow methods ***/ 5554 HRESULT (STDMETHODCALLTYPE *GetWindow)( 5555 IShellView2* This, 5556 HWND *phwnd); 5557 5558 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 5559 IShellView2* This, 5560 WINBOOL fEnterMode); 5561 5562 /*** IShellView methods ***/ 5563 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)( 5564 IShellView2* This, 5565 MSG *pmsg); 5566 5567 HRESULT (STDMETHODCALLTYPE *EnableModeless)( 5568 IShellView2* This, 5569 WINBOOL fEnable); 5570 5571 HRESULT (STDMETHODCALLTYPE *UIActivate)( 5572 IShellView2* This, 5573 UINT uState); 5574 5575 HRESULT (STDMETHODCALLTYPE *Refresh)( 5576 IShellView2* This); 5577 5578 HRESULT (STDMETHODCALLTYPE *CreateViewWindow)( 5579 IShellView2* This, 5580 IShellView *psvPrevious, 5581 LPCFOLDERSETTINGS pfs, 5582 IShellBrowser *psb, 5583 RECT *prcView, 5584 HWND *phWnd); 5585 5586 HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)( 5587 IShellView2* This); 5588 5589 HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)( 5590 IShellView2* This, 5591 LPFOLDERSETTINGS pfs); 5592 5593 HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)( 5594 IShellView2* This, 5595 DWORD dwReserved, 5596 LPFNSVADDPROPSHEETPAGE pfn, 5597 LPARAM lparam); 5598 5599 HRESULT (STDMETHODCALLTYPE *SaveViewState)( 5600 IShellView2* This); 5601 5602 HRESULT (STDMETHODCALLTYPE *SelectItem)( 5603 IShellView2* This, 5604 PCUITEMID_CHILD pidlItem, 5605 SVSIF uFlags); 5606 5607 HRESULT (STDMETHODCALLTYPE *GetItemObject)( 5608 IShellView2* This, 5609 UINT uItem, 5610 REFIID riid, 5611 void **ppv); 5612 5613 /*** IShellView2 methods ***/ 5614 HRESULT (STDMETHODCALLTYPE *GetView)( 5615 IShellView2* This, 5616 SHELLVIEWID *pvid, 5617 ULONG uView); 5618 5619 HRESULT (STDMETHODCALLTYPE *CreateViewWindow2)( 5620 IShellView2* This, 5621 LPSV2CVW2_PARAMS lpParams); 5622 5623 HRESULT (STDMETHODCALLTYPE *HandleRename)( 5624 IShellView2* This, 5625 PCUITEMID_CHILD pidlNew); 5626 5627 HRESULT (STDMETHODCALLTYPE *SelectAndPositionItem)( 5628 IShellView2* This, 5629 PCUITEMID_CHILD pidlItem, 5630 UINT uFlags, 5631 POINT *ppt); 5632 5633 END_INTERFACE 5634 } IShellView2Vtbl; 5635 interface IShellView2 { 5636 CONST_VTBL IShellView2Vtbl* lpVtbl; 5637 }; 5638 5639 #ifdef COBJMACROS 5640 #ifndef WIDL_C_INLINE_WRAPPERS 5641 /*** IUnknown methods ***/ 5642 #define IShellView2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5643 #define IShellView2_AddRef(This) (This)->lpVtbl->AddRef(This) 5644 #define IShellView2_Release(This) (This)->lpVtbl->Release(This) 5645 /*** IOleWindow methods ***/ 5646 #define IShellView2_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 5647 #define IShellView2_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 5648 /*** IShellView methods ***/ 5649 #define IShellView2_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg) 5650 #define IShellView2_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable) 5651 #define IShellView2_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState) 5652 #define IShellView2_Refresh(This) (This)->lpVtbl->Refresh(This) 5653 #define IShellView2_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) 5654 #define IShellView2_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This) 5655 #define IShellView2_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs) 5656 #define IShellView2_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam) 5657 #define IShellView2_SaveViewState(This) (This)->lpVtbl->SaveViewState(This) 5658 #define IShellView2_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags) 5659 #define IShellView2_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv) 5660 /*** IShellView2 methods ***/ 5661 #define IShellView2_GetView(This,pvid,uView) (This)->lpVtbl->GetView(This,pvid,uView) 5662 #define IShellView2_CreateViewWindow2(This,lpParams) (This)->lpVtbl->CreateViewWindow2(This,lpParams) 5663 #define IShellView2_HandleRename(This,pidlNew) (This)->lpVtbl->HandleRename(This,pidlNew) 5664 #define IShellView2_SelectAndPositionItem(This,pidlItem,uFlags,ppt) (This)->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt) 5665 #else 5666 /*** IUnknown methods ***/ 5667 static FORCEINLINE HRESULT IShellView2_QueryInterface(IShellView2* This,REFIID riid,void **ppvObject) { 5668 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5669 } 5670 static FORCEINLINE ULONG IShellView2_AddRef(IShellView2* This) { 5671 return This->lpVtbl->AddRef(This); 5672 } 5673 static FORCEINLINE ULONG IShellView2_Release(IShellView2* This) { 5674 return This->lpVtbl->Release(This); 5675 } 5676 /*** IOleWindow methods ***/ 5677 static FORCEINLINE HRESULT IShellView2_GetWindow(IShellView2* This,HWND *phwnd) { 5678 return This->lpVtbl->GetWindow(This,phwnd); 5679 } 5680 static FORCEINLINE HRESULT IShellView2_ContextSensitiveHelp(IShellView2* This,WINBOOL fEnterMode) { 5681 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 5682 } 5683 /*** IShellView methods ***/ 5684 static FORCEINLINE HRESULT IShellView2_TranslateAccelerator(IShellView2* This,MSG *pmsg) { 5685 return This->lpVtbl->TranslateAccelerator(This,pmsg); 5686 } 5687 static FORCEINLINE HRESULT IShellView2_EnableModeless(IShellView2* This,WINBOOL fEnable) { 5688 return This->lpVtbl->EnableModeless(This,fEnable); 5689 } 5690 static FORCEINLINE HRESULT IShellView2_UIActivate(IShellView2* This,UINT uState) { 5691 return This->lpVtbl->UIActivate(This,uState); 5692 } 5693 static FORCEINLINE HRESULT IShellView2_Refresh(IShellView2* This) { 5694 return This->lpVtbl->Refresh(This); 5695 } 5696 static FORCEINLINE HRESULT IShellView2_CreateViewWindow(IShellView2* This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) { 5697 return This->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd); 5698 } 5699 static FORCEINLINE HRESULT IShellView2_DestroyViewWindow(IShellView2* This) { 5700 return This->lpVtbl->DestroyViewWindow(This); 5701 } 5702 static FORCEINLINE HRESULT IShellView2_GetCurrentInfo(IShellView2* This,LPFOLDERSETTINGS pfs) { 5703 return This->lpVtbl->GetCurrentInfo(This,pfs); 5704 } 5705 static FORCEINLINE HRESULT IShellView2_AddPropertySheetPages(IShellView2* This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) { 5706 return This->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam); 5707 } 5708 static FORCEINLINE HRESULT IShellView2_SaveViewState(IShellView2* This) { 5709 return This->lpVtbl->SaveViewState(This); 5710 } 5711 static FORCEINLINE HRESULT IShellView2_SelectItem(IShellView2* This,PCUITEMID_CHILD pidlItem,SVSIF uFlags) { 5712 return This->lpVtbl->SelectItem(This,pidlItem,uFlags); 5713 } 5714 static FORCEINLINE HRESULT IShellView2_GetItemObject(IShellView2* This,UINT uItem,REFIID riid,void **ppv) { 5715 return This->lpVtbl->GetItemObject(This,uItem,riid,ppv); 5716 } 5717 /*** IShellView2 methods ***/ 5718 static FORCEINLINE HRESULT IShellView2_GetView(IShellView2* This,SHELLVIEWID *pvid,ULONG uView) { 5719 return This->lpVtbl->GetView(This,pvid,uView); 5720 } 5721 static FORCEINLINE HRESULT IShellView2_CreateViewWindow2(IShellView2* This,LPSV2CVW2_PARAMS lpParams) { 5722 return This->lpVtbl->CreateViewWindow2(This,lpParams); 5723 } 5724 static FORCEINLINE HRESULT IShellView2_HandleRename(IShellView2* This,PCUITEMID_CHILD pidlNew) { 5725 return This->lpVtbl->HandleRename(This,pidlNew); 5726 } 5727 static FORCEINLINE HRESULT IShellView2_SelectAndPositionItem(IShellView2* This,PCUITEMID_CHILD pidlItem,UINT uFlags,POINT *ppt) { 5728 return This->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt); 5729 } 5730 #endif 5731 #endif 5732 5733 #endif 5734 5735 HRESULT STDMETHODCALLTYPE IShellView2_GetView_Proxy( 5736 IShellView2* This, 5737 SHELLVIEWID *pvid, 5738 ULONG uView); 5739 void __RPC_STUB IShellView2_GetView_Stub( 5740 IRpcStubBuffer* This, 5741 IRpcChannelBuffer* pRpcChannelBuffer, 5742 PRPC_MESSAGE pRpcMessage, 5743 DWORD* pdwStubPhase); 5744 HRESULT STDMETHODCALLTYPE IShellView2_CreateViewWindow2_Proxy( 5745 IShellView2* This, 5746 LPSV2CVW2_PARAMS lpParams); 5747 void __RPC_STUB IShellView2_CreateViewWindow2_Stub( 5748 IRpcStubBuffer* This, 5749 IRpcChannelBuffer* pRpcChannelBuffer, 5750 PRPC_MESSAGE pRpcMessage, 5751 DWORD* pdwStubPhase); 5752 HRESULT STDMETHODCALLTYPE IShellView2_HandleRename_Proxy( 5753 IShellView2* This, 5754 PCUITEMID_CHILD pidlNew); 5755 void __RPC_STUB IShellView2_HandleRename_Stub( 5756 IRpcStubBuffer* This, 5757 IRpcChannelBuffer* pRpcChannelBuffer, 5758 PRPC_MESSAGE pRpcMessage, 5759 DWORD* pdwStubPhase); 5760 HRESULT STDMETHODCALLTYPE IShellView2_SelectAndPositionItem_Proxy( 5761 IShellView2* This, 5762 PCUITEMID_CHILD pidlItem, 5763 UINT uFlags, 5764 POINT *ppt); 5765 void __RPC_STUB IShellView2_SelectAndPositionItem_Stub( 5766 IRpcStubBuffer* This, 5767 IRpcChannelBuffer* pRpcChannelBuffer, 5768 PRPC_MESSAGE pRpcMessage, 5769 DWORD* pdwStubPhase); 5770 5771 #endif /* __IShellView2_INTERFACE_DEFINED__ */ 5772 5773 5774 #if NTDDI_VERSION >= NTDDI_VISTA 5775 /***************************************************************************** 5776 * IShellView3 interface 5777 */ 5778 #ifndef __IShellView3_INTERFACE_DEFINED__ 5779 #define __IShellView3_INTERFACE_DEFINED__ 5780 5781 enum _SV3CVW3_FLAGS { 5782 SV3CVW3_DEFAULT = 0x0, 5783 SV3CVW3_NONINTERACTIVE = 0x1, 5784 SV3CVW3_FORCEVIEWMODE = 0x2, 5785 SV3CVW3_FORCEFOLDERFLAGS = 0x4 5786 }; 5787 5788 5789 typedef DWORD SV3CVW3_FLAGS; 5790 5791 DEFINE_GUID(IID_IShellView3, 0xec39fa88, 0xf8af, 0x41c5, 0x84,0x21, 0x38,0xbe,0xd2,0x8f,0x46,0x73); 5792 #if defined(__cplusplus) && !defined(CINTERFACE) 5793 MIDL_INTERFACE("ec39fa88-f8af-41c5-8421-38bed28f4673") 5794 IShellView3 : public IShellView2 5795 { 5796 virtual HRESULT STDMETHODCALLTYPE CreateViewWindow3( 5797 IShellBrowser *psbOwner, 5798 IShellView *psvPrev, 5799 SV3CVW3_FLAGS dwViewFlags, 5800 FOLDERFLAGS dwMask, 5801 FOLDERFLAGS dwFlags, 5802 FOLDERVIEWMODE fvMode, 5803 const SHELLVIEWID *pvid, 5804 const RECT *prcView, 5805 HWND *phwndView) = 0; 5806 5807 }; 5808 #ifdef __CRT_UUID_DECL 5809 __CRT_UUID_DECL(IShellView3, 0xec39fa88, 0xf8af, 0x41c5, 0x84,0x21, 0x38,0xbe,0xd2,0x8f,0x46,0x73) 5810 #endif 5811 #else 5812 typedef struct IShellView3Vtbl { 5813 BEGIN_INTERFACE 5814 5815 /*** IUnknown methods ***/ 5816 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5817 IShellView3* This, 5818 REFIID riid, 5819 void **ppvObject); 5820 5821 ULONG (STDMETHODCALLTYPE *AddRef)( 5822 IShellView3* This); 5823 5824 ULONG (STDMETHODCALLTYPE *Release)( 5825 IShellView3* This); 5826 5827 /*** IOleWindow methods ***/ 5828 HRESULT (STDMETHODCALLTYPE *GetWindow)( 5829 IShellView3* This, 5830 HWND *phwnd); 5831 5832 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 5833 IShellView3* This, 5834 WINBOOL fEnterMode); 5835 5836 /*** IShellView methods ***/ 5837 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)( 5838 IShellView3* This, 5839 MSG *pmsg); 5840 5841 HRESULT (STDMETHODCALLTYPE *EnableModeless)( 5842 IShellView3* This, 5843 WINBOOL fEnable); 5844 5845 HRESULT (STDMETHODCALLTYPE *UIActivate)( 5846 IShellView3* This, 5847 UINT uState); 5848 5849 HRESULT (STDMETHODCALLTYPE *Refresh)( 5850 IShellView3* This); 5851 5852 HRESULT (STDMETHODCALLTYPE *CreateViewWindow)( 5853 IShellView3* This, 5854 IShellView *psvPrevious, 5855 LPCFOLDERSETTINGS pfs, 5856 IShellBrowser *psb, 5857 RECT *prcView, 5858 HWND *phWnd); 5859 5860 HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)( 5861 IShellView3* This); 5862 5863 HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)( 5864 IShellView3* This, 5865 LPFOLDERSETTINGS pfs); 5866 5867 HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)( 5868 IShellView3* This, 5869 DWORD dwReserved, 5870 LPFNSVADDPROPSHEETPAGE pfn, 5871 LPARAM lparam); 5872 5873 HRESULT (STDMETHODCALLTYPE *SaveViewState)( 5874 IShellView3* This); 5875 5876 HRESULT (STDMETHODCALLTYPE *SelectItem)( 5877 IShellView3* This, 5878 PCUITEMID_CHILD pidlItem, 5879 SVSIF uFlags); 5880 5881 HRESULT (STDMETHODCALLTYPE *GetItemObject)( 5882 IShellView3* This, 5883 UINT uItem, 5884 REFIID riid, 5885 void **ppv); 5886 5887 /*** IShellView2 methods ***/ 5888 HRESULT (STDMETHODCALLTYPE *GetView)( 5889 IShellView3* This, 5890 SHELLVIEWID *pvid, 5891 ULONG uView); 5892 5893 HRESULT (STDMETHODCALLTYPE *CreateViewWindow2)( 5894 IShellView3* This, 5895 LPSV2CVW2_PARAMS lpParams); 5896 5897 HRESULT (STDMETHODCALLTYPE *HandleRename)( 5898 IShellView3* This, 5899 PCUITEMID_CHILD pidlNew); 5900 5901 HRESULT (STDMETHODCALLTYPE *SelectAndPositionItem)( 5902 IShellView3* This, 5903 PCUITEMID_CHILD pidlItem, 5904 UINT uFlags, 5905 POINT *ppt); 5906 5907 /*** IShellView3 methods ***/ 5908 HRESULT (STDMETHODCALLTYPE *CreateViewWindow3)( 5909 IShellView3* This, 5910 IShellBrowser *psbOwner, 5911 IShellView *psvPrev, 5912 SV3CVW3_FLAGS dwViewFlags, 5913 FOLDERFLAGS dwMask, 5914 FOLDERFLAGS dwFlags, 5915 FOLDERVIEWMODE fvMode, 5916 const SHELLVIEWID *pvid, 5917 const RECT *prcView, 5918 HWND *phwndView); 5919 5920 END_INTERFACE 5921 } IShellView3Vtbl; 5922 interface IShellView3 { 5923 CONST_VTBL IShellView3Vtbl* lpVtbl; 5924 }; 5925 5926 #ifdef COBJMACROS 5927 #ifndef WIDL_C_INLINE_WRAPPERS 5928 /*** IUnknown methods ***/ 5929 #define IShellView3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5930 #define IShellView3_AddRef(This) (This)->lpVtbl->AddRef(This) 5931 #define IShellView3_Release(This) (This)->lpVtbl->Release(This) 5932 /*** IOleWindow methods ***/ 5933 #define IShellView3_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 5934 #define IShellView3_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 5935 /*** IShellView methods ***/ 5936 #define IShellView3_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg) 5937 #define IShellView3_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable) 5938 #define IShellView3_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState) 5939 #define IShellView3_Refresh(This) (This)->lpVtbl->Refresh(This) 5940 #define IShellView3_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) 5941 #define IShellView3_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This) 5942 #define IShellView3_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs) 5943 #define IShellView3_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam) 5944 #define IShellView3_SaveViewState(This) (This)->lpVtbl->SaveViewState(This) 5945 #define IShellView3_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags) 5946 #define IShellView3_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv) 5947 /*** IShellView2 methods ***/ 5948 #define IShellView3_GetView(This,pvid,uView) (This)->lpVtbl->GetView(This,pvid,uView) 5949 #define IShellView3_CreateViewWindow2(This,lpParams) (This)->lpVtbl->CreateViewWindow2(This,lpParams) 5950 #define IShellView3_HandleRename(This,pidlNew) (This)->lpVtbl->HandleRename(This,pidlNew) 5951 #define IShellView3_SelectAndPositionItem(This,pidlItem,uFlags,ppt) (This)->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt) 5952 /*** IShellView3 methods ***/ 5953 #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) 5954 #else 5955 /*** IUnknown methods ***/ 5956 static FORCEINLINE HRESULT IShellView3_QueryInterface(IShellView3* This,REFIID riid,void **ppvObject) { 5957 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5958 } 5959 static FORCEINLINE ULONG IShellView3_AddRef(IShellView3* This) { 5960 return This->lpVtbl->AddRef(This); 5961 } 5962 static FORCEINLINE ULONG IShellView3_Release(IShellView3* This) { 5963 return This->lpVtbl->Release(This); 5964 } 5965 /*** IOleWindow methods ***/ 5966 static FORCEINLINE HRESULT IShellView3_GetWindow(IShellView3* This,HWND *phwnd) { 5967 return This->lpVtbl->GetWindow(This,phwnd); 5968 } 5969 static FORCEINLINE HRESULT IShellView3_ContextSensitiveHelp(IShellView3* This,WINBOOL fEnterMode) { 5970 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 5971 } 5972 /*** IShellView methods ***/ 5973 static FORCEINLINE HRESULT IShellView3_TranslateAccelerator(IShellView3* This,MSG *pmsg) { 5974 return This->lpVtbl->TranslateAccelerator(This,pmsg); 5975 } 5976 static FORCEINLINE HRESULT IShellView3_EnableModeless(IShellView3* This,WINBOOL fEnable) { 5977 return This->lpVtbl->EnableModeless(This,fEnable); 5978 } 5979 static FORCEINLINE HRESULT IShellView3_UIActivate(IShellView3* This,UINT uState) { 5980 return This->lpVtbl->UIActivate(This,uState); 5981 } 5982 static FORCEINLINE HRESULT IShellView3_Refresh(IShellView3* This) { 5983 return This->lpVtbl->Refresh(This); 5984 } 5985 static FORCEINLINE HRESULT IShellView3_CreateViewWindow(IShellView3* This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) { 5986 return This->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd); 5987 } 5988 static FORCEINLINE HRESULT IShellView3_DestroyViewWindow(IShellView3* This) { 5989 return This->lpVtbl->DestroyViewWindow(This); 5990 } 5991 static FORCEINLINE HRESULT IShellView3_GetCurrentInfo(IShellView3* This,LPFOLDERSETTINGS pfs) { 5992 return This->lpVtbl->GetCurrentInfo(This,pfs); 5993 } 5994 static FORCEINLINE HRESULT IShellView3_AddPropertySheetPages(IShellView3* This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) { 5995 return This->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam); 5996 } 5997 static FORCEINLINE HRESULT IShellView3_SaveViewState(IShellView3* This) { 5998 return This->lpVtbl->SaveViewState(This); 5999 } 6000 static FORCEINLINE HRESULT IShellView3_SelectItem(IShellView3* This,PCUITEMID_CHILD pidlItem,SVSIF uFlags) { 6001 return This->lpVtbl->SelectItem(This,pidlItem,uFlags); 6002 } 6003 static FORCEINLINE HRESULT IShellView3_GetItemObject(IShellView3* This,UINT uItem,REFIID riid,void **ppv) { 6004 return This->lpVtbl->GetItemObject(This,uItem,riid,ppv); 6005 } 6006 /*** IShellView2 methods ***/ 6007 static FORCEINLINE HRESULT IShellView3_GetView(IShellView3* This,SHELLVIEWID *pvid,ULONG uView) { 6008 return This->lpVtbl->GetView(This,pvid,uView); 6009 } 6010 static FORCEINLINE HRESULT IShellView3_CreateViewWindow2(IShellView3* This,LPSV2CVW2_PARAMS lpParams) { 6011 return This->lpVtbl->CreateViewWindow2(This,lpParams); 6012 } 6013 static FORCEINLINE HRESULT IShellView3_HandleRename(IShellView3* This,PCUITEMID_CHILD pidlNew) { 6014 return This->lpVtbl->HandleRename(This,pidlNew); 6015 } 6016 static FORCEINLINE HRESULT IShellView3_SelectAndPositionItem(IShellView3* This,PCUITEMID_CHILD pidlItem,UINT uFlags,POINT *ppt) { 6017 return This->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt); 6018 } 6019 /*** IShellView3 methods ***/ 6020 static FORCEINLINE 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) { 6021 return This->lpVtbl->CreateViewWindow3(This,psbOwner,psvPrev,dwViewFlags,dwMask,dwFlags,fvMode,pvid,prcView,phwndView); 6022 } 6023 #endif 6024 #endif 6025 6026 #endif 6027 6028 HRESULT STDMETHODCALLTYPE IShellView3_CreateViewWindow3_Proxy( 6029 IShellView3* This, 6030 IShellBrowser *psbOwner, 6031 IShellView *psvPrev, 6032 SV3CVW3_FLAGS dwViewFlags, 6033 FOLDERFLAGS dwMask, 6034 FOLDERFLAGS dwFlags, 6035 FOLDERVIEWMODE fvMode, 6036 const SHELLVIEWID *pvid, 6037 const RECT *prcView, 6038 HWND *phwndView); 6039 void __RPC_STUB IShellView3_CreateViewWindow3_Stub( 6040 IRpcStubBuffer* This, 6041 IRpcChannelBuffer* pRpcChannelBuffer, 6042 PRPC_MESSAGE pRpcMessage, 6043 DWORD* pdwStubPhase); 6044 6045 #endif /* __IShellView3_INTERFACE_DEFINED__ */ 6046 6047 #endif 6048 #ifdef _FIX_ENABLEMODELESS_CONFLICT 6049 #undef EnableModeless 6050 #endif 6051 6052 /***************************************************************************** 6053 * IFolderView interface 6054 */ 6055 #ifndef __IFolderView_INTERFACE_DEFINED__ 6056 #define __IFolderView_INTERFACE_DEFINED__ 6057 6058 DEFINE_GUID(IID_IFolderView, 0xcde725b0, 0xccc9, 0x4519, 0x91,0x7e, 0x32,0x5d,0x72,0xfa,0xb4,0xce); 6059 #if defined(__cplusplus) && !defined(CINTERFACE) 6060 MIDL_INTERFACE("cde725b0-ccc9-4519-917e-325d72fab4ce") 6061 IFolderView : public IUnknown 6062 { 6063 virtual HRESULT STDMETHODCALLTYPE GetCurrentViewMode( 6064 UINT *pViewMode) = 0; 6065 6066 virtual HRESULT STDMETHODCALLTYPE SetCurrentViewMode( 6067 UINT ViewMode) = 0; 6068 6069 virtual HRESULT STDMETHODCALLTYPE GetFolder( 6070 REFIID riid, 6071 void **ppv) = 0; 6072 6073 virtual HRESULT STDMETHODCALLTYPE Item( 6074 int iItemIndex, 6075 PITEMID_CHILD *ppidl) = 0; 6076 6077 virtual HRESULT STDMETHODCALLTYPE ItemCount( 6078 UINT uFlags, 6079 int *pcItems) = 0; 6080 6081 virtual HRESULT STDMETHODCALLTYPE Items( 6082 UINT uFlags, 6083 REFIID riid, 6084 void **ppv) = 0; 6085 6086 virtual HRESULT STDMETHODCALLTYPE GetSelectionMarkedItem( 6087 int *piItem) = 0; 6088 6089 virtual HRESULT STDMETHODCALLTYPE GetFocusedItem( 6090 int *piItem) = 0; 6091 6092 virtual HRESULT STDMETHODCALLTYPE GetItemPosition( 6093 PCUITEMID_CHILD pidl, 6094 POINT *ppt) = 0; 6095 6096 virtual HRESULT STDMETHODCALLTYPE GetSpacing( 6097 POINT *ppt) = 0; 6098 6099 virtual HRESULT STDMETHODCALLTYPE GetDefaultSpacing( 6100 POINT *ppt) = 0; 6101 6102 virtual HRESULT STDMETHODCALLTYPE GetAutoArrange( 6103 ) = 0; 6104 6105 virtual HRESULT STDMETHODCALLTYPE SelectItem( 6106 int iItem, 6107 DWORD dwFlags) = 0; 6108 6109 virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItems( 6110 UINT cidl, 6111 PCUITEMID_CHILD_ARRAY apidl, 6112 POINT *apt, 6113 DWORD dwFlags) = 0; 6114 6115 }; 6116 #ifdef __CRT_UUID_DECL 6117 __CRT_UUID_DECL(IFolderView, 0xcde725b0, 0xccc9, 0x4519, 0x91,0x7e, 0x32,0x5d,0x72,0xfa,0xb4,0xce) 6118 #endif 6119 #else 6120 typedef struct IFolderViewVtbl { 6121 BEGIN_INTERFACE 6122 6123 /*** IUnknown methods ***/ 6124 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6125 IFolderView* This, 6126 REFIID riid, 6127 void **ppvObject); 6128 6129 ULONG (STDMETHODCALLTYPE *AddRef)( 6130 IFolderView* This); 6131 6132 ULONG (STDMETHODCALLTYPE *Release)( 6133 IFolderView* This); 6134 6135 /*** IFolderView methods ***/ 6136 HRESULT (STDMETHODCALLTYPE *GetCurrentViewMode)( 6137 IFolderView* This, 6138 UINT *pViewMode); 6139 6140 HRESULT (STDMETHODCALLTYPE *SetCurrentViewMode)( 6141 IFolderView* This, 6142 UINT ViewMode); 6143 6144 HRESULT (STDMETHODCALLTYPE *GetFolder)( 6145 IFolderView* This, 6146 REFIID riid, 6147 void **ppv); 6148 6149 HRESULT (STDMETHODCALLTYPE *Item)( 6150 IFolderView* This, 6151 int iItemIndex, 6152 PITEMID_CHILD *ppidl); 6153 6154 HRESULT (STDMETHODCALLTYPE *ItemCount)( 6155 IFolderView* This, 6156 UINT uFlags, 6157 int *pcItems); 6158 6159 HRESULT (STDMETHODCALLTYPE *Items)( 6160 IFolderView* This, 6161 UINT uFlags, 6162 REFIID riid, 6163 void **ppv); 6164 6165 HRESULT (STDMETHODCALLTYPE *GetSelectionMarkedItem)( 6166 IFolderView* This, 6167 int *piItem); 6168 6169 HRESULT (STDMETHODCALLTYPE *GetFocusedItem)( 6170 IFolderView* This, 6171 int *piItem); 6172 6173 HRESULT (STDMETHODCALLTYPE *GetItemPosition)( 6174 IFolderView* This, 6175 PCUITEMID_CHILD pidl, 6176 POINT *ppt); 6177 6178 HRESULT (STDMETHODCALLTYPE *GetSpacing)( 6179 IFolderView* This, 6180 POINT *ppt); 6181 6182 HRESULT (STDMETHODCALLTYPE *GetDefaultSpacing)( 6183 IFolderView* This, 6184 POINT *ppt); 6185 6186 HRESULT (STDMETHODCALLTYPE *GetAutoArrange)( 6187 IFolderView* This); 6188 6189 HRESULT (STDMETHODCALLTYPE *SelectItem)( 6190 IFolderView* This, 6191 int iItem, 6192 DWORD dwFlags); 6193 6194 HRESULT (STDMETHODCALLTYPE *SelectAndPositionItems)( 6195 IFolderView* This, 6196 UINT cidl, 6197 PCUITEMID_CHILD_ARRAY apidl, 6198 POINT *apt, 6199 DWORD dwFlags); 6200 6201 END_INTERFACE 6202 } IFolderViewVtbl; 6203 interface IFolderView { 6204 CONST_VTBL IFolderViewVtbl* lpVtbl; 6205 }; 6206 6207 #ifdef COBJMACROS 6208 #ifndef WIDL_C_INLINE_WRAPPERS 6209 /*** IUnknown methods ***/ 6210 #define IFolderView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6211 #define IFolderView_AddRef(This) (This)->lpVtbl->AddRef(This) 6212 #define IFolderView_Release(This) (This)->lpVtbl->Release(This) 6213 /*** IFolderView methods ***/ 6214 #define IFolderView_GetCurrentViewMode(This,pViewMode) (This)->lpVtbl->GetCurrentViewMode(This,pViewMode) 6215 #define IFolderView_SetCurrentViewMode(This,ViewMode) (This)->lpVtbl->SetCurrentViewMode(This,ViewMode) 6216 #define IFolderView_GetFolder(This,riid,ppv) (This)->lpVtbl->GetFolder(This,riid,ppv) 6217 #define IFolderView_Item(This,iItemIndex,ppidl) (This)->lpVtbl->Item(This,iItemIndex,ppidl) 6218 #define IFolderView_ItemCount(This,uFlags,pcItems) (This)->lpVtbl->ItemCount(This,uFlags,pcItems) 6219 #define IFolderView_Items(This,uFlags,riid,ppv) (This)->lpVtbl->Items(This,uFlags,riid,ppv) 6220 #define IFolderView_GetSelectionMarkedItem(This,piItem) (This)->lpVtbl->GetSelectionMarkedItem(This,piItem) 6221 #define IFolderView_GetFocusedItem(This,piItem) (This)->lpVtbl->GetFocusedItem(This,piItem) 6222 #define IFolderView_GetItemPosition(This,pidl,ppt) (This)->lpVtbl->GetItemPosition(This,pidl,ppt) 6223 #define IFolderView_GetSpacing(This,ppt) (This)->lpVtbl->GetSpacing(This,ppt) 6224 #define IFolderView_GetDefaultSpacing(This,ppt) (This)->lpVtbl->GetDefaultSpacing(This,ppt) 6225 #define IFolderView_GetAutoArrange(This) (This)->lpVtbl->GetAutoArrange(This) 6226 #define IFolderView_SelectItem(This,iItem,dwFlags) (This)->lpVtbl->SelectItem(This,iItem,dwFlags) 6227 #define IFolderView_SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) (This)->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) 6228 #else 6229 /*** IUnknown methods ***/ 6230 static FORCEINLINE HRESULT IFolderView_QueryInterface(IFolderView* This,REFIID riid,void **ppvObject) { 6231 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6232 } 6233 static FORCEINLINE ULONG IFolderView_AddRef(IFolderView* This) { 6234 return This->lpVtbl->AddRef(This); 6235 } 6236 static FORCEINLINE ULONG IFolderView_Release(IFolderView* This) { 6237 return This->lpVtbl->Release(This); 6238 } 6239 /*** IFolderView methods ***/ 6240 static FORCEINLINE HRESULT IFolderView_GetCurrentViewMode(IFolderView* This,UINT *pViewMode) { 6241 return This->lpVtbl->GetCurrentViewMode(This,pViewMode); 6242 } 6243 static FORCEINLINE HRESULT IFolderView_SetCurrentViewMode(IFolderView* This,UINT ViewMode) { 6244 return This->lpVtbl->SetCurrentViewMode(This,ViewMode); 6245 } 6246 static FORCEINLINE HRESULT IFolderView_GetFolder(IFolderView* This,REFIID riid,void **ppv) { 6247 return This->lpVtbl->GetFolder(This,riid,ppv); 6248 } 6249 static FORCEINLINE HRESULT IFolderView_Item(IFolderView* This,int iItemIndex,PITEMID_CHILD *ppidl) { 6250 return This->lpVtbl->Item(This,iItemIndex,ppidl); 6251 } 6252 static FORCEINLINE HRESULT IFolderView_ItemCount(IFolderView* This,UINT uFlags,int *pcItems) { 6253 return This->lpVtbl->ItemCount(This,uFlags,pcItems); 6254 } 6255 static FORCEINLINE HRESULT IFolderView_Items(IFolderView* This,UINT uFlags,REFIID riid,void **ppv) { 6256 return This->lpVtbl->Items(This,uFlags,riid,ppv); 6257 } 6258 static FORCEINLINE HRESULT IFolderView_GetSelectionMarkedItem(IFolderView* This,int *piItem) { 6259 return This->lpVtbl->GetSelectionMarkedItem(This,piItem); 6260 } 6261 static FORCEINLINE HRESULT IFolderView_GetFocusedItem(IFolderView* This,int *piItem) { 6262 return This->lpVtbl->GetFocusedItem(This,piItem); 6263 } 6264 static FORCEINLINE HRESULT IFolderView_GetItemPosition(IFolderView* This,PCUITEMID_CHILD pidl,POINT *ppt) { 6265 return This->lpVtbl->GetItemPosition(This,pidl,ppt); 6266 } 6267 static FORCEINLINE HRESULT IFolderView_GetSpacing(IFolderView* This,POINT *ppt) { 6268 return This->lpVtbl->GetSpacing(This,ppt); 6269 } 6270 static FORCEINLINE HRESULT IFolderView_GetDefaultSpacing(IFolderView* This,POINT *ppt) { 6271 return This->lpVtbl->GetDefaultSpacing(This,ppt); 6272 } 6273 static FORCEINLINE HRESULT IFolderView_GetAutoArrange(IFolderView* This) { 6274 return This->lpVtbl->GetAutoArrange(This); 6275 } 6276 static FORCEINLINE HRESULT IFolderView_SelectItem(IFolderView* This,int iItem,DWORD dwFlags) { 6277 return This->lpVtbl->SelectItem(This,iItem,dwFlags); 6278 } 6279 static FORCEINLINE HRESULT IFolderView_SelectAndPositionItems(IFolderView* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,POINT *apt,DWORD dwFlags) { 6280 return This->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags); 6281 } 6282 #endif 6283 #endif 6284 6285 #endif 6286 6287 HRESULT STDMETHODCALLTYPE IFolderView_GetCurrentViewMode_Proxy( 6288 IFolderView* This, 6289 UINT *pViewMode); 6290 void __RPC_STUB IFolderView_GetCurrentViewMode_Stub( 6291 IRpcStubBuffer* This, 6292 IRpcChannelBuffer* pRpcChannelBuffer, 6293 PRPC_MESSAGE pRpcMessage, 6294 DWORD* pdwStubPhase); 6295 HRESULT STDMETHODCALLTYPE IFolderView_SetCurrentViewMode_Proxy( 6296 IFolderView* This, 6297 UINT ViewMode); 6298 void __RPC_STUB IFolderView_SetCurrentViewMode_Stub( 6299 IRpcStubBuffer* This, 6300 IRpcChannelBuffer* pRpcChannelBuffer, 6301 PRPC_MESSAGE pRpcMessage, 6302 DWORD* pdwStubPhase); 6303 HRESULT STDMETHODCALLTYPE IFolderView_GetFolder_Proxy( 6304 IFolderView* This, 6305 REFIID riid, 6306 void **ppv); 6307 void __RPC_STUB IFolderView_GetFolder_Stub( 6308 IRpcStubBuffer* This, 6309 IRpcChannelBuffer* pRpcChannelBuffer, 6310 PRPC_MESSAGE pRpcMessage, 6311 DWORD* pdwStubPhase); 6312 HRESULT STDMETHODCALLTYPE IFolderView_Item_Proxy( 6313 IFolderView* This, 6314 int iItemIndex, 6315 PITEMID_CHILD *ppidl); 6316 void __RPC_STUB IFolderView_Item_Stub( 6317 IRpcStubBuffer* This, 6318 IRpcChannelBuffer* pRpcChannelBuffer, 6319 PRPC_MESSAGE pRpcMessage, 6320 DWORD* pdwStubPhase); 6321 HRESULT STDMETHODCALLTYPE IFolderView_ItemCount_Proxy( 6322 IFolderView* This, 6323 UINT uFlags, 6324 int *pcItems); 6325 void __RPC_STUB IFolderView_ItemCount_Stub( 6326 IRpcStubBuffer* This, 6327 IRpcChannelBuffer* pRpcChannelBuffer, 6328 PRPC_MESSAGE pRpcMessage, 6329 DWORD* pdwStubPhase); 6330 HRESULT STDMETHODCALLTYPE IFolderView_Items_Proxy( 6331 IFolderView* This, 6332 UINT uFlags, 6333 REFIID riid, 6334 void **ppv); 6335 void __RPC_STUB IFolderView_Items_Stub( 6336 IRpcStubBuffer* This, 6337 IRpcChannelBuffer* pRpcChannelBuffer, 6338 PRPC_MESSAGE pRpcMessage, 6339 DWORD* pdwStubPhase); 6340 HRESULT STDMETHODCALLTYPE IFolderView_GetSelectionMarkedItem_Proxy( 6341 IFolderView* This, 6342 int *piItem); 6343 void __RPC_STUB IFolderView_GetSelectionMarkedItem_Stub( 6344 IRpcStubBuffer* This, 6345 IRpcChannelBuffer* pRpcChannelBuffer, 6346 PRPC_MESSAGE pRpcMessage, 6347 DWORD* pdwStubPhase); 6348 HRESULT STDMETHODCALLTYPE IFolderView_GetFocusedItem_Proxy( 6349 IFolderView* This, 6350 int *piItem); 6351 void __RPC_STUB IFolderView_GetFocusedItem_Stub( 6352 IRpcStubBuffer* This, 6353 IRpcChannelBuffer* pRpcChannelBuffer, 6354 PRPC_MESSAGE pRpcMessage, 6355 DWORD* pdwStubPhase); 6356 HRESULT STDMETHODCALLTYPE IFolderView_GetItemPosition_Proxy( 6357 IFolderView* This, 6358 PCUITEMID_CHILD pidl, 6359 POINT *ppt); 6360 void __RPC_STUB IFolderView_GetItemPosition_Stub( 6361 IRpcStubBuffer* This, 6362 IRpcChannelBuffer* pRpcChannelBuffer, 6363 PRPC_MESSAGE pRpcMessage, 6364 DWORD* pdwStubPhase); 6365 HRESULT STDMETHODCALLTYPE IFolderView_GetSpacing_Proxy( 6366 IFolderView* This, 6367 POINT *ppt); 6368 void __RPC_STUB IFolderView_GetSpacing_Stub( 6369 IRpcStubBuffer* This, 6370 IRpcChannelBuffer* pRpcChannelBuffer, 6371 PRPC_MESSAGE pRpcMessage, 6372 DWORD* pdwStubPhase); 6373 HRESULT STDMETHODCALLTYPE IFolderView_GetDefaultSpacing_Proxy( 6374 IFolderView* This, 6375 POINT *ppt); 6376 void __RPC_STUB IFolderView_GetDefaultSpacing_Stub( 6377 IRpcStubBuffer* This, 6378 IRpcChannelBuffer* pRpcChannelBuffer, 6379 PRPC_MESSAGE pRpcMessage, 6380 DWORD* pdwStubPhase); 6381 HRESULT STDMETHODCALLTYPE IFolderView_GetAutoArrange_Proxy( 6382 IFolderView* This); 6383 void __RPC_STUB IFolderView_GetAutoArrange_Stub( 6384 IRpcStubBuffer* This, 6385 IRpcChannelBuffer* pRpcChannelBuffer, 6386 PRPC_MESSAGE pRpcMessage, 6387 DWORD* pdwStubPhase); 6388 HRESULT STDMETHODCALLTYPE IFolderView_SelectItem_Proxy( 6389 IFolderView* This, 6390 int iItem, 6391 DWORD dwFlags); 6392 void __RPC_STUB IFolderView_SelectItem_Stub( 6393 IRpcStubBuffer* This, 6394 IRpcChannelBuffer* pRpcChannelBuffer, 6395 PRPC_MESSAGE pRpcMessage, 6396 DWORD* pdwStubPhase); 6397 HRESULT STDMETHODCALLTYPE IFolderView_SelectAndPositionItems_Proxy( 6398 IFolderView* This, 6399 UINT cidl, 6400 PCUITEMID_CHILD_ARRAY apidl, 6401 POINT *apt, 6402 DWORD dwFlags); 6403 void __RPC_STUB IFolderView_SelectAndPositionItems_Stub( 6404 IRpcStubBuffer* This, 6405 IRpcChannelBuffer* pRpcChannelBuffer, 6406 PRPC_MESSAGE pRpcMessage, 6407 DWORD* pdwStubPhase); 6408 6409 #endif /* __IFolderView_INTERFACE_DEFINED__ */ 6410 6411 6412 #define SID_SFolderView IID_IFolderView 6413 6414 #if NTDDI_VERSION >= NTDDI_WIN7 6415 /***************************************************************************** 6416 * ISearchBoxInfo interface 6417 */ 6418 #ifndef __ISearchBoxInfo_INTERFACE_DEFINED__ 6419 #define __ISearchBoxInfo_INTERFACE_DEFINED__ 6420 6421 DEFINE_GUID(IID_ISearchBoxInfo, 0x6af6e03f, 0xd664, 0x4ef4, 0x96,0x26, 0xf7,0xe0,0xed,0x36,0x75,0x5e); 6422 #if defined(__cplusplus) && !defined(CINTERFACE) 6423 MIDL_INTERFACE("6af6e03f-d664-4ef4-9626-f7e0ed36755e") 6424 ISearchBoxInfo : public IUnknown 6425 { 6426 virtual HRESULT STDMETHODCALLTYPE GetCondition( 6427 REFIID riid, 6428 void **ppv) = 0; 6429 6430 virtual HRESULT STDMETHODCALLTYPE GetText( 6431 LPWSTR *ppsz) = 0; 6432 6433 }; 6434 #ifdef __CRT_UUID_DECL 6435 __CRT_UUID_DECL(ISearchBoxInfo, 0x6af6e03f, 0xd664, 0x4ef4, 0x96,0x26, 0xf7,0xe0,0xed,0x36,0x75,0x5e) 6436 #endif 6437 #else 6438 typedef struct ISearchBoxInfoVtbl { 6439 BEGIN_INTERFACE 6440 6441 /*** IUnknown methods ***/ 6442 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6443 ISearchBoxInfo* This, 6444 REFIID riid, 6445 void **ppvObject); 6446 6447 ULONG (STDMETHODCALLTYPE *AddRef)( 6448 ISearchBoxInfo* This); 6449 6450 ULONG (STDMETHODCALLTYPE *Release)( 6451 ISearchBoxInfo* This); 6452 6453 /*** ISearchBoxInfo methods ***/ 6454 HRESULT (STDMETHODCALLTYPE *GetCondition)( 6455 ISearchBoxInfo* This, 6456 REFIID riid, 6457 void **ppv); 6458 6459 HRESULT (STDMETHODCALLTYPE *GetText)( 6460 ISearchBoxInfo* This, 6461 LPWSTR *ppsz); 6462 6463 END_INTERFACE 6464 } ISearchBoxInfoVtbl; 6465 interface ISearchBoxInfo { 6466 CONST_VTBL ISearchBoxInfoVtbl* lpVtbl; 6467 }; 6468 6469 #ifdef COBJMACROS 6470 #ifndef WIDL_C_INLINE_WRAPPERS 6471 /*** IUnknown methods ***/ 6472 #define ISearchBoxInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6473 #define ISearchBoxInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 6474 #define ISearchBoxInfo_Release(This) (This)->lpVtbl->Release(This) 6475 /*** ISearchBoxInfo methods ***/ 6476 #define ISearchBoxInfo_GetCondition(This,riid,ppv) (This)->lpVtbl->GetCondition(This,riid,ppv) 6477 #define ISearchBoxInfo_GetText(This,ppsz) (This)->lpVtbl->GetText(This,ppsz) 6478 #else 6479 /*** IUnknown methods ***/ 6480 static FORCEINLINE HRESULT ISearchBoxInfo_QueryInterface(ISearchBoxInfo* This,REFIID riid,void **ppvObject) { 6481 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6482 } 6483 static FORCEINLINE ULONG ISearchBoxInfo_AddRef(ISearchBoxInfo* This) { 6484 return This->lpVtbl->AddRef(This); 6485 } 6486 static FORCEINLINE ULONG ISearchBoxInfo_Release(ISearchBoxInfo* This) { 6487 return This->lpVtbl->Release(This); 6488 } 6489 /*** ISearchBoxInfo methods ***/ 6490 static FORCEINLINE HRESULT ISearchBoxInfo_GetCondition(ISearchBoxInfo* This,REFIID riid,void **ppv) { 6491 return This->lpVtbl->GetCondition(This,riid,ppv); 6492 } 6493 static FORCEINLINE HRESULT ISearchBoxInfo_GetText(ISearchBoxInfo* This,LPWSTR *ppsz) { 6494 return This->lpVtbl->GetText(This,ppsz); 6495 } 6496 #endif 6497 #endif 6498 6499 #endif 6500 6501 HRESULT STDMETHODCALLTYPE ISearchBoxInfo_GetCondition_Proxy( 6502 ISearchBoxInfo* This, 6503 REFIID riid, 6504 void **ppv); 6505 void __RPC_STUB ISearchBoxInfo_GetCondition_Stub( 6506 IRpcStubBuffer* This, 6507 IRpcChannelBuffer* pRpcChannelBuffer, 6508 PRPC_MESSAGE pRpcMessage, 6509 DWORD* pdwStubPhase); 6510 HRESULT STDMETHODCALLTYPE ISearchBoxInfo_GetText_Proxy( 6511 ISearchBoxInfo* This, 6512 LPWSTR *ppsz); 6513 void __RPC_STUB ISearchBoxInfo_GetText_Stub( 6514 IRpcStubBuffer* This, 6515 IRpcChannelBuffer* pRpcChannelBuffer, 6516 PRPC_MESSAGE pRpcMessage, 6517 DWORD* pdwStubPhase); 6518 6519 #endif /* __ISearchBoxInfo_INTERFACE_DEFINED__ */ 6520 6521 #endif 6522 6523 #if NTDDI_VERSION >= NTDDI_VISTA || _WIN32_IE >= _WIN32_IE_IE70 6524 #ifndef NO_SHOBJIDL_SORTDIRECTION 6525 enum tagSORTDIRECTION { 6526 SORT_DESCENDING = -1, 6527 SORT_ASCENDING = 1 6528 }; 6529 6530 #endif 6531 6532 typedef int SORTDIRECTION; 6533 6534 typedef struct SORTCOLUMN { 6535 PROPERTYKEY propkey; 6536 SORTDIRECTION direction; 6537 } SORTCOLUMN; 6538 6539 typedef enum FVTEXTTYPE { 6540 FVST_EMPTYTEXT = 0 6541 } FVTEXTTYPE; 6542 6543 #ifndef __IShellItemArray_FWD_DEFINED__ 6544 #define __IShellItemArray_FWD_DEFINED__ 6545 typedef interface IShellItemArray IShellItemArray; 6546 #endif 6547 6548 6549 typedef HRESULT DEPRECATED_HRESULT; 6550 6551 #ifdef __cplusplus 6552 #define DEPRECATED_HRESULT HRESULT 6553 #endif 6554 6555 /***************************************************************************** 6556 * IFolderView2 interface 6557 */ 6558 #ifndef __IFolderView2_INTERFACE_DEFINED__ 6559 #define __IFolderView2_INTERFACE_DEFINED__ 6560 6561 DEFINE_GUID(IID_IFolderView2, 0x1af3a467, 0x214f, 0x4298, 0x90,0x8e, 0x06,0xb0,0x3e,0x0b,0x39,0xf9); 6562 #if defined(__cplusplus) && !defined(CINTERFACE) 6563 MIDL_INTERFACE("1af3a467-214f-4298-908e-06b03e0b39f9") 6564 IFolderView2 : public IFolderView 6565 { 6566 virtual HRESULT STDMETHODCALLTYPE SetGroupBy( 6567 REFPROPERTYKEY key, 6568 WINBOOL fAscending) = 0; 6569 6570 virtual HRESULT STDMETHODCALLTYPE GetGroupBy( 6571 PROPERTYKEY *pkey, 6572 WINBOOL *pfAscending) = 0; 6573 6574 virtual HRESULT STDMETHODCALLTYPE SetViewProperty( 6575 PCUITEMID_CHILD pidl, 6576 REFPROPERTYKEY propkey, 6577 REFPROPVARIANT propvar) = 0; 6578 6579 virtual HRESULT STDMETHODCALLTYPE GetViewProperty( 6580 PCUITEMID_CHILD pidl, 6581 REFPROPERTYKEY propkey, 6582 PROPVARIANT *ppropvar) = 0; 6583 6584 virtual HRESULT STDMETHODCALLTYPE SetTileViewProperties( 6585 PCUITEMID_CHILD pidl, 6586 LPCWSTR pszPropList) = 0; 6587 6588 virtual HRESULT STDMETHODCALLTYPE SetExtendedTileViewProperties( 6589 PCUITEMID_CHILD pidl, 6590 LPCWSTR pszPropList) = 0; 6591 6592 virtual HRESULT STDMETHODCALLTYPE SetText( 6593 FVTEXTTYPE iType, 6594 LPCWSTR pwszText) = 0; 6595 6596 virtual HRESULT STDMETHODCALLTYPE SetCurrentFolderFlags( 6597 DWORD dwMask, 6598 DWORD dwFlags) = 0; 6599 6600 virtual HRESULT STDMETHODCALLTYPE GetCurrentFolderFlags( 6601 DWORD *pdwFlags) = 0; 6602 6603 virtual HRESULT STDMETHODCALLTYPE GetSortColumnCount( 6604 int *pcColumns) = 0; 6605 6606 virtual HRESULT STDMETHODCALLTYPE SetSortColumns( 6607 const SORTCOLUMN *rgSortColumns, 6608 int cColumns) = 0; 6609 6610 virtual HRESULT STDMETHODCALLTYPE GetSortColumns( 6611 SORTCOLUMN *rgSortColumns, 6612 int cColumns) = 0; 6613 6614 virtual HRESULT STDMETHODCALLTYPE GetItem( 6615 int iItem, 6616 REFIID riid, 6617 void **ppv) = 0; 6618 6619 virtual HRESULT STDMETHODCALLTYPE GetVisibleItem( 6620 int iStart, 6621 WINBOOL fPrevious, 6622 int *piItem) = 0; 6623 6624 virtual HRESULT STDMETHODCALLTYPE GetSelectedItem( 6625 int iStart, 6626 int *piItem) = 0; 6627 6628 virtual HRESULT STDMETHODCALLTYPE GetSelection( 6629 WINBOOL fNoneImpliesFolder, 6630 IShellItemArray **ppsia) = 0; 6631 6632 virtual HRESULT STDMETHODCALLTYPE GetSelectionState( 6633 PCUITEMID_CHILD pidl, 6634 DWORD *pdwFlags) = 0; 6635 6636 virtual HRESULT STDMETHODCALLTYPE InvokeVerbOnSelection( 6637 LPCSTR pszVerb) = 0; 6638 6639 virtual HRESULT STDMETHODCALLTYPE SetViewModeAndIconSize( 6640 FOLDERVIEWMODE uViewMode, 6641 int iImageSize) = 0; 6642 6643 virtual HRESULT STDMETHODCALLTYPE GetViewModeAndIconSize( 6644 FOLDERVIEWMODE *puViewMode, 6645 int *piImageSize) = 0; 6646 6647 virtual HRESULT STDMETHODCALLTYPE SetGroupSubsetCount( 6648 UINT cVisibleRows) = 0; 6649 6650 virtual HRESULT STDMETHODCALLTYPE GetGroupSubsetCount( 6651 UINT *pcVisibleRows) = 0; 6652 6653 virtual HRESULT STDMETHODCALLTYPE SetRedraw( 6654 WINBOOL fRedrawOn) = 0; 6655 6656 virtual HRESULT STDMETHODCALLTYPE IsMoveInSameFolder( 6657 ) = 0; 6658 6659 virtual HRESULT STDMETHODCALLTYPE DoRename( 6660 ) = 0; 6661 6662 }; 6663 #ifdef __CRT_UUID_DECL 6664 __CRT_UUID_DECL(IFolderView2, 0x1af3a467, 0x214f, 0x4298, 0x90,0x8e, 0x06,0xb0,0x3e,0x0b,0x39,0xf9) 6665 #endif 6666 #else 6667 typedef struct IFolderView2Vtbl { 6668 BEGIN_INTERFACE 6669 6670 /*** IUnknown methods ***/ 6671 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6672 IFolderView2* This, 6673 REFIID riid, 6674 void **ppvObject); 6675 6676 ULONG (STDMETHODCALLTYPE *AddRef)( 6677 IFolderView2* This); 6678 6679 ULONG (STDMETHODCALLTYPE *Release)( 6680 IFolderView2* This); 6681 6682 /*** IFolderView methods ***/ 6683 HRESULT (STDMETHODCALLTYPE *GetCurrentViewMode)( 6684 IFolderView2* This, 6685 UINT *pViewMode); 6686 6687 HRESULT (STDMETHODCALLTYPE *SetCurrentViewMode)( 6688 IFolderView2* This, 6689 UINT ViewMode); 6690 6691 HRESULT (STDMETHODCALLTYPE *GetFolder)( 6692 IFolderView2* This, 6693 REFIID riid, 6694 void **ppv); 6695 6696 HRESULT (STDMETHODCALLTYPE *Item)( 6697 IFolderView2* This, 6698 int iItemIndex, 6699 PITEMID_CHILD *ppidl); 6700 6701 HRESULT (STDMETHODCALLTYPE *ItemCount)( 6702 IFolderView2* This, 6703 UINT uFlags, 6704 int *pcItems); 6705 6706 HRESULT (STDMETHODCALLTYPE *Items)( 6707 IFolderView2* This, 6708 UINT uFlags, 6709 REFIID riid, 6710 void **ppv); 6711 6712 HRESULT (STDMETHODCALLTYPE *GetSelectionMarkedItem)( 6713 IFolderView2* This, 6714 int *piItem); 6715 6716 HRESULT (STDMETHODCALLTYPE *GetFocusedItem)( 6717 IFolderView2* This, 6718 int *piItem); 6719 6720 HRESULT (STDMETHODCALLTYPE *GetItemPosition)( 6721 IFolderView2* This, 6722 PCUITEMID_CHILD pidl, 6723 POINT *ppt); 6724 6725 HRESULT (STDMETHODCALLTYPE *GetSpacing)( 6726 IFolderView2* This, 6727 POINT *ppt); 6728 6729 HRESULT (STDMETHODCALLTYPE *GetDefaultSpacing)( 6730 IFolderView2* This, 6731 POINT *ppt); 6732 6733 HRESULT (STDMETHODCALLTYPE *GetAutoArrange)( 6734 IFolderView2* This); 6735 6736 HRESULT (STDMETHODCALLTYPE *SelectItem)( 6737 IFolderView2* This, 6738 int iItem, 6739 DWORD dwFlags); 6740 6741 HRESULT (STDMETHODCALLTYPE *SelectAndPositionItems)( 6742 IFolderView2* This, 6743 UINT cidl, 6744 PCUITEMID_CHILD_ARRAY apidl, 6745 POINT *apt, 6746 DWORD dwFlags); 6747 6748 /*** IFolderView2 methods ***/ 6749 HRESULT (STDMETHODCALLTYPE *SetGroupBy)( 6750 IFolderView2* This, 6751 REFPROPERTYKEY key, 6752 WINBOOL fAscending); 6753 6754 HRESULT (STDMETHODCALLTYPE *GetGroupBy)( 6755 IFolderView2* This, 6756 PROPERTYKEY *pkey, 6757 WINBOOL *pfAscending); 6758 6759 HRESULT (STDMETHODCALLTYPE *SetViewProperty)( 6760 IFolderView2* This, 6761 PCUITEMID_CHILD pidl, 6762 REFPROPERTYKEY propkey, 6763 REFPROPVARIANT propvar); 6764 6765 HRESULT (STDMETHODCALLTYPE *GetViewProperty)( 6766 IFolderView2* This, 6767 PCUITEMID_CHILD pidl, 6768 REFPROPERTYKEY propkey, 6769 PROPVARIANT *ppropvar); 6770 6771 HRESULT (STDMETHODCALLTYPE *SetTileViewProperties)( 6772 IFolderView2* This, 6773 PCUITEMID_CHILD pidl, 6774 LPCWSTR pszPropList); 6775 6776 HRESULT (STDMETHODCALLTYPE *SetExtendedTileViewProperties)( 6777 IFolderView2* This, 6778 PCUITEMID_CHILD pidl, 6779 LPCWSTR pszPropList); 6780 6781 HRESULT (STDMETHODCALLTYPE *SetText)( 6782 IFolderView2* This, 6783 FVTEXTTYPE iType, 6784 LPCWSTR pwszText); 6785 6786 HRESULT (STDMETHODCALLTYPE *SetCurrentFolderFlags)( 6787 IFolderView2* This, 6788 DWORD dwMask, 6789 DWORD dwFlags); 6790 6791 HRESULT (STDMETHODCALLTYPE *GetCurrentFolderFlags)( 6792 IFolderView2* This, 6793 DWORD *pdwFlags); 6794 6795 HRESULT (STDMETHODCALLTYPE *GetSortColumnCount)( 6796 IFolderView2* This, 6797 int *pcColumns); 6798 6799 HRESULT (STDMETHODCALLTYPE *SetSortColumns)( 6800 IFolderView2* This, 6801 const SORTCOLUMN *rgSortColumns, 6802 int cColumns); 6803 6804 HRESULT (STDMETHODCALLTYPE *GetSortColumns)( 6805 IFolderView2* This, 6806 SORTCOLUMN *rgSortColumns, 6807 int cColumns); 6808 6809 HRESULT (STDMETHODCALLTYPE *GetItem)( 6810 IFolderView2* This, 6811 int iItem, 6812 REFIID riid, 6813 void **ppv); 6814 6815 HRESULT (STDMETHODCALLTYPE *GetVisibleItem)( 6816 IFolderView2* This, 6817 int iStart, 6818 WINBOOL fPrevious, 6819 int *piItem); 6820 6821 HRESULT (STDMETHODCALLTYPE *GetSelectedItem)( 6822 IFolderView2* This, 6823 int iStart, 6824 int *piItem); 6825 6826 HRESULT (STDMETHODCALLTYPE *GetSelection)( 6827 IFolderView2* This, 6828 WINBOOL fNoneImpliesFolder, 6829 IShellItemArray **ppsia); 6830 6831 HRESULT (STDMETHODCALLTYPE *GetSelectionState)( 6832 IFolderView2* This, 6833 PCUITEMID_CHILD pidl, 6834 DWORD *pdwFlags); 6835 6836 HRESULT (STDMETHODCALLTYPE *InvokeVerbOnSelection)( 6837 IFolderView2* This, 6838 LPCSTR pszVerb); 6839 6840 HRESULT (STDMETHODCALLTYPE *SetViewModeAndIconSize)( 6841 IFolderView2* This, 6842 FOLDERVIEWMODE uViewMode, 6843 int iImageSize); 6844 6845 HRESULT (STDMETHODCALLTYPE *GetViewModeAndIconSize)( 6846 IFolderView2* This, 6847 FOLDERVIEWMODE *puViewMode, 6848 int *piImageSize); 6849 6850 HRESULT (STDMETHODCALLTYPE *SetGroupSubsetCount)( 6851 IFolderView2* This, 6852 UINT cVisibleRows); 6853 6854 HRESULT (STDMETHODCALLTYPE *GetGroupSubsetCount)( 6855 IFolderView2* This, 6856 UINT *pcVisibleRows); 6857 6858 HRESULT (STDMETHODCALLTYPE *SetRedraw)( 6859 IFolderView2* This, 6860 WINBOOL fRedrawOn); 6861 6862 HRESULT (STDMETHODCALLTYPE *IsMoveInSameFolder)( 6863 IFolderView2* This); 6864 6865 HRESULT (STDMETHODCALLTYPE *DoRename)( 6866 IFolderView2* This); 6867 6868 END_INTERFACE 6869 } IFolderView2Vtbl; 6870 interface IFolderView2 { 6871 CONST_VTBL IFolderView2Vtbl* lpVtbl; 6872 }; 6873 6874 #ifdef COBJMACROS 6875 #ifndef WIDL_C_INLINE_WRAPPERS 6876 /*** IUnknown methods ***/ 6877 #define IFolderView2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6878 #define IFolderView2_AddRef(This) (This)->lpVtbl->AddRef(This) 6879 #define IFolderView2_Release(This) (This)->lpVtbl->Release(This) 6880 /*** IFolderView methods ***/ 6881 #define IFolderView2_GetCurrentViewMode(This,pViewMode) (This)->lpVtbl->GetCurrentViewMode(This,pViewMode) 6882 #define IFolderView2_SetCurrentViewMode(This,ViewMode) (This)->lpVtbl->SetCurrentViewMode(This,ViewMode) 6883 #define IFolderView2_GetFolder(This,riid,ppv) (This)->lpVtbl->GetFolder(This,riid,ppv) 6884 #define IFolderView2_Item(This,iItemIndex,ppidl) (This)->lpVtbl->Item(This,iItemIndex,ppidl) 6885 #define IFolderView2_ItemCount(This,uFlags,pcItems) (This)->lpVtbl->ItemCount(This,uFlags,pcItems) 6886 #define IFolderView2_Items(This,uFlags,riid,ppv) (This)->lpVtbl->Items(This,uFlags,riid,ppv) 6887 #define IFolderView2_GetSelectionMarkedItem(This,piItem) (This)->lpVtbl->GetSelectionMarkedItem(This,piItem) 6888 #define IFolderView2_GetFocusedItem(This,piItem) (This)->lpVtbl->GetFocusedItem(This,piItem) 6889 #define IFolderView2_GetItemPosition(This,pidl,ppt) (This)->lpVtbl->GetItemPosition(This,pidl,ppt) 6890 #define IFolderView2_GetSpacing(This,ppt) (This)->lpVtbl->GetSpacing(This,ppt) 6891 #define IFolderView2_GetDefaultSpacing(This,ppt) (This)->lpVtbl->GetDefaultSpacing(This,ppt) 6892 #define IFolderView2_GetAutoArrange(This) (This)->lpVtbl->GetAutoArrange(This) 6893 #define IFolderView2_SelectItem(This,iItem,dwFlags) (This)->lpVtbl->SelectItem(This,iItem,dwFlags) 6894 #define IFolderView2_SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) (This)->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) 6895 /*** IFolderView2 methods ***/ 6896 #define IFolderView2_SetGroupBy(This,key,fAscending) (This)->lpVtbl->SetGroupBy(This,key,fAscending) 6897 #define IFolderView2_GetGroupBy(This,pkey,pfAscending) (This)->lpVtbl->GetGroupBy(This,pkey,pfAscending) 6898 #define IFolderView2_SetViewProperty(This,pidl,propkey,propvar) (This)->lpVtbl->SetViewProperty(This,pidl,propkey,propvar) 6899 #define IFolderView2_GetViewProperty(This,pidl,propkey,ppropvar) (This)->lpVtbl->GetViewProperty(This,pidl,propkey,ppropvar) 6900 #define IFolderView2_SetTileViewProperties(This,pidl,pszPropList) (This)->lpVtbl->SetTileViewProperties(This,pidl,pszPropList) 6901 #define IFolderView2_SetExtendedTileViewProperties(This,pidl,pszPropList) (This)->lpVtbl->SetExtendedTileViewProperties(This,pidl,pszPropList) 6902 #define IFolderView2_SetText(This,iType,pwszText) (This)->lpVtbl->SetText(This,iType,pwszText) 6903 #define IFolderView2_SetCurrentFolderFlags(This,dwMask,dwFlags) (This)->lpVtbl->SetCurrentFolderFlags(This,dwMask,dwFlags) 6904 #define IFolderView2_GetCurrentFolderFlags(This,pdwFlags) (This)->lpVtbl->GetCurrentFolderFlags(This,pdwFlags) 6905 #define IFolderView2_GetSortColumnCount(This,pcColumns) (This)->lpVtbl->GetSortColumnCount(This,pcColumns) 6906 #define IFolderView2_SetSortColumns(This,rgSortColumns,cColumns) (This)->lpVtbl->SetSortColumns(This,rgSortColumns,cColumns) 6907 #define IFolderView2_GetSortColumns(This,rgSortColumns,cColumns) (This)->lpVtbl->GetSortColumns(This,rgSortColumns,cColumns) 6908 #define IFolderView2_GetItem(This,iItem,riid,ppv) (This)->lpVtbl->GetItem(This,iItem,riid,ppv) 6909 #define IFolderView2_GetVisibleItem(This,iStart,fPrevious,piItem) (This)->lpVtbl->GetVisibleItem(This,iStart,fPrevious,piItem) 6910 #define IFolderView2_GetSelectedItem(This,iStart,piItem) (This)->lpVtbl->GetSelectedItem(This,iStart,piItem) 6911 #define IFolderView2_GetSelection(This,fNoneImpliesFolder,ppsia) (This)->lpVtbl->GetSelection(This,fNoneImpliesFolder,ppsia) 6912 #define IFolderView2_GetSelectionState(This,pidl,pdwFlags) (This)->lpVtbl->GetSelectionState(This,pidl,pdwFlags) 6913 #define IFolderView2_InvokeVerbOnSelection(This,pszVerb) (This)->lpVtbl->InvokeVerbOnSelection(This,pszVerb) 6914 #define IFolderView2_SetViewModeAndIconSize(This,uViewMode,iImageSize) (This)->lpVtbl->SetViewModeAndIconSize(This,uViewMode,iImageSize) 6915 #define IFolderView2_GetViewModeAndIconSize(This,puViewMode,piImageSize) (This)->lpVtbl->GetViewModeAndIconSize(This,puViewMode,piImageSize) 6916 #define IFolderView2_SetGroupSubsetCount(This,cVisibleRows) (This)->lpVtbl->SetGroupSubsetCount(This,cVisibleRows) 6917 #define IFolderView2_GetGroupSubsetCount(This,pcVisibleRows) (This)->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows) 6918 #define IFolderView2_SetRedraw(This,fRedrawOn) (This)->lpVtbl->SetRedraw(This,fRedrawOn) 6919 #define IFolderView2_IsMoveInSameFolder(This) (This)->lpVtbl->IsMoveInSameFolder(This) 6920 #define IFolderView2_DoRename(This) (This)->lpVtbl->DoRename(This) 6921 #else 6922 /*** IUnknown methods ***/ 6923 static FORCEINLINE HRESULT IFolderView2_QueryInterface(IFolderView2* This,REFIID riid,void **ppvObject) { 6924 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6925 } 6926 static FORCEINLINE ULONG IFolderView2_AddRef(IFolderView2* This) { 6927 return This->lpVtbl->AddRef(This); 6928 } 6929 static FORCEINLINE ULONG IFolderView2_Release(IFolderView2* This) { 6930 return This->lpVtbl->Release(This); 6931 } 6932 /*** IFolderView methods ***/ 6933 static FORCEINLINE HRESULT IFolderView2_GetCurrentViewMode(IFolderView2* This,UINT *pViewMode) { 6934 return This->lpVtbl->GetCurrentViewMode(This,pViewMode); 6935 } 6936 static FORCEINLINE HRESULT IFolderView2_SetCurrentViewMode(IFolderView2* This,UINT ViewMode) { 6937 return This->lpVtbl->SetCurrentViewMode(This,ViewMode); 6938 } 6939 static FORCEINLINE HRESULT IFolderView2_GetFolder(IFolderView2* This,REFIID riid,void **ppv) { 6940 return This->lpVtbl->GetFolder(This,riid,ppv); 6941 } 6942 static FORCEINLINE HRESULT IFolderView2_Item(IFolderView2* This,int iItemIndex,PITEMID_CHILD *ppidl) { 6943 return This->lpVtbl->Item(This,iItemIndex,ppidl); 6944 } 6945 static FORCEINLINE HRESULT IFolderView2_ItemCount(IFolderView2* This,UINT uFlags,int *pcItems) { 6946 return This->lpVtbl->ItemCount(This,uFlags,pcItems); 6947 } 6948 static FORCEINLINE HRESULT IFolderView2_Items(IFolderView2* This,UINT uFlags,REFIID riid,void **ppv) { 6949 return This->lpVtbl->Items(This,uFlags,riid,ppv); 6950 } 6951 static FORCEINLINE HRESULT IFolderView2_GetSelectionMarkedItem(IFolderView2* This,int *piItem) { 6952 return This->lpVtbl->GetSelectionMarkedItem(This,piItem); 6953 } 6954 static FORCEINLINE HRESULT IFolderView2_GetFocusedItem(IFolderView2* This,int *piItem) { 6955 return This->lpVtbl->GetFocusedItem(This,piItem); 6956 } 6957 static FORCEINLINE HRESULT IFolderView2_GetItemPosition(IFolderView2* This,PCUITEMID_CHILD pidl,POINT *ppt) { 6958 return This->lpVtbl->GetItemPosition(This,pidl,ppt); 6959 } 6960 static FORCEINLINE HRESULT IFolderView2_GetSpacing(IFolderView2* This,POINT *ppt) { 6961 return This->lpVtbl->GetSpacing(This,ppt); 6962 } 6963 static FORCEINLINE HRESULT IFolderView2_GetDefaultSpacing(IFolderView2* This,POINT *ppt) { 6964 return This->lpVtbl->GetDefaultSpacing(This,ppt); 6965 } 6966 static FORCEINLINE HRESULT IFolderView2_GetAutoArrange(IFolderView2* This) { 6967 return This->lpVtbl->GetAutoArrange(This); 6968 } 6969 static FORCEINLINE HRESULT IFolderView2_SelectItem(IFolderView2* This,int iItem,DWORD dwFlags) { 6970 return This->lpVtbl->SelectItem(This,iItem,dwFlags); 6971 } 6972 static FORCEINLINE HRESULT IFolderView2_SelectAndPositionItems(IFolderView2* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,POINT *apt,DWORD dwFlags) { 6973 return This->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags); 6974 } 6975 /*** IFolderView2 methods ***/ 6976 static FORCEINLINE HRESULT IFolderView2_SetGroupBy(IFolderView2* This,REFPROPERTYKEY key,WINBOOL fAscending) { 6977 return This->lpVtbl->SetGroupBy(This,key,fAscending); 6978 } 6979 static FORCEINLINE HRESULT IFolderView2_GetGroupBy(IFolderView2* This,PROPERTYKEY *pkey,WINBOOL *pfAscending) { 6980 return This->lpVtbl->GetGroupBy(This,pkey,pfAscending); 6981 } 6982 static FORCEINLINE HRESULT IFolderView2_SetViewProperty(IFolderView2* This,PCUITEMID_CHILD pidl,REFPROPERTYKEY propkey,REFPROPVARIANT propvar) { 6983 return This->lpVtbl->SetViewProperty(This,pidl,propkey,propvar); 6984 } 6985 static FORCEINLINE HRESULT IFolderView2_GetViewProperty(IFolderView2* This,PCUITEMID_CHILD pidl,REFPROPERTYKEY propkey,PROPVARIANT *ppropvar) { 6986 return This->lpVtbl->GetViewProperty(This,pidl,propkey,ppropvar); 6987 } 6988 static FORCEINLINE HRESULT IFolderView2_SetTileViewProperties(IFolderView2* This,PCUITEMID_CHILD pidl,LPCWSTR pszPropList) { 6989 return This->lpVtbl->SetTileViewProperties(This,pidl,pszPropList); 6990 } 6991 static FORCEINLINE HRESULT IFolderView2_SetExtendedTileViewProperties(IFolderView2* This,PCUITEMID_CHILD pidl,LPCWSTR pszPropList) { 6992 return This->lpVtbl->SetExtendedTileViewProperties(This,pidl,pszPropList); 6993 } 6994 static FORCEINLINE HRESULT IFolderView2_SetText(IFolderView2* This,FVTEXTTYPE iType,LPCWSTR pwszText) { 6995 return This->lpVtbl->SetText(This,iType,pwszText); 6996 } 6997 static FORCEINLINE HRESULT IFolderView2_SetCurrentFolderFlags(IFolderView2* This,DWORD dwMask,DWORD dwFlags) { 6998 return This->lpVtbl->SetCurrentFolderFlags(This,dwMask,dwFlags); 6999 } 7000 static FORCEINLINE HRESULT IFolderView2_GetCurrentFolderFlags(IFolderView2* This,DWORD *pdwFlags) { 7001 return This->lpVtbl->GetCurrentFolderFlags(This,pdwFlags); 7002 } 7003 static FORCEINLINE HRESULT IFolderView2_GetSortColumnCount(IFolderView2* This,int *pcColumns) { 7004 return This->lpVtbl->GetSortColumnCount(This,pcColumns); 7005 } 7006 static FORCEINLINE HRESULT IFolderView2_SetSortColumns(IFolderView2* This,const SORTCOLUMN *rgSortColumns,int cColumns) { 7007 return This->lpVtbl->SetSortColumns(This,rgSortColumns,cColumns); 7008 } 7009 static FORCEINLINE HRESULT IFolderView2_GetSortColumns(IFolderView2* This,SORTCOLUMN *rgSortColumns,int cColumns) { 7010 return This->lpVtbl->GetSortColumns(This,rgSortColumns,cColumns); 7011 } 7012 static FORCEINLINE HRESULT IFolderView2_GetItem(IFolderView2* This,int iItem,REFIID riid,void **ppv) { 7013 return This->lpVtbl->GetItem(This,iItem,riid,ppv); 7014 } 7015 static FORCEINLINE HRESULT IFolderView2_GetVisibleItem(IFolderView2* This,int iStart,WINBOOL fPrevious,int *piItem) { 7016 return This->lpVtbl->GetVisibleItem(This,iStart,fPrevious,piItem); 7017 } 7018 static FORCEINLINE HRESULT IFolderView2_GetSelectedItem(IFolderView2* This,int iStart,int *piItem) { 7019 return This->lpVtbl->GetSelectedItem(This,iStart,piItem); 7020 } 7021 static FORCEINLINE HRESULT IFolderView2_GetSelection(IFolderView2* This,WINBOOL fNoneImpliesFolder,IShellItemArray **ppsia) { 7022 return This->lpVtbl->GetSelection(This,fNoneImpliesFolder,ppsia); 7023 } 7024 static FORCEINLINE HRESULT IFolderView2_GetSelectionState(IFolderView2* This,PCUITEMID_CHILD pidl,DWORD *pdwFlags) { 7025 return This->lpVtbl->GetSelectionState(This,pidl,pdwFlags); 7026 } 7027 static FORCEINLINE HRESULT IFolderView2_InvokeVerbOnSelection(IFolderView2* This,LPCSTR pszVerb) { 7028 return This->lpVtbl->InvokeVerbOnSelection(This,pszVerb); 7029 } 7030 static FORCEINLINE HRESULT IFolderView2_SetViewModeAndIconSize(IFolderView2* This,FOLDERVIEWMODE uViewMode,int iImageSize) { 7031 return This->lpVtbl->SetViewModeAndIconSize(This,uViewMode,iImageSize); 7032 } 7033 static FORCEINLINE HRESULT IFolderView2_GetViewModeAndIconSize(IFolderView2* This,FOLDERVIEWMODE *puViewMode,int *piImageSize) { 7034 return This->lpVtbl->GetViewModeAndIconSize(This,puViewMode,piImageSize); 7035 } 7036 static FORCEINLINE HRESULT IFolderView2_SetGroupSubsetCount(IFolderView2* This,UINT cVisibleRows) { 7037 return This->lpVtbl->SetGroupSubsetCount(This,cVisibleRows); 7038 } 7039 static FORCEINLINE HRESULT IFolderView2_GetGroupSubsetCount(IFolderView2* This,UINT *pcVisibleRows) { 7040 return This->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows); 7041 } 7042 static FORCEINLINE HRESULT IFolderView2_SetRedraw(IFolderView2* This,WINBOOL fRedrawOn) { 7043 return This->lpVtbl->SetRedraw(This,fRedrawOn); 7044 } 7045 static FORCEINLINE HRESULT IFolderView2_IsMoveInSameFolder(IFolderView2* This) { 7046 return This->lpVtbl->IsMoveInSameFolder(This); 7047 } 7048 static FORCEINLINE HRESULT IFolderView2_DoRename(IFolderView2* This) { 7049 return This->lpVtbl->DoRename(This); 7050 } 7051 #endif 7052 #endif 7053 7054 #endif 7055 7056 HRESULT STDMETHODCALLTYPE IFolderView2_SetGroupBy_Proxy( 7057 IFolderView2* This, 7058 REFPROPERTYKEY key, 7059 WINBOOL fAscending); 7060 void __RPC_STUB IFolderView2_SetGroupBy_Stub( 7061 IRpcStubBuffer* This, 7062 IRpcChannelBuffer* pRpcChannelBuffer, 7063 PRPC_MESSAGE pRpcMessage, 7064 DWORD* pdwStubPhase); 7065 HRESULT STDMETHODCALLTYPE IFolderView2_RemoteGetGroupBy_Proxy( 7066 IFolderView2* This, 7067 PROPERTYKEY *pkey, 7068 WINBOOL *pfAscending); 7069 void __RPC_STUB IFolderView2_RemoteGetGroupBy_Stub( 7070 IRpcStubBuffer* This, 7071 IRpcChannelBuffer* pRpcChannelBuffer, 7072 PRPC_MESSAGE pRpcMessage, 7073 DWORD* pdwStubPhase); 7074 HRESULT STDMETHODCALLTYPE IFolderView2_SetViewProperty_Proxy( 7075 IFolderView2* This, 7076 PCUITEMID_CHILD pidl, 7077 REFPROPERTYKEY propkey, 7078 REFPROPVARIANT propvar); 7079 void __RPC_STUB IFolderView2_SetViewProperty_Stub( 7080 IRpcStubBuffer* This, 7081 IRpcChannelBuffer* pRpcChannelBuffer, 7082 PRPC_MESSAGE pRpcMessage, 7083 DWORD* pdwStubPhase); 7084 HRESULT STDMETHODCALLTYPE IFolderView2_GetViewProperty_Proxy( 7085 IFolderView2* This, 7086 PCUITEMID_CHILD pidl, 7087 REFPROPERTYKEY propkey, 7088 PROPVARIANT *ppropvar); 7089 void __RPC_STUB IFolderView2_GetViewProperty_Stub( 7090 IRpcStubBuffer* This, 7091 IRpcChannelBuffer* pRpcChannelBuffer, 7092 PRPC_MESSAGE pRpcMessage, 7093 DWORD* pdwStubPhase); 7094 HRESULT STDMETHODCALLTYPE IFolderView2_SetTileViewProperties_Proxy( 7095 IFolderView2* This, 7096 PCUITEMID_CHILD pidl, 7097 LPCWSTR pszPropList); 7098 void __RPC_STUB IFolderView2_SetTileViewProperties_Stub( 7099 IRpcStubBuffer* This, 7100 IRpcChannelBuffer* pRpcChannelBuffer, 7101 PRPC_MESSAGE pRpcMessage, 7102 DWORD* pdwStubPhase); 7103 HRESULT STDMETHODCALLTYPE IFolderView2_SetExtendedTileViewProperties_Proxy( 7104 IFolderView2* This, 7105 PCUITEMID_CHILD pidl, 7106 LPCWSTR pszPropList); 7107 void __RPC_STUB IFolderView2_SetExtendedTileViewProperties_Stub( 7108 IRpcStubBuffer* This, 7109 IRpcChannelBuffer* pRpcChannelBuffer, 7110 PRPC_MESSAGE pRpcMessage, 7111 DWORD* pdwStubPhase); 7112 HRESULT STDMETHODCALLTYPE IFolderView2_SetText_Proxy( 7113 IFolderView2* This, 7114 FVTEXTTYPE iType, 7115 LPCWSTR pwszText); 7116 void __RPC_STUB IFolderView2_SetText_Stub( 7117 IRpcStubBuffer* This, 7118 IRpcChannelBuffer* pRpcChannelBuffer, 7119 PRPC_MESSAGE pRpcMessage, 7120 DWORD* pdwStubPhase); 7121 HRESULT STDMETHODCALLTYPE IFolderView2_SetCurrentFolderFlags_Proxy( 7122 IFolderView2* This, 7123 DWORD dwMask, 7124 DWORD dwFlags); 7125 void __RPC_STUB IFolderView2_SetCurrentFolderFlags_Stub( 7126 IRpcStubBuffer* This, 7127 IRpcChannelBuffer* pRpcChannelBuffer, 7128 PRPC_MESSAGE pRpcMessage, 7129 DWORD* pdwStubPhase); 7130 HRESULT STDMETHODCALLTYPE IFolderView2_GetCurrentFolderFlags_Proxy( 7131 IFolderView2* This, 7132 DWORD *pdwFlags); 7133 void __RPC_STUB IFolderView2_GetCurrentFolderFlags_Stub( 7134 IRpcStubBuffer* This, 7135 IRpcChannelBuffer* pRpcChannelBuffer, 7136 PRPC_MESSAGE pRpcMessage, 7137 DWORD* pdwStubPhase); 7138 HRESULT STDMETHODCALLTYPE IFolderView2_GetSortColumnCount_Proxy( 7139 IFolderView2* This, 7140 int *pcColumns); 7141 void __RPC_STUB IFolderView2_GetSortColumnCount_Stub( 7142 IRpcStubBuffer* This, 7143 IRpcChannelBuffer* pRpcChannelBuffer, 7144 PRPC_MESSAGE pRpcMessage, 7145 DWORD* pdwStubPhase); 7146 HRESULT STDMETHODCALLTYPE IFolderView2_SetSortColumns_Proxy( 7147 IFolderView2* This, 7148 const SORTCOLUMN *rgSortColumns, 7149 int cColumns); 7150 void __RPC_STUB IFolderView2_SetSortColumns_Stub( 7151 IRpcStubBuffer* This, 7152 IRpcChannelBuffer* pRpcChannelBuffer, 7153 PRPC_MESSAGE pRpcMessage, 7154 DWORD* pdwStubPhase); 7155 HRESULT STDMETHODCALLTYPE IFolderView2_GetSortColumns_Proxy( 7156 IFolderView2* This, 7157 SORTCOLUMN *rgSortColumns, 7158 int cColumns); 7159 void __RPC_STUB IFolderView2_GetSortColumns_Stub( 7160 IRpcStubBuffer* This, 7161 IRpcChannelBuffer* pRpcChannelBuffer, 7162 PRPC_MESSAGE pRpcMessage, 7163 DWORD* pdwStubPhase); 7164 HRESULT STDMETHODCALLTYPE IFolderView2_GetItem_Proxy( 7165 IFolderView2* This, 7166 int iItem, 7167 REFIID riid, 7168 void **ppv); 7169 void __RPC_STUB IFolderView2_GetItem_Stub( 7170 IRpcStubBuffer* This, 7171 IRpcChannelBuffer* pRpcChannelBuffer, 7172 PRPC_MESSAGE pRpcMessage, 7173 DWORD* pdwStubPhase); 7174 HRESULT STDMETHODCALLTYPE IFolderView2_GetVisibleItem_Proxy( 7175 IFolderView2* This, 7176 int iStart, 7177 WINBOOL fPrevious, 7178 int *piItem); 7179 void __RPC_STUB IFolderView2_GetVisibleItem_Stub( 7180 IRpcStubBuffer* This, 7181 IRpcChannelBuffer* pRpcChannelBuffer, 7182 PRPC_MESSAGE pRpcMessage, 7183 DWORD* pdwStubPhase); 7184 HRESULT STDMETHODCALLTYPE IFolderView2_GetSelectedItem_Proxy( 7185 IFolderView2* This, 7186 int iStart, 7187 int *piItem); 7188 void __RPC_STUB IFolderView2_GetSelectedItem_Stub( 7189 IRpcStubBuffer* This, 7190 IRpcChannelBuffer* pRpcChannelBuffer, 7191 PRPC_MESSAGE pRpcMessage, 7192 DWORD* pdwStubPhase); 7193 HRESULT STDMETHODCALLTYPE IFolderView2_GetSelection_Proxy( 7194 IFolderView2* This, 7195 WINBOOL fNoneImpliesFolder, 7196 IShellItemArray **ppsia); 7197 void __RPC_STUB IFolderView2_GetSelection_Stub( 7198 IRpcStubBuffer* This, 7199 IRpcChannelBuffer* pRpcChannelBuffer, 7200 PRPC_MESSAGE pRpcMessage, 7201 DWORD* pdwStubPhase); 7202 HRESULT STDMETHODCALLTYPE IFolderView2_GetSelectionState_Proxy( 7203 IFolderView2* This, 7204 PCUITEMID_CHILD pidl, 7205 DWORD *pdwFlags); 7206 void __RPC_STUB IFolderView2_GetSelectionState_Stub( 7207 IRpcStubBuffer* This, 7208 IRpcChannelBuffer* pRpcChannelBuffer, 7209 PRPC_MESSAGE pRpcMessage, 7210 DWORD* pdwStubPhase); 7211 HRESULT STDMETHODCALLTYPE IFolderView2_InvokeVerbOnSelection_Proxy( 7212 IFolderView2* This, 7213 LPCSTR pszVerb); 7214 void __RPC_STUB IFolderView2_InvokeVerbOnSelection_Stub( 7215 IRpcStubBuffer* This, 7216 IRpcChannelBuffer* pRpcChannelBuffer, 7217 PRPC_MESSAGE pRpcMessage, 7218 DWORD* pdwStubPhase); 7219 HRESULT STDMETHODCALLTYPE IFolderView2_SetViewModeAndIconSize_Proxy( 7220 IFolderView2* This, 7221 FOLDERVIEWMODE uViewMode, 7222 int iImageSize); 7223 void __RPC_STUB IFolderView2_SetViewModeAndIconSize_Stub( 7224 IRpcStubBuffer* This, 7225 IRpcChannelBuffer* pRpcChannelBuffer, 7226 PRPC_MESSAGE pRpcMessage, 7227 DWORD* pdwStubPhase); 7228 HRESULT STDMETHODCALLTYPE IFolderView2_GetViewModeAndIconSize_Proxy( 7229 IFolderView2* This, 7230 FOLDERVIEWMODE *puViewMode, 7231 int *piImageSize); 7232 void __RPC_STUB IFolderView2_GetViewModeAndIconSize_Stub( 7233 IRpcStubBuffer* This, 7234 IRpcChannelBuffer* pRpcChannelBuffer, 7235 PRPC_MESSAGE pRpcMessage, 7236 DWORD* pdwStubPhase); 7237 HRESULT STDMETHODCALLTYPE IFolderView2_SetGroupSubsetCount_Proxy( 7238 IFolderView2* This, 7239 UINT cVisibleRows); 7240 void __RPC_STUB IFolderView2_SetGroupSubsetCount_Stub( 7241 IRpcStubBuffer* This, 7242 IRpcChannelBuffer* pRpcChannelBuffer, 7243 PRPC_MESSAGE pRpcMessage, 7244 DWORD* pdwStubPhase); 7245 HRESULT STDMETHODCALLTYPE IFolderView2_GetGroupSubsetCount_Proxy( 7246 IFolderView2* This, 7247 UINT *pcVisibleRows); 7248 void __RPC_STUB IFolderView2_GetGroupSubsetCount_Stub( 7249 IRpcStubBuffer* This, 7250 IRpcChannelBuffer* pRpcChannelBuffer, 7251 PRPC_MESSAGE pRpcMessage, 7252 DWORD* pdwStubPhase); 7253 HRESULT STDMETHODCALLTYPE IFolderView2_SetRedraw_Proxy( 7254 IFolderView2* This, 7255 WINBOOL fRedrawOn); 7256 void __RPC_STUB IFolderView2_SetRedraw_Stub( 7257 IRpcStubBuffer* This, 7258 IRpcChannelBuffer* pRpcChannelBuffer, 7259 PRPC_MESSAGE pRpcMessage, 7260 DWORD* pdwStubPhase); 7261 HRESULT STDMETHODCALLTYPE IFolderView2_IsMoveInSameFolder_Proxy( 7262 IFolderView2* This); 7263 void __RPC_STUB IFolderView2_IsMoveInSameFolder_Stub( 7264 IRpcStubBuffer* This, 7265 IRpcChannelBuffer* pRpcChannelBuffer, 7266 PRPC_MESSAGE pRpcMessage, 7267 DWORD* pdwStubPhase); 7268 HRESULT STDMETHODCALLTYPE IFolderView2_DoRename_Proxy( 7269 IFolderView2* This); 7270 void __RPC_STUB IFolderView2_DoRename_Stub( 7271 IRpcStubBuffer* This, 7272 IRpcChannelBuffer* pRpcChannelBuffer, 7273 PRPC_MESSAGE pRpcMessage, 7274 DWORD* pdwStubPhase); 7275 HRESULT CALLBACK IFolderView2_GetGroupBy_Proxy( 7276 IFolderView2* This, 7277 PROPERTYKEY *pkey, 7278 WINBOOL *pfAscending); 7279 HRESULT __RPC_STUB IFolderView2_GetGroupBy_Stub( 7280 IFolderView2* This, 7281 PROPERTYKEY *pkey, 7282 WINBOOL *pfAscending); 7283 7284 #endif /* __IFolderView2_INTERFACE_DEFINED__ */ 7285 7286 7287 #if NTDDI_VERSION >= NTDDI_VISTA 7288 /***************************************************************************** 7289 * IFolderViewSettings interface 7290 */ 7291 #ifndef __IFolderViewSettings_INTERFACE_DEFINED__ 7292 #define __IFolderViewSettings_INTERFACE_DEFINED__ 7293 7294 DEFINE_GUID(IID_IFolderViewSettings, 0xae8c987d, 0x8797, 0x4ed3, 0xbe,0x72, 0x2a,0x47,0xdd,0x93,0x8d,0xb0); 7295 #if defined(__cplusplus) && !defined(CINTERFACE) 7296 MIDL_INTERFACE("ae8c987d-8797-4ed3-be72-2a47dd938db0") 7297 IFolderViewSettings : public IUnknown 7298 { 7299 virtual HRESULT STDMETHODCALLTYPE GetColumnPropertyList( 7300 REFIID riid, 7301 void **ppv) = 0; 7302 7303 virtual HRESULT STDMETHODCALLTYPE GetGroupByProperty( 7304 PROPERTYKEY *pkey, 7305 WINBOOL *pfGroupAscending) = 0; 7306 7307 virtual HRESULT STDMETHODCALLTYPE GetViewMode( 7308 FOLDERLOGICALVIEWMODE *plvm) = 0; 7309 7310 virtual HRESULT STDMETHODCALLTYPE GetIconSize( 7311 UINT *puIconSize) = 0; 7312 7313 virtual HRESULT STDMETHODCALLTYPE GetFolderFlags( 7314 FOLDERFLAGS *pfolderMask, 7315 FOLDERFLAGS *pfolderFlags) = 0; 7316 7317 virtual HRESULT STDMETHODCALLTYPE GetSortColumns( 7318 SORTCOLUMN *rgSortColumns, 7319 UINT cColumnsIn, 7320 UINT *pcColumnsOut) = 0; 7321 7322 virtual HRESULT STDMETHODCALLTYPE GetGroupSubsetCount( 7323 UINT *pcVisibleRows) = 0; 7324 7325 }; 7326 #ifdef __CRT_UUID_DECL 7327 __CRT_UUID_DECL(IFolderViewSettings, 0xae8c987d, 0x8797, 0x4ed3, 0xbe,0x72, 0x2a,0x47,0xdd,0x93,0x8d,0xb0) 7328 #endif 7329 #else 7330 typedef struct IFolderViewSettingsVtbl { 7331 BEGIN_INTERFACE 7332 7333 /*** IUnknown methods ***/ 7334 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7335 IFolderViewSettings* This, 7336 REFIID riid, 7337 void **ppvObject); 7338 7339 ULONG (STDMETHODCALLTYPE *AddRef)( 7340 IFolderViewSettings* This); 7341 7342 ULONG (STDMETHODCALLTYPE *Release)( 7343 IFolderViewSettings* This); 7344 7345 /*** IFolderViewSettings methods ***/ 7346 HRESULT (STDMETHODCALLTYPE *GetColumnPropertyList)( 7347 IFolderViewSettings* This, 7348 REFIID riid, 7349 void **ppv); 7350 7351 HRESULT (STDMETHODCALLTYPE *GetGroupByProperty)( 7352 IFolderViewSettings* This, 7353 PROPERTYKEY *pkey, 7354 WINBOOL *pfGroupAscending); 7355 7356 HRESULT (STDMETHODCALLTYPE *GetViewMode)( 7357 IFolderViewSettings* This, 7358 FOLDERLOGICALVIEWMODE *plvm); 7359 7360 HRESULT (STDMETHODCALLTYPE *GetIconSize)( 7361 IFolderViewSettings* This, 7362 UINT *puIconSize); 7363 7364 HRESULT (STDMETHODCALLTYPE *GetFolderFlags)( 7365 IFolderViewSettings* This, 7366 FOLDERFLAGS *pfolderMask, 7367 FOLDERFLAGS *pfolderFlags); 7368 7369 HRESULT (STDMETHODCALLTYPE *GetSortColumns)( 7370 IFolderViewSettings* This, 7371 SORTCOLUMN *rgSortColumns, 7372 UINT cColumnsIn, 7373 UINT *pcColumnsOut); 7374 7375 HRESULT (STDMETHODCALLTYPE *GetGroupSubsetCount)( 7376 IFolderViewSettings* This, 7377 UINT *pcVisibleRows); 7378 7379 END_INTERFACE 7380 } IFolderViewSettingsVtbl; 7381 interface IFolderViewSettings { 7382 CONST_VTBL IFolderViewSettingsVtbl* lpVtbl; 7383 }; 7384 7385 #ifdef COBJMACROS 7386 #ifndef WIDL_C_INLINE_WRAPPERS 7387 /*** IUnknown methods ***/ 7388 #define IFolderViewSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7389 #define IFolderViewSettings_AddRef(This) (This)->lpVtbl->AddRef(This) 7390 #define IFolderViewSettings_Release(This) (This)->lpVtbl->Release(This) 7391 /*** IFolderViewSettings methods ***/ 7392 #define IFolderViewSettings_GetColumnPropertyList(This,riid,ppv) (This)->lpVtbl->GetColumnPropertyList(This,riid,ppv) 7393 #define IFolderViewSettings_GetGroupByProperty(This,pkey,pfGroupAscending) (This)->lpVtbl->GetGroupByProperty(This,pkey,pfGroupAscending) 7394 #define IFolderViewSettings_GetViewMode(This,plvm) (This)->lpVtbl->GetViewMode(This,plvm) 7395 #define IFolderViewSettings_GetIconSize(This,puIconSize) (This)->lpVtbl->GetIconSize(This,puIconSize) 7396 #define IFolderViewSettings_GetFolderFlags(This,pfolderMask,pfolderFlags) (This)->lpVtbl->GetFolderFlags(This,pfolderMask,pfolderFlags) 7397 #define IFolderViewSettings_GetSortColumns(This,rgSortColumns,cColumnsIn,pcColumnsOut) (This)->lpVtbl->GetSortColumns(This,rgSortColumns,cColumnsIn,pcColumnsOut) 7398 #define IFolderViewSettings_GetGroupSubsetCount(This,pcVisibleRows) (This)->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows) 7399 #else 7400 /*** IUnknown methods ***/ 7401 static FORCEINLINE HRESULT IFolderViewSettings_QueryInterface(IFolderViewSettings* This,REFIID riid,void **ppvObject) { 7402 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7403 } 7404 static FORCEINLINE ULONG IFolderViewSettings_AddRef(IFolderViewSettings* This) { 7405 return This->lpVtbl->AddRef(This); 7406 } 7407 static FORCEINLINE ULONG IFolderViewSettings_Release(IFolderViewSettings* This) { 7408 return This->lpVtbl->Release(This); 7409 } 7410 /*** IFolderViewSettings methods ***/ 7411 static FORCEINLINE HRESULT IFolderViewSettings_GetColumnPropertyList(IFolderViewSettings* This,REFIID riid,void **ppv) { 7412 return This->lpVtbl->GetColumnPropertyList(This,riid,ppv); 7413 } 7414 static FORCEINLINE HRESULT IFolderViewSettings_GetGroupByProperty(IFolderViewSettings* This,PROPERTYKEY *pkey,WINBOOL *pfGroupAscending) { 7415 return This->lpVtbl->GetGroupByProperty(This,pkey,pfGroupAscending); 7416 } 7417 static FORCEINLINE HRESULT IFolderViewSettings_GetViewMode(IFolderViewSettings* This,FOLDERLOGICALVIEWMODE *plvm) { 7418 return This->lpVtbl->GetViewMode(This,plvm); 7419 } 7420 static FORCEINLINE HRESULT IFolderViewSettings_GetIconSize(IFolderViewSettings* This,UINT *puIconSize) { 7421 return This->lpVtbl->GetIconSize(This,puIconSize); 7422 } 7423 static FORCEINLINE HRESULT IFolderViewSettings_GetFolderFlags(IFolderViewSettings* This,FOLDERFLAGS *pfolderMask,FOLDERFLAGS *pfolderFlags) { 7424 return This->lpVtbl->GetFolderFlags(This,pfolderMask,pfolderFlags); 7425 } 7426 static FORCEINLINE HRESULT IFolderViewSettings_GetSortColumns(IFolderViewSettings* This,SORTCOLUMN *rgSortColumns,UINT cColumnsIn,UINT *pcColumnsOut) { 7427 return This->lpVtbl->GetSortColumns(This,rgSortColumns,cColumnsIn,pcColumnsOut); 7428 } 7429 static FORCEINLINE HRESULT IFolderViewSettings_GetGroupSubsetCount(IFolderViewSettings* This,UINT *pcVisibleRows) { 7430 return This->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows); 7431 } 7432 #endif 7433 #endif 7434 7435 #endif 7436 7437 HRESULT STDMETHODCALLTYPE IFolderViewSettings_GetColumnPropertyList_Proxy( 7438 IFolderViewSettings* This, 7439 REFIID riid, 7440 void **ppv); 7441 void __RPC_STUB IFolderViewSettings_GetColumnPropertyList_Stub( 7442 IRpcStubBuffer* This, 7443 IRpcChannelBuffer* pRpcChannelBuffer, 7444 PRPC_MESSAGE pRpcMessage, 7445 DWORD* pdwStubPhase); 7446 HRESULT STDMETHODCALLTYPE IFolderViewSettings_GetGroupByProperty_Proxy( 7447 IFolderViewSettings* This, 7448 PROPERTYKEY *pkey, 7449 WINBOOL *pfGroupAscending); 7450 void __RPC_STUB IFolderViewSettings_GetGroupByProperty_Stub( 7451 IRpcStubBuffer* This, 7452 IRpcChannelBuffer* pRpcChannelBuffer, 7453 PRPC_MESSAGE pRpcMessage, 7454 DWORD* pdwStubPhase); 7455 HRESULT STDMETHODCALLTYPE IFolderViewSettings_GetViewMode_Proxy( 7456 IFolderViewSettings* This, 7457 FOLDERLOGICALVIEWMODE *plvm); 7458 void __RPC_STUB IFolderViewSettings_GetViewMode_Stub( 7459 IRpcStubBuffer* This, 7460 IRpcChannelBuffer* pRpcChannelBuffer, 7461 PRPC_MESSAGE pRpcMessage, 7462 DWORD* pdwStubPhase); 7463 HRESULT STDMETHODCALLTYPE IFolderViewSettings_GetIconSize_Proxy( 7464 IFolderViewSettings* This, 7465 UINT *puIconSize); 7466 void __RPC_STUB IFolderViewSettings_GetIconSize_Stub( 7467 IRpcStubBuffer* This, 7468 IRpcChannelBuffer* pRpcChannelBuffer, 7469 PRPC_MESSAGE pRpcMessage, 7470 DWORD* pdwStubPhase); 7471 HRESULT STDMETHODCALLTYPE IFolderViewSettings_GetFolderFlags_Proxy( 7472 IFolderViewSettings* This, 7473 FOLDERFLAGS *pfolderMask, 7474 FOLDERFLAGS *pfolderFlags); 7475 void __RPC_STUB IFolderViewSettings_GetFolderFlags_Stub( 7476 IRpcStubBuffer* This, 7477 IRpcChannelBuffer* pRpcChannelBuffer, 7478 PRPC_MESSAGE pRpcMessage, 7479 DWORD* pdwStubPhase); 7480 HRESULT STDMETHODCALLTYPE IFolderViewSettings_GetSortColumns_Proxy( 7481 IFolderViewSettings* This, 7482 SORTCOLUMN *rgSortColumns, 7483 UINT cColumnsIn, 7484 UINT *pcColumnsOut); 7485 void __RPC_STUB IFolderViewSettings_GetSortColumns_Stub( 7486 IRpcStubBuffer* This, 7487 IRpcChannelBuffer* pRpcChannelBuffer, 7488 PRPC_MESSAGE pRpcMessage, 7489 DWORD* pdwStubPhase); 7490 HRESULT STDMETHODCALLTYPE IFolderViewSettings_GetGroupSubsetCount_Proxy( 7491 IFolderViewSettings* This, 7492 UINT *pcVisibleRows); 7493 void __RPC_STUB IFolderViewSettings_GetGroupSubsetCount_Stub( 7494 IRpcStubBuffer* This, 7495 IRpcChannelBuffer* pRpcChannelBuffer, 7496 PRPC_MESSAGE pRpcMessage, 7497 DWORD* pdwStubPhase); 7498 7499 #endif /* __IFolderViewSettings_INTERFACE_DEFINED__ */ 7500 7501 #endif 7502 #endif 7503 7504 #if _WIN32_IE >= _WIN32_IE_IE70 7505 /***************************************************************************** 7506 * IPreviewHandlerVisuals interface 7507 */ 7508 #ifndef __IPreviewHandlerVisuals_INTERFACE_DEFINED__ 7509 #define __IPreviewHandlerVisuals_INTERFACE_DEFINED__ 7510 7511 DEFINE_GUID(IID_IPreviewHandlerVisuals, 0x196bf9a5, 0xb346, 0x4ef0, 0xaa,0x1e, 0x5d,0xcd,0xb7,0x67,0x68,0xb1); 7512 #if defined(__cplusplus) && !defined(CINTERFACE) 7513 MIDL_INTERFACE("196bf9a5-b346-4ef0-aa1e-5dcdb76768b1") 7514 IPreviewHandlerVisuals : public IUnknown 7515 { 7516 virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor( 7517 COLORREF color) = 0; 7518 7519 virtual HRESULT STDMETHODCALLTYPE SetFont( 7520 const LOGFONTW *plf) = 0; 7521 7522 virtual HRESULT STDMETHODCALLTYPE SetTextColor( 7523 COLORREF color) = 0; 7524 7525 }; 7526 #ifdef __CRT_UUID_DECL 7527 __CRT_UUID_DECL(IPreviewHandlerVisuals, 0x196bf9a5, 0xb346, 0x4ef0, 0xaa,0x1e, 0x5d,0xcd,0xb7,0x67,0x68,0xb1) 7528 #endif 7529 #else 7530 typedef struct IPreviewHandlerVisualsVtbl { 7531 BEGIN_INTERFACE 7532 7533 /*** IUnknown methods ***/ 7534 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7535 IPreviewHandlerVisuals* This, 7536 REFIID riid, 7537 void **ppvObject); 7538 7539 ULONG (STDMETHODCALLTYPE *AddRef)( 7540 IPreviewHandlerVisuals* This); 7541 7542 ULONG (STDMETHODCALLTYPE *Release)( 7543 IPreviewHandlerVisuals* This); 7544 7545 /*** IPreviewHandlerVisuals methods ***/ 7546 HRESULT (STDMETHODCALLTYPE *SetBackgroundColor)( 7547 IPreviewHandlerVisuals* This, 7548 COLORREF color); 7549 7550 HRESULT (STDMETHODCALLTYPE *SetFont)( 7551 IPreviewHandlerVisuals* This, 7552 const LOGFONTW *plf); 7553 7554 HRESULT (STDMETHODCALLTYPE *SetTextColor)( 7555 IPreviewHandlerVisuals* This, 7556 COLORREF color); 7557 7558 END_INTERFACE 7559 } IPreviewHandlerVisualsVtbl; 7560 interface IPreviewHandlerVisuals { 7561 CONST_VTBL IPreviewHandlerVisualsVtbl* lpVtbl; 7562 }; 7563 7564 #ifdef COBJMACROS 7565 #ifndef WIDL_C_INLINE_WRAPPERS 7566 /*** IUnknown methods ***/ 7567 #define IPreviewHandlerVisuals_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7568 #define IPreviewHandlerVisuals_AddRef(This) (This)->lpVtbl->AddRef(This) 7569 #define IPreviewHandlerVisuals_Release(This) (This)->lpVtbl->Release(This) 7570 /*** IPreviewHandlerVisuals methods ***/ 7571 #define IPreviewHandlerVisuals_SetBackgroundColor(This,color) (This)->lpVtbl->SetBackgroundColor(This,color) 7572 #define IPreviewHandlerVisuals_SetFont(This,plf) (This)->lpVtbl->SetFont(This,plf) 7573 #define IPreviewHandlerVisuals_SetTextColor(This,color) (This)->lpVtbl->SetTextColor(This,color) 7574 #else 7575 /*** IUnknown methods ***/ 7576 static FORCEINLINE HRESULT IPreviewHandlerVisuals_QueryInterface(IPreviewHandlerVisuals* This,REFIID riid,void **ppvObject) { 7577 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7578 } 7579 static FORCEINLINE ULONG IPreviewHandlerVisuals_AddRef(IPreviewHandlerVisuals* This) { 7580 return This->lpVtbl->AddRef(This); 7581 } 7582 static FORCEINLINE ULONG IPreviewHandlerVisuals_Release(IPreviewHandlerVisuals* This) { 7583 return This->lpVtbl->Release(This); 7584 } 7585 /*** IPreviewHandlerVisuals methods ***/ 7586 static FORCEINLINE HRESULT IPreviewHandlerVisuals_SetBackgroundColor(IPreviewHandlerVisuals* This,COLORREF color) { 7587 return This->lpVtbl->SetBackgroundColor(This,color); 7588 } 7589 static FORCEINLINE HRESULT IPreviewHandlerVisuals_SetFont(IPreviewHandlerVisuals* This,const LOGFONTW *plf) { 7590 return This->lpVtbl->SetFont(This,plf); 7591 } 7592 static FORCEINLINE HRESULT IPreviewHandlerVisuals_SetTextColor(IPreviewHandlerVisuals* This,COLORREF color) { 7593 return This->lpVtbl->SetTextColor(This,color); 7594 } 7595 #endif 7596 #endif 7597 7598 #endif 7599 7600 HRESULT STDMETHODCALLTYPE IPreviewHandlerVisuals_SetBackgroundColor_Proxy( 7601 IPreviewHandlerVisuals* This, 7602 COLORREF color); 7603 void __RPC_STUB IPreviewHandlerVisuals_SetBackgroundColor_Stub( 7604 IRpcStubBuffer* This, 7605 IRpcChannelBuffer* pRpcChannelBuffer, 7606 PRPC_MESSAGE pRpcMessage, 7607 DWORD* pdwStubPhase); 7608 HRESULT STDMETHODCALLTYPE IPreviewHandlerVisuals_SetFont_Proxy( 7609 IPreviewHandlerVisuals* This, 7610 const LOGFONTW *plf); 7611 void __RPC_STUB IPreviewHandlerVisuals_SetFont_Stub( 7612 IRpcStubBuffer* This, 7613 IRpcChannelBuffer* pRpcChannelBuffer, 7614 PRPC_MESSAGE pRpcMessage, 7615 DWORD* pdwStubPhase); 7616 HRESULT STDMETHODCALLTYPE IPreviewHandlerVisuals_SetTextColor_Proxy( 7617 IPreviewHandlerVisuals* This, 7618 COLORREF color); 7619 void __RPC_STUB IPreviewHandlerVisuals_SetTextColor_Stub( 7620 IRpcStubBuffer* This, 7621 IRpcChannelBuffer* pRpcChannelBuffer, 7622 PRPC_MESSAGE pRpcMessage, 7623 DWORD* pdwStubPhase); 7624 7625 #endif /* __IPreviewHandlerVisuals_INTERFACE_DEFINED__ */ 7626 7627 7628 /***************************************************************************** 7629 * IVisualProperties interface 7630 */ 7631 #ifndef __IVisualProperties_INTERFACE_DEFINED__ 7632 #define __IVisualProperties_INTERFACE_DEFINED__ 7633 7634 typedef enum VPWATERMARKFLAGS { 7635 VPWF_DEFAULT = 0x0, 7636 VPWF_ALPHABLEND = 0x1 7637 } VPWATERMARKFLAGS; 7638 7639 typedef enum VPCOLORFLAGS { 7640 VPCF_TEXT = 1, 7641 VPCF_BACKGROUND = 2, 7642 VPCF_SORTCOLUMN = 3, 7643 VPCF_SUBTEXT = 4, 7644 VPCF_TEXTBACKGROUND = 5 7645 } VPCOLORFLAGS; 7646 7647 DEFINE_ENUM_FLAG_OPERATORS(VPWATERMARKFLAGS) 7648 7649 DEFINE_GUID(IID_IVisualProperties, 0xe693cf68, 0xd967, 0x4112, 0x87,0x63, 0x99,0x17,0x2a,0xee,0x5e,0x5a); 7650 #if defined(__cplusplus) && !defined(CINTERFACE) 7651 MIDL_INTERFACE("e693cf68-d967-4112-8763-99172aee5e5a") 7652 IVisualProperties : public IUnknown 7653 { 7654 virtual HRESULT STDMETHODCALLTYPE SetWatermark( 7655 HBITMAP hbmp, 7656 VPWATERMARKFLAGS vpwf) = 0; 7657 7658 virtual HRESULT STDMETHODCALLTYPE SetColor( 7659 VPCOLORFLAGS vpcf, 7660 COLORREF cr) = 0; 7661 7662 virtual HRESULT STDMETHODCALLTYPE GetColor( 7663 VPCOLORFLAGS vpcf, 7664 COLORREF *pcr) = 0; 7665 7666 virtual HRESULT STDMETHODCALLTYPE SetItemHeight( 7667 int cyItemInPixels) = 0; 7668 7669 virtual HRESULT STDMETHODCALLTYPE GetItemHeight( 7670 int *cyItemInPixels) = 0; 7671 7672 virtual HRESULT STDMETHODCALLTYPE SetFont( 7673 const LOGFONTW *plf, 7674 WINBOOL bRedraw) = 0; 7675 7676 virtual HRESULT STDMETHODCALLTYPE GetFont( 7677 LOGFONTW *plf) = 0; 7678 7679 virtual HRESULT STDMETHODCALLTYPE SetTheme( 7680 LPCWSTR pszSubAppName, 7681 LPCWSTR pszSubIdList) = 0; 7682 7683 }; 7684 #ifdef __CRT_UUID_DECL 7685 __CRT_UUID_DECL(IVisualProperties, 0xe693cf68, 0xd967, 0x4112, 0x87,0x63, 0x99,0x17,0x2a,0xee,0x5e,0x5a) 7686 #endif 7687 #else 7688 typedef struct IVisualPropertiesVtbl { 7689 BEGIN_INTERFACE 7690 7691 /*** IUnknown methods ***/ 7692 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7693 IVisualProperties* This, 7694 REFIID riid, 7695 void **ppvObject); 7696 7697 ULONG (STDMETHODCALLTYPE *AddRef)( 7698 IVisualProperties* This); 7699 7700 ULONG (STDMETHODCALLTYPE *Release)( 7701 IVisualProperties* This); 7702 7703 /*** IVisualProperties methods ***/ 7704 HRESULT (STDMETHODCALLTYPE *SetWatermark)( 7705 IVisualProperties* This, 7706 HBITMAP hbmp, 7707 VPWATERMARKFLAGS vpwf); 7708 7709 HRESULT (STDMETHODCALLTYPE *SetColor)( 7710 IVisualProperties* This, 7711 VPCOLORFLAGS vpcf, 7712 COLORREF cr); 7713 7714 HRESULT (STDMETHODCALLTYPE *GetColor)( 7715 IVisualProperties* This, 7716 VPCOLORFLAGS vpcf, 7717 COLORREF *pcr); 7718 7719 HRESULT (STDMETHODCALLTYPE *SetItemHeight)( 7720 IVisualProperties* This, 7721 int cyItemInPixels); 7722 7723 HRESULT (STDMETHODCALLTYPE *GetItemHeight)( 7724 IVisualProperties* This, 7725 int *cyItemInPixels); 7726 7727 HRESULT (STDMETHODCALLTYPE *SetFont)( 7728 IVisualProperties* This, 7729 const LOGFONTW *plf, 7730 WINBOOL bRedraw); 7731 7732 HRESULT (STDMETHODCALLTYPE *GetFont)( 7733 IVisualProperties* This, 7734 LOGFONTW *plf); 7735 7736 HRESULT (STDMETHODCALLTYPE *SetTheme)( 7737 IVisualProperties* This, 7738 LPCWSTR pszSubAppName, 7739 LPCWSTR pszSubIdList); 7740 7741 END_INTERFACE 7742 } IVisualPropertiesVtbl; 7743 interface IVisualProperties { 7744 CONST_VTBL IVisualPropertiesVtbl* lpVtbl; 7745 }; 7746 7747 #ifdef COBJMACROS 7748 #ifndef WIDL_C_INLINE_WRAPPERS 7749 /*** IUnknown methods ***/ 7750 #define IVisualProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7751 #define IVisualProperties_AddRef(This) (This)->lpVtbl->AddRef(This) 7752 #define IVisualProperties_Release(This) (This)->lpVtbl->Release(This) 7753 /*** IVisualProperties methods ***/ 7754 #define IVisualProperties_SetWatermark(This,hbmp,vpwf) (This)->lpVtbl->SetWatermark(This,hbmp,vpwf) 7755 #define IVisualProperties_SetColor(This,vpcf,cr) (This)->lpVtbl->SetColor(This,vpcf,cr) 7756 #define IVisualProperties_GetColor(This,vpcf,pcr) (This)->lpVtbl->GetColor(This,vpcf,pcr) 7757 #define IVisualProperties_SetItemHeight(This,cyItemInPixels) (This)->lpVtbl->SetItemHeight(This,cyItemInPixels) 7758 #define IVisualProperties_GetItemHeight(This,cyItemInPixels) (This)->lpVtbl->GetItemHeight(This,cyItemInPixels) 7759 #define IVisualProperties_SetFont(This,plf,bRedraw) (This)->lpVtbl->SetFont(This,plf,bRedraw) 7760 #define IVisualProperties_GetFont(This,plf) (This)->lpVtbl->GetFont(This,plf) 7761 #define IVisualProperties_SetTheme(This,pszSubAppName,pszSubIdList) (This)->lpVtbl->SetTheme(This,pszSubAppName,pszSubIdList) 7762 #else 7763 /*** IUnknown methods ***/ 7764 static FORCEINLINE HRESULT IVisualProperties_QueryInterface(IVisualProperties* This,REFIID riid,void **ppvObject) { 7765 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7766 } 7767 static FORCEINLINE ULONG IVisualProperties_AddRef(IVisualProperties* This) { 7768 return This->lpVtbl->AddRef(This); 7769 } 7770 static FORCEINLINE ULONG IVisualProperties_Release(IVisualProperties* This) { 7771 return This->lpVtbl->Release(This); 7772 } 7773 /*** IVisualProperties methods ***/ 7774 static FORCEINLINE HRESULT IVisualProperties_SetWatermark(IVisualProperties* This,HBITMAP hbmp,VPWATERMARKFLAGS vpwf) { 7775 return This->lpVtbl->SetWatermark(This,hbmp,vpwf); 7776 } 7777 static FORCEINLINE HRESULT IVisualProperties_SetColor(IVisualProperties* This,VPCOLORFLAGS vpcf,COLORREF cr) { 7778 return This->lpVtbl->SetColor(This,vpcf,cr); 7779 } 7780 static FORCEINLINE HRESULT IVisualProperties_GetColor(IVisualProperties* This,VPCOLORFLAGS vpcf,COLORREF *pcr) { 7781 return This->lpVtbl->GetColor(This,vpcf,pcr); 7782 } 7783 static FORCEINLINE HRESULT IVisualProperties_SetItemHeight(IVisualProperties* This,int cyItemInPixels) { 7784 return This->lpVtbl->SetItemHeight(This,cyItemInPixels); 7785 } 7786 static FORCEINLINE HRESULT IVisualProperties_GetItemHeight(IVisualProperties* This,int *cyItemInPixels) { 7787 return This->lpVtbl->GetItemHeight(This,cyItemInPixels); 7788 } 7789 static FORCEINLINE HRESULT IVisualProperties_SetFont(IVisualProperties* This,const LOGFONTW *plf,WINBOOL bRedraw) { 7790 return This->lpVtbl->SetFont(This,plf,bRedraw); 7791 } 7792 static FORCEINLINE HRESULT IVisualProperties_GetFont(IVisualProperties* This,LOGFONTW *plf) { 7793 return This->lpVtbl->GetFont(This,plf); 7794 } 7795 static FORCEINLINE HRESULT IVisualProperties_SetTheme(IVisualProperties* This,LPCWSTR pszSubAppName,LPCWSTR pszSubIdList) { 7796 return This->lpVtbl->SetTheme(This,pszSubAppName,pszSubIdList); 7797 } 7798 #endif 7799 #endif 7800 7801 #endif 7802 7803 HRESULT STDMETHODCALLTYPE IVisualProperties_SetWatermark_Proxy( 7804 IVisualProperties* This, 7805 HBITMAP hbmp, 7806 VPWATERMARKFLAGS vpwf); 7807 void __RPC_STUB IVisualProperties_SetWatermark_Stub( 7808 IRpcStubBuffer* This, 7809 IRpcChannelBuffer* pRpcChannelBuffer, 7810 PRPC_MESSAGE pRpcMessage, 7811 DWORD* pdwStubPhase); 7812 HRESULT STDMETHODCALLTYPE IVisualProperties_SetColor_Proxy( 7813 IVisualProperties* This, 7814 VPCOLORFLAGS vpcf, 7815 COLORREF cr); 7816 void __RPC_STUB IVisualProperties_SetColor_Stub( 7817 IRpcStubBuffer* This, 7818 IRpcChannelBuffer* pRpcChannelBuffer, 7819 PRPC_MESSAGE pRpcMessage, 7820 DWORD* pdwStubPhase); 7821 HRESULT STDMETHODCALLTYPE IVisualProperties_GetColor_Proxy( 7822 IVisualProperties* This, 7823 VPCOLORFLAGS vpcf, 7824 COLORREF *pcr); 7825 void __RPC_STUB IVisualProperties_GetColor_Stub( 7826 IRpcStubBuffer* This, 7827 IRpcChannelBuffer* pRpcChannelBuffer, 7828 PRPC_MESSAGE pRpcMessage, 7829 DWORD* pdwStubPhase); 7830 HRESULT STDMETHODCALLTYPE IVisualProperties_SetItemHeight_Proxy( 7831 IVisualProperties* This, 7832 int cyItemInPixels); 7833 void __RPC_STUB IVisualProperties_SetItemHeight_Stub( 7834 IRpcStubBuffer* This, 7835 IRpcChannelBuffer* pRpcChannelBuffer, 7836 PRPC_MESSAGE pRpcMessage, 7837 DWORD* pdwStubPhase); 7838 HRESULT STDMETHODCALLTYPE IVisualProperties_GetItemHeight_Proxy( 7839 IVisualProperties* This, 7840 int *cyItemInPixels); 7841 void __RPC_STUB IVisualProperties_GetItemHeight_Stub( 7842 IRpcStubBuffer* This, 7843 IRpcChannelBuffer* pRpcChannelBuffer, 7844 PRPC_MESSAGE pRpcMessage, 7845 DWORD* pdwStubPhase); 7846 HRESULT STDMETHODCALLTYPE IVisualProperties_SetFont_Proxy( 7847 IVisualProperties* This, 7848 const LOGFONTW *plf, 7849 WINBOOL bRedraw); 7850 void __RPC_STUB IVisualProperties_SetFont_Stub( 7851 IRpcStubBuffer* This, 7852 IRpcChannelBuffer* pRpcChannelBuffer, 7853 PRPC_MESSAGE pRpcMessage, 7854 DWORD* pdwStubPhase); 7855 HRESULT STDMETHODCALLTYPE IVisualProperties_GetFont_Proxy( 7856 IVisualProperties* This, 7857 LOGFONTW *plf); 7858 void __RPC_STUB IVisualProperties_GetFont_Stub( 7859 IRpcStubBuffer* This, 7860 IRpcChannelBuffer* pRpcChannelBuffer, 7861 PRPC_MESSAGE pRpcMessage, 7862 DWORD* pdwStubPhase); 7863 HRESULT STDMETHODCALLTYPE IVisualProperties_SetTheme_Proxy( 7864 IVisualProperties* This, 7865 LPCWSTR pszSubAppName, 7866 LPCWSTR pszSubIdList); 7867 void __RPC_STUB IVisualProperties_SetTheme_Stub( 7868 IRpcStubBuffer* This, 7869 IRpcChannelBuffer* pRpcChannelBuffer, 7870 PRPC_MESSAGE pRpcMessage, 7871 DWORD* pdwStubPhase); 7872 7873 #endif /* __IVisualProperties_INTERFACE_DEFINED__ */ 7874 7875 #endif 7876 7877 #define CDBOSC_SETFOCUS 0x00000000 7878 #define CDBOSC_KILLFOCUS 0x00000001 7879 #define CDBOSC_SELCHANGE 0x00000002 7880 #define CDBOSC_RENAME 0x00000003 7881 #define CDBOSC_STATECHANGE 0x00000004 7882 7883 /***************************************************************************** 7884 * ICommDlgBrowser interface 7885 */ 7886 #ifndef __ICommDlgBrowser_INTERFACE_DEFINED__ 7887 #define __ICommDlgBrowser_INTERFACE_DEFINED__ 7888 7889 DEFINE_GUID(IID_ICommDlgBrowser, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 7890 #if defined(__cplusplus) && !defined(CINTERFACE) 7891 MIDL_INTERFACE("000214f1-0000-0000-c000-000000000046") 7892 ICommDlgBrowser : public IUnknown 7893 { 7894 virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand( 7895 IShellView *ppshv) = 0; 7896 7897 virtual HRESULT STDMETHODCALLTYPE OnStateChange( 7898 IShellView *ppshv, 7899 ULONG uChange) = 0; 7900 7901 virtual HRESULT STDMETHODCALLTYPE IncludeObject( 7902 IShellView *ppshv, 7903 PCUITEMID_CHILD pidl) = 0; 7904 7905 }; 7906 #ifdef __CRT_UUID_DECL 7907 __CRT_UUID_DECL(ICommDlgBrowser, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 7908 #endif 7909 #else 7910 typedef struct ICommDlgBrowserVtbl { 7911 BEGIN_INTERFACE 7912 7913 /*** IUnknown methods ***/ 7914 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7915 ICommDlgBrowser* This, 7916 REFIID riid, 7917 void **ppvObject); 7918 7919 ULONG (STDMETHODCALLTYPE *AddRef)( 7920 ICommDlgBrowser* This); 7921 7922 ULONG (STDMETHODCALLTYPE *Release)( 7923 ICommDlgBrowser* This); 7924 7925 /*** ICommDlgBrowser methods ***/ 7926 HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)( 7927 ICommDlgBrowser* This, 7928 IShellView *ppshv); 7929 7930 HRESULT (STDMETHODCALLTYPE *OnStateChange)( 7931 ICommDlgBrowser* This, 7932 IShellView *ppshv, 7933 ULONG uChange); 7934 7935 HRESULT (STDMETHODCALLTYPE *IncludeObject)( 7936 ICommDlgBrowser* This, 7937 IShellView *ppshv, 7938 PCUITEMID_CHILD pidl); 7939 7940 END_INTERFACE 7941 } ICommDlgBrowserVtbl; 7942 interface ICommDlgBrowser { 7943 CONST_VTBL ICommDlgBrowserVtbl* lpVtbl; 7944 }; 7945 7946 #ifdef COBJMACROS 7947 #ifndef WIDL_C_INLINE_WRAPPERS 7948 /*** IUnknown methods ***/ 7949 #define ICommDlgBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7950 #define ICommDlgBrowser_AddRef(This) (This)->lpVtbl->AddRef(This) 7951 #define ICommDlgBrowser_Release(This) (This)->lpVtbl->Release(This) 7952 /*** ICommDlgBrowser methods ***/ 7953 #define ICommDlgBrowser_OnDefaultCommand(This,ppshv) (This)->lpVtbl->OnDefaultCommand(This,ppshv) 7954 #define ICommDlgBrowser_OnStateChange(This,ppshv,uChange) (This)->lpVtbl->OnStateChange(This,ppshv,uChange) 7955 #define ICommDlgBrowser_IncludeObject(This,ppshv,pidl) (This)->lpVtbl->IncludeObject(This,ppshv,pidl) 7956 #else 7957 /*** IUnknown methods ***/ 7958 static FORCEINLINE HRESULT ICommDlgBrowser_QueryInterface(ICommDlgBrowser* This,REFIID riid,void **ppvObject) { 7959 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7960 } 7961 static FORCEINLINE ULONG ICommDlgBrowser_AddRef(ICommDlgBrowser* This) { 7962 return This->lpVtbl->AddRef(This); 7963 } 7964 static FORCEINLINE ULONG ICommDlgBrowser_Release(ICommDlgBrowser* This) { 7965 return This->lpVtbl->Release(This); 7966 } 7967 /*** ICommDlgBrowser methods ***/ 7968 static FORCEINLINE HRESULT ICommDlgBrowser_OnDefaultCommand(ICommDlgBrowser* This,IShellView *ppshv) { 7969 return This->lpVtbl->OnDefaultCommand(This,ppshv); 7970 } 7971 static FORCEINLINE HRESULT ICommDlgBrowser_OnStateChange(ICommDlgBrowser* This,IShellView *ppshv,ULONG uChange) { 7972 return This->lpVtbl->OnStateChange(This,ppshv,uChange); 7973 } 7974 static FORCEINLINE HRESULT ICommDlgBrowser_IncludeObject(ICommDlgBrowser* This,IShellView *ppshv,PCUITEMID_CHILD pidl) { 7975 return This->lpVtbl->IncludeObject(This,ppshv,pidl); 7976 } 7977 #endif 7978 #endif 7979 7980 #endif 7981 7982 HRESULT STDMETHODCALLTYPE ICommDlgBrowser_OnDefaultCommand_Proxy( 7983 ICommDlgBrowser* This, 7984 IShellView *ppshv); 7985 void __RPC_STUB ICommDlgBrowser_OnDefaultCommand_Stub( 7986 IRpcStubBuffer* This, 7987 IRpcChannelBuffer* pRpcChannelBuffer, 7988 PRPC_MESSAGE pRpcMessage, 7989 DWORD* pdwStubPhase); 7990 HRESULT STDMETHODCALLTYPE ICommDlgBrowser_OnStateChange_Proxy( 7991 ICommDlgBrowser* This, 7992 IShellView *ppshv, 7993 ULONG uChange); 7994 void __RPC_STUB ICommDlgBrowser_OnStateChange_Stub( 7995 IRpcStubBuffer* This, 7996 IRpcChannelBuffer* pRpcChannelBuffer, 7997 PRPC_MESSAGE pRpcMessage, 7998 DWORD* pdwStubPhase); 7999 HRESULT STDMETHODCALLTYPE ICommDlgBrowser_IncludeObject_Proxy( 8000 ICommDlgBrowser* This, 8001 IShellView *ppshv, 8002 PCUITEMID_CHILD pidl); 8003 void __RPC_STUB ICommDlgBrowser_IncludeObject_Stub( 8004 IRpcStubBuffer* This, 8005 IRpcChannelBuffer* pRpcChannelBuffer, 8006 PRPC_MESSAGE pRpcMessage, 8007 DWORD* pdwStubPhase); 8008 8009 #endif /* __ICommDlgBrowser_INTERFACE_DEFINED__ */ 8010 8011 typedef ICommDlgBrowser *LPCOMMDLGBROWSER; 8012 8013 #define SID_SExplorerBrowserFrame IID_ICommDlgBrowser 8014 8015 #define CDB2N_CONTEXTMENU_DONE 0x00000001 8016 #define CDB2N_CONTEXTMENU_START 0x00000002 8017 8018 #define CDB2GVF_SHOWALLFILES 0x1 8019 #if NTDDI_VERSION >= NTDDI_VISTA 8020 #define CDB2GVF_ISFILESAVE 0x2 8021 #define CDB2GVF_ALLOWPREVIEWPANE 0x4 8022 #define CDB2GVF_NOSELECTVERB 0x8 8023 #define CDB2GVF_NOINCLUDEITEM 0x10 8024 #define CDB2GVF_ISFOLDERPICKER 0x20 8025 #define CDB2GVF_ADDSHIELD 0x40 8026 #endif 8027 8028 /***************************************************************************** 8029 * ICommDlgBrowser2 interface 8030 */ 8031 #ifndef __ICommDlgBrowser2_INTERFACE_DEFINED__ 8032 #define __ICommDlgBrowser2_INTERFACE_DEFINED__ 8033 8034 DEFINE_GUID(IID_ICommDlgBrowser2, 0x10339516, 0x2894, 0x11d2, 0x90,0x39, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e); 8035 #if defined(__cplusplus) && !defined(CINTERFACE) 8036 MIDL_INTERFACE("10339516-2894-11d2-9039-00c04f8eeb3e") 8037 ICommDlgBrowser2 : public ICommDlgBrowser 8038 { 8039 virtual HRESULT STDMETHODCALLTYPE Notify( 8040 IShellView *ppshv, 8041 DWORD dwNotifyType) = 0; 8042 8043 virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuText( 8044 IShellView *ppshv, 8045 LPWSTR pszText, 8046 int cchMax) = 0; 8047 8048 virtual HRESULT STDMETHODCALLTYPE GetViewFlags( 8049 DWORD *pdwFlags) = 0; 8050 8051 }; 8052 #ifdef __CRT_UUID_DECL 8053 __CRT_UUID_DECL(ICommDlgBrowser2, 0x10339516, 0x2894, 0x11d2, 0x90,0x39, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e) 8054 #endif 8055 #else 8056 typedef struct ICommDlgBrowser2Vtbl { 8057 BEGIN_INTERFACE 8058 8059 /*** IUnknown methods ***/ 8060 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8061 ICommDlgBrowser2* This, 8062 REFIID riid, 8063 void **ppvObject); 8064 8065 ULONG (STDMETHODCALLTYPE *AddRef)( 8066 ICommDlgBrowser2* This); 8067 8068 ULONG (STDMETHODCALLTYPE *Release)( 8069 ICommDlgBrowser2* This); 8070 8071 /*** ICommDlgBrowser methods ***/ 8072 HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)( 8073 ICommDlgBrowser2* This, 8074 IShellView *ppshv); 8075 8076 HRESULT (STDMETHODCALLTYPE *OnStateChange)( 8077 ICommDlgBrowser2* This, 8078 IShellView *ppshv, 8079 ULONG uChange); 8080 8081 HRESULT (STDMETHODCALLTYPE *IncludeObject)( 8082 ICommDlgBrowser2* This, 8083 IShellView *ppshv, 8084 PCUITEMID_CHILD pidl); 8085 8086 /*** ICommDlgBrowser2 methods ***/ 8087 HRESULT (STDMETHODCALLTYPE *Notify)( 8088 ICommDlgBrowser2* This, 8089 IShellView *ppshv, 8090 DWORD dwNotifyType); 8091 8092 HRESULT (STDMETHODCALLTYPE *GetDefaultMenuText)( 8093 ICommDlgBrowser2* This, 8094 IShellView *ppshv, 8095 LPWSTR pszText, 8096 int cchMax); 8097 8098 HRESULT (STDMETHODCALLTYPE *GetViewFlags)( 8099 ICommDlgBrowser2* This, 8100 DWORD *pdwFlags); 8101 8102 END_INTERFACE 8103 } ICommDlgBrowser2Vtbl; 8104 interface ICommDlgBrowser2 { 8105 CONST_VTBL ICommDlgBrowser2Vtbl* lpVtbl; 8106 }; 8107 8108 #ifdef COBJMACROS 8109 #ifndef WIDL_C_INLINE_WRAPPERS 8110 /*** IUnknown methods ***/ 8111 #define ICommDlgBrowser2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8112 #define ICommDlgBrowser2_AddRef(This) (This)->lpVtbl->AddRef(This) 8113 #define ICommDlgBrowser2_Release(This) (This)->lpVtbl->Release(This) 8114 /*** ICommDlgBrowser methods ***/ 8115 #define ICommDlgBrowser2_OnDefaultCommand(This,ppshv) (This)->lpVtbl->OnDefaultCommand(This,ppshv) 8116 #define ICommDlgBrowser2_OnStateChange(This,ppshv,uChange) (This)->lpVtbl->OnStateChange(This,ppshv,uChange) 8117 #define ICommDlgBrowser2_IncludeObject(This,ppshv,pidl) (This)->lpVtbl->IncludeObject(This,ppshv,pidl) 8118 /*** ICommDlgBrowser2 methods ***/ 8119 #define ICommDlgBrowser2_Notify(This,ppshv,dwNotifyType) (This)->lpVtbl->Notify(This,ppshv,dwNotifyType) 8120 #define ICommDlgBrowser2_GetDefaultMenuText(This,ppshv,pszText,cchMax) (This)->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax) 8121 #define ICommDlgBrowser2_GetViewFlags(This,pdwFlags) (This)->lpVtbl->GetViewFlags(This,pdwFlags) 8122 #else 8123 /*** IUnknown methods ***/ 8124 static FORCEINLINE HRESULT ICommDlgBrowser2_QueryInterface(ICommDlgBrowser2* This,REFIID riid,void **ppvObject) { 8125 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8126 } 8127 static FORCEINLINE ULONG ICommDlgBrowser2_AddRef(ICommDlgBrowser2* This) { 8128 return This->lpVtbl->AddRef(This); 8129 } 8130 static FORCEINLINE ULONG ICommDlgBrowser2_Release(ICommDlgBrowser2* This) { 8131 return This->lpVtbl->Release(This); 8132 } 8133 /*** ICommDlgBrowser methods ***/ 8134 static FORCEINLINE HRESULT ICommDlgBrowser2_OnDefaultCommand(ICommDlgBrowser2* This,IShellView *ppshv) { 8135 return This->lpVtbl->OnDefaultCommand(This,ppshv); 8136 } 8137 static FORCEINLINE HRESULT ICommDlgBrowser2_OnStateChange(ICommDlgBrowser2* This,IShellView *ppshv,ULONG uChange) { 8138 return This->lpVtbl->OnStateChange(This,ppshv,uChange); 8139 } 8140 static FORCEINLINE HRESULT ICommDlgBrowser2_IncludeObject(ICommDlgBrowser2* This,IShellView *ppshv,PCUITEMID_CHILD pidl) { 8141 return This->lpVtbl->IncludeObject(This,ppshv,pidl); 8142 } 8143 /*** ICommDlgBrowser2 methods ***/ 8144 static FORCEINLINE HRESULT ICommDlgBrowser2_Notify(ICommDlgBrowser2* This,IShellView *ppshv,DWORD dwNotifyType) { 8145 return This->lpVtbl->Notify(This,ppshv,dwNotifyType); 8146 } 8147 static FORCEINLINE HRESULT ICommDlgBrowser2_GetDefaultMenuText(ICommDlgBrowser2* This,IShellView *ppshv,LPWSTR pszText,int cchMax) { 8148 return This->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax); 8149 } 8150 static FORCEINLINE HRESULT ICommDlgBrowser2_GetViewFlags(ICommDlgBrowser2* This,DWORD *pdwFlags) { 8151 return This->lpVtbl->GetViewFlags(This,pdwFlags); 8152 } 8153 #endif 8154 #endif 8155 8156 #endif 8157 8158 HRESULT STDMETHODCALLTYPE ICommDlgBrowser2_Notify_Proxy( 8159 ICommDlgBrowser2* This, 8160 IShellView *ppshv, 8161 DWORD dwNotifyType); 8162 void __RPC_STUB ICommDlgBrowser2_Notify_Stub( 8163 IRpcStubBuffer* This, 8164 IRpcChannelBuffer* pRpcChannelBuffer, 8165 PRPC_MESSAGE pRpcMessage, 8166 DWORD* pdwStubPhase); 8167 HRESULT STDMETHODCALLTYPE ICommDlgBrowser2_GetDefaultMenuText_Proxy( 8168 ICommDlgBrowser2* This, 8169 IShellView *ppshv, 8170 LPWSTR pszText, 8171 int cchMax); 8172 void __RPC_STUB ICommDlgBrowser2_GetDefaultMenuText_Stub( 8173 IRpcStubBuffer* This, 8174 IRpcChannelBuffer* pRpcChannelBuffer, 8175 PRPC_MESSAGE pRpcMessage, 8176 DWORD* pdwStubPhase); 8177 HRESULT STDMETHODCALLTYPE ICommDlgBrowser2_GetViewFlags_Proxy( 8178 ICommDlgBrowser2* This, 8179 DWORD *pdwFlags); 8180 void __RPC_STUB ICommDlgBrowser2_GetViewFlags_Stub( 8181 IRpcStubBuffer* This, 8182 IRpcChannelBuffer* pRpcChannelBuffer, 8183 PRPC_MESSAGE pRpcMessage, 8184 DWORD* pdwStubPhase); 8185 8186 #endif /* __ICommDlgBrowser2_INTERFACE_DEFINED__ */ 8187 8188 typedef ICommDlgBrowser2 *LPCOMMDLGBROWSER2; 8189 8190 #if _WIN32_IE >= _WIN32_IE_IE70 8191 /***************************************************************************** 8192 * ICommDlgBrowser3 interface 8193 */ 8194 #ifndef __ICommDlgBrowser3_INTERFACE_DEFINED__ 8195 #define __ICommDlgBrowser3_INTERFACE_DEFINED__ 8196 8197 DEFINE_GUID(IID_ICommDlgBrowser3, 0xc8ad25a1, 0x3294, 0x41ee, 0x81,0x65, 0x71,0x17,0x4b,0xd0,0x1c,0x57); 8198 #if defined(__cplusplus) && !defined(CINTERFACE) 8199 MIDL_INTERFACE("c8ad25a1-3294-41ee-8165-71174bd01c57") 8200 ICommDlgBrowser3 : public ICommDlgBrowser2 8201 { 8202 virtual HRESULT STDMETHODCALLTYPE OnColumnClicked( 8203 IShellView *ppshv, 8204 int iColumn) = 0; 8205 8206 virtual HRESULT STDMETHODCALLTYPE GetCurrentFilter( 8207 LPWSTR pszFileSpec, 8208 int cchFileSpec) = 0; 8209 8210 virtual HRESULT STDMETHODCALLTYPE OnPreViewCreated( 8211 IShellView *ppshv) = 0; 8212 8213 }; 8214 #ifdef __CRT_UUID_DECL 8215 __CRT_UUID_DECL(ICommDlgBrowser3, 0xc8ad25a1, 0x3294, 0x41ee, 0x81,0x65, 0x71,0x17,0x4b,0xd0,0x1c,0x57) 8216 #endif 8217 #else 8218 typedef struct ICommDlgBrowser3Vtbl { 8219 BEGIN_INTERFACE 8220 8221 /*** IUnknown methods ***/ 8222 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8223 ICommDlgBrowser3* This, 8224 REFIID riid, 8225 void **ppvObject); 8226 8227 ULONG (STDMETHODCALLTYPE *AddRef)( 8228 ICommDlgBrowser3* This); 8229 8230 ULONG (STDMETHODCALLTYPE *Release)( 8231 ICommDlgBrowser3* This); 8232 8233 /*** ICommDlgBrowser methods ***/ 8234 HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)( 8235 ICommDlgBrowser3* This, 8236 IShellView *ppshv); 8237 8238 HRESULT (STDMETHODCALLTYPE *OnStateChange)( 8239 ICommDlgBrowser3* This, 8240 IShellView *ppshv, 8241 ULONG uChange); 8242 8243 HRESULT (STDMETHODCALLTYPE *IncludeObject)( 8244 ICommDlgBrowser3* This, 8245 IShellView *ppshv, 8246 PCUITEMID_CHILD pidl); 8247 8248 /*** ICommDlgBrowser2 methods ***/ 8249 HRESULT (STDMETHODCALLTYPE *Notify)( 8250 ICommDlgBrowser3* This, 8251 IShellView *ppshv, 8252 DWORD dwNotifyType); 8253 8254 HRESULT (STDMETHODCALLTYPE *GetDefaultMenuText)( 8255 ICommDlgBrowser3* This, 8256 IShellView *ppshv, 8257 LPWSTR pszText, 8258 int cchMax); 8259 8260 HRESULT (STDMETHODCALLTYPE *GetViewFlags)( 8261 ICommDlgBrowser3* This, 8262 DWORD *pdwFlags); 8263 8264 /*** ICommDlgBrowser3 methods ***/ 8265 HRESULT (STDMETHODCALLTYPE *OnColumnClicked)( 8266 ICommDlgBrowser3* This, 8267 IShellView *ppshv, 8268 int iColumn); 8269 8270 HRESULT (STDMETHODCALLTYPE *GetCurrentFilter)( 8271 ICommDlgBrowser3* This, 8272 LPWSTR pszFileSpec, 8273 int cchFileSpec); 8274 8275 HRESULT (STDMETHODCALLTYPE *OnPreViewCreated)( 8276 ICommDlgBrowser3* This, 8277 IShellView *ppshv); 8278 8279 END_INTERFACE 8280 } ICommDlgBrowser3Vtbl; 8281 interface ICommDlgBrowser3 { 8282 CONST_VTBL ICommDlgBrowser3Vtbl* lpVtbl; 8283 }; 8284 8285 #ifdef COBJMACROS 8286 #ifndef WIDL_C_INLINE_WRAPPERS 8287 /*** IUnknown methods ***/ 8288 #define ICommDlgBrowser3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8289 #define ICommDlgBrowser3_AddRef(This) (This)->lpVtbl->AddRef(This) 8290 #define ICommDlgBrowser3_Release(This) (This)->lpVtbl->Release(This) 8291 /*** ICommDlgBrowser methods ***/ 8292 #define ICommDlgBrowser3_OnDefaultCommand(This,ppshv) (This)->lpVtbl->OnDefaultCommand(This,ppshv) 8293 #define ICommDlgBrowser3_OnStateChange(This,ppshv,uChange) (This)->lpVtbl->OnStateChange(This,ppshv,uChange) 8294 #define ICommDlgBrowser3_IncludeObject(This,ppshv,pidl) (This)->lpVtbl->IncludeObject(This,ppshv,pidl) 8295 /*** ICommDlgBrowser2 methods ***/ 8296 #define ICommDlgBrowser3_Notify(This,ppshv,dwNotifyType) (This)->lpVtbl->Notify(This,ppshv,dwNotifyType) 8297 #define ICommDlgBrowser3_GetDefaultMenuText(This,ppshv,pszText,cchMax) (This)->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax) 8298 #define ICommDlgBrowser3_GetViewFlags(This,pdwFlags) (This)->lpVtbl->GetViewFlags(This,pdwFlags) 8299 /*** ICommDlgBrowser3 methods ***/ 8300 #define ICommDlgBrowser3_OnColumnClicked(This,ppshv,iColumn) (This)->lpVtbl->OnColumnClicked(This,ppshv,iColumn) 8301 #define ICommDlgBrowser3_GetCurrentFilter(This,pszFileSpec,cchFileSpec) (This)->lpVtbl->GetCurrentFilter(This,pszFileSpec,cchFileSpec) 8302 #define ICommDlgBrowser3_OnPreViewCreated(This,ppshv) (This)->lpVtbl->OnPreViewCreated(This,ppshv) 8303 #else 8304 /*** IUnknown methods ***/ 8305 static FORCEINLINE HRESULT ICommDlgBrowser3_QueryInterface(ICommDlgBrowser3* This,REFIID riid,void **ppvObject) { 8306 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8307 } 8308 static FORCEINLINE ULONG ICommDlgBrowser3_AddRef(ICommDlgBrowser3* This) { 8309 return This->lpVtbl->AddRef(This); 8310 } 8311 static FORCEINLINE ULONG ICommDlgBrowser3_Release(ICommDlgBrowser3* This) { 8312 return This->lpVtbl->Release(This); 8313 } 8314 /*** ICommDlgBrowser methods ***/ 8315 static FORCEINLINE HRESULT ICommDlgBrowser3_OnDefaultCommand(ICommDlgBrowser3* This,IShellView *ppshv) { 8316 return This->lpVtbl->OnDefaultCommand(This,ppshv); 8317 } 8318 static FORCEINLINE HRESULT ICommDlgBrowser3_OnStateChange(ICommDlgBrowser3* This,IShellView *ppshv,ULONG uChange) { 8319 return This->lpVtbl->OnStateChange(This,ppshv,uChange); 8320 } 8321 static FORCEINLINE HRESULT ICommDlgBrowser3_IncludeObject(ICommDlgBrowser3* This,IShellView *ppshv,PCUITEMID_CHILD pidl) { 8322 return This->lpVtbl->IncludeObject(This,ppshv,pidl); 8323 } 8324 /*** ICommDlgBrowser2 methods ***/ 8325 static FORCEINLINE HRESULT ICommDlgBrowser3_Notify(ICommDlgBrowser3* This,IShellView *ppshv,DWORD dwNotifyType) { 8326 return This->lpVtbl->Notify(This,ppshv,dwNotifyType); 8327 } 8328 static FORCEINLINE HRESULT ICommDlgBrowser3_GetDefaultMenuText(ICommDlgBrowser3* This,IShellView *ppshv,LPWSTR pszText,int cchMax) { 8329 return This->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax); 8330 } 8331 static FORCEINLINE HRESULT ICommDlgBrowser3_GetViewFlags(ICommDlgBrowser3* This,DWORD *pdwFlags) { 8332 return This->lpVtbl->GetViewFlags(This,pdwFlags); 8333 } 8334 /*** ICommDlgBrowser3 methods ***/ 8335 static FORCEINLINE HRESULT ICommDlgBrowser3_OnColumnClicked(ICommDlgBrowser3* This,IShellView *ppshv,int iColumn) { 8336 return This->lpVtbl->OnColumnClicked(This,ppshv,iColumn); 8337 } 8338 static FORCEINLINE HRESULT ICommDlgBrowser3_GetCurrentFilter(ICommDlgBrowser3* This,LPWSTR pszFileSpec,int cchFileSpec) { 8339 return This->lpVtbl->GetCurrentFilter(This,pszFileSpec,cchFileSpec); 8340 } 8341 static FORCEINLINE HRESULT ICommDlgBrowser3_OnPreViewCreated(ICommDlgBrowser3* This,IShellView *ppshv) { 8342 return This->lpVtbl->OnPreViewCreated(This,ppshv); 8343 } 8344 #endif 8345 #endif 8346 8347 #endif 8348 8349 HRESULT STDMETHODCALLTYPE ICommDlgBrowser3_OnColumnClicked_Proxy( 8350 ICommDlgBrowser3* This, 8351 IShellView *ppshv, 8352 int iColumn); 8353 void __RPC_STUB ICommDlgBrowser3_OnColumnClicked_Stub( 8354 IRpcStubBuffer* This, 8355 IRpcChannelBuffer* pRpcChannelBuffer, 8356 PRPC_MESSAGE pRpcMessage, 8357 DWORD* pdwStubPhase); 8358 HRESULT STDMETHODCALLTYPE ICommDlgBrowser3_GetCurrentFilter_Proxy( 8359 ICommDlgBrowser3* This, 8360 LPWSTR pszFileSpec, 8361 int cchFileSpec); 8362 void __RPC_STUB ICommDlgBrowser3_GetCurrentFilter_Stub( 8363 IRpcStubBuffer* This, 8364 IRpcChannelBuffer* pRpcChannelBuffer, 8365 PRPC_MESSAGE pRpcMessage, 8366 DWORD* pdwStubPhase); 8367 HRESULT STDMETHODCALLTYPE ICommDlgBrowser3_OnPreViewCreated_Proxy( 8368 ICommDlgBrowser3* This, 8369 IShellView *ppshv); 8370 void __RPC_STUB ICommDlgBrowser3_OnPreViewCreated_Stub( 8371 IRpcStubBuffer* This, 8372 IRpcChannelBuffer* pRpcChannelBuffer, 8373 PRPC_MESSAGE pRpcMessage, 8374 DWORD* pdwStubPhase); 8375 8376 #endif /* __ICommDlgBrowser3_INTERFACE_DEFINED__ */ 8377 8378 8379 typedef enum CM_MASK { 8380 CM_MASK_WIDTH = 0x1, 8381 CM_MASK_DEFAULTWIDTH = 0x2, 8382 CM_MASK_IDEALWIDTH = 0x4, 8383 CM_MASK_NAME = 0x8, 8384 CM_MASK_STATE = 0x10 8385 } CM_MASK; 8386 8387 DEFINE_ENUM_FLAG_OPERATORS(CM_MASK) 8388 8389 typedef enum CM_STATE { 8390 CM_STATE_NONE = 0x0, 8391 CM_STATE_VISIBLE = 0x1, 8392 CM_STATE_FIXEDWIDTH = 0x2, 8393 CM_STATE_NOSORTBYFOLDERNESS = 0x4, 8394 CM_STATE_ALWAYSVISIBLE = 0x8 8395 } CM_STATE; 8396 8397 DEFINE_ENUM_FLAG_OPERATORS(CM_STATE) 8398 8399 typedef enum CM_ENUM_FLAGS { 8400 CM_ENUM_ALL = 0x1, 8401 CM_ENUM_VISIBLE = 0x2 8402 } CM_ENUM_FLAGS; 8403 8404 DEFINE_ENUM_FLAG_OPERATORS(CM_ENUM_FLAGS) 8405 8406 typedef enum CM_SET_WIDTH_VALUE { 8407 CM_WIDTH_USEDEFAULT = -1, 8408 CM_WIDTH_AUTOSIZE = -2 8409 } CM_SET_WIDTH_VALUE; 8410 8411 typedef struct CM_COLUMNINFO { 8412 DWORD cbSize; 8413 DWORD dwMask; 8414 DWORD dwState; 8415 UINT uWidth; 8416 UINT uDefaultWidth; 8417 UINT uIdealWidth; 8418 WCHAR wszName[80]; 8419 } CM_COLUMNINFO; 8420 8421 /***************************************************************************** 8422 * IColumnManager interface 8423 */ 8424 #ifndef __IColumnManager_INTERFACE_DEFINED__ 8425 #define __IColumnManager_INTERFACE_DEFINED__ 8426 8427 DEFINE_GUID(IID_IColumnManager, 0xd8ec27bb, 0x3f3b, 0x4042, 0xb1,0x0a, 0x4a,0xcf,0xd9,0x24,0xd4,0x53); 8428 #if defined(__cplusplus) && !defined(CINTERFACE) 8429 MIDL_INTERFACE("d8ec27bb-3f3b-4042-b10a-4acfd924d453") 8430 IColumnManager : public IUnknown 8431 { 8432 virtual HRESULT STDMETHODCALLTYPE SetColumnInfo( 8433 REFPROPERTYKEY propkey, 8434 const CM_COLUMNINFO *pcmci) = 0; 8435 8436 virtual HRESULT STDMETHODCALLTYPE GetColumnInfo( 8437 REFPROPERTYKEY propkey, 8438 CM_COLUMNINFO *pcmci) = 0; 8439 8440 virtual HRESULT STDMETHODCALLTYPE GetColumnCount( 8441 CM_ENUM_FLAGS dwFlags, 8442 UINT *puCount) = 0; 8443 8444 virtual HRESULT STDMETHODCALLTYPE GetColumns( 8445 CM_ENUM_FLAGS dwFlags, 8446 PROPERTYKEY *rgkeyOrder, 8447 UINT cColumns) = 0; 8448 8449 virtual HRESULT STDMETHODCALLTYPE SetColumns( 8450 const PROPERTYKEY *rgkeyOrder, 8451 UINT cVisible) = 0; 8452 8453 }; 8454 #ifdef __CRT_UUID_DECL 8455 __CRT_UUID_DECL(IColumnManager, 0xd8ec27bb, 0x3f3b, 0x4042, 0xb1,0x0a, 0x4a,0xcf,0xd9,0x24,0xd4,0x53) 8456 #endif 8457 #else 8458 typedef struct IColumnManagerVtbl { 8459 BEGIN_INTERFACE 8460 8461 /*** IUnknown methods ***/ 8462 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8463 IColumnManager* This, 8464 REFIID riid, 8465 void **ppvObject); 8466 8467 ULONG (STDMETHODCALLTYPE *AddRef)( 8468 IColumnManager* This); 8469 8470 ULONG (STDMETHODCALLTYPE *Release)( 8471 IColumnManager* This); 8472 8473 /*** IColumnManager methods ***/ 8474 HRESULT (STDMETHODCALLTYPE *SetColumnInfo)( 8475 IColumnManager* This, 8476 REFPROPERTYKEY propkey, 8477 const CM_COLUMNINFO *pcmci); 8478 8479 HRESULT (STDMETHODCALLTYPE *GetColumnInfo)( 8480 IColumnManager* This, 8481 REFPROPERTYKEY propkey, 8482 CM_COLUMNINFO *pcmci); 8483 8484 HRESULT (STDMETHODCALLTYPE *GetColumnCount)( 8485 IColumnManager* This, 8486 CM_ENUM_FLAGS dwFlags, 8487 UINT *puCount); 8488 8489 HRESULT (STDMETHODCALLTYPE *GetColumns)( 8490 IColumnManager* This, 8491 CM_ENUM_FLAGS dwFlags, 8492 PROPERTYKEY *rgkeyOrder, 8493 UINT cColumns); 8494 8495 HRESULT (STDMETHODCALLTYPE *SetColumns)( 8496 IColumnManager* This, 8497 const PROPERTYKEY *rgkeyOrder, 8498 UINT cVisible); 8499 8500 END_INTERFACE 8501 } IColumnManagerVtbl; 8502 interface IColumnManager { 8503 CONST_VTBL IColumnManagerVtbl* lpVtbl; 8504 }; 8505 8506 #ifdef COBJMACROS 8507 #ifndef WIDL_C_INLINE_WRAPPERS 8508 /*** IUnknown methods ***/ 8509 #define IColumnManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8510 #define IColumnManager_AddRef(This) (This)->lpVtbl->AddRef(This) 8511 #define IColumnManager_Release(This) (This)->lpVtbl->Release(This) 8512 /*** IColumnManager methods ***/ 8513 #define IColumnManager_SetColumnInfo(This,propkey,pcmci) (This)->lpVtbl->SetColumnInfo(This,propkey,pcmci) 8514 #define IColumnManager_GetColumnInfo(This,propkey,pcmci) (This)->lpVtbl->GetColumnInfo(This,propkey,pcmci) 8515 #define IColumnManager_GetColumnCount(This,dwFlags,puCount) (This)->lpVtbl->GetColumnCount(This,dwFlags,puCount) 8516 #define IColumnManager_GetColumns(This,dwFlags,rgkeyOrder,cColumns) (This)->lpVtbl->GetColumns(This,dwFlags,rgkeyOrder,cColumns) 8517 #define IColumnManager_SetColumns(This,rgkeyOrder,cVisible) (This)->lpVtbl->SetColumns(This,rgkeyOrder,cVisible) 8518 #else 8519 /*** IUnknown methods ***/ 8520 static FORCEINLINE HRESULT IColumnManager_QueryInterface(IColumnManager* This,REFIID riid,void **ppvObject) { 8521 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8522 } 8523 static FORCEINLINE ULONG IColumnManager_AddRef(IColumnManager* This) { 8524 return This->lpVtbl->AddRef(This); 8525 } 8526 static FORCEINLINE ULONG IColumnManager_Release(IColumnManager* This) { 8527 return This->lpVtbl->Release(This); 8528 } 8529 /*** IColumnManager methods ***/ 8530 static FORCEINLINE HRESULT IColumnManager_SetColumnInfo(IColumnManager* This,REFPROPERTYKEY propkey,const CM_COLUMNINFO *pcmci) { 8531 return This->lpVtbl->SetColumnInfo(This,propkey,pcmci); 8532 } 8533 static FORCEINLINE HRESULT IColumnManager_GetColumnInfo(IColumnManager* This,REFPROPERTYKEY propkey,CM_COLUMNINFO *pcmci) { 8534 return This->lpVtbl->GetColumnInfo(This,propkey,pcmci); 8535 } 8536 static FORCEINLINE HRESULT IColumnManager_GetColumnCount(IColumnManager* This,CM_ENUM_FLAGS dwFlags,UINT *puCount) { 8537 return This->lpVtbl->GetColumnCount(This,dwFlags,puCount); 8538 } 8539 static FORCEINLINE HRESULT IColumnManager_GetColumns(IColumnManager* This,CM_ENUM_FLAGS dwFlags,PROPERTYKEY *rgkeyOrder,UINT cColumns) { 8540 return This->lpVtbl->GetColumns(This,dwFlags,rgkeyOrder,cColumns); 8541 } 8542 static FORCEINLINE HRESULT IColumnManager_SetColumns(IColumnManager* This,const PROPERTYKEY *rgkeyOrder,UINT cVisible) { 8543 return This->lpVtbl->SetColumns(This,rgkeyOrder,cVisible); 8544 } 8545 #endif 8546 #endif 8547 8548 #endif 8549 8550 HRESULT STDMETHODCALLTYPE IColumnManager_SetColumnInfo_Proxy( 8551 IColumnManager* This, 8552 REFPROPERTYKEY propkey, 8553 const CM_COLUMNINFO *pcmci); 8554 void __RPC_STUB IColumnManager_SetColumnInfo_Stub( 8555 IRpcStubBuffer* This, 8556 IRpcChannelBuffer* pRpcChannelBuffer, 8557 PRPC_MESSAGE pRpcMessage, 8558 DWORD* pdwStubPhase); 8559 HRESULT STDMETHODCALLTYPE IColumnManager_GetColumnInfo_Proxy( 8560 IColumnManager* This, 8561 REFPROPERTYKEY propkey, 8562 CM_COLUMNINFO *pcmci); 8563 void __RPC_STUB IColumnManager_GetColumnInfo_Stub( 8564 IRpcStubBuffer* This, 8565 IRpcChannelBuffer* pRpcChannelBuffer, 8566 PRPC_MESSAGE pRpcMessage, 8567 DWORD* pdwStubPhase); 8568 HRESULT STDMETHODCALLTYPE IColumnManager_GetColumnCount_Proxy( 8569 IColumnManager* This, 8570 CM_ENUM_FLAGS dwFlags, 8571 UINT *puCount); 8572 void __RPC_STUB IColumnManager_GetColumnCount_Stub( 8573 IRpcStubBuffer* This, 8574 IRpcChannelBuffer* pRpcChannelBuffer, 8575 PRPC_MESSAGE pRpcMessage, 8576 DWORD* pdwStubPhase); 8577 HRESULT STDMETHODCALLTYPE IColumnManager_GetColumns_Proxy( 8578 IColumnManager* This, 8579 CM_ENUM_FLAGS dwFlags, 8580 PROPERTYKEY *rgkeyOrder, 8581 UINT cColumns); 8582 void __RPC_STUB IColumnManager_GetColumns_Stub( 8583 IRpcStubBuffer* This, 8584 IRpcChannelBuffer* pRpcChannelBuffer, 8585 PRPC_MESSAGE pRpcMessage, 8586 DWORD* pdwStubPhase); 8587 HRESULT STDMETHODCALLTYPE IColumnManager_SetColumns_Proxy( 8588 IColumnManager* This, 8589 const PROPERTYKEY *rgkeyOrder, 8590 UINT cVisible); 8591 void __RPC_STUB IColumnManager_SetColumns_Stub( 8592 IRpcStubBuffer* This, 8593 IRpcChannelBuffer* pRpcChannelBuffer, 8594 PRPC_MESSAGE pRpcMessage, 8595 DWORD* pdwStubPhase); 8596 8597 #endif /* __IColumnManager_INTERFACE_DEFINED__ */ 8598 8599 #endif 8600 8601 /***************************************************************************** 8602 * IFolderFilterSite interface 8603 */ 8604 #ifndef __IFolderFilterSite_INTERFACE_DEFINED__ 8605 #define __IFolderFilterSite_INTERFACE_DEFINED__ 8606 8607 DEFINE_GUID(IID_IFolderFilterSite, 0xc0a651f5, 0xb48b, 0x11d2, 0xb5,0xed, 0x00,0x60,0x97,0xc6,0x86,0xf6); 8608 #if defined(__cplusplus) && !defined(CINTERFACE) 8609 MIDL_INTERFACE("c0a651f5-b48b-11d2-b5ed-006097c686f6") 8610 IFolderFilterSite : public IUnknown 8611 { 8612 virtual HRESULT STDMETHODCALLTYPE SetFilter( 8613 IUnknown *punk) = 0; 8614 8615 }; 8616 #ifdef __CRT_UUID_DECL 8617 __CRT_UUID_DECL(IFolderFilterSite, 0xc0a651f5, 0xb48b, 0x11d2, 0xb5,0xed, 0x00,0x60,0x97,0xc6,0x86,0xf6) 8618 #endif 8619 #else 8620 typedef struct IFolderFilterSiteVtbl { 8621 BEGIN_INTERFACE 8622 8623 /*** IUnknown methods ***/ 8624 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8625 IFolderFilterSite* This, 8626 REFIID riid, 8627 void **ppvObject); 8628 8629 ULONG (STDMETHODCALLTYPE *AddRef)( 8630 IFolderFilterSite* This); 8631 8632 ULONG (STDMETHODCALLTYPE *Release)( 8633 IFolderFilterSite* This); 8634 8635 /*** IFolderFilterSite methods ***/ 8636 HRESULT (STDMETHODCALLTYPE *SetFilter)( 8637 IFolderFilterSite* This, 8638 IUnknown *punk); 8639 8640 END_INTERFACE 8641 } IFolderFilterSiteVtbl; 8642 interface IFolderFilterSite { 8643 CONST_VTBL IFolderFilterSiteVtbl* lpVtbl; 8644 }; 8645 8646 #ifdef COBJMACROS 8647 #ifndef WIDL_C_INLINE_WRAPPERS 8648 /*** IUnknown methods ***/ 8649 #define IFolderFilterSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8650 #define IFolderFilterSite_AddRef(This) (This)->lpVtbl->AddRef(This) 8651 #define IFolderFilterSite_Release(This) (This)->lpVtbl->Release(This) 8652 /*** IFolderFilterSite methods ***/ 8653 #define IFolderFilterSite_SetFilter(This,punk) (This)->lpVtbl->SetFilter(This,punk) 8654 #else 8655 /*** IUnknown methods ***/ 8656 static FORCEINLINE HRESULT IFolderFilterSite_QueryInterface(IFolderFilterSite* This,REFIID riid,void **ppvObject) { 8657 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8658 } 8659 static FORCEINLINE ULONG IFolderFilterSite_AddRef(IFolderFilterSite* This) { 8660 return This->lpVtbl->AddRef(This); 8661 } 8662 static FORCEINLINE ULONG IFolderFilterSite_Release(IFolderFilterSite* This) { 8663 return This->lpVtbl->Release(This); 8664 } 8665 /*** IFolderFilterSite methods ***/ 8666 static FORCEINLINE HRESULT IFolderFilterSite_SetFilter(IFolderFilterSite* This,IUnknown *punk) { 8667 return This->lpVtbl->SetFilter(This,punk); 8668 } 8669 #endif 8670 #endif 8671 8672 #endif 8673 8674 HRESULT STDMETHODCALLTYPE IFolderFilterSite_SetFilter_Proxy( 8675 IFolderFilterSite* This, 8676 IUnknown *punk); 8677 void __RPC_STUB IFolderFilterSite_SetFilter_Stub( 8678 IRpcStubBuffer* This, 8679 IRpcChannelBuffer* pRpcChannelBuffer, 8680 PRPC_MESSAGE pRpcMessage, 8681 DWORD* pdwStubPhase); 8682 8683 #endif /* __IFolderFilterSite_INTERFACE_DEFINED__ */ 8684 8685 8686 /***************************************************************************** 8687 * IFolderFilter interface 8688 */ 8689 #ifndef __IFolderFilter_INTERFACE_DEFINED__ 8690 #define __IFolderFilter_INTERFACE_DEFINED__ 8691 8692 DEFINE_GUID(IID_IFolderFilter, 0x9cc22886, 0xdc8e, 0x11d2, 0xb1,0xd0, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e); 8693 #if defined(__cplusplus) && !defined(CINTERFACE) 8694 MIDL_INTERFACE("9cc22886-dc8e-11d2-b1d0-00c04f8eeb3e") 8695 IFolderFilter : public IUnknown 8696 { 8697 virtual HRESULT STDMETHODCALLTYPE ShouldShow( 8698 IShellFolder *psf, 8699 PCIDLIST_ABSOLUTE pidlFolder, 8700 PCUITEMID_CHILD pidlItem) = 0; 8701 8702 virtual HRESULT STDMETHODCALLTYPE GetEnumFlags( 8703 IShellFolder *psf, 8704 PCIDLIST_ABSOLUTE pidlFolder, 8705 HWND *phwnd, 8706 DWORD *pgrfFlags) = 0; 8707 8708 }; 8709 #ifdef __CRT_UUID_DECL 8710 __CRT_UUID_DECL(IFolderFilter, 0x9cc22886, 0xdc8e, 0x11d2, 0xb1,0xd0, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e) 8711 #endif 8712 #else 8713 typedef struct IFolderFilterVtbl { 8714 BEGIN_INTERFACE 8715 8716 /*** IUnknown methods ***/ 8717 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8718 IFolderFilter* This, 8719 REFIID riid, 8720 void **ppvObject); 8721 8722 ULONG (STDMETHODCALLTYPE *AddRef)( 8723 IFolderFilter* This); 8724 8725 ULONG (STDMETHODCALLTYPE *Release)( 8726 IFolderFilter* This); 8727 8728 /*** IFolderFilter methods ***/ 8729 HRESULT (STDMETHODCALLTYPE *ShouldShow)( 8730 IFolderFilter* This, 8731 IShellFolder *psf, 8732 PCIDLIST_ABSOLUTE pidlFolder, 8733 PCUITEMID_CHILD pidlItem); 8734 8735 HRESULT (STDMETHODCALLTYPE *GetEnumFlags)( 8736 IFolderFilter* This, 8737 IShellFolder *psf, 8738 PCIDLIST_ABSOLUTE pidlFolder, 8739 HWND *phwnd, 8740 DWORD *pgrfFlags); 8741 8742 END_INTERFACE 8743 } IFolderFilterVtbl; 8744 interface IFolderFilter { 8745 CONST_VTBL IFolderFilterVtbl* lpVtbl; 8746 }; 8747 8748 #ifdef COBJMACROS 8749 #ifndef WIDL_C_INLINE_WRAPPERS 8750 /*** IUnknown methods ***/ 8751 #define IFolderFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8752 #define IFolderFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 8753 #define IFolderFilter_Release(This) (This)->lpVtbl->Release(This) 8754 /*** IFolderFilter methods ***/ 8755 #define IFolderFilter_ShouldShow(This,psf,pidlFolder,pidlItem) (This)->lpVtbl->ShouldShow(This,psf,pidlFolder,pidlItem) 8756 #define IFolderFilter_GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags) (This)->lpVtbl->GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags) 8757 #else 8758 /*** IUnknown methods ***/ 8759 static FORCEINLINE HRESULT IFolderFilter_QueryInterface(IFolderFilter* This,REFIID riid,void **ppvObject) { 8760 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8761 } 8762 static FORCEINLINE ULONG IFolderFilter_AddRef(IFolderFilter* This) { 8763 return This->lpVtbl->AddRef(This); 8764 } 8765 static FORCEINLINE ULONG IFolderFilter_Release(IFolderFilter* This) { 8766 return This->lpVtbl->Release(This); 8767 } 8768 /*** IFolderFilter methods ***/ 8769 static FORCEINLINE HRESULT IFolderFilter_ShouldShow(IFolderFilter* This,IShellFolder *psf,PCIDLIST_ABSOLUTE pidlFolder,PCUITEMID_CHILD pidlItem) { 8770 return This->lpVtbl->ShouldShow(This,psf,pidlFolder,pidlItem); 8771 } 8772 static FORCEINLINE HRESULT IFolderFilter_GetEnumFlags(IFolderFilter* This,IShellFolder *psf,PCIDLIST_ABSOLUTE pidlFolder,HWND *phwnd,DWORD *pgrfFlags) { 8773 return This->lpVtbl->GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags); 8774 } 8775 #endif 8776 #endif 8777 8778 #endif 8779 8780 HRESULT STDMETHODCALLTYPE IFolderFilter_ShouldShow_Proxy( 8781 IFolderFilter* This, 8782 IShellFolder *psf, 8783 PCIDLIST_ABSOLUTE pidlFolder, 8784 PCUITEMID_CHILD pidlItem); 8785 void __RPC_STUB IFolderFilter_ShouldShow_Stub( 8786 IRpcStubBuffer* This, 8787 IRpcChannelBuffer* pRpcChannelBuffer, 8788 PRPC_MESSAGE pRpcMessage, 8789 DWORD* pdwStubPhase); 8790 HRESULT STDMETHODCALLTYPE IFolderFilter_GetEnumFlags_Proxy( 8791 IFolderFilter* This, 8792 IShellFolder *psf, 8793 PCIDLIST_ABSOLUTE pidlFolder, 8794 HWND *phwnd, 8795 DWORD *pgrfFlags); 8796 void __RPC_STUB IFolderFilter_GetEnumFlags_Stub( 8797 IRpcStubBuffer* This, 8798 IRpcChannelBuffer* pRpcChannelBuffer, 8799 PRPC_MESSAGE pRpcMessage, 8800 DWORD* pdwStubPhase); 8801 8802 #endif /* __IFolderFilter_INTERFACE_DEFINED__ */ 8803 8804 8805 /***************************************************************************** 8806 * IInputObjectSite interface 8807 */ 8808 #ifndef __IInputObjectSite_INTERFACE_DEFINED__ 8809 #define __IInputObjectSite_INTERFACE_DEFINED__ 8810 8811 DEFINE_GUID(IID_IInputObjectSite, 0xf1db8392, 0x7331, 0x11d0, 0x8c,0x99, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8); 8812 #if defined(__cplusplus) && !defined(CINTERFACE) 8813 MIDL_INTERFACE("f1db8392-7331-11d0-8c99-00a0c92dbfe8") 8814 IInputObjectSite : public IUnknown 8815 { 8816 virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS( 8817 IUnknown *punkObj, 8818 WINBOOL fSetFocus) = 0; 8819 8820 }; 8821 #ifdef __CRT_UUID_DECL 8822 __CRT_UUID_DECL(IInputObjectSite, 0xf1db8392, 0x7331, 0x11d0, 0x8c,0x99, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8) 8823 #endif 8824 #else 8825 typedef struct IInputObjectSiteVtbl { 8826 BEGIN_INTERFACE 8827 8828 /*** IUnknown methods ***/ 8829 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8830 IInputObjectSite* This, 8831 REFIID riid, 8832 void **ppvObject); 8833 8834 ULONG (STDMETHODCALLTYPE *AddRef)( 8835 IInputObjectSite* This); 8836 8837 ULONG (STDMETHODCALLTYPE *Release)( 8838 IInputObjectSite* This); 8839 8840 /*** IInputObjectSite methods ***/ 8841 HRESULT (STDMETHODCALLTYPE *OnFocusChangeIS)( 8842 IInputObjectSite* This, 8843 IUnknown *punkObj, 8844 WINBOOL fSetFocus); 8845 8846 END_INTERFACE 8847 } IInputObjectSiteVtbl; 8848 interface IInputObjectSite { 8849 CONST_VTBL IInputObjectSiteVtbl* lpVtbl; 8850 }; 8851 8852 #ifdef COBJMACROS 8853 #ifndef WIDL_C_INLINE_WRAPPERS 8854 /*** IUnknown methods ***/ 8855 #define IInputObjectSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8856 #define IInputObjectSite_AddRef(This) (This)->lpVtbl->AddRef(This) 8857 #define IInputObjectSite_Release(This) (This)->lpVtbl->Release(This) 8858 /*** IInputObjectSite methods ***/ 8859 #define IInputObjectSite_OnFocusChangeIS(This,punkObj,fSetFocus) (This)->lpVtbl->OnFocusChangeIS(This,punkObj,fSetFocus) 8860 #else 8861 /*** IUnknown methods ***/ 8862 static FORCEINLINE HRESULT IInputObjectSite_QueryInterface(IInputObjectSite* This,REFIID riid,void **ppvObject) { 8863 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8864 } 8865 static FORCEINLINE ULONG IInputObjectSite_AddRef(IInputObjectSite* This) { 8866 return This->lpVtbl->AddRef(This); 8867 } 8868 static FORCEINLINE ULONG IInputObjectSite_Release(IInputObjectSite* This) { 8869 return This->lpVtbl->Release(This); 8870 } 8871 /*** IInputObjectSite methods ***/ 8872 static FORCEINLINE HRESULT IInputObjectSite_OnFocusChangeIS(IInputObjectSite* This,IUnknown *punkObj,WINBOOL fSetFocus) { 8873 return This->lpVtbl->OnFocusChangeIS(This,punkObj,fSetFocus); 8874 } 8875 #endif 8876 #endif 8877 8878 #endif 8879 8880 HRESULT STDMETHODCALLTYPE IInputObjectSite_OnFocusChangeIS_Proxy( 8881 IInputObjectSite* This, 8882 IUnknown *punkObj, 8883 WINBOOL fSetFocus); 8884 void __RPC_STUB IInputObjectSite_OnFocusChangeIS_Stub( 8885 IRpcStubBuffer* This, 8886 IRpcChannelBuffer* pRpcChannelBuffer, 8887 PRPC_MESSAGE pRpcMessage, 8888 DWORD* pdwStubPhase); 8889 8890 #endif /* __IInputObjectSite_INTERFACE_DEFINED__ */ 8891 8892 8893 /***************************************************************************** 8894 * IInputObject interface 8895 */ 8896 #ifndef __IInputObject_INTERFACE_DEFINED__ 8897 #define __IInputObject_INTERFACE_DEFINED__ 8898 8899 DEFINE_GUID(IID_IInputObject, 0x68284faa, 0x6a48, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4); 8900 #if defined(__cplusplus) && !defined(CINTERFACE) 8901 MIDL_INTERFACE("68284faa-6a48-11d0-8c78-00c04fd918b4") 8902 IInputObject : public IUnknown 8903 { 8904 virtual HRESULT STDMETHODCALLTYPE UIActivateIO( 8905 WINBOOL fActivate, 8906 MSG *pMsg) = 0; 8907 8908 virtual HRESULT STDMETHODCALLTYPE HasFocusIO( 8909 ) = 0; 8910 8911 virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO( 8912 MSG *pMsg) = 0; 8913 8914 }; 8915 #ifdef __CRT_UUID_DECL 8916 __CRT_UUID_DECL(IInputObject, 0x68284faa, 0x6a48, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4) 8917 #endif 8918 #else 8919 typedef struct IInputObjectVtbl { 8920 BEGIN_INTERFACE 8921 8922 /*** IUnknown methods ***/ 8923 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8924 IInputObject* This, 8925 REFIID riid, 8926 void **ppvObject); 8927 8928 ULONG (STDMETHODCALLTYPE *AddRef)( 8929 IInputObject* This); 8930 8931 ULONG (STDMETHODCALLTYPE *Release)( 8932 IInputObject* This); 8933 8934 /*** IInputObject methods ***/ 8935 HRESULT (STDMETHODCALLTYPE *UIActivateIO)( 8936 IInputObject* This, 8937 WINBOOL fActivate, 8938 MSG *pMsg); 8939 8940 HRESULT (STDMETHODCALLTYPE *HasFocusIO)( 8941 IInputObject* This); 8942 8943 HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorIO)( 8944 IInputObject* This, 8945 MSG *pMsg); 8946 8947 END_INTERFACE 8948 } IInputObjectVtbl; 8949 interface IInputObject { 8950 CONST_VTBL IInputObjectVtbl* lpVtbl; 8951 }; 8952 8953 #ifdef COBJMACROS 8954 #ifndef WIDL_C_INLINE_WRAPPERS 8955 /*** IUnknown methods ***/ 8956 #define IInputObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8957 #define IInputObject_AddRef(This) (This)->lpVtbl->AddRef(This) 8958 #define IInputObject_Release(This) (This)->lpVtbl->Release(This) 8959 /*** IInputObject methods ***/ 8960 #define IInputObject_UIActivateIO(This,fActivate,pMsg) (This)->lpVtbl->UIActivateIO(This,fActivate,pMsg) 8961 #define IInputObject_HasFocusIO(This) (This)->lpVtbl->HasFocusIO(This) 8962 #define IInputObject_TranslateAcceleratorIO(This,pMsg) (This)->lpVtbl->TranslateAcceleratorIO(This,pMsg) 8963 #else 8964 /*** IUnknown methods ***/ 8965 static FORCEINLINE HRESULT IInputObject_QueryInterface(IInputObject* This,REFIID riid,void **ppvObject) { 8966 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8967 } 8968 static FORCEINLINE ULONG IInputObject_AddRef(IInputObject* This) { 8969 return This->lpVtbl->AddRef(This); 8970 } 8971 static FORCEINLINE ULONG IInputObject_Release(IInputObject* This) { 8972 return This->lpVtbl->Release(This); 8973 } 8974 /*** IInputObject methods ***/ 8975 static FORCEINLINE HRESULT IInputObject_UIActivateIO(IInputObject* This,WINBOOL fActivate,MSG *pMsg) { 8976 return This->lpVtbl->UIActivateIO(This,fActivate,pMsg); 8977 } 8978 static FORCEINLINE HRESULT IInputObject_HasFocusIO(IInputObject* This) { 8979 return This->lpVtbl->HasFocusIO(This); 8980 } 8981 static FORCEINLINE HRESULT IInputObject_TranslateAcceleratorIO(IInputObject* This,MSG *pMsg) { 8982 return This->lpVtbl->TranslateAcceleratorIO(This,pMsg); 8983 } 8984 #endif 8985 #endif 8986 8987 #endif 8988 8989 HRESULT STDMETHODCALLTYPE IInputObject_UIActivateIO_Proxy( 8990 IInputObject* This, 8991 WINBOOL fActivate, 8992 MSG *pMsg); 8993 void __RPC_STUB IInputObject_UIActivateIO_Stub( 8994 IRpcStubBuffer* This, 8995 IRpcChannelBuffer* pRpcChannelBuffer, 8996 PRPC_MESSAGE pRpcMessage, 8997 DWORD* pdwStubPhase); 8998 HRESULT STDMETHODCALLTYPE IInputObject_HasFocusIO_Proxy( 8999 IInputObject* This); 9000 void __RPC_STUB IInputObject_HasFocusIO_Stub( 9001 IRpcStubBuffer* This, 9002 IRpcChannelBuffer* pRpcChannelBuffer, 9003 PRPC_MESSAGE pRpcMessage, 9004 DWORD* pdwStubPhase); 9005 HRESULT STDMETHODCALLTYPE IInputObject_TranslateAcceleratorIO_Proxy( 9006 IInputObject* This, 9007 MSG *pMsg); 9008 void __RPC_STUB IInputObject_TranslateAcceleratorIO_Stub( 9009 IRpcStubBuffer* This, 9010 IRpcChannelBuffer* pRpcChannelBuffer, 9011 PRPC_MESSAGE pRpcMessage, 9012 DWORD* pdwStubPhase); 9013 9014 #endif /* __IInputObject_INTERFACE_DEFINED__ */ 9015 9016 9017 /***************************************************************************** 9018 * IInputObject2 interface 9019 */ 9020 #ifndef __IInputObject2_INTERFACE_DEFINED__ 9021 #define __IInputObject2_INTERFACE_DEFINED__ 9022 9023 DEFINE_GUID(IID_IInputObject2, 0x6915c085, 0x510b, 0x44cd, 0x94,0xaf, 0x28,0xdf,0xa5,0x6c,0xf9,0x2b); 9024 #if defined(__cplusplus) && !defined(CINTERFACE) 9025 MIDL_INTERFACE("6915c085-510b-44cd-94af-28dfa56cf92b") 9026 IInputObject2 : public IInputObject 9027 { 9028 virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorGlobal( 9029 MSG *pMsg) = 0; 9030 9031 }; 9032 #ifdef __CRT_UUID_DECL 9033 __CRT_UUID_DECL(IInputObject2, 0x6915c085, 0x510b, 0x44cd, 0x94,0xaf, 0x28,0xdf,0xa5,0x6c,0xf9,0x2b) 9034 #endif 9035 #else 9036 typedef struct IInputObject2Vtbl { 9037 BEGIN_INTERFACE 9038 9039 /*** IUnknown methods ***/ 9040 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9041 IInputObject2* This, 9042 REFIID riid, 9043 void **ppvObject); 9044 9045 ULONG (STDMETHODCALLTYPE *AddRef)( 9046 IInputObject2* This); 9047 9048 ULONG (STDMETHODCALLTYPE *Release)( 9049 IInputObject2* This); 9050 9051 /*** IInputObject methods ***/ 9052 HRESULT (STDMETHODCALLTYPE *UIActivateIO)( 9053 IInputObject2* This, 9054 WINBOOL fActivate, 9055 MSG *pMsg); 9056 9057 HRESULT (STDMETHODCALLTYPE *HasFocusIO)( 9058 IInputObject2* This); 9059 9060 HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorIO)( 9061 IInputObject2* This, 9062 MSG *pMsg); 9063 9064 /*** IInputObject2 methods ***/ 9065 HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorGlobal)( 9066 IInputObject2* This, 9067 MSG *pMsg); 9068 9069 END_INTERFACE 9070 } IInputObject2Vtbl; 9071 interface IInputObject2 { 9072 CONST_VTBL IInputObject2Vtbl* lpVtbl; 9073 }; 9074 9075 #ifdef COBJMACROS 9076 #ifndef WIDL_C_INLINE_WRAPPERS 9077 /*** IUnknown methods ***/ 9078 #define IInputObject2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9079 #define IInputObject2_AddRef(This) (This)->lpVtbl->AddRef(This) 9080 #define IInputObject2_Release(This) (This)->lpVtbl->Release(This) 9081 /*** IInputObject methods ***/ 9082 #define IInputObject2_UIActivateIO(This,fActivate,pMsg) (This)->lpVtbl->UIActivateIO(This,fActivate,pMsg) 9083 #define IInputObject2_HasFocusIO(This) (This)->lpVtbl->HasFocusIO(This) 9084 #define IInputObject2_TranslateAcceleratorIO(This,pMsg) (This)->lpVtbl->TranslateAcceleratorIO(This,pMsg) 9085 /*** IInputObject2 methods ***/ 9086 #define IInputObject2_TranslateAcceleratorGlobal(This,pMsg) (This)->lpVtbl->TranslateAcceleratorGlobal(This,pMsg) 9087 #else 9088 /*** IUnknown methods ***/ 9089 static FORCEINLINE HRESULT IInputObject2_QueryInterface(IInputObject2* This,REFIID riid,void **ppvObject) { 9090 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9091 } 9092 static FORCEINLINE ULONG IInputObject2_AddRef(IInputObject2* This) { 9093 return This->lpVtbl->AddRef(This); 9094 } 9095 static FORCEINLINE ULONG IInputObject2_Release(IInputObject2* This) { 9096 return This->lpVtbl->Release(This); 9097 } 9098 /*** IInputObject methods ***/ 9099 static FORCEINLINE HRESULT IInputObject2_UIActivateIO(IInputObject2* This,WINBOOL fActivate,MSG *pMsg) { 9100 return This->lpVtbl->UIActivateIO(This,fActivate,pMsg); 9101 } 9102 static FORCEINLINE HRESULT IInputObject2_HasFocusIO(IInputObject2* This) { 9103 return This->lpVtbl->HasFocusIO(This); 9104 } 9105 static FORCEINLINE HRESULT IInputObject2_TranslateAcceleratorIO(IInputObject2* This,MSG *pMsg) { 9106 return This->lpVtbl->TranslateAcceleratorIO(This,pMsg); 9107 } 9108 /*** IInputObject2 methods ***/ 9109 static FORCEINLINE HRESULT IInputObject2_TranslateAcceleratorGlobal(IInputObject2* This,MSG *pMsg) { 9110 return This->lpVtbl->TranslateAcceleratorGlobal(This,pMsg); 9111 } 9112 #endif 9113 #endif 9114 9115 #endif 9116 9117 HRESULT STDMETHODCALLTYPE IInputObject2_TranslateAcceleratorGlobal_Proxy( 9118 IInputObject2* This, 9119 MSG *pMsg); 9120 void __RPC_STUB IInputObject2_TranslateAcceleratorGlobal_Stub( 9121 IRpcStubBuffer* This, 9122 IRpcChannelBuffer* pRpcChannelBuffer, 9123 PRPC_MESSAGE pRpcMessage, 9124 DWORD* pdwStubPhase); 9125 9126 #endif /* __IInputObject2_INTERFACE_DEFINED__ */ 9127 9128 9129 /***************************************************************************** 9130 * IShellIcon interface 9131 */ 9132 #ifndef __IShellIcon_INTERFACE_DEFINED__ 9133 #define __IShellIcon_INTERFACE_DEFINED__ 9134 9135 DEFINE_GUID(IID_IShellIcon, 0x000214e5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 9136 #if defined(__cplusplus) && !defined(CINTERFACE) 9137 MIDL_INTERFACE("000214e5-0000-0000-c000-000000000046") 9138 IShellIcon : public IUnknown 9139 { 9140 virtual HRESULT STDMETHODCALLTYPE GetIconOf( 9141 PCUITEMID_CHILD pidl, 9142 UINT flags, 9143 int *pIconIndex) = 0; 9144 9145 }; 9146 #ifdef __CRT_UUID_DECL 9147 __CRT_UUID_DECL(IShellIcon, 0x000214e5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 9148 #endif 9149 #else 9150 typedef struct IShellIconVtbl { 9151 BEGIN_INTERFACE 9152 9153 /*** IUnknown methods ***/ 9154 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9155 IShellIcon* This, 9156 REFIID riid, 9157 void **ppvObject); 9158 9159 ULONG (STDMETHODCALLTYPE *AddRef)( 9160 IShellIcon* This); 9161 9162 ULONG (STDMETHODCALLTYPE *Release)( 9163 IShellIcon* This); 9164 9165 /*** IShellIcon methods ***/ 9166 HRESULT (STDMETHODCALLTYPE *GetIconOf)( 9167 IShellIcon* This, 9168 PCUITEMID_CHILD pidl, 9169 UINT flags, 9170 int *pIconIndex); 9171 9172 END_INTERFACE 9173 } IShellIconVtbl; 9174 interface IShellIcon { 9175 CONST_VTBL IShellIconVtbl* lpVtbl; 9176 }; 9177 9178 #ifdef COBJMACROS 9179 #ifndef WIDL_C_INLINE_WRAPPERS 9180 /*** IUnknown methods ***/ 9181 #define IShellIcon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9182 #define IShellIcon_AddRef(This) (This)->lpVtbl->AddRef(This) 9183 #define IShellIcon_Release(This) (This)->lpVtbl->Release(This) 9184 /*** IShellIcon methods ***/ 9185 #define IShellIcon_GetIconOf(This,pidl,flags,pIconIndex) (This)->lpVtbl->GetIconOf(This,pidl,flags,pIconIndex) 9186 #else 9187 /*** IUnknown methods ***/ 9188 static FORCEINLINE HRESULT IShellIcon_QueryInterface(IShellIcon* This,REFIID riid,void **ppvObject) { 9189 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9190 } 9191 static FORCEINLINE ULONG IShellIcon_AddRef(IShellIcon* This) { 9192 return This->lpVtbl->AddRef(This); 9193 } 9194 static FORCEINLINE ULONG IShellIcon_Release(IShellIcon* This) { 9195 return This->lpVtbl->Release(This); 9196 } 9197 /*** IShellIcon methods ***/ 9198 static FORCEINLINE HRESULT IShellIcon_GetIconOf(IShellIcon* This,PCUITEMID_CHILD pidl,UINT flags,int *pIconIndex) { 9199 return This->lpVtbl->GetIconOf(This,pidl,flags,pIconIndex); 9200 } 9201 #endif 9202 #endif 9203 9204 #endif 9205 9206 HRESULT STDMETHODCALLTYPE IShellIcon_GetIconOf_Proxy( 9207 IShellIcon* This, 9208 PCUITEMID_CHILD pidl, 9209 UINT flags, 9210 int *pIconIndex); 9211 void __RPC_STUB IShellIcon_GetIconOf_Stub( 9212 IRpcStubBuffer* This, 9213 IRpcChannelBuffer* pRpcChannelBuffer, 9214 PRPC_MESSAGE pRpcMessage, 9215 DWORD* pdwStubPhase); 9216 9217 #endif /* __IShellIcon_INTERFACE_DEFINED__ */ 9218 9219 9220 #define SBSP_DEFBROWSER 0x0000 9221 #define SBSP_SAMEBROWSER 0x0001 9222 #define SBSP_NEWBROWSER 0x0002 9223 9224 #define SBSP_DEFMODE 0x0000 9225 #define SBSP_OPENMODE 0x0010 9226 #define SBSP_EXPLOREMODE 0x0020 9227 #define SBSP_HELPMODE 0x0040 9228 #define SBSP_NOTRANSFERHIST 0x0080 9229 9230 #define SBSP_ABSOLUTE 0x0000 9231 #define SBSP_RELATIVE 0x1000 9232 #define SBSP_PARENT 0x2000 9233 #define SBSP_NAVIGATEBACK 0x4000 9234 #define SBSP_NAVIGATEFORWARD 0x8000 9235 #define SBSP_ALLOW_AUTONAVIGATE 0x00010000 9236 #if NTDDI_VERSION >= NTDDI_VISTA 9237 #define SBSP_KEEPSAMETEMPLATE 0x00020000 9238 #define SBSP_KEEPWORDWHEELTEXT 0x00040000 9239 #define SBSP_ACTIVATE_NOFOCUS 0x00080000 9240 #define SBSP_CREATENOHISTORY 0x00100000 9241 #define SBSP_PLAYNOSOUND 0x00200000 9242 #endif 9243 #if _WIN32_IE >= _WIN32_IE_IE60SP2 9244 #define SBSP_CALLERUNTRUSTED 0x00800000 9245 #define SBSP_TRUSTFIRSTDOWNLOAD 0x01000000 9246 #define SBSP_UNTRUSTEDFORDOWNLOAD 0x02000000 9247 #endif 9248 #define SBSP_NOAUTOSELECT 0x04000000 9249 #define SBSP_WRITENOHISTORY 0x08000000 9250 #if _WIN32_IE >= _WIN32_IE_IE60SP2 9251 #define SBSP_TRUSTEDFORACTIVEX 0x10000000 9252 #endif 9253 #if _WIN32_IE >= _WIN32_IE_IE70 9254 #define SBSP_FEEDNAVIGATION 0x20000000 9255 #endif 9256 #define SBSP_REDIRECT 0x40000000 9257 #define SBSP_INITIATEDBYHLINKFRAME 0x80000000 9258 9259 #define FCW_STATUS 0x0001 9260 #define FCW_TOOLBAR 0x0002 9261 #define FCW_TREE 0x0003 9262 #define FCW_INTERNETBAR 0x0006 9263 #define FCW_PROGRESS 0x0008 9264 9265 #define FCT_MERGE 0x0001 9266 #define FCT_CONFIGABLE 0x0002 9267 #define FCT_ADDTOEND 0x0004 9268 9269 #if 0 9270 typedef LPARAM LPTBBUTTONSB; 9271 #else 9272 #include <commctrl.h> 9273 9274 typedef LPTBBUTTON LPTBBUTTONSB; 9275 #endif 9276 9277 /***************************************************************************** 9278 * IShellBrowser interface 9279 */ 9280 #ifndef __IShellBrowser_INTERFACE_DEFINED__ 9281 #define __IShellBrowser_INTERFACE_DEFINED__ 9282 9283 DEFINE_GUID(IID_IShellBrowser, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 9284 #if defined(__cplusplus) && !defined(CINTERFACE) 9285 MIDL_INTERFACE("000214e2-0000-0000-c000-000000000046") 9286 IShellBrowser : public IOleWindow 9287 { 9288 virtual HRESULT STDMETHODCALLTYPE InsertMenusSB( 9289 HMENU hmenuShared, 9290 LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0; 9291 9292 virtual HRESULT STDMETHODCALLTYPE SetMenuSB( 9293 HMENU hmenuShared, 9294 HOLEMENU holemenuRes, 9295 HWND hwndActiveObject) = 0; 9296 9297 virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB( 9298 HMENU hmenuShared) = 0; 9299 9300 virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB( 9301 LPCWSTR pszStatusText) = 0; 9302 9303 virtual HRESULT STDMETHODCALLTYPE EnableModelessSB( 9304 WINBOOL fEnable) = 0; 9305 9306 virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB( 9307 MSG *pmsg, 9308 WORD wID) = 0; 9309 9310 virtual HRESULT STDMETHODCALLTYPE BrowseObject( 9311 PCUIDLIST_RELATIVE pidl, 9312 UINT wFlags) = 0; 9313 9314 virtual HRESULT STDMETHODCALLTYPE GetViewStateStream( 9315 DWORD grfMode, 9316 IStream **ppStrm) = 0; 9317 9318 virtual HRESULT STDMETHODCALLTYPE GetControlWindow( 9319 UINT id, 9320 HWND *phwnd) = 0; 9321 9322 virtual HRESULT STDMETHODCALLTYPE SendControlMsg( 9323 UINT id, 9324 UINT uMsg, 9325 WPARAM wParam, 9326 LPARAM lParam, 9327 LRESULT *pret) = 0; 9328 9329 virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView( 9330 IShellView **ppshv) = 0; 9331 9332 virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive( 9333 IShellView *pshv) = 0; 9334 9335 virtual HRESULT STDMETHODCALLTYPE SetToolbarItems( 9336 LPTBBUTTONSB lpButtons, 9337 UINT nButtons, 9338 UINT uFlags) = 0; 9339 9340 }; 9341 #ifdef __CRT_UUID_DECL 9342 __CRT_UUID_DECL(IShellBrowser, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 9343 #endif 9344 #else 9345 typedef struct IShellBrowserVtbl { 9346 BEGIN_INTERFACE 9347 9348 /*** IUnknown methods ***/ 9349 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9350 IShellBrowser* This, 9351 REFIID riid, 9352 void **ppvObject); 9353 9354 ULONG (STDMETHODCALLTYPE *AddRef)( 9355 IShellBrowser* This); 9356 9357 ULONG (STDMETHODCALLTYPE *Release)( 9358 IShellBrowser* This); 9359 9360 /*** IOleWindow methods ***/ 9361 HRESULT (STDMETHODCALLTYPE *GetWindow)( 9362 IShellBrowser* This, 9363 HWND *phwnd); 9364 9365 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( 9366 IShellBrowser* This, 9367 WINBOOL fEnterMode); 9368 9369 /*** IShellBrowser methods ***/ 9370 HRESULT (STDMETHODCALLTYPE *InsertMenusSB)( 9371 IShellBrowser* This, 9372 HMENU hmenuShared, 9373 LPOLEMENUGROUPWIDTHS lpMenuWidths); 9374 9375 HRESULT (STDMETHODCALLTYPE *SetMenuSB)( 9376 IShellBrowser* This, 9377 HMENU hmenuShared, 9378 HOLEMENU holemenuRes, 9379 HWND hwndActiveObject); 9380 9381 HRESULT (STDMETHODCALLTYPE *RemoveMenusSB)( 9382 IShellBrowser* This, 9383 HMENU hmenuShared); 9384 9385 HRESULT (STDMETHODCALLTYPE *SetStatusTextSB)( 9386 IShellBrowser* This, 9387 LPCWSTR pszStatusText); 9388 9389 HRESULT (STDMETHODCALLTYPE *EnableModelessSB)( 9390 IShellBrowser* This, 9391 WINBOOL fEnable); 9392 9393 HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorSB)( 9394 IShellBrowser* This, 9395 MSG *pmsg, 9396 WORD wID); 9397 9398 HRESULT (STDMETHODCALLTYPE *BrowseObject)( 9399 IShellBrowser* This, 9400 PCUIDLIST_RELATIVE pidl, 9401 UINT wFlags); 9402 9403 HRESULT (STDMETHODCALLTYPE *GetViewStateStream)( 9404 IShellBrowser* This, 9405 DWORD grfMode, 9406 IStream **ppStrm); 9407 9408 HRESULT (STDMETHODCALLTYPE *GetControlWindow)( 9409 IShellBrowser* This, 9410 UINT id, 9411 HWND *phwnd); 9412 9413 HRESULT (STDMETHODCALLTYPE *SendControlMsg)( 9414 IShellBrowser* This, 9415 UINT id, 9416 UINT uMsg, 9417 WPARAM wParam, 9418 LPARAM lParam, 9419 LRESULT *pret); 9420 9421 HRESULT (STDMETHODCALLTYPE *QueryActiveShellView)( 9422 IShellBrowser* This, 9423 IShellView **ppshv); 9424 9425 HRESULT (STDMETHODCALLTYPE *OnViewWindowActive)( 9426 IShellBrowser* This, 9427 IShellView *pshv); 9428 9429 HRESULT (STDMETHODCALLTYPE *SetToolbarItems)( 9430 IShellBrowser* This, 9431 LPTBBUTTONSB lpButtons, 9432 UINT nButtons, 9433 UINT uFlags); 9434 9435 END_INTERFACE 9436 } IShellBrowserVtbl; 9437 interface IShellBrowser { 9438 CONST_VTBL IShellBrowserVtbl* lpVtbl; 9439 }; 9440 9441 #ifdef COBJMACROS 9442 #ifndef WIDL_C_INLINE_WRAPPERS 9443 /*** IUnknown methods ***/ 9444 #define IShellBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9445 #define IShellBrowser_AddRef(This) (This)->lpVtbl->AddRef(This) 9446 #define IShellBrowser_Release(This) (This)->lpVtbl->Release(This) 9447 /*** IOleWindow methods ***/ 9448 #define IShellBrowser_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 9449 #define IShellBrowser_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode) 9450 /*** IShellBrowser methods ***/ 9451 #define IShellBrowser_InsertMenusSB(This,hmenuShared,lpMenuWidths) (This)->lpVtbl->InsertMenusSB(This,hmenuShared,lpMenuWidths) 9452 #define IShellBrowser_SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject) (This)->lpVtbl->SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject) 9453 #define IShellBrowser_RemoveMenusSB(This,hmenuShared) (This)->lpVtbl->RemoveMenusSB(This,hmenuShared) 9454 #define IShellBrowser_SetStatusTextSB(This,pszStatusText) (This)->lpVtbl->SetStatusTextSB(This,pszStatusText) 9455 #define IShellBrowser_EnableModelessSB(This,fEnable) (This)->lpVtbl->EnableModelessSB(This,fEnable) 9456 #define IShellBrowser_TranslateAcceleratorSB(This,pmsg,wID) (This)->lpVtbl->TranslateAcceleratorSB(This,pmsg,wID) 9457 #define IShellBrowser_BrowseObject(This,pidl,wFlags) (This)->lpVtbl->BrowseObject(This,pidl,wFlags) 9458 #define IShellBrowser_GetViewStateStream(This,grfMode,ppStrm) (This)->lpVtbl->GetViewStateStream(This,grfMode,ppStrm) 9459 #define IShellBrowser_GetControlWindow(This,id,phwnd) (This)->lpVtbl->GetControlWindow(This,id,phwnd) 9460 #define IShellBrowser_SendControlMsg(This,id,uMsg,wParam,lParam,pret) (This)->lpVtbl->SendControlMsg(This,id,uMsg,wParam,lParam,pret) 9461 #define IShellBrowser_QueryActiveShellView(This,ppshv) (This)->lpVtbl->QueryActiveShellView(This,ppshv) 9462 #define IShellBrowser_OnViewWindowActive(This,pshv) (This)->lpVtbl->OnViewWindowActive(This,pshv) 9463 #define IShellBrowser_SetToolbarItems(This,lpButtons,nButtons,uFlags) (This)->lpVtbl->SetToolbarItems(This,lpButtons,nButtons,uFlags) 9464 #else 9465 /*** IUnknown methods ***/ 9466 static FORCEINLINE HRESULT IShellBrowser_QueryInterface(IShellBrowser* This,REFIID riid,void **ppvObject) { 9467 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9468 } 9469 static FORCEINLINE ULONG IShellBrowser_AddRef(IShellBrowser* This) { 9470 return This->lpVtbl->AddRef(This); 9471 } 9472 static FORCEINLINE ULONG IShellBrowser_Release(IShellBrowser* This) { 9473 return This->lpVtbl->Release(This); 9474 } 9475 /*** IOleWindow methods ***/ 9476 static FORCEINLINE HRESULT IShellBrowser_GetWindow(IShellBrowser* This,HWND *phwnd) { 9477 return This->lpVtbl->GetWindow(This,phwnd); 9478 } 9479 static FORCEINLINE HRESULT IShellBrowser_ContextSensitiveHelp(IShellBrowser* This,WINBOOL fEnterMode) { 9480 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode); 9481 } 9482 /*** IShellBrowser methods ***/ 9483 static FORCEINLINE HRESULT IShellBrowser_InsertMenusSB(IShellBrowser* This,HMENU hmenuShared,LPOLEMENUGROUPWIDTHS lpMenuWidths) { 9484 return This->lpVtbl->InsertMenusSB(This,hmenuShared,lpMenuWidths); 9485 } 9486 static FORCEINLINE HRESULT IShellBrowser_SetMenuSB(IShellBrowser* This,HMENU hmenuShared,HOLEMENU holemenuRes,HWND hwndActiveObject) { 9487 return This->lpVtbl->SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject); 9488 } 9489 static FORCEINLINE HRESULT IShellBrowser_RemoveMenusSB(IShellBrowser* This,HMENU hmenuShared) { 9490 return This->lpVtbl->RemoveMenusSB(This,hmenuShared); 9491 } 9492 static FORCEINLINE HRESULT IShellBrowser_SetStatusTextSB(IShellBrowser* This,LPCWSTR pszStatusText) { 9493 return This->lpVtbl->SetStatusTextSB(This,pszStatusText); 9494 } 9495 static FORCEINLINE HRESULT IShellBrowser_EnableModelessSB(IShellBrowser* This,WINBOOL fEnable) { 9496 return This->lpVtbl->EnableModelessSB(This,fEnable); 9497 } 9498 static FORCEINLINE HRESULT IShellBrowser_TranslateAcceleratorSB(IShellBrowser* This,MSG *pmsg,WORD wID) { 9499 return This->lpVtbl->TranslateAcceleratorSB(This,pmsg,wID); 9500 } 9501 static FORCEINLINE HRESULT IShellBrowser_BrowseObject(IShellBrowser* This,PCUIDLIST_RELATIVE pidl,UINT wFlags) { 9502 return This->lpVtbl->BrowseObject(This,pidl,wFlags); 9503 } 9504 static FORCEINLINE HRESULT IShellBrowser_GetViewStateStream(IShellBrowser* This,DWORD grfMode,IStream **ppStrm) { 9505 return This->lpVtbl->GetViewStateStream(This,grfMode,ppStrm); 9506 } 9507 static FORCEINLINE HRESULT IShellBrowser_GetControlWindow(IShellBrowser* This,UINT id,HWND *phwnd) { 9508 return This->lpVtbl->GetControlWindow(This,id,phwnd); 9509 } 9510 static FORCEINLINE HRESULT IShellBrowser_SendControlMsg(IShellBrowser* This,UINT id,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *pret) { 9511 return This->lpVtbl->SendControlMsg(This,id,uMsg,wParam,lParam,pret); 9512 } 9513 static FORCEINLINE HRESULT IShellBrowser_QueryActiveShellView(IShellBrowser* This,IShellView **ppshv) { 9514 return This->lpVtbl->QueryActiveShellView(This,ppshv); 9515 } 9516 static FORCEINLINE HRESULT IShellBrowser_OnViewWindowActive(IShellBrowser* This,IShellView *pshv) { 9517 return This->lpVtbl->OnViewWindowActive(This,pshv); 9518 } 9519 static FORCEINLINE HRESULT IShellBrowser_SetToolbarItems(IShellBrowser* This,LPTBBUTTONSB lpButtons,UINT nButtons,UINT uFlags) { 9520 return This->lpVtbl->SetToolbarItems(This,lpButtons,nButtons,uFlags); 9521 } 9522 #endif 9523 #endif 9524 9525 #endif 9526 9527 HRESULT STDMETHODCALLTYPE IShellBrowser_InsertMenusSB_Proxy( 9528 IShellBrowser* This, 9529 HMENU hmenuShared, 9530 LPOLEMENUGROUPWIDTHS lpMenuWidths); 9531 void __RPC_STUB IShellBrowser_InsertMenusSB_Stub( 9532 IRpcStubBuffer* This, 9533 IRpcChannelBuffer* pRpcChannelBuffer, 9534 PRPC_MESSAGE pRpcMessage, 9535 DWORD* pdwStubPhase); 9536 HRESULT STDMETHODCALLTYPE IShellBrowser_SetMenuSB_Proxy( 9537 IShellBrowser* This, 9538 HMENU hmenuShared, 9539 HOLEMENU holemenuRes, 9540 HWND hwndActiveObject); 9541 void __RPC_STUB IShellBrowser_SetMenuSB_Stub( 9542 IRpcStubBuffer* This, 9543 IRpcChannelBuffer* pRpcChannelBuffer, 9544 PRPC_MESSAGE pRpcMessage, 9545 DWORD* pdwStubPhase); 9546 HRESULT STDMETHODCALLTYPE IShellBrowser_RemoveMenusSB_Proxy( 9547 IShellBrowser* This, 9548 HMENU hmenuShared); 9549 void __RPC_STUB IShellBrowser_RemoveMenusSB_Stub( 9550 IRpcStubBuffer* This, 9551 IRpcChannelBuffer* pRpcChannelBuffer, 9552 PRPC_MESSAGE pRpcMessage, 9553 DWORD* pdwStubPhase); 9554 HRESULT STDMETHODCALLTYPE IShellBrowser_SetStatusTextSB_Proxy( 9555 IShellBrowser* This, 9556 LPCWSTR pszStatusText); 9557 void __RPC_STUB IShellBrowser_SetStatusTextSB_Stub( 9558 IRpcStubBuffer* This, 9559 IRpcChannelBuffer* pRpcChannelBuffer, 9560 PRPC_MESSAGE pRpcMessage, 9561 DWORD* pdwStubPhase); 9562 HRESULT STDMETHODCALLTYPE IShellBrowser_EnableModelessSB_Proxy( 9563 IShellBrowser* This, 9564 WINBOOL fEnable); 9565 void __RPC_STUB IShellBrowser_EnableModelessSB_Stub( 9566 IRpcStubBuffer* This, 9567 IRpcChannelBuffer* pRpcChannelBuffer, 9568 PRPC_MESSAGE pRpcMessage, 9569 DWORD* pdwStubPhase); 9570 HRESULT STDMETHODCALLTYPE IShellBrowser_TranslateAcceleratorSB_Proxy( 9571 IShellBrowser* This, 9572 MSG *pmsg, 9573 WORD wID); 9574 void __RPC_STUB IShellBrowser_TranslateAcceleratorSB_Stub( 9575 IRpcStubBuffer* This, 9576 IRpcChannelBuffer* pRpcChannelBuffer, 9577 PRPC_MESSAGE pRpcMessage, 9578 DWORD* pdwStubPhase); 9579 HRESULT STDMETHODCALLTYPE IShellBrowser_BrowseObject_Proxy( 9580 IShellBrowser* This, 9581 PCUIDLIST_RELATIVE pidl, 9582 UINT wFlags); 9583 void __RPC_STUB IShellBrowser_BrowseObject_Stub( 9584 IRpcStubBuffer* This, 9585 IRpcChannelBuffer* pRpcChannelBuffer, 9586 PRPC_MESSAGE pRpcMessage, 9587 DWORD* pdwStubPhase); 9588 HRESULT STDMETHODCALLTYPE IShellBrowser_GetViewStateStream_Proxy( 9589 IShellBrowser* This, 9590 DWORD grfMode, 9591 IStream **ppStrm); 9592 void __RPC_STUB IShellBrowser_GetViewStateStream_Stub( 9593 IRpcStubBuffer* This, 9594 IRpcChannelBuffer* pRpcChannelBuffer, 9595 PRPC_MESSAGE pRpcMessage, 9596 DWORD* pdwStubPhase); 9597 HRESULT STDMETHODCALLTYPE IShellBrowser_GetControlWindow_Proxy( 9598 IShellBrowser* This, 9599 UINT id, 9600 HWND *phwnd); 9601 void __RPC_STUB IShellBrowser_GetControlWindow_Stub( 9602 IRpcStubBuffer* This, 9603 IRpcChannelBuffer* pRpcChannelBuffer, 9604 PRPC_MESSAGE pRpcMessage, 9605 DWORD* pdwStubPhase); 9606 HRESULT STDMETHODCALLTYPE IShellBrowser_QueryActiveShellView_Proxy( 9607 IShellBrowser* This, 9608 IShellView **ppshv); 9609 void __RPC_STUB IShellBrowser_QueryActiveShellView_Stub( 9610 IRpcStubBuffer* This, 9611 IRpcChannelBuffer* pRpcChannelBuffer, 9612 PRPC_MESSAGE pRpcMessage, 9613 DWORD* pdwStubPhase); 9614 HRESULT STDMETHODCALLTYPE IShellBrowser_OnViewWindowActive_Proxy( 9615 IShellBrowser* This, 9616 IShellView *pshv); 9617 void __RPC_STUB IShellBrowser_OnViewWindowActive_Stub( 9618 IRpcStubBuffer* This, 9619 IRpcChannelBuffer* pRpcChannelBuffer, 9620 PRPC_MESSAGE pRpcMessage, 9621 DWORD* pdwStubPhase); 9622 9623 #endif /* __IShellBrowser_INTERFACE_DEFINED__ */ 9624 9625 9626 typedef IShellBrowser *LPSHELLBROWSER; 9627 9628 /***************************************************************************** 9629 * IProfferService interface 9630 */ 9631 #ifndef __IProfferService_INTERFACE_DEFINED__ 9632 #define __IProfferService_INTERFACE_DEFINED__ 9633 9634 DEFINE_GUID(IID_IProfferService, 0xcb728b20, 0xf786, 0x11ce, 0x92,0xad, 0x00,0xaa,0x00,0xa7,0x4c,0xd0); 9635 #if defined(__cplusplus) && !defined(CINTERFACE) 9636 MIDL_INTERFACE("cb728b20-f786-11ce-92ad-00aa00a74cd0") 9637 IProfferService : public IUnknown 9638 { 9639 virtual HRESULT STDMETHODCALLTYPE ProfferService( 9640 REFGUID guidService, 9641 IServiceProvider *psp, 9642 DWORD *pdwCookie) = 0; 9643 9644 virtual HRESULT STDMETHODCALLTYPE RevokeService( 9645 DWORD dwCookie) = 0; 9646 9647 }; 9648 #ifdef __CRT_UUID_DECL 9649 __CRT_UUID_DECL(IProfferService, 0xcb728b20, 0xf786, 0x11ce, 0x92,0xad, 0x00,0xaa,0x00,0xa7,0x4c,0xd0) 9650 #endif 9651 #else 9652 typedef struct IProfferServiceVtbl { 9653 BEGIN_INTERFACE 9654 9655 /*** IUnknown methods ***/ 9656 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9657 IProfferService* This, 9658 REFIID riid, 9659 void **ppvObject); 9660 9661 ULONG (STDMETHODCALLTYPE *AddRef)( 9662 IProfferService* This); 9663 9664 ULONG (STDMETHODCALLTYPE *Release)( 9665 IProfferService* This); 9666 9667 /*** IProfferService methods ***/ 9668 HRESULT (STDMETHODCALLTYPE *ProfferService)( 9669 IProfferService* This, 9670 REFGUID guidService, 9671 IServiceProvider *psp, 9672 DWORD *pdwCookie); 9673 9674 HRESULT (STDMETHODCALLTYPE *RevokeService)( 9675 IProfferService* This, 9676 DWORD dwCookie); 9677 9678 END_INTERFACE 9679 } IProfferServiceVtbl; 9680 interface IProfferService { 9681 CONST_VTBL IProfferServiceVtbl* lpVtbl; 9682 }; 9683 9684 #ifdef COBJMACROS 9685 #ifndef WIDL_C_INLINE_WRAPPERS 9686 /*** IUnknown methods ***/ 9687 #define IProfferService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9688 #define IProfferService_AddRef(This) (This)->lpVtbl->AddRef(This) 9689 #define IProfferService_Release(This) (This)->lpVtbl->Release(This) 9690 /*** IProfferService methods ***/ 9691 #define IProfferService_ProfferService(This,guidService,psp,pdwCookie) (This)->lpVtbl->ProfferService(This,guidService,psp,pdwCookie) 9692 #define IProfferService_RevokeService(This,dwCookie) (This)->lpVtbl->RevokeService(This,dwCookie) 9693 #else 9694 /*** IUnknown methods ***/ 9695 static FORCEINLINE HRESULT IProfferService_QueryInterface(IProfferService* This,REFIID riid,void **ppvObject) { 9696 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9697 } 9698 static FORCEINLINE ULONG IProfferService_AddRef(IProfferService* This) { 9699 return This->lpVtbl->AddRef(This); 9700 } 9701 static FORCEINLINE ULONG IProfferService_Release(IProfferService* This) { 9702 return This->lpVtbl->Release(This); 9703 } 9704 /*** IProfferService methods ***/ 9705 static FORCEINLINE HRESULT IProfferService_ProfferService(IProfferService* This,REFGUID guidService,IServiceProvider *psp,DWORD *pdwCookie) { 9706 return This->lpVtbl->ProfferService(This,guidService,psp,pdwCookie); 9707 } 9708 static FORCEINLINE HRESULT IProfferService_RevokeService(IProfferService* This,DWORD dwCookie) { 9709 return This->lpVtbl->RevokeService(This,dwCookie); 9710 } 9711 #endif 9712 #endif 9713 9714 #endif 9715 9716 HRESULT STDMETHODCALLTYPE IProfferService_ProfferService_Proxy( 9717 IProfferService* This, 9718 REFGUID guidService, 9719 IServiceProvider *psp, 9720 DWORD *pdwCookie); 9721 void __RPC_STUB IProfferService_ProfferService_Stub( 9722 IRpcStubBuffer* This, 9723 IRpcChannelBuffer* pRpcChannelBuffer, 9724 PRPC_MESSAGE pRpcMessage, 9725 DWORD* pdwStubPhase); 9726 HRESULT STDMETHODCALLTYPE IProfferService_RevokeService_Proxy( 9727 IProfferService* This, 9728 DWORD dwCookie); 9729 void __RPC_STUB IProfferService_RevokeService_Stub( 9730 IRpcStubBuffer* This, 9731 IRpcChannelBuffer* pRpcChannelBuffer, 9732 PRPC_MESSAGE pRpcMessage, 9733 DWORD* pdwStubPhase); 9734 9735 #endif /* __IProfferService_INTERFACE_DEFINED__ */ 9736 9737 9738 #define SID_SProfferService IID_IProfferService 9739 #define STR_DONT_RESOLVE_LINK L"Don't Resolve Link" 9740 #define STR_GET_ASYNC_HANDLER L"GetAsyncHandler" 9741 9742 /***************************************************************************** 9743 * IShellItem interface 9744 */ 9745 #ifndef __IShellItem_INTERFACE_DEFINED__ 9746 #define __IShellItem_INTERFACE_DEFINED__ 9747 9748 typedef enum _SIGDN { 9749 SIGDN_NORMALDISPLAY = 0x0, 9750 SIGDN_PARENTRELATIVEPARSING = (int)0x80018001, 9751 SIGDN_DESKTOPABSOLUTEPARSING = (int)0x80028000, 9752 SIGDN_PARENTRELATIVEEDITING = (int)0x80031001, 9753 SIGDN_DESKTOPABSOLUTEEDITING = (int)0x8004c000, 9754 SIGDN_FILESYSPATH = (int)0x80058000, 9755 SIGDN_URL = (int)0x80068000, 9756 SIGDN_PARENTRELATIVEFORADDRESSBAR = (int)0x8007c001, 9757 SIGDN_PARENTRELATIVE = (int)0x80080001, 9758 SIGDN_PARENTRELATIVEFORUI = (int)0x80094001 9759 } SIGDN; 9760 9761 enum _SICHINTF { 9762 SICHINT_DISPLAY = 0x0, 9763 SICHINT_ALLFIELDS = (int)0x80000000, 9764 SICHINT_CANONICAL = 0x10000000, 9765 SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000 9766 }; 9767 9768 9769 typedef DWORD SICHINTF; 9770 9771 DEFINE_GUID(IID_IShellItem, 0x43826d1e, 0xe718, 0x42ee, 0xbc,0x55, 0xa1,0xe2,0x61,0xc3,0x7b,0xfe); 9772 #if defined(__cplusplus) && !defined(CINTERFACE) 9773 MIDL_INTERFACE("43826d1e-e718-42ee-bc55-a1e261c37bfe") 9774 IShellItem : public IUnknown 9775 { 9776 virtual HRESULT STDMETHODCALLTYPE BindToHandler( 9777 IBindCtx *pbc, 9778 REFGUID bhid, 9779 REFIID riid, 9780 void **ppv) = 0; 9781 9782 virtual HRESULT STDMETHODCALLTYPE GetParent( 9783 IShellItem **ppsi) = 0; 9784 9785 virtual HRESULT STDMETHODCALLTYPE GetDisplayName( 9786 SIGDN sigdnName, 9787 LPWSTR *ppszName) = 0; 9788 9789 virtual HRESULT STDMETHODCALLTYPE GetAttributes( 9790 SFGAOF sfgaoMask, 9791 SFGAOF *psfgaoAttribs) = 0; 9792 9793 virtual HRESULT STDMETHODCALLTYPE Compare( 9794 IShellItem *psi, 9795 SICHINTF hint, 9796 int *piOrder) = 0; 9797 9798 }; 9799 #ifdef __CRT_UUID_DECL 9800 __CRT_UUID_DECL(IShellItem, 0x43826d1e, 0xe718, 0x42ee, 0xbc,0x55, 0xa1,0xe2,0x61,0xc3,0x7b,0xfe) 9801 #endif 9802 #else 9803 typedef struct IShellItemVtbl { 9804 BEGIN_INTERFACE 9805 9806 /*** IUnknown methods ***/ 9807 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9808 IShellItem* This, 9809 REFIID riid, 9810 void **ppvObject); 9811 9812 ULONG (STDMETHODCALLTYPE *AddRef)( 9813 IShellItem* This); 9814 9815 ULONG (STDMETHODCALLTYPE *Release)( 9816 IShellItem* This); 9817 9818 /*** IShellItem methods ***/ 9819 HRESULT (STDMETHODCALLTYPE *BindToHandler)( 9820 IShellItem* This, 9821 IBindCtx *pbc, 9822 REFGUID bhid, 9823 REFIID riid, 9824 void **ppv); 9825 9826 HRESULT (STDMETHODCALLTYPE *GetParent)( 9827 IShellItem* This, 9828 IShellItem **ppsi); 9829 9830 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 9831 IShellItem* This, 9832 SIGDN sigdnName, 9833 LPWSTR *ppszName); 9834 9835 HRESULT (STDMETHODCALLTYPE *GetAttributes)( 9836 IShellItem* This, 9837 SFGAOF sfgaoMask, 9838 SFGAOF *psfgaoAttribs); 9839 9840 HRESULT (STDMETHODCALLTYPE *Compare)( 9841 IShellItem* This, 9842 IShellItem *psi, 9843 SICHINTF hint, 9844 int *piOrder); 9845 9846 END_INTERFACE 9847 } IShellItemVtbl; 9848 interface IShellItem { 9849 CONST_VTBL IShellItemVtbl* lpVtbl; 9850 }; 9851 9852 #ifdef COBJMACROS 9853 #ifndef WIDL_C_INLINE_WRAPPERS 9854 /*** IUnknown methods ***/ 9855 #define IShellItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9856 #define IShellItem_AddRef(This) (This)->lpVtbl->AddRef(This) 9857 #define IShellItem_Release(This) (This)->lpVtbl->Release(This) 9858 /*** IShellItem methods ***/ 9859 #define IShellItem_BindToHandler(This,pbc,bhid,riid,ppv) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv) 9860 #define IShellItem_GetParent(This,ppsi) (This)->lpVtbl->GetParent(This,ppsi) 9861 #define IShellItem_GetDisplayName(This,sigdnName,ppszName) (This)->lpVtbl->GetDisplayName(This,sigdnName,ppszName) 9862 #define IShellItem_GetAttributes(This,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs) 9863 #define IShellItem_Compare(This,psi,hint,piOrder) (This)->lpVtbl->Compare(This,psi,hint,piOrder) 9864 #else 9865 /*** IUnknown methods ***/ 9866 static FORCEINLINE HRESULT IShellItem_QueryInterface(IShellItem* This,REFIID riid,void **ppvObject) { 9867 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9868 } 9869 static FORCEINLINE ULONG IShellItem_AddRef(IShellItem* This) { 9870 return This->lpVtbl->AddRef(This); 9871 } 9872 static FORCEINLINE ULONG IShellItem_Release(IShellItem* This) { 9873 return This->lpVtbl->Release(This); 9874 } 9875 /*** IShellItem methods ***/ 9876 static FORCEINLINE HRESULT IShellItem_BindToHandler(IShellItem* This,IBindCtx *pbc,REFGUID bhid,REFIID riid,void **ppv) { 9877 return This->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv); 9878 } 9879 static FORCEINLINE HRESULT IShellItem_GetParent(IShellItem* This,IShellItem **ppsi) { 9880 return This->lpVtbl->GetParent(This,ppsi); 9881 } 9882 static FORCEINLINE HRESULT IShellItem_GetDisplayName(IShellItem* This,SIGDN sigdnName,LPWSTR *ppszName) { 9883 return This->lpVtbl->GetDisplayName(This,sigdnName,ppszName); 9884 } 9885 static FORCEINLINE HRESULT IShellItem_GetAttributes(IShellItem* This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) { 9886 return This->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs); 9887 } 9888 static FORCEINLINE HRESULT IShellItem_Compare(IShellItem* This,IShellItem *psi,SICHINTF hint,int *piOrder) { 9889 return This->lpVtbl->Compare(This,psi,hint,piOrder); 9890 } 9891 #endif 9892 #endif 9893 9894 #endif 9895 9896 HRESULT STDMETHODCALLTYPE IShellItem_BindToHandler_Proxy( 9897 IShellItem* This, 9898 IBindCtx *pbc, 9899 REFGUID bhid, 9900 REFIID riid, 9901 void **ppv); 9902 void __RPC_STUB IShellItem_BindToHandler_Stub( 9903 IRpcStubBuffer* This, 9904 IRpcChannelBuffer* pRpcChannelBuffer, 9905 PRPC_MESSAGE pRpcMessage, 9906 DWORD* pdwStubPhase); 9907 HRESULT STDMETHODCALLTYPE IShellItem_GetParent_Proxy( 9908 IShellItem* This, 9909 IShellItem **ppsi); 9910 void __RPC_STUB IShellItem_GetParent_Stub( 9911 IRpcStubBuffer* This, 9912 IRpcChannelBuffer* pRpcChannelBuffer, 9913 PRPC_MESSAGE pRpcMessage, 9914 DWORD* pdwStubPhase); 9915 HRESULT STDMETHODCALLTYPE IShellItem_GetDisplayName_Proxy( 9916 IShellItem* This, 9917 SIGDN sigdnName, 9918 LPWSTR *ppszName); 9919 void __RPC_STUB IShellItem_GetDisplayName_Stub( 9920 IRpcStubBuffer* This, 9921 IRpcChannelBuffer* pRpcChannelBuffer, 9922 PRPC_MESSAGE pRpcMessage, 9923 DWORD* pdwStubPhase); 9924 HRESULT STDMETHODCALLTYPE IShellItem_GetAttributes_Proxy( 9925 IShellItem* This, 9926 SFGAOF sfgaoMask, 9927 SFGAOF *psfgaoAttribs); 9928 void __RPC_STUB IShellItem_GetAttributes_Stub( 9929 IRpcStubBuffer* This, 9930 IRpcChannelBuffer* pRpcChannelBuffer, 9931 PRPC_MESSAGE pRpcMessage, 9932 DWORD* pdwStubPhase); 9933 HRESULT STDMETHODCALLTYPE IShellItem_Compare_Proxy( 9934 IShellItem* This, 9935 IShellItem *psi, 9936 SICHINTF hint, 9937 int *piOrder); 9938 void __RPC_STUB IShellItem_Compare_Stub( 9939 IRpcStubBuffer* This, 9940 IRpcChannelBuffer* pRpcChannelBuffer, 9941 PRPC_MESSAGE pRpcMessage, 9942 DWORD* pdwStubPhase); 9943 9944 #endif /* __IShellItem_INTERFACE_DEFINED__ */ 9945 9946 9947 SHSTDAPI_(PIDLIST_ABSOLUTE) SHSimpleIDListFromPath(PCWSTR pszPath); 9948 9949 #if _WIN32_IE >= _WIN32_IE_IE70 9950 SHSTDAPI SHCreateItemFromIDList(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv); 9951 SHSTDAPI SHCreateItemFromParsingName(PCWSTR pszPath, IBindCtx *pbc, REFIID riid, void **ppv); 9952 SHSTDAPI SHCreateItemWithParent(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psfParent, PCUITEMID_CHILD pidl, REFIID riid, void **ppvItem); 9953 SHSTDAPI SHCreateItemFromRelativeName(IShellItem *psiParent, PCWSTR pszName, IBindCtx *pbc, REFIID riid, void **ppv); 9954 #endif 9955 #if NTDDI_VERSION >= NTDDI_VISTA 9956 SHSTDAPI SHCreateItemInKnownFolder(REFKNOWNFOLDERID kfid, DWORD dwKFFlags, PCWSTR pszItem, REFIID riid, void **ppv); 9957 SHSTDAPI SHGetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl); 9958 SHSTDAPI SHGetItemFromObject(IUnknown *punk, REFIID riid, void **ppv); 9959 SHSTDAPI SHGetPropertyStoreFromIDList(PCIDLIST_ABSOLUTE pidl, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv); 9960 SHSTDAPI SHGetPropertyStoreFromParsingName(PCWSTR pszPath, IBindCtx *pbc, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv); 9961 SHSTDAPI SHGetNameFromIDList(PCIDLIST_ABSOLUTE pidl, SIGDN sigdnName, PWSTR *ppszName); 9962 #endif 9963 #if NTDDI_VERSION >= NTDDI_WIN7 9964 typedef enum DATAOBJ_GET_ITEM_FLAGS { 9965 DOGIF_DEFAULT = 0x0, 9966 DOGIF_TRAVERSE_LINK = 0x1, 9967 DOGIF_NO_HDROP = 0x2, 9968 DOGIF_NO_URL = 0x4, 9969 DOGIF_ONLY_IF_ONE = 0x8 9970 } DATAOBJ_GET_ITEM_FLAGS; 9971 9972 DEFINE_ENUM_FLAG_OPERATORS(DATAOBJ_GET_ITEM_FLAGS) 9973 9974 STDAPI SHGetItemFromDataObject(IDataObject *pdtobj, DATAOBJ_GET_ITEM_FLAGS dwFlags, REFIID riid, void **ppv); 9975 #endif 9976 9977 #define STR_GPS_HANDLERPROPERTIESONLY L"GPS_HANDLERPROPERTIESONLY" 9978 #define STR_GPS_FASTPROPERTIESONLY L"GPS_FASTPROPERTIESONLY" 9979 #define STR_GPS_OPENSLOWITEM L"GPS_OPENSLOWITEM" 9980 #define STR_GPS_DELAYCREATION L"GPS_DELAYCREATION" 9981 #define STR_GPS_BESTEFFORT L"GPS_BESTEFFORT" 9982 #define STR_GPS_NO_OPLOCK L"GPS_NO_OPLOCK" 9983 9984 /***************************************************************************** 9985 * IShellItem2 interface 9986 */ 9987 #ifndef __IShellItem2_INTERFACE_DEFINED__ 9988 #define __IShellItem2_INTERFACE_DEFINED__ 9989 9990 DEFINE_GUID(IID_IShellItem2, 0x7e9fb0d3, 0x919f, 0x4307, 0xab,0x2e, 0x9b,0x18,0x60,0x31,0x0c,0x93); 9991 #if defined(__cplusplus) && !defined(CINTERFACE) 9992 MIDL_INTERFACE("7e9fb0d3-919f-4307-ab2e-9b1860310c93") 9993 IShellItem2 : public IShellItem 9994 { 9995 virtual HRESULT STDMETHODCALLTYPE GetPropertyStore( 9996 GETPROPERTYSTOREFLAGS flags, 9997 REFIID riid, 9998 void **ppv) = 0; 9999 10000 virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreWithCreateObject( 10001 GETPROPERTYSTOREFLAGS flags, 10002 IUnknown *punkCreateObject, 10003 REFIID riid, 10004 void **ppv) = 0; 10005 10006 virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreForKeys( 10007 const PROPERTYKEY *rgKeys, 10008 UINT cKeys, 10009 GETPROPERTYSTOREFLAGS flags, 10010 REFIID riid, 10011 void **ppv) = 0; 10012 10013 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionList( 10014 REFPROPERTYKEY keyType, 10015 REFIID riid, 10016 void **ppv) = 0; 10017 10018 virtual HRESULT STDMETHODCALLTYPE Update( 10019 IBindCtx *pbc) = 0; 10020 10021 virtual HRESULT STDMETHODCALLTYPE GetProperty( 10022 REFPROPERTYKEY key, 10023 PROPVARIANT *ppropvar) = 0; 10024 10025 virtual HRESULT STDMETHODCALLTYPE GetCLSID( 10026 REFPROPERTYKEY key, 10027 CLSID *pclsid) = 0; 10028 10029 virtual HRESULT STDMETHODCALLTYPE GetFileTime( 10030 REFPROPERTYKEY key, 10031 FILETIME *pft) = 0; 10032 10033 virtual HRESULT STDMETHODCALLTYPE GetInt32( 10034 REFPROPERTYKEY key, 10035 int *pi) = 0; 10036 10037 virtual HRESULT STDMETHODCALLTYPE GetString( 10038 REFPROPERTYKEY key, 10039 LPWSTR *ppsz) = 0; 10040 10041 virtual HRESULT STDMETHODCALLTYPE GetUInt32( 10042 REFPROPERTYKEY key, 10043 ULONG *pui) = 0; 10044 10045 virtual HRESULT STDMETHODCALLTYPE GetUInt64( 10046 REFPROPERTYKEY key, 10047 ULONGLONG *pull) = 0; 10048 10049 virtual HRESULT STDMETHODCALLTYPE GetBool( 10050 REFPROPERTYKEY key, 10051 WINBOOL *pf) = 0; 10052 10053 }; 10054 #ifdef __CRT_UUID_DECL 10055 __CRT_UUID_DECL(IShellItem2, 0x7e9fb0d3, 0x919f, 0x4307, 0xab,0x2e, 0x9b,0x18,0x60,0x31,0x0c,0x93) 10056 #endif 10057 #else 10058 typedef struct IShellItem2Vtbl { 10059 BEGIN_INTERFACE 10060 10061 /*** IUnknown methods ***/ 10062 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10063 IShellItem2* This, 10064 REFIID riid, 10065 void **ppvObject); 10066 10067 ULONG (STDMETHODCALLTYPE *AddRef)( 10068 IShellItem2* This); 10069 10070 ULONG (STDMETHODCALLTYPE *Release)( 10071 IShellItem2* This); 10072 10073 /*** IShellItem methods ***/ 10074 HRESULT (STDMETHODCALLTYPE *BindToHandler)( 10075 IShellItem2* This, 10076 IBindCtx *pbc, 10077 REFGUID bhid, 10078 REFIID riid, 10079 void **ppv); 10080 10081 HRESULT (STDMETHODCALLTYPE *GetParent)( 10082 IShellItem2* This, 10083 IShellItem **ppsi); 10084 10085 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 10086 IShellItem2* This, 10087 SIGDN sigdnName, 10088 LPWSTR *ppszName); 10089 10090 HRESULT (STDMETHODCALLTYPE *GetAttributes)( 10091 IShellItem2* This, 10092 SFGAOF sfgaoMask, 10093 SFGAOF *psfgaoAttribs); 10094 10095 HRESULT (STDMETHODCALLTYPE *Compare)( 10096 IShellItem2* This, 10097 IShellItem *psi, 10098 SICHINTF hint, 10099 int *piOrder); 10100 10101 /*** IShellItem2 methods ***/ 10102 HRESULT (STDMETHODCALLTYPE *GetPropertyStore)( 10103 IShellItem2* This, 10104 GETPROPERTYSTOREFLAGS flags, 10105 REFIID riid, 10106 void **ppv); 10107 10108 HRESULT (STDMETHODCALLTYPE *GetPropertyStoreWithCreateObject)( 10109 IShellItem2* This, 10110 GETPROPERTYSTOREFLAGS flags, 10111 IUnknown *punkCreateObject, 10112 REFIID riid, 10113 void **ppv); 10114 10115 HRESULT (STDMETHODCALLTYPE *GetPropertyStoreForKeys)( 10116 IShellItem2* This, 10117 const PROPERTYKEY *rgKeys, 10118 UINT cKeys, 10119 GETPROPERTYSTOREFLAGS flags, 10120 REFIID riid, 10121 void **ppv); 10122 10123 HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionList)( 10124 IShellItem2* This, 10125 REFPROPERTYKEY keyType, 10126 REFIID riid, 10127 void **ppv); 10128 10129 HRESULT (STDMETHODCALLTYPE *Update)( 10130 IShellItem2* This, 10131 IBindCtx *pbc); 10132 10133 HRESULT (STDMETHODCALLTYPE *GetProperty)( 10134 IShellItem2* This, 10135 REFPROPERTYKEY key, 10136 PROPVARIANT *ppropvar); 10137 10138 HRESULT (STDMETHODCALLTYPE *GetCLSID)( 10139 IShellItem2* This, 10140 REFPROPERTYKEY key, 10141 CLSID *pclsid); 10142 10143 HRESULT (STDMETHODCALLTYPE *GetFileTime)( 10144 IShellItem2* This, 10145 REFPROPERTYKEY key, 10146 FILETIME *pft); 10147 10148 HRESULT (STDMETHODCALLTYPE *GetInt32)( 10149 IShellItem2* This, 10150 REFPROPERTYKEY key, 10151 int *pi); 10152 10153 HRESULT (STDMETHODCALLTYPE *GetString)( 10154 IShellItem2* This, 10155 REFPROPERTYKEY key, 10156 LPWSTR *ppsz); 10157 10158 HRESULT (STDMETHODCALLTYPE *GetUInt32)( 10159 IShellItem2* This, 10160 REFPROPERTYKEY key, 10161 ULONG *pui); 10162 10163 HRESULT (STDMETHODCALLTYPE *GetUInt64)( 10164 IShellItem2* This, 10165 REFPROPERTYKEY key, 10166 ULONGLONG *pull); 10167 10168 HRESULT (STDMETHODCALLTYPE *GetBool)( 10169 IShellItem2* This, 10170 REFPROPERTYKEY key, 10171 WINBOOL *pf); 10172 10173 END_INTERFACE 10174 } IShellItem2Vtbl; 10175 interface IShellItem2 { 10176 CONST_VTBL IShellItem2Vtbl* lpVtbl; 10177 }; 10178 10179 #ifdef COBJMACROS 10180 #ifndef WIDL_C_INLINE_WRAPPERS 10181 /*** IUnknown methods ***/ 10182 #define IShellItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10183 #define IShellItem2_AddRef(This) (This)->lpVtbl->AddRef(This) 10184 #define IShellItem2_Release(This) (This)->lpVtbl->Release(This) 10185 /*** IShellItem methods ***/ 10186 #define IShellItem2_BindToHandler(This,pbc,bhid,riid,ppv) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv) 10187 #define IShellItem2_GetParent(This,ppsi) (This)->lpVtbl->GetParent(This,ppsi) 10188 #define IShellItem2_GetDisplayName(This,sigdnName,ppszName) (This)->lpVtbl->GetDisplayName(This,sigdnName,ppszName) 10189 #define IShellItem2_GetAttributes(This,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs) 10190 #define IShellItem2_Compare(This,psi,hint,piOrder) (This)->lpVtbl->Compare(This,psi,hint,piOrder) 10191 /*** IShellItem2 methods ***/ 10192 #define IShellItem2_GetPropertyStore(This,flags,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,riid,ppv) 10193 #define IShellItem2_GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv) (This)->lpVtbl->GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv) 10194 #define IShellItem2_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) (This)->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) 10195 #define IShellItem2_GetPropertyDescriptionList(This,keyType,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv) 10196 #define IShellItem2_Update(This,pbc) (This)->lpVtbl->Update(This,pbc) 10197 #define IShellItem2_GetProperty(This,key,ppropvar) (This)->lpVtbl->GetProperty(This,key,ppropvar) 10198 #define IShellItem2_GetCLSID(This,key,pclsid) (This)->lpVtbl->GetCLSID(This,key,pclsid) 10199 #define IShellItem2_GetFileTime(This,key,pft) (This)->lpVtbl->GetFileTime(This,key,pft) 10200 #define IShellItem2_GetInt32(This,key,pi) (This)->lpVtbl->GetInt32(This,key,pi) 10201 #define IShellItem2_GetString(This,key,ppsz) (This)->lpVtbl->GetString(This,key,ppsz) 10202 #define IShellItem2_GetUInt32(This,key,pui) (This)->lpVtbl->GetUInt32(This,key,pui) 10203 #define IShellItem2_GetUInt64(This,key,pull) (This)->lpVtbl->GetUInt64(This,key,pull) 10204 #define IShellItem2_GetBool(This,key,pf) (This)->lpVtbl->GetBool(This,key,pf) 10205 #else 10206 /*** IUnknown methods ***/ 10207 static FORCEINLINE HRESULT IShellItem2_QueryInterface(IShellItem2* This,REFIID riid,void **ppvObject) { 10208 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10209 } 10210 static FORCEINLINE ULONG IShellItem2_AddRef(IShellItem2* This) { 10211 return This->lpVtbl->AddRef(This); 10212 } 10213 static FORCEINLINE ULONG IShellItem2_Release(IShellItem2* This) { 10214 return This->lpVtbl->Release(This); 10215 } 10216 /*** IShellItem methods ***/ 10217 static FORCEINLINE HRESULT IShellItem2_BindToHandler(IShellItem2* This,IBindCtx *pbc,REFGUID bhid,REFIID riid,void **ppv) { 10218 return This->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv); 10219 } 10220 static FORCEINLINE HRESULT IShellItem2_GetParent(IShellItem2* This,IShellItem **ppsi) { 10221 return This->lpVtbl->GetParent(This,ppsi); 10222 } 10223 static FORCEINLINE HRESULT IShellItem2_GetDisplayName(IShellItem2* This,SIGDN sigdnName,LPWSTR *ppszName) { 10224 return This->lpVtbl->GetDisplayName(This,sigdnName,ppszName); 10225 } 10226 static FORCEINLINE HRESULT IShellItem2_GetAttributes(IShellItem2* This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) { 10227 return This->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs); 10228 } 10229 static FORCEINLINE HRESULT IShellItem2_Compare(IShellItem2* This,IShellItem *psi,SICHINTF hint,int *piOrder) { 10230 return This->lpVtbl->Compare(This,psi,hint,piOrder); 10231 } 10232 /*** IShellItem2 methods ***/ 10233 static FORCEINLINE HRESULT IShellItem2_GetPropertyStore(IShellItem2* This,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) { 10234 return This->lpVtbl->GetPropertyStore(This,flags,riid,ppv); 10235 } 10236 static FORCEINLINE HRESULT IShellItem2_GetPropertyStoreWithCreateObject(IShellItem2* This,GETPROPERTYSTOREFLAGS flags,IUnknown *punkCreateObject,REFIID riid,void **ppv) { 10237 return This->lpVtbl->GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv); 10238 } 10239 static FORCEINLINE HRESULT IShellItem2_GetPropertyStoreForKeys(IShellItem2* This,const PROPERTYKEY *rgKeys,UINT cKeys,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) { 10240 return This->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv); 10241 } 10242 static FORCEINLINE HRESULT IShellItem2_GetPropertyDescriptionList(IShellItem2* This,REFPROPERTYKEY keyType,REFIID riid,void **ppv) { 10243 return This->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv); 10244 } 10245 static FORCEINLINE HRESULT IShellItem2_Update(IShellItem2* This,IBindCtx *pbc) { 10246 return This->lpVtbl->Update(This,pbc); 10247 } 10248 static FORCEINLINE HRESULT IShellItem2_GetProperty(IShellItem2* This,REFPROPERTYKEY key,PROPVARIANT *ppropvar) { 10249 return This->lpVtbl->GetProperty(This,key,ppropvar); 10250 } 10251 static FORCEINLINE HRESULT IShellItem2_GetCLSID(IShellItem2* This,REFPROPERTYKEY key,CLSID *pclsid) { 10252 return This->lpVtbl->GetCLSID(This,key,pclsid); 10253 } 10254 static FORCEINLINE HRESULT IShellItem2_GetFileTime(IShellItem2* This,REFPROPERTYKEY key,FILETIME *pft) { 10255 return This->lpVtbl->GetFileTime(This,key,pft); 10256 } 10257 static FORCEINLINE HRESULT IShellItem2_GetInt32(IShellItem2* This,REFPROPERTYKEY key,int *pi) { 10258 return This->lpVtbl->GetInt32(This,key,pi); 10259 } 10260 static FORCEINLINE HRESULT IShellItem2_GetString(IShellItem2* This,REFPROPERTYKEY key,LPWSTR *ppsz) { 10261 return This->lpVtbl->GetString(This,key,ppsz); 10262 } 10263 static FORCEINLINE HRESULT IShellItem2_GetUInt32(IShellItem2* This,REFPROPERTYKEY key,ULONG *pui) { 10264 return This->lpVtbl->GetUInt32(This,key,pui); 10265 } 10266 static FORCEINLINE HRESULT IShellItem2_GetUInt64(IShellItem2* This,REFPROPERTYKEY key,ULONGLONG *pull) { 10267 return This->lpVtbl->GetUInt64(This,key,pull); 10268 } 10269 static FORCEINLINE HRESULT IShellItem2_GetBool(IShellItem2* This,REFPROPERTYKEY key,WINBOOL *pf) { 10270 return This->lpVtbl->GetBool(This,key,pf); 10271 } 10272 #endif 10273 #endif 10274 10275 #endif 10276 10277 HRESULT STDMETHODCALLTYPE IShellItem2_GetPropertyStore_Proxy( 10278 IShellItem2* This, 10279 GETPROPERTYSTOREFLAGS flags, 10280 REFIID riid, 10281 void **ppv); 10282 void __RPC_STUB IShellItem2_GetPropertyStore_Stub( 10283 IRpcStubBuffer* This, 10284 IRpcChannelBuffer* pRpcChannelBuffer, 10285 PRPC_MESSAGE pRpcMessage, 10286 DWORD* pdwStubPhase); 10287 HRESULT STDMETHODCALLTYPE IShellItem2_GetPropertyStoreWithCreateObject_Proxy( 10288 IShellItem2* This, 10289 GETPROPERTYSTOREFLAGS flags, 10290 IUnknown *punkCreateObject, 10291 REFIID riid, 10292 void **ppv); 10293 void __RPC_STUB IShellItem2_GetPropertyStoreWithCreateObject_Stub( 10294 IRpcStubBuffer* This, 10295 IRpcChannelBuffer* pRpcChannelBuffer, 10296 PRPC_MESSAGE pRpcMessage, 10297 DWORD* pdwStubPhase); 10298 HRESULT STDMETHODCALLTYPE IShellItem2_GetPropertyStoreForKeys_Proxy( 10299 IShellItem2* This, 10300 const PROPERTYKEY *rgKeys, 10301 UINT cKeys, 10302 GETPROPERTYSTOREFLAGS flags, 10303 REFIID riid, 10304 void **ppv); 10305 void __RPC_STUB IShellItem2_GetPropertyStoreForKeys_Stub( 10306 IRpcStubBuffer* This, 10307 IRpcChannelBuffer* pRpcChannelBuffer, 10308 PRPC_MESSAGE pRpcMessage, 10309 DWORD* pdwStubPhase); 10310 HRESULT STDMETHODCALLTYPE IShellItem2_GetPropertyDescriptionList_Proxy( 10311 IShellItem2* This, 10312 REFPROPERTYKEY keyType, 10313 REFIID riid, 10314 void **ppv); 10315 void __RPC_STUB IShellItem2_GetPropertyDescriptionList_Stub( 10316 IRpcStubBuffer* This, 10317 IRpcChannelBuffer* pRpcChannelBuffer, 10318 PRPC_MESSAGE pRpcMessage, 10319 DWORD* pdwStubPhase); 10320 HRESULT STDMETHODCALLTYPE IShellItem2_Update_Proxy( 10321 IShellItem2* This, 10322 IBindCtx *pbc); 10323 void __RPC_STUB IShellItem2_Update_Stub( 10324 IRpcStubBuffer* This, 10325 IRpcChannelBuffer* pRpcChannelBuffer, 10326 PRPC_MESSAGE pRpcMessage, 10327 DWORD* pdwStubPhase); 10328 HRESULT STDMETHODCALLTYPE IShellItem2_GetProperty_Proxy( 10329 IShellItem2* This, 10330 REFPROPERTYKEY key, 10331 PROPVARIANT *ppropvar); 10332 void __RPC_STUB IShellItem2_GetProperty_Stub( 10333 IRpcStubBuffer* This, 10334 IRpcChannelBuffer* pRpcChannelBuffer, 10335 PRPC_MESSAGE pRpcMessage, 10336 DWORD* pdwStubPhase); 10337 HRESULT STDMETHODCALLTYPE IShellItem2_GetCLSID_Proxy( 10338 IShellItem2* This, 10339 REFPROPERTYKEY key, 10340 CLSID *pclsid); 10341 void __RPC_STUB IShellItem2_GetCLSID_Stub( 10342 IRpcStubBuffer* This, 10343 IRpcChannelBuffer* pRpcChannelBuffer, 10344 PRPC_MESSAGE pRpcMessage, 10345 DWORD* pdwStubPhase); 10346 HRESULT STDMETHODCALLTYPE IShellItem2_GetFileTime_Proxy( 10347 IShellItem2* This, 10348 REFPROPERTYKEY key, 10349 FILETIME *pft); 10350 void __RPC_STUB IShellItem2_GetFileTime_Stub( 10351 IRpcStubBuffer* This, 10352 IRpcChannelBuffer* pRpcChannelBuffer, 10353 PRPC_MESSAGE pRpcMessage, 10354 DWORD* pdwStubPhase); 10355 HRESULT STDMETHODCALLTYPE IShellItem2_GetInt32_Proxy( 10356 IShellItem2* This, 10357 REFPROPERTYKEY key, 10358 int *pi); 10359 void __RPC_STUB IShellItem2_GetInt32_Stub( 10360 IRpcStubBuffer* This, 10361 IRpcChannelBuffer* pRpcChannelBuffer, 10362 PRPC_MESSAGE pRpcMessage, 10363 DWORD* pdwStubPhase); 10364 HRESULT STDMETHODCALLTYPE IShellItem2_GetString_Proxy( 10365 IShellItem2* This, 10366 REFPROPERTYKEY key, 10367 LPWSTR *ppsz); 10368 void __RPC_STUB IShellItem2_GetString_Stub( 10369 IRpcStubBuffer* This, 10370 IRpcChannelBuffer* pRpcChannelBuffer, 10371 PRPC_MESSAGE pRpcMessage, 10372 DWORD* pdwStubPhase); 10373 HRESULT STDMETHODCALLTYPE IShellItem2_GetUInt32_Proxy( 10374 IShellItem2* This, 10375 REFPROPERTYKEY key, 10376 ULONG *pui); 10377 void __RPC_STUB IShellItem2_GetUInt32_Stub( 10378 IRpcStubBuffer* This, 10379 IRpcChannelBuffer* pRpcChannelBuffer, 10380 PRPC_MESSAGE pRpcMessage, 10381 DWORD* pdwStubPhase); 10382 HRESULT STDMETHODCALLTYPE IShellItem2_GetUInt64_Proxy( 10383 IShellItem2* This, 10384 REFPROPERTYKEY key, 10385 ULONGLONG *pull); 10386 void __RPC_STUB IShellItem2_GetUInt64_Stub( 10387 IRpcStubBuffer* This, 10388 IRpcChannelBuffer* pRpcChannelBuffer, 10389 PRPC_MESSAGE pRpcMessage, 10390 DWORD* pdwStubPhase); 10391 HRESULT STDMETHODCALLTYPE IShellItem2_GetBool_Proxy( 10392 IShellItem2* This, 10393 REFPROPERTYKEY key, 10394 WINBOOL *pf); 10395 void __RPC_STUB IShellItem2_GetBool_Stub( 10396 IRpcStubBuffer* This, 10397 IRpcChannelBuffer* pRpcChannelBuffer, 10398 PRPC_MESSAGE pRpcMessage, 10399 DWORD* pdwStubPhase); 10400 10401 #endif /* __IShellItem2_INTERFACE_DEFINED__ */ 10402 10403 10404 enum _SIIGBF { 10405 SIIGBF_RESIZETOFIT = 0x0, 10406 SIIGBF_BIGGERSIZEOK = 0x1, 10407 SIIGBF_MEMORYONLY = 0x2, 10408 SIIGBF_ICONONLY = 0x4, 10409 SIIGBF_THUMBNAILONLY = 0x8, 10410 SIIGBF_INCACHEONLY = 0x10, 10411 SIIGBF_CROPTOSQUARE = 0x20, 10412 SIIGBF_WIDETHUMBNAILS = 0x40, 10413 SIIGBF_ICONBACKGROUND = 0x80, 10414 SIIGBF_SCALEUP = 0x100 10415 }; 10416 10417 10418 typedef int SIIGBF; 10419 10420 /***************************************************************************** 10421 * IShellItemImageFactory interface 10422 */ 10423 #ifndef __IShellItemImageFactory_INTERFACE_DEFINED__ 10424 #define __IShellItemImageFactory_INTERFACE_DEFINED__ 10425 10426 DEFINE_GUID(IID_IShellItemImageFactory, 0xbcc18b79, 0xba16, 0x442f, 0x80,0xc4, 0x8a,0x59,0xc3,0x0c,0x46,0x3b); 10427 #if defined(__cplusplus) && !defined(CINTERFACE) 10428 MIDL_INTERFACE("bcc18b79-ba16-442f-80c4-8a59c30c463b") 10429 IShellItemImageFactory : public IUnknown 10430 { 10431 virtual HRESULT STDMETHODCALLTYPE GetImage( 10432 SIZE size, 10433 SIIGBF flags, 10434 HBITMAP *phbm) = 0; 10435 10436 }; 10437 #ifdef __CRT_UUID_DECL 10438 __CRT_UUID_DECL(IShellItemImageFactory, 0xbcc18b79, 0xba16, 0x442f, 0x80,0xc4, 0x8a,0x59,0xc3,0x0c,0x46,0x3b) 10439 #endif 10440 #else 10441 typedef struct IShellItemImageFactoryVtbl { 10442 BEGIN_INTERFACE 10443 10444 /*** IUnknown methods ***/ 10445 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10446 IShellItemImageFactory* This, 10447 REFIID riid, 10448 void **ppvObject); 10449 10450 ULONG (STDMETHODCALLTYPE *AddRef)( 10451 IShellItemImageFactory* This); 10452 10453 ULONG (STDMETHODCALLTYPE *Release)( 10454 IShellItemImageFactory* This); 10455 10456 /*** IShellItemImageFactory methods ***/ 10457 HRESULT (STDMETHODCALLTYPE *GetImage)( 10458 IShellItemImageFactory* This, 10459 SIZE size, 10460 SIIGBF flags, 10461 HBITMAP *phbm); 10462 10463 END_INTERFACE 10464 } IShellItemImageFactoryVtbl; 10465 interface IShellItemImageFactory { 10466 CONST_VTBL IShellItemImageFactoryVtbl* lpVtbl; 10467 }; 10468 10469 #ifdef COBJMACROS 10470 #ifndef WIDL_C_INLINE_WRAPPERS 10471 /*** IUnknown methods ***/ 10472 #define IShellItemImageFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10473 #define IShellItemImageFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 10474 #define IShellItemImageFactory_Release(This) (This)->lpVtbl->Release(This) 10475 /*** IShellItemImageFactory methods ***/ 10476 #define IShellItemImageFactory_GetImage(This,size,flags,phbm) (This)->lpVtbl->GetImage(This,size,flags,phbm) 10477 #else 10478 /*** IUnknown methods ***/ 10479 static FORCEINLINE HRESULT IShellItemImageFactory_QueryInterface(IShellItemImageFactory* This,REFIID riid,void **ppvObject) { 10480 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10481 } 10482 static FORCEINLINE ULONG IShellItemImageFactory_AddRef(IShellItemImageFactory* This) { 10483 return This->lpVtbl->AddRef(This); 10484 } 10485 static FORCEINLINE ULONG IShellItemImageFactory_Release(IShellItemImageFactory* This) { 10486 return This->lpVtbl->Release(This); 10487 } 10488 /*** IShellItemImageFactory methods ***/ 10489 static FORCEINLINE HRESULT IShellItemImageFactory_GetImage(IShellItemImageFactory* This,SIZE size,SIIGBF flags,HBITMAP *phbm) { 10490 return This->lpVtbl->GetImage(This,size,flags,phbm); 10491 } 10492 #endif 10493 #endif 10494 10495 #endif 10496 10497 HRESULT STDMETHODCALLTYPE IShellItemImageFactory_GetImage_Proxy( 10498 IShellItemImageFactory* This, 10499 SIZE size, 10500 SIIGBF flags, 10501 HBITMAP *phbm); 10502 void __RPC_STUB IShellItemImageFactory_GetImage_Stub( 10503 IRpcStubBuffer* This, 10504 IRpcChannelBuffer* pRpcChannelBuffer, 10505 PRPC_MESSAGE pRpcMessage, 10506 DWORD* pdwStubPhase); 10507 10508 #endif /* __IShellItemImageFactory_INTERFACE_DEFINED__ */ 10509 10510 10511 /***************************************************************************** 10512 * IUserAccountChangeCallback interface 10513 */ 10514 #ifndef __IUserAccountChangeCallback_INTERFACE_DEFINED__ 10515 #define __IUserAccountChangeCallback_INTERFACE_DEFINED__ 10516 10517 DEFINE_GUID(IID_IUserAccountChangeCallback, 0xa561e69a, 0xb4b8, 0x4113, 0x91,0xa5, 0x64,0xc6,0xbc,0xca,0x34,0x30); 10518 #if defined(__cplusplus) && !defined(CINTERFACE) 10519 MIDL_INTERFACE("a561e69a-b4b8-4113-91a5-64c6bcca3430") 10520 IUserAccountChangeCallback : public IUnknown 10521 { 10522 virtual HRESULT STDMETHODCALLTYPE OnPictureChange( 10523 LPCWSTR pszUserName) = 0; 10524 10525 }; 10526 #ifdef __CRT_UUID_DECL 10527 __CRT_UUID_DECL(IUserAccountChangeCallback, 0xa561e69a, 0xb4b8, 0x4113, 0x91,0xa5, 0x64,0xc6,0xbc,0xca,0x34,0x30) 10528 #endif 10529 #else 10530 typedef struct IUserAccountChangeCallbackVtbl { 10531 BEGIN_INTERFACE 10532 10533 /*** IUnknown methods ***/ 10534 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10535 IUserAccountChangeCallback* This, 10536 REFIID riid, 10537 void **ppvObject); 10538 10539 ULONG (STDMETHODCALLTYPE *AddRef)( 10540 IUserAccountChangeCallback* This); 10541 10542 ULONG (STDMETHODCALLTYPE *Release)( 10543 IUserAccountChangeCallback* This); 10544 10545 /*** IUserAccountChangeCallback methods ***/ 10546 HRESULT (STDMETHODCALLTYPE *OnPictureChange)( 10547 IUserAccountChangeCallback* This, 10548 LPCWSTR pszUserName); 10549 10550 END_INTERFACE 10551 } IUserAccountChangeCallbackVtbl; 10552 interface IUserAccountChangeCallback { 10553 CONST_VTBL IUserAccountChangeCallbackVtbl* lpVtbl; 10554 }; 10555 10556 #ifdef COBJMACROS 10557 #ifndef WIDL_C_INLINE_WRAPPERS 10558 /*** IUnknown methods ***/ 10559 #define IUserAccountChangeCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10560 #define IUserAccountChangeCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 10561 #define IUserAccountChangeCallback_Release(This) (This)->lpVtbl->Release(This) 10562 /*** IUserAccountChangeCallback methods ***/ 10563 #define IUserAccountChangeCallback_OnPictureChange(This,pszUserName) (This)->lpVtbl->OnPictureChange(This,pszUserName) 10564 #else 10565 /*** IUnknown methods ***/ 10566 static FORCEINLINE HRESULT IUserAccountChangeCallback_QueryInterface(IUserAccountChangeCallback* This,REFIID riid,void **ppvObject) { 10567 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10568 } 10569 static FORCEINLINE ULONG IUserAccountChangeCallback_AddRef(IUserAccountChangeCallback* This) { 10570 return This->lpVtbl->AddRef(This); 10571 } 10572 static FORCEINLINE ULONG IUserAccountChangeCallback_Release(IUserAccountChangeCallback* This) { 10573 return This->lpVtbl->Release(This); 10574 } 10575 /*** IUserAccountChangeCallback methods ***/ 10576 static FORCEINLINE HRESULT IUserAccountChangeCallback_OnPictureChange(IUserAccountChangeCallback* This,LPCWSTR pszUserName) { 10577 return This->lpVtbl->OnPictureChange(This,pszUserName); 10578 } 10579 #endif 10580 #endif 10581 10582 #endif 10583 10584 HRESULT STDMETHODCALLTYPE IUserAccountChangeCallback_OnPictureChange_Proxy( 10585 IUserAccountChangeCallback* This, 10586 LPCWSTR pszUserName); 10587 void __RPC_STUB IUserAccountChangeCallback_OnPictureChange_Stub( 10588 IRpcStubBuffer* This, 10589 IRpcChannelBuffer* pRpcChannelBuffer, 10590 PRPC_MESSAGE pRpcMessage, 10591 DWORD* pdwStubPhase); 10592 10593 #endif /* __IUserAccountChangeCallback_INTERFACE_DEFINED__ */ 10594 10595 10596 /***************************************************************************** 10597 * IEnumShellItems interface 10598 */ 10599 #ifndef __IEnumShellItems_INTERFACE_DEFINED__ 10600 #define __IEnumShellItems_INTERFACE_DEFINED__ 10601 10602 DEFINE_GUID(IID_IEnumShellItems, 0x70629033, 0xe363, 0x4a28, 0xa5,0x67, 0x0d,0xb7,0x80,0x06,0xe6,0xd7); 10603 #if defined(__cplusplus) && !defined(CINTERFACE) 10604 MIDL_INTERFACE("70629033-e363-4a28-a567-0db78006e6d7") 10605 IEnumShellItems : public IUnknown 10606 { 10607 virtual HRESULT STDMETHODCALLTYPE Next( 10608 ULONG celt, 10609 IShellItem **rgelt, 10610 ULONG *pceltFetched) = 0; 10611 10612 virtual HRESULT STDMETHODCALLTYPE Skip( 10613 ULONG celt) = 0; 10614 10615 virtual HRESULT STDMETHODCALLTYPE Reset( 10616 ) = 0; 10617 10618 virtual HRESULT STDMETHODCALLTYPE Clone( 10619 IEnumShellItems **ppenum) = 0; 10620 10621 }; 10622 #ifdef __CRT_UUID_DECL 10623 __CRT_UUID_DECL(IEnumShellItems, 0x70629033, 0xe363, 0x4a28, 0xa5,0x67, 0x0d,0xb7,0x80,0x06,0xe6,0xd7) 10624 #endif 10625 #else 10626 typedef struct IEnumShellItemsVtbl { 10627 BEGIN_INTERFACE 10628 10629 /*** IUnknown methods ***/ 10630 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10631 IEnumShellItems* This, 10632 REFIID riid, 10633 void **ppvObject); 10634 10635 ULONG (STDMETHODCALLTYPE *AddRef)( 10636 IEnumShellItems* This); 10637 10638 ULONG (STDMETHODCALLTYPE *Release)( 10639 IEnumShellItems* This); 10640 10641 /*** IEnumShellItems methods ***/ 10642 HRESULT (STDMETHODCALLTYPE *Next)( 10643 IEnumShellItems* This, 10644 ULONG celt, 10645 IShellItem **rgelt, 10646 ULONG *pceltFetched); 10647 10648 HRESULT (STDMETHODCALLTYPE *Skip)( 10649 IEnumShellItems* This, 10650 ULONG celt); 10651 10652 HRESULT (STDMETHODCALLTYPE *Reset)( 10653 IEnumShellItems* This); 10654 10655 HRESULT (STDMETHODCALLTYPE *Clone)( 10656 IEnumShellItems* This, 10657 IEnumShellItems **ppenum); 10658 10659 END_INTERFACE 10660 } IEnumShellItemsVtbl; 10661 interface IEnumShellItems { 10662 CONST_VTBL IEnumShellItemsVtbl* lpVtbl; 10663 }; 10664 10665 #ifdef COBJMACROS 10666 #ifndef WIDL_C_INLINE_WRAPPERS 10667 /*** IUnknown methods ***/ 10668 #define IEnumShellItems_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10669 #define IEnumShellItems_AddRef(This) (This)->lpVtbl->AddRef(This) 10670 #define IEnumShellItems_Release(This) (This)->lpVtbl->Release(This) 10671 /*** IEnumShellItems methods ***/ 10672 #define IEnumShellItems_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 10673 #define IEnumShellItems_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 10674 #define IEnumShellItems_Reset(This) (This)->lpVtbl->Reset(This) 10675 #define IEnumShellItems_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 10676 #else 10677 /*** IUnknown methods ***/ 10678 static FORCEINLINE HRESULT IEnumShellItems_QueryInterface(IEnumShellItems* This,REFIID riid,void **ppvObject) { 10679 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10680 } 10681 static FORCEINLINE ULONG IEnumShellItems_AddRef(IEnumShellItems* This) { 10682 return This->lpVtbl->AddRef(This); 10683 } 10684 static FORCEINLINE ULONG IEnumShellItems_Release(IEnumShellItems* This) { 10685 return This->lpVtbl->Release(This); 10686 } 10687 /*** IEnumShellItems methods ***/ 10688 static FORCEINLINE HRESULT IEnumShellItems_Next(IEnumShellItems* This,ULONG celt,IShellItem **rgelt,ULONG *pceltFetched) { 10689 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 10690 } 10691 static FORCEINLINE HRESULT IEnumShellItems_Skip(IEnumShellItems* This,ULONG celt) { 10692 return This->lpVtbl->Skip(This,celt); 10693 } 10694 static FORCEINLINE HRESULT IEnumShellItems_Reset(IEnumShellItems* This) { 10695 return This->lpVtbl->Reset(This); 10696 } 10697 static FORCEINLINE HRESULT IEnumShellItems_Clone(IEnumShellItems* This,IEnumShellItems **ppenum) { 10698 return This->lpVtbl->Clone(This,ppenum); 10699 } 10700 #endif 10701 #endif 10702 10703 #endif 10704 10705 HRESULT STDMETHODCALLTYPE IEnumShellItems_RemoteNext_Proxy( 10706 IEnumShellItems* This, 10707 ULONG celt, 10708 IShellItem **rgelt, 10709 ULONG *pceltFetched); 10710 void __RPC_STUB IEnumShellItems_RemoteNext_Stub( 10711 IRpcStubBuffer* This, 10712 IRpcChannelBuffer* pRpcChannelBuffer, 10713 PRPC_MESSAGE pRpcMessage, 10714 DWORD* pdwStubPhase); 10715 HRESULT STDMETHODCALLTYPE IEnumShellItems_Skip_Proxy( 10716 IEnumShellItems* This, 10717 ULONG celt); 10718 void __RPC_STUB IEnumShellItems_Skip_Stub( 10719 IRpcStubBuffer* This, 10720 IRpcChannelBuffer* pRpcChannelBuffer, 10721 PRPC_MESSAGE pRpcMessage, 10722 DWORD* pdwStubPhase); 10723 HRESULT STDMETHODCALLTYPE IEnumShellItems_Reset_Proxy( 10724 IEnumShellItems* This); 10725 void __RPC_STUB IEnumShellItems_Reset_Stub( 10726 IRpcStubBuffer* This, 10727 IRpcChannelBuffer* pRpcChannelBuffer, 10728 PRPC_MESSAGE pRpcMessage, 10729 DWORD* pdwStubPhase); 10730 HRESULT STDMETHODCALLTYPE IEnumShellItems_Clone_Proxy( 10731 IEnumShellItems* This, 10732 IEnumShellItems **ppenum); 10733 void __RPC_STUB IEnumShellItems_Clone_Stub( 10734 IRpcStubBuffer* This, 10735 IRpcChannelBuffer* pRpcChannelBuffer, 10736 PRPC_MESSAGE pRpcMessage, 10737 DWORD* pdwStubPhase); 10738 HRESULT CALLBACK IEnumShellItems_Next_Proxy( 10739 IEnumShellItems* This, 10740 ULONG celt, 10741 IShellItem **rgelt, 10742 ULONG *pceltFetched); 10743 HRESULT __RPC_STUB IEnumShellItems_Next_Stub( 10744 IEnumShellItems* This, 10745 ULONG celt, 10746 IShellItem **rgelt, 10747 ULONG *pceltFetched); 10748 10749 #endif /* __IEnumShellItems_INTERFACE_DEFINED__ */ 10750 10751 10752 typedef GUID STGTRANSCONFIRMATION; 10753 typedef GUID *LPSTGTRANSCONFIRMATION; 10754 10755 typedef enum STGOP { 10756 STGOP_MOVE = 1, 10757 STGOP_COPY = 2, 10758 STGOP_SYNC = 3, 10759 STGOP_REMOVE = 5, 10760 STGOP_RENAME = 6, 10761 STGOP_APPLYPROPERTIES = 8, 10762 STGOP_NEW = 10 10763 } STGOP; 10764 10765 enum _TRANSFER_SOURCE_FLAGS { 10766 TSF_NORMAL = 0x0, 10767 TSF_FAIL_EXIST = 0x0, 10768 TSF_RENAME_EXIST = 0x1, 10769 TSF_OVERWRITE_EXIST = 0x2, 10770 TSF_ALLOW_DECRYPTION = 0x4, 10771 TSF_NO_SECURITY = 0x8, 10772 TSF_COPY_CREATION_TIME = 0x10, 10773 TSF_COPY_WRITE_TIME = 0x20, 10774 TSF_USE_FULL_ACCESS = 0x40, 10775 TSF_DELETE_RECYCLE_IF_POSSIBLE = 0x80, 10776 TSF_COPY_HARD_LINK = 0x100, 10777 TSF_COPY_LOCALIZED_NAME = 0x200, 10778 TSF_MOVE_AS_COPY_DELETE = 0x400, 10779 TSF_SUSPEND_SHELLEVENTS = 0x800 10780 }; 10781 10782 10783 typedef DWORD TRANSFER_SOURCE_FLAGS; 10784 10785 #if _WIN32_IE >= _WIN32_IE_IE70 10786 /***************************************************************************** 10787 * ITransferAdviseSink interface 10788 */ 10789 #ifndef __ITransferAdviseSink_INTERFACE_DEFINED__ 10790 #define __ITransferAdviseSink_INTERFACE_DEFINED__ 10791 10792 enum _TRANSFER_ADVISE_STATE { 10793 TS_NONE = 0x0, 10794 TS_PERFORMING = 0x1, 10795 TS_PREPARING = 0x2, 10796 TS_INDETERMINATE = 0x4 10797 }; 10798 10799 10800 typedef DWORD TRANSFER_ADVISE_STATE; 10801 10802 DEFINE_GUID(IID_ITransferAdviseSink, 0xd594d0d8, 0x8da7, 0x457b, 0xb3,0xb4, 0xce,0x5d,0xba,0xac,0x0b,0x88); 10803 #if defined(__cplusplus) && !defined(CINTERFACE) 10804 MIDL_INTERFACE("d594d0d8-8da7-457b-b3b4-ce5dbaac0b88") 10805 ITransferAdviseSink : public IUnknown 10806 { 10807 virtual HRESULT STDMETHODCALLTYPE UpdateProgress( 10808 ULONGLONG ullSizeCurrent, 10809 ULONGLONG ullSizeTotal, 10810 int nFilesCurrent, 10811 int nFilesTotal, 10812 int nFoldersCurrent, 10813 int nFoldersTotal) = 0; 10814 10815 virtual HRESULT STDMETHODCALLTYPE UpdateTransferState( 10816 TRANSFER_ADVISE_STATE ts) = 0; 10817 10818 virtual HRESULT STDMETHODCALLTYPE ConfirmOverwrite( 10819 IShellItem *psiSource, 10820 IShellItem *psiDestParent, 10821 LPCWSTR pszName) = 0; 10822 10823 virtual HRESULT STDMETHODCALLTYPE ConfirmEncryptionLoss( 10824 IShellItem *psiSource) = 0; 10825 10826 virtual HRESULT STDMETHODCALLTYPE FileFailure( 10827 IShellItem *psi, 10828 LPCWSTR pszItem, 10829 HRESULT hrError, 10830 LPWSTR pszRename, 10831 ULONG cchRename) = 0; 10832 10833 virtual HRESULT STDMETHODCALLTYPE SubStreamFailure( 10834 IShellItem *psi, 10835 LPCWSTR pszStreamName, 10836 HRESULT hrError) = 0; 10837 10838 virtual HRESULT STDMETHODCALLTYPE PropertyFailure( 10839 IShellItem *psi, 10840 const PROPERTYKEY *pkey, 10841 HRESULT hrError) = 0; 10842 10843 }; 10844 #ifdef __CRT_UUID_DECL 10845 __CRT_UUID_DECL(ITransferAdviseSink, 0xd594d0d8, 0x8da7, 0x457b, 0xb3,0xb4, 0xce,0x5d,0xba,0xac,0x0b,0x88) 10846 #endif 10847 #else 10848 typedef struct ITransferAdviseSinkVtbl { 10849 BEGIN_INTERFACE 10850 10851 /*** IUnknown methods ***/ 10852 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10853 ITransferAdviseSink* This, 10854 REFIID riid, 10855 void **ppvObject); 10856 10857 ULONG (STDMETHODCALLTYPE *AddRef)( 10858 ITransferAdviseSink* This); 10859 10860 ULONG (STDMETHODCALLTYPE *Release)( 10861 ITransferAdviseSink* This); 10862 10863 /*** ITransferAdviseSink methods ***/ 10864 HRESULT (STDMETHODCALLTYPE *UpdateProgress)( 10865 ITransferAdviseSink* This, 10866 ULONGLONG ullSizeCurrent, 10867 ULONGLONG ullSizeTotal, 10868 int nFilesCurrent, 10869 int nFilesTotal, 10870 int nFoldersCurrent, 10871 int nFoldersTotal); 10872 10873 HRESULT (STDMETHODCALLTYPE *UpdateTransferState)( 10874 ITransferAdviseSink* This, 10875 TRANSFER_ADVISE_STATE ts); 10876 10877 HRESULT (STDMETHODCALLTYPE *ConfirmOverwrite)( 10878 ITransferAdviseSink* This, 10879 IShellItem *psiSource, 10880 IShellItem *psiDestParent, 10881 LPCWSTR pszName); 10882 10883 HRESULT (STDMETHODCALLTYPE *ConfirmEncryptionLoss)( 10884 ITransferAdviseSink* This, 10885 IShellItem *psiSource); 10886 10887 HRESULT (STDMETHODCALLTYPE *FileFailure)( 10888 ITransferAdviseSink* This, 10889 IShellItem *psi, 10890 LPCWSTR pszItem, 10891 HRESULT hrError, 10892 LPWSTR pszRename, 10893 ULONG cchRename); 10894 10895 HRESULT (STDMETHODCALLTYPE *SubStreamFailure)( 10896 ITransferAdviseSink* This, 10897 IShellItem *psi, 10898 LPCWSTR pszStreamName, 10899 HRESULT hrError); 10900 10901 HRESULT (STDMETHODCALLTYPE *PropertyFailure)( 10902 ITransferAdviseSink* This, 10903 IShellItem *psi, 10904 const PROPERTYKEY *pkey, 10905 HRESULT hrError); 10906 10907 END_INTERFACE 10908 } ITransferAdviseSinkVtbl; 10909 interface ITransferAdviseSink { 10910 CONST_VTBL ITransferAdviseSinkVtbl* lpVtbl; 10911 }; 10912 10913 #ifdef COBJMACROS 10914 #ifndef WIDL_C_INLINE_WRAPPERS 10915 /*** IUnknown methods ***/ 10916 #define ITransferAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10917 #define ITransferAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This) 10918 #define ITransferAdviseSink_Release(This) (This)->lpVtbl->Release(This) 10919 /*** ITransferAdviseSink methods ***/ 10920 #define ITransferAdviseSink_UpdateProgress(This,ullSizeCurrent,ullSizeTotal,nFilesCurrent,nFilesTotal,nFoldersCurrent,nFoldersTotal) (This)->lpVtbl->UpdateProgress(This,ullSizeCurrent,ullSizeTotal,nFilesCurrent,nFilesTotal,nFoldersCurrent,nFoldersTotal) 10921 #define ITransferAdviseSink_UpdateTransferState(This,ts) (This)->lpVtbl->UpdateTransferState(This,ts) 10922 #define ITransferAdviseSink_ConfirmOverwrite(This,psiSource,psiDestParent,pszName) (This)->lpVtbl->ConfirmOverwrite(This,psiSource,psiDestParent,pszName) 10923 #define ITransferAdviseSink_ConfirmEncryptionLoss(This,psiSource) (This)->lpVtbl->ConfirmEncryptionLoss(This,psiSource) 10924 #define ITransferAdviseSink_FileFailure(This,psi,pszItem,hrError,pszRename,cchRename) (This)->lpVtbl->FileFailure(This,psi,pszItem,hrError,pszRename,cchRename) 10925 #define ITransferAdviseSink_SubStreamFailure(This,psi,pszStreamName,hrError) (This)->lpVtbl->SubStreamFailure(This,psi,pszStreamName,hrError) 10926 #define ITransferAdviseSink_PropertyFailure(This,psi,pkey,hrError) (This)->lpVtbl->PropertyFailure(This,psi,pkey,hrError) 10927 #else 10928 /*** IUnknown methods ***/ 10929 static FORCEINLINE HRESULT ITransferAdviseSink_QueryInterface(ITransferAdviseSink* This,REFIID riid,void **ppvObject) { 10930 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10931 } 10932 static FORCEINLINE ULONG ITransferAdviseSink_AddRef(ITransferAdviseSink* This) { 10933 return This->lpVtbl->AddRef(This); 10934 } 10935 static FORCEINLINE ULONG ITransferAdviseSink_Release(ITransferAdviseSink* This) { 10936 return This->lpVtbl->Release(This); 10937 } 10938 /*** ITransferAdviseSink methods ***/ 10939 static FORCEINLINE HRESULT ITransferAdviseSink_UpdateProgress(ITransferAdviseSink* This,ULONGLONG ullSizeCurrent,ULONGLONG ullSizeTotal,int nFilesCurrent,int nFilesTotal,int nFoldersCurrent,int nFoldersTotal) { 10940 return This->lpVtbl->UpdateProgress(This,ullSizeCurrent,ullSizeTotal,nFilesCurrent,nFilesTotal,nFoldersCurrent,nFoldersTotal); 10941 } 10942 static FORCEINLINE HRESULT ITransferAdviseSink_UpdateTransferState(ITransferAdviseSink* This,TRANSFER_ADVISE_STATE ts) { 10943 return This->lpVtbl->UpdateTransferState(This,ts); 10944 } 10945 static FORCEINLINE HRESULT ITransferAdviseSink_ConfirmOverwrite(ITransferAdviseSink* This,IShellItem *psiSource,IShellItem *psiDestParent,LPCWSTR pszName) { 10946 return This->lpVtbl->ConfirmOverwrite(This,psiSource,psiDestParent,pszName); 10947 } 10948 static FORCEINLINE HRESULT ITransferAdviseSink_ConfirmEncryptionLoss(ITransferAdviseSink* This,IShellItem *psiSource) { 10949 return This->lpVtbl->ConfirmEncryptionLoss(This,psiSource); 10950 } 10951 static FORCEINLINE HRESULT ITransferAdviseSink_FileFailure(ITransferAdviseSink* This,IShellItem *psi,LPCWSTR pszItem,HRESULT hrError,LPWSTR pszRename,ULONG cchRename) { 10952 return This->lpVtbl->FileFailure(This,psi,pszItem,hrError,pszRename,cchRename); 10953 } 10954 static FORCEINLINE HRESULT ITransferAdviseSink_SubStreamFailure(ITransferAdviseSink* This,IShellItem *psi,LPCWSTR pszStreamName,HRESULT hrError) { 10955 return This->lpVtbl->SubStreamFailure(This,psi,pszStreamName,hrError); 10956 } 10957 static FORCEINLINE HRESULT ITransferAdviseSink_PropertyFailure(ITransferAdviseSink* This,IShellItem *psi,const PROPERTYKEY *pkey,HRESULT hrError) { 10958 return This->lpVtbl->PropertyFailure(This,psi,pkey,hrError); 10959 } 10960 #endif 10961 #endif 10962 10963 #endif 10964 10965 HRESULT STDMETHODCALLTYPE ITransferAdviseSink_UpdateProgress_Proxy( 10966 ITransferAdviseSink* This, 10967 ULONGLONG ullSizeCurrent, 10968 ULONGLONG ullSizeTotal, 10969 int nFilesCurrent, 10970 int nFilesTotal, 10971 int nFoldersCurrent, 10972 int nFoldersTotal); 10973 void __RPC_STUB ITransferAdviseSink_UpdateProgress_Stub( 10974 IRpcStubBuffer* This, 10975 IRpcChannelBuffer* pRpcChannelBuffer, 10976 PRPC_MESSAGE pRpcMessage, 10977 DWORD* pdwStubPhase); 10978 HRESULT STDMETHODCALLTYPE ITransferAdviseSink_UpdateTransferState_Proxy( 10979 ITransferAdviseSink* This, 10980 TRANSFER_ADVISE_STATE ts); 10981 void __RPC_STUB ITransferAdviseSink_UpdateTransferState_Stub( 10982 IRpcStubBuffer* This, 10983 IRpcChannelBuffer* pRpcChannelBuffer, 10984 PRPC_MESSAGE pRpcMessage, 10985 DWORD* pdwStubPhase); 10986 HRESULT STDMETHODCALLTYPE ITransferAdviseSink_ConfirmOverwrite_Proxy( 10987 ITransferAdviseSink* This, 10988 IShellItem *psiSource, 10989 IShellItem *psiDestParent, 10990 LPCWSTR pszName); 10991 void __RPC_STUB ITransferAdviseSink_ConfirmOverwrite_Stub( 10992 IRpcStubBuffer* This, 10993 IRpcChannelBuffer* pRpcChannelBuffer, 10994 PRPC_MESSAGE pRpcMessage, 10995 DWORD* pdwStubPhase); 10996 HRESULT STDMETHODCALLTYPE ITransferAdviseSink_ConfirmEncryptionLoss_Proxy( 10997 ITransferAdviseSink* This, 10998 IShellItem *psiSource); 10999 void __RPC_STUB ITransferAdviseSink_ConfirmEncryptionLoss_Stub( 11000 IRpcStubBuffer* This, 11001 IRpcChannelBuffer* pRpcChannelBuffer, 11002 PRPC_MESSAGE pRpcMessage, 11003 DWORD* pdwStubPhase); 11004 HRESULT STDMETHODCALLTYPE ITransferAdviseSink_FileFailure_Proxy( 11005 ITransferAdviseSink* This, 11006 IShellItem *psi, 11007 LPCWSTR pszItem, 11008 HRESULT hrError, 11009 LPWSTR pszRename, 11010 ULONG cchRename); 11011 void __RPC_STUB ITransferAdviseSink_FileFailure_Stub( 11012 IRpcStubBuffer* This, 11013 IRpcChannelBuffer* pRpcChannelBuffer, 11014 PRPC_MESSAGE pRpcMessage, 11015 DWORD* pdwStubPhase); 11016 HRESULT STDMETHODCALLTYPE ITransferAdviseSink_SubStreamFailure_Proxy( 11017 ITransferAdviseSink* This, 11018 IShellItem *psi, 11019 LPCWSTR pszStreamName, 11020 HRESULT hrError); 11021 void __RPC_STUB ITransferAdviseSink_SubStreamFailure_Stub( 11022 IRpcStubBuffer* This, 11023 IRpcChannelBuffer* pRpcChannelBuffer, 11024 PRPC_MESSAGE pRpcMessage, 11025 DWORD* pdwStubPhase); 11026 HRESULT STDMETHODCALLTYPE ITransferAdviseSink_PropertyFailure_Proxy( 11027 ITransferAdviseSink* This, 11028 IShellItem *psi, 11029 const PROPERTYKEY *pkey, 11030 HRESULT hrError); 11031 void __RPC_STUB ITransferAdviseSink_PropertyFailure_Stub( 11032 IRpcStubBuffer* This, 11033 IRpcChannelBuffer* pRpcChannelBuffer, 11034 PRPC_MESSAGE pRpcMessage, 11035 DWORD* pdwStubPhase); 11036 11037 #endif /* __ITransferAdviseSink_INTERFACE_DEFINED__ */ 11038 11039 #endif 11040 11041 #if NTDDI_VERSION >= NTDDI_VISTA 11042 /***************************************************************************** 11043 * ITransferSource interface 11044 */ 11045 #ifndef __ITransferSource_INTERFACE_DEFINED__ 11046 #define __ITransferSource_INTERFACE_DEFINED__ 11047 11048 DEFINE_GUID(IID_ITransferSource, 0x00adb003, 0xbde9, 0x45c6, 0x8e,0x29, 0xd0,0x9f,0x93,0x53,0xe1,0x08); 11049 #if defined(__cplusplus) && !defined(CINTERFACE) 11050 MIDL_INTERFACE("00adb003-bde9-45c6-8e29-d09f9353e108") 11051 ITransferSource : public IUnknown 11052 { 11053 virtual HRESULT STDMETHODCALLTYPE Advise( 11054 ITransferAdviseSink *psink, 11055 DWORD *pdwCookie) = 0; 11056 11057 virtual HRESULT STDMETHODCALLTYPE Unadvise( 11058 DWORD dwCookie) = 0; 11059 11060 virtual HRESULT STDMETHODCALLTYPE SetProperties( 11061 IPropertyChangeArray *pproparray) = 0; 11062 11063 virtual HRESULT STDMETHODCALLTYPE OpenItem( 11064 IShellItem *psi, 11065 TRANSFER_SOURCE_FLAGS flags, 11066 REFIID riid, 11067 void **ppv) = 0; 11068 11069 virtual HRESULT STDMETHODCALLTYPE MoveItem( 11070 IShellItem *psi, 11071 IShellItem *psiParentDst, 11072 LPCWSTR pszNameDst, 11073 TRANSFER_SOURCE_FLAGS flags, 11074 IShellItem **ppsiNew) = 0; 11075 11076 virtual HRESULT STDMETHODCALLTYPE RecycleItem( 11077 IShellItem *psiSource, 11078 IShellItem *psiParentDest, 11079 TRANSFER_SOURCE_FLAGS flags, 11080 IShellItem **ppsiNewDest) = 0; 11081 11082 virtual HRESULT STDMETHODCALLTYPE RemoveItem( 11083 IShellItem *psiSource, 11084 TRANSFER_SOURCE_FLAGS flags) = 0; 11085 11086 virtual HRESULT STDMETHODCALLTYPE RenameItem( 11087 IShellItem *psiSource, 11088 LPCWSTR pszNewName, 11089 TRANSFER_SOURCE_FLAGS flags, 11090 IShellItem **ppsiNewDest) = 0; 11091 11092 virtual HRESULT STDMETHODCALLTYPE LinkItem( 11093 IShellItem *psiSource, 11094 IShellItem *psiParentDest, 11095 LPCWSTR pszNewName, 11096 TRANSFER_SOURCE_FLAGS flags, 11097 IShellItem **ppsiNewDest) = 0; 11098 11099 virtual HRESULT STDMETHODCALLTYPE ApplyPropertiesToItem( 11100 IShellItem *psiSource, 11101 IShellItem **ppsiNew) = 0; 11102 11103 virtual HRESULT STDMETHODCALLTYPE GetDefaultDestinationName( 11104 IShellItem *psiSource, 11105 IShellItem *psiParentDest, 11106 LPWSTR *ppszDestinationName) = 0; 11107 11108 virtual HRESULT STDMETHODCALLTYPE EnterFolder( 11109 IShellItem *psiChildFolderDest) = 0; 11110 11111 virtual HRESULT STDMETHODCALLTYPE LeaveFolder( 11112 IShellItem *psiChildFolderDest) = 0; 11113 11114 }; 11115 #ifdef __CRT_UUID_DECL 11116 __CRT_UUID_DECL(ITransferSource, 0x00adb003, 0xbde9, 0x45c6, 0x8e,0x29, 0xd0,0x9f,0x93,0x53,0xe1,0x08) 11117 #endif 11118 #else 11119 typedef struct ITransferSourceVtbl { 11120 BEGIN_INTERFACE 11121 11122 /*** IUnknown methods ***/ 11123 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11124 ITransferSource* This, 11125 REFIID riid, 11126 void **ppvObject); 11127 11128 ULONG (STDMETHODCALLTYPE *AddRef)( 11129 ITransferSource* This); 11130 11131 ULONG (STDMETHODCALLTYPE *Release)( 11132 ITransferSource* This); 11133 11134 /*** ITransferSource methods ***/ 11135 HRESULT (STDMETHODCALLTYPE *Advise)( 11136 ITransferSource* This, 11137 ITransferAdviseSink *psink, 11138 DWORD *pdwCookie); 11139 11140 HRESULT (STDMETHODCALLTYPE *Unadvise)( 11141 ITransferSource* This, 11142 DWORD dwCookie); 11143 11144 HRESULT (STDMETHODCALLTYPE *SetProperties)( 11145 ITransferSource* This, 11146 IPropertyChangeArray *pproparray); 11147 11148 HRESULT (STDMETHODCALLTYPE *OpenItem)( 11149 ITransferSource* This, 11150 IShellItem *psi, 11151 TRANSFER_SOURCE_FLAGS flags, 11152 REFIID riid, 11153 void **ppv); 11154 11155 HRESULT (STDMETHODCALLTYPE *MoveItem)( 11156 ITransferSource* This, 11157 IShellItem *psi, 11158 IShellItem *psiParentDst, 11159 LPCWSTR pszNameDst, 11160 TRANSFER_SOURCE_FLAGS flags, 11161 IShellItem **ppsiNew); 11162 11163 HRESULT (STDMETHODCALLTYPE *RecycleItem)( 11164 ITransferSource* This, 11165 IShellItem *psiSource, 11166 IShellItem *psiParentDest, 11167 TRANSFER_SOURCE_FLAGS flags, 11168 IShellItem **ppsiNewDest); 11169 11170 HRESULT (STDMETHODCALLTYPE *RemoveItem)( 11171 ITransferSource* This, 11172 IShellItem *psiSource, 11173 TRANSFER_SOURCE_FLAGS flags); 11174 11175 HRESULT (STDMETHODCALLTYPE *RenameItem)( 11176 ITransferSource* This, 11177 IShellItem *psiSource, 11178 LPCWSTR pszNewName, 11179 TRANSFER_SOURCE_FLAGS flags, 11180 IShellItem **ppsiNewDest); 11181 11182 HRESULT (STDMETHODCALLTYPE *LinkItem)( 11183 ITransferSource* This, 11184 IShellItem *psiSource, 11185 IShellItem *psiParentDest, 11186 LPCWSTR pszNewName, 11187 TRANSFER_SOURCE_FLAGS flags, 11188 IShellItem **ppsiNewDest); 11189 11190 HRESULT (STDMETHODCALLTYPE *ApplyPropertiesToItem)( 11191 ITransferSource* This, 11192 IShellItem *psiSource, 11193 IShellItem **ppsiNew); 11194 11195 HRESULT (STDMETHODCALLTYPE *GetDefaultDestinationName)( 11196 ITransferSource* This, 11197 IShellItem *psiSource, 11198 IShellItem *psiParentDest, 11199 LPWSTR *ppszDestinationName); 11200 11201 HRESULT (STDMETHODCALLTYPE *EnterFolder)( 11202 ITransferSource* This, 11203 IShellItem *psiChildFolderDest); 11204 11205 HRESULT (STDMETHODCALLTYPE *LeaveFolder)( 11206 ITransferSource* This, 11207 IShellItem *psiChildFolderDest); 11208 11209 END_INTERFACE 11210 } ITransferSourceVtbl; 11211 interface ITransferSource { 11212 CONST_VTBL ITransferSourceVtbl* lpVtbl; 11213 }; 11214 11215 #ifdef COBJMACROS 11216 #ifndef WIDL_C_INLINE_WRAPPERS 11217 /*** IUnknown methods ***/ 11218 #define ITransferSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11219 #define ITransferSource_AddRef(This) (This)->lpVtbl->AddRef(This) 11220 #define ITransferSource_Release(This) (This)->lpVtbl->Release(This) 11221 /*** ITransferSource methods ***/ 11222 #define ITransferSource_Advise(This,psink,pdwCookie) (This)->lpVtbl->Advise(This,psink,pdwCookie) 11223 #define ITransferSource_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie) 11224 #define ITransferSource_SetProperties(This,pproparray) (This)->lpVtbl->SetProperties(This,pproparray) 11225 #define ITransferSource_OpenItem(This,psi,flags,riid,ppv) (This)->lpVtbl->OpenItem(This,psi,flags,riid,ppv) 11226 #define ITransferSource_MoveItem(This,psi,psiParentDst,pszNameDst,flags,ppsiNew) (This)->lpVtbl->MoveItem(This,psi,psiParentDst,pszNameDst,flags,ppsiNew) 11227 #define ITransferSource_RecycleItem(This,psiSource,psiParentDest,flags,ppsiNewDest) (This)->lpVtbl->RecycleItem(This,psiSource,psiParentDest,flags,ppsiNewDest) 11228 #define ITransferSource_RemoveItem(This,psiSource,flags) (This)->lpVtbl->RemoveItem(This,psiSource,flags) 11229 #define ITransferSource_RenameItem(This,psiSource,pszNewName,flags,ppsiNewDest) (This)->lpVtbl->RenameItem(This,psiSource,pszNewName,flags,ppsiNewDest) 11230 #define ITransferSource_LinkItem(This,psiSource,psiParentDest,pszNewName,flags,ppsiNewDest) (This)->lpVtbl->LinkItem(This,psiSource,psiParentDest,pszNewName,flags,ppsiNewDest) 11231 #define ITransferSource_ApplyPropertiesToItem(This,psiSource,ppsiNew) (This)->lpVtbl->ApplyPropertiesToItem(This,psiSource,ppsiNew) 11232 #define ITransferSource_GetDefaultDestinationName(This,psiSource,psiParentDest,ppszDestinationName) (This)->lpVtbl->GetDefaultDestinationName(This,psiSource,psiParentDest,ppszDestinationName) 11233 #define ITransferSource_EnterFolder(This,psiChildFolderDest) (This)->lpVtbl->EnterFolder(This,psiChildFolderDest) 11234 #define ITransferSource_LeaveFolder(This,psiChildFolderDest) (This)->lpVtbl->LeaveFolder(This,psiChildFolderDest) 11235 #else 11236 /*** IUnknown methods ***/ 11237 static FORCEINLINE HRESULT ITransferSource_QueryInterface(ITransferSource* This,REFIID riid,void **ppvObject) { 11238 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11239 } 11240 static FORCEINLINE ULONG ITransferSource_AddRef(ITransferSource* This) { 11241 return This->lpVtbl->AddRef(This); 11242 } 11243 static FORCEINLINE ULONG ITransferSource_Release(ITransferSource* This) { 11244 return This->lpVtbl->Release(This); 11245 } 11246 /*** ITransferSource methods ***/ 11247 static FORCEINLINE HRESULT ITransferSource_Advise(ITransferSource* This,ITransferAdviseSink *psink,DWORD *pdwCookie) { 11248 return This->lpVtbl->Advise(This,psink,pdwCookie); 11249 } 11250 static FORCEINLINE HRESULT ITransferSource_Unadvise(ITransferSource* This,DWORD dwCookie) { 11251 return This->lpVtbl->Unadvise(This,dwCookie); 11252 } 11253 static FORCEINLINE HRESULT ITransferSource_SetProperties(ITransferSource* This,IPropertyChangeArray *pproparray) { 11254 return This->lpVtbl->SetProperties(This,pproparray); 11255 } 11256 static FORCEINLINE HRESULT ITransferSource_OpenItem(ITransferSource* This,IShellItem *psi,TRANSFER_SOURCE_FLAGS flags,REFIID riid,void **ppv) { 11257 return This->lpVtbl->OpenItem(This,psi,flags,riid,ppv); 11258 } 11259 static FORCEINLINE HRESULT ITransferSource_MoveItem(ITransferSource* This,IShellItem *psi,IShellItem *psiParentDst,LPCWSTR pszNameDst,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNew) { 11260 return This->lpVtbl->MoveItem(This,psi,psiParentDst,pszNameDst,flags,ppsiNew); 11261 } 11262 static FORCEINLINE HRESULT ITransferSource_RecycleItem(ITransferSource* This,IShellItem *psiSource,IShellItem *psiParentDest,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNewDest) { 11263 return This->lpVtbl->RecycleItem(This,psiSource,psiParentDest,flags,ppsiNewDest); 11264 } 11265 static FORCEINLINE HRESULT ITransferSource_RemoveItem(ITransferSource* This,IShellItem *psiSource,TRANSFER_SOURCE_FLAGS flags) { 11266 return This->lpVtbl->RemoveItem(This,psiSource,flags); 11267 } 11268 static FORCEINLINE HRESULT ITransferSource_RenameItem(ITransferSource* This,IShellItem *psiSource,LPCWSTR pszNewName,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNewDest) { 11269 return This->lpVtbl->RenameItem(This,psiSource,pszNewName,flags,ppsiNewDest); 11270 } 11271 static FORCEINLINE HRESULT ITransferSource_LinkItem(ITransferSource* This,IShellItem *psiSource,IShellItem *psiParentDest,LPCWSTR pszNewName,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNewDest) { 11272 return This->lpVtbl->LinkItem(This,psiSource,psiParentDest,pszNewName,flags,ppsiNewDest); 11273 } 11274 static FORCEINLINE HRESULT ITransferSource_ApplyPropertiesToItem(ITransferSource* This,IShellItem *psiSource,IShellItem **ppsiNew) { 11275 return This->lpVtbl->ApplyPropertiesToItem(This,psiSource,ppsiNew); 11276 } 11277 static FORCEINLINE HRESULT ITransferSource_GetDefaultDestinationName(ITransferSource* This,IShellItem *psiSource,IShellItem *psiParentDest,LPWSTR *ppszDestinationName) { 11278 return This->lpVtbl->GetDefaultDestinationName(This,psiSource,psiParentDest,ppszDestinationName); 11279 } 11280 static FORCEINLINE HRESULT ITransferSource_EnterFolder(ITransferSource* This,IShellItem *psiChildFolderDest) { 11281 return This->lpVtbl->EnterFolder(This,psiChildFolderDest); 11282 } 11283 static FORCEINLINE HRESULT ITransferSource_LeaveFolder(ITransferSource* This,IShellItem *psiChildFolderDest) { 11284 return This->lpVtbl->LeaveFolder(This,psiChildFolderDest); 11285 } 11286 #endif 11287 #endif 11288 11289 #endif 11290 11291 HRESULT STDMETHODCALLTYPE ITransferSource_Advise_Proxy( 11292 ITransferSource* This, 11293 ITransferAdviseSink *psink, 11294 DWORD *pdwCookie); 11295 void __RPC_STUB ITransferSource_Advise_Stub( 11296 IRpcStubBuffer* This, 11297 IRpcChannelBuffer* pRpcChannelBuffer, 11298 PRPC_MESSAGE pRpcMessage, 11299 DWORD* pdwStubPhase); 11300 HRESULT STDMETHODCALLTYPE ITransferSource_Unadvise_Proxy( 11301 ITransferSource* This, 11302 DWORD dwCookie); 11303 void __RPC_STUB ITransferSource_Unadvise_Stub( 11304 IRpcStubBuffer* This, 11305 IRpcChannelBuffer* pRpcChannelBuffer, 11306 PRPC_MESSAGE pRpcMessage, 11307 DWORD* pdwStubPhase); 11308 HRESULT STDMETHODCALLTYPE ITransferSource_SetProperties_Proxy( 11309 ITransferSource* This, 11310 IPropertyChangeArray *pproparray); 11311 void __RPC_STUB ITransferSource_SetProperties_Stub( 11312 IRpcStubBuffer* This, 11313 IRpcChannelBuffer* pRpcChannelBuffer, 11314 PRPC_MESSAGE pRpcMessage, 11315 DWORD* pdwStubPhase); 11316 HRESULT STDMETHODCALLTYPE ITransferSource_OpenItem_Proxy( 11317 ITransferSource* This, 11318 IShellItem *psi, 11319 TRANSFER_SOURCE_FLAGS flags, 11320 REFIID riid, 11321 void **ppv); 11322 void __RPC_STUB ITransferSource_OpenItem_Stub( 11323 IRpcStubBuffer* This, 11324 IRpcChannelBuffer* pRpcChannelBuffer, 11325 PRPC_MESSAGE pRpcMessage, 11326 DWORD* pdwStubPhase); 11327 HRESULT STDMETHODCALLTYPE ITransferSource_MoveItem_Proxy( 11328 ITransferSource* This, 11329 IShellItem *psi, 11330 IShellItem *psiParentDst, 11331 LPCWSTR pszNameDst, 11332 TRANSFER_SOURCE_FLAGS flags, 11333 IShellItem **ppsiNew); 11334 void __RPC_STUB ITransferSource_MoveItem_Stub( 11335 IRpcStubBuffer* This, 11336 IRpcChannelBuffer* pRpcChannelBuffer, 11337 PRPC_MESSAGE pRpcMessage, 11338 DWORD* pdwStubPhase); 11339 HRESULT STDMETHODCALLTYPE ITransferSource_RecycleItem_Proxy( 11340 ITransferSource* This, 11341 IShellItem *psiSource, 11342 IShellItem *psiParentDest, 11343 TRANSFER_SOURCE_FLAGS flags, 11344 IShellItem **ppsiNewDest); 11345 void __RPC_STUB ITransferSource_RecycleItem_Stub( 11346 IRpcStubBuffer* This, 11347 IRpcChannelBuffer* pRpcChannelBuffer, 11348 PRPC_MESSAGE pRpcMessage, 11349 DWORD* pdwStubPhase); 11350 HRESULT STDMETHODCALLTYPE ITransferSource_RemoveItem_Proxy( 11351 ITransferSource* This, 11352 IShellItem *psiSource, 11353 TRANSFER_SOURCE_FLAGS flags); 11354 void __RPC_STUB ITransferSource_RemoveItem_Stub( 11355 IRpcStubBuffer* This, 11356 IRpcChannelBuffer* pRpcChannelBuffer, 11357 PRPC_MESSAGE pRpcMessage, 11358 DWORD* pdwStubPhase); 11359 HRESULT STDMETHODCALLTYPE ITransferSource_RenameItem_Proxy( 11360 ITransferSource* This, 11361 IShellItem *psiSource, 11362 LPCWSTR pszNewName, 11363 TRANSFER_SOURCE_FLAGS flags, 11364 IShellItem **ppsiNewDest); 11365 void __RPC_STUB ITransferSource_RenameItem_Stub( 11366 IRpcStubBuffer* This, 11367 IRpcChannelBuffer* pRpcChannelBuffer, 11368 PRPC_MESSAGE pRpcMessage, 11369 DWORD* pdwStubPhase); 11370 HRESULT STDMETHODCALLTYPE ITransferSource_LinkItem_Proxy( 11371 ITransferSource* This, 11372 IShellItem *psiSource, 11373 IShellItem *psiParentDest, 11374 LPCWSTR pszNewName, 11375 TRANSFER_SOURCE_FLAGS flags, 11376 IShellItem **ppsiNewDest); 11377 void __RPC_STUB ITransferSource_LinkItem_Stub( 11378 IRpcStubBuffer* This, 11379 IRpcChannelBuffer* pRpcChannelBuffer, 11380 PRPC_MESSAGE pRpcMessage, 11381 DWORD* pdwStubPhase); 11382 HRESULT STDMETHODCALLTYPE ITransferSource_ApplyPropertiesToItem_Proxy( 11383 ITransferSource* This, 11384 IShellItem *psiSource, 11385 IShellItem **ppsiNew); 11386 void __RPC_STUB ITransferSource_ApplyPropertiesToItem_Stub( 11387 IRpcStubBuffer* This, 11388 IRpcChannelBuffer* pRpcChannelBuffer, 11389 PRPC_MESSAGE pRpcMessage, 11390 DWORD* pdwStubPhase); 11391 HRESULT STDMETHODCALLTYPE ITransferSource_GetDefaultDestinationName_Proxy( 11392 ITransferSource* This, 11393 IShellItem *psiSource, 11394 IShellItem *psiParentDest, 11395 LPWSTR *ppszDestinationName); 11396 void __RPC_STUB ITransferSource_GetDefaultDestinationName_Stub( 11397 IRpcStubBuffer* This, 11398 IRpcChannelBuffer* pRpcChannelBuffer, 11399 PRPC_MESSAGE pRpcMessage, 11400 DWORD* pdwStubPhase); 11401 HRESULT STDMETHODCALLTYPE ITransferSource_EnterFolder_Proxy( 11402 ITransferSource* This, 11403 IShellItem *psiChildFolderDest); 11404 void __RPC_STUB ITransferSource_EnterFolder_Stub( 11405 IRpcStubBuffer* This, 11406 IRpcChannelBuffer* pRpcChannelBuffer, 11407 PRPC_MESSAGE pRpcMessage, 11408 DWORD* pdwStubPhase); 11409 HRESULT STDMETHODCALLTYPE ITransferSource_LeaveFolder_Proxy( 11410 ITransferSource* This, 11411 IShellItem *psiChildFolderDest); 11412 void __RPC_STUB ITransferSource_LeaveFolder_Stub( 11413 IRpcStubBuffer* This, 11414 IRpcChannelBuffer* pRpcChannelBuffer, 11415 PRPC_MESSAGE pRpcMessage, 11416 DWORD* pdwStubPhase); 11417 11418 #endif /* __ITransferSource_INTERFACE_DEFINED__ */ 11419 11420 #endif 11421 11422 typedef struct SHELL_ITEM_RESOURCE { 11423 GUID guidType; 11424 WCHAR szName[260]; 11425 } SHELL_ITEM_RESOURCE; 11426 11427 /***************************************************************************** 11428 * IEnumResources interface 11429 */ 11430 #ifndef __IEnumResources_INTERFACE_DEFINED__ 11431 #define __IEnumResources_INTERFACE_DEFINED__ 11432 11433 DEFINE_GUID(IID_IEnumResources, 0x2dd81fe3, 0xa83c, 0x4da9, 0xa3,0x30, 0x47,0x24,0x9d,0x34,0x5b,0xa1); 11434 #if defined(__cplusplus) && !defined(CINTERFACE) 11435 MIDL_INTERFACE("2dd81fe3-a83c-4da9-a330-47249d345ba1") 11436 IEnumResources : public IUnknown 11437 { 11438 virtual HRESULT STDMETHODCALLTYPE Next( 11439 ULONG celt, 11440 SHELL_ITEM_RESOURCE *psir, 11441 ULONG *pceltFetched) = 0; 11442 11443 virtual HRESULT STDMETHODCALLTYPE Skip( 11444 ULONG celt) = 0; 11445 11446 virtual HRESULT STDMETHODCALLTYPE Reset( 11447 ) = 0; 11448 11449 virtual HRESULT STDMETHODCALLTYPE Clone( 11450 IEnumResources **ppenumr) = 0; 11451 11452 }; 11453 #ifdef __CRT_UUID_DECL 11454 __CRT_UUID_DECL(IEnumResources, 0x2dd81fe3, 0xa83c, 0x4da9, 0xa3,0x30, 0x47,0x24,0x9d,0x34,0x5b,0xa1) 11455 #endif 11456 #else 11457 typedef struct IEnumResourcesVtbl { 11458 BEGIN_INTERFACE 11459 11460 /*** IUnknown methods ***/ 11461 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11462 IEnumResources* This, 11463 REFIID riid, 11464 void **ppvObject); 11465 11466 ULONG (STDMETHODCALLTYPE *AddRef)( 11467 IEnumResources* This); 11468 11469 ULONG (STDMETHODCALLTYPE *Release)( 11470 IEnumResources* This); 11471 11472 /*** IEnumResources methods ***/ 11473 HRESULT (STDMETHODCALLTYPE *Next)( 11474 IEnumResources* This, 11475 ULONG celt, 11476 SHELL_ITEM_RESOURCE *psir, 11477 ULONG *pceltFetched); 11478 11479 HRESULT (STDMETHODCALLTYPE *Skip)( 11480 IEnumResources* This, 11481 ULONG celt); 11482 11483 HRESULT (STDMETHODCALLTYPE *Reset)( 11484 IEnumResources* This); 11485 11486 HRESULT (STDMETHODCALLTYPE *Clone)( 11487 IEnumResources* This, 11488 IEnumResources **ppenumr); 11489 11490 END_INTERFACE 11491 } IEnumResourcesVtbl; 11492 interface IEnumResources { 11493 CONST_VTBL IEnumResourcesVtbl* lpVtbl; 11494 }; 11495 11496 #ifdef COBJMACROS 11497 #ifndef WIDL_C_INLINE_WRAPPERS 11498 /*** IUnknown methods ***/ 11499 #define IEnumResources_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11500 #define IEnumResources_AddRef(This) (This)->lpVtbl->AddRef(This) 11501 #define IEnumResources_Release(This) (This)->lpVtbl->Release(This) 11502 /*** IEnumResources methods ***/ 11503 #define IEnumResources_Next(This,celt,psir,pceltFetched) (This)->lpVtbl->Next(This,celt,psir,pceltFetched) 11504 #define IEnumResources_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 11505 #define IEnumResources_Reset(This) (This)->lpVtbl->Reset(This) 11506 #define IEnumResources_Clone(This,ppenumr) (This)->lpVtbl->Clone(This,ppenumr) 11507 #else 11508 /*** IUnknown methods ***/ 11509 static FORCEINLINE HRESULT IEnumResources_QueryInterface(IEnumResources* This,REFIID riid,void **ppvObject) { 11510 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11511 } 11512 static FORCEINLINE ULONG IEnumResources_AddRef(IEnumResources* This) { 11513 return This->lpVtbl->AddRef(This); 11514 } 11515 static FORCEINLINE ULONG IEnumResources_Release(IEnumResources* This) { 11516 return This->lpVtbl->Release(This); 11517 } 11518 /*** IEnumResources methods ***/ 11519 static FORCEINLINE HRESULT IEnumResources_Next(IEnumResources* This,ULONG celt,SHELL_ITEM_RESOURCE *psir,ULONG *pceltFetched) { 11520 return This->lpVtbl->Next(This,celt,psir,pceltFetched); 11521 } 11522 static FORCEINLINE HRESULT IEnumResources_Skip(IEnumResources* This,ULONG celt) { 11523 return This->lpVtbl->Skip(This,celt); 11524 } 11525 static FORCEINLINE HRESULT IEnumResources_Reset(IEnumResources* This) { 11526 return This->lpVtbl->Reset(This); 11527 } 11528 static FORCEINLINE HRESULT IEnumResources_Clone(IEnumResources* This,IEnumResources **ppenumr) { 11529 return This->lpVtbl->Clone(This,ppenumr); 11530 } 11531 #endif 11532 #endif 11533 11534 #endif 11535 11536 HRESULT STDMETHODCALLTYPE IEnumResources_Next_Proxy( 11537 IEnumResources* This, 11538 ULONG celt, 11539 SHELL_ITEM_RESOURCE *psir, 11540 ULONG *pceltFetched); 11541 void __RPC_STUB IEnumResources_Next_Stub( 11542 IRpcStubBuffer* This, 11543 IRpcChannelBuffer* pRpcChannelBuffer, 11544 PRPC_MESSAGE pRpcMessage, 11545 DWORD* pdwStubPhase); 11546 HRESULT STDMETHODCALLTYPE IEnumResources_Skip_Proxy( 11547 IEnumResources* This, 11548 ULONG celt); 11549 void __RPC_STUB IEnumResources_Skip_Stub( 11550 IRpcStubBuffer* This, 11551 IRpcChannelBuffer* pRpcChannelBuffer, 11552 PRPC_MESSAGE pRpcMessage, 11553 DWORD* pdwStubPhase); 11554 HRESULT STDMETHODCALLTYPE IEnumResources_Reset_Proxy( 11555 IEnumResources* This); 11556 void __RPC_STUB IEnumResources_Reset_Stub( 11557 IRpcStubBuffer* This, 11558 IRpcChannelBuffer* pRpcChannelBuffer, 11559 PRPC_MESSAGE pRpcMessage, 11560 DWORD* pdwStubPhase); 11561 HRESULT STDMETHODCALLTYPE IEnumResources_Clone_Proxy( 11562 IEnumResources* This, 11563 IEnumResources **ppenumr); 11564 void __RPC_STUB IEnumResources_Clone_Stub( 11565 IRpcStubBuffer* This, 11566 IRpcChannelBuffer* pRpcChannelBuffer, 11567 PRPC_MESSAGE pRpcMessage, 11568 DWORD* pdwStubPhase); 11569 11570 #endif /* __IEnumResources_INTERFACE_DEFINED__ */ 11571 11572 11573 /***************************************************************************** 11574 * IShellItemResources interface 11575 */ 11576 #ifndef __IShellItemResources_INTERFACE_DEFINED__ 11577 #define __IShellItemResources_INTERFACE_DEFINED__ 11578 11579 DEFINE_GUID(IID_IShellItemResources, 0xff5693be, 0x2ce0, 0x4d48, 0xb5,0xc5, 0x40,0x81,0x7d,0x1a,0xcd,0xb9); 11580 #if defined(__cplusplus) && !defined(CINTERFACE) 11581 MIDL_INTERFACE("ff5693be-2ce0-4d48-b5c5-40817d1acdb9") 11582 IShellItemResources : public IUnknown 11583 { 11584 virtual HRESULT STDMETHODCALLTYPE GetAttributes( 11585 DWORD *pdwAttributes) = 0; 11586 11587 virtual HRESULT STDMETHODCALLTYPE GetSize( 11588 ULONGLONG *pullSize) = 0; 11589 11590 virtual HRESULT STDMETHODCALLTYPE GetTimes( 11591 FILETIME *pftCreation, 11592 FILETIME *pftWrite, 11593 FILETIME *pftAccess) = 0; 11594 11595 virtual HRESULT STDMETHODCALLTYPE SetTimes( 11596 const FILETIME *pftCreation, 11597 const FILETIME *pftWrite, 11598 const FILETIME *pftAccess) = 0; 11599 11600 virtual HRESULT STDMETHODCALLTYPE GetResourceDescription( 11601 const SHELL_ITEM_RESOURCE *pcsir, 11602 LPWSTR *ppszDescription) = 0; 11603 11604 virtual HRESULT STDMETHODCALLTYPE EnumResources( 11605 IEnumResources **ppenumr) = 0; 11606 11607 virtual HRESULT STDMETHODCALLTYPE SupportsResource( 11608 const SHELL_ITEM_RESOURCE *pcsir) = 0; 11609 11610 virtual HRESULT STDMETHODCALLTYPE OpenResource( 11611 const SHELL_ITEM_RESOURCE *pcsir, 11612 REFIID riid, 11613 void **ppv) = 0; 11614 11615 virtual HRESULT STDMETHODCALLTYPE CreateResource( 11616 const SHELL_ITEM_RESOURCE *pcsir, 11617 REFIID riid, 11618 void **ppv) = 0; 11619 11620 virtual HRESULT STDMETHODCALLTYPE MarkForDelete( 11621 ) = 0; 11622 11623 }; 11624 #ifdef __CRT_UUID_DECL 11625 __CRT_UUID_DECL(IShellItemResources, 0xff5693be, 0x2ce0, 0x4d48, 0xb5,0xc5, 0x40,0x81,0x7d,0x1a,0xcd,0xb9) 11626 #endif 11627 #else 11628 typedef struct IShellItemResourcesVtbl { 11629 BEGIN_INTERFACE 11630 11631 /*** IUnknown methods ***/ 11632 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11633 IShellItemResources* This, 11634 REFIID riid, 11635 void **ppvObject); 11636 11637 ULONG (STDMETHODCALLTYPE *AddRef)( 11638 IShellItemResources* This); 11639 11640 ULONG (STDMETHODCALLTYPE *Release)( 11641 IShellItemResources* This); 11642 11643 /*** IShellItemResources methods ***/ 11644 HRESULT (STDMETHODCALLTYPE *GetAttributes)( 11645 IShellItemResources* This, 11646 DWORD *pdwAttributes); 11647 11648 HRESULT (STDMETHODCALLTYPE *GetSize)( 11649 IShellItemResources* This, 11650 ULONGLONG *pullSize); 11651 11652 HRESULT (STDMETHODCALLTYPE *GetTimes)( 11653 IShellItemResources* This, 11654 FILETIME *pftCreation, 11655 FILETIME *pftWrite, 11656 FILETIME *pftAccess); 11657 11658 HRESULT (STDMETHODCALLTYPE *SetTimes)( 11659 IShellItemResources* This, 11660 const FILETIME *pftCreation, 11661 const FILETIME *pftWrite, 11662 const FILETIME *pftAccess); 11663 11664 HRESULT (STDMETHODCALLTYPE *GetResourceDescription)( 11665 IShellItemResources* This, 11666 const SHELL_ITEM_RESOURCE *pcsir, 11667 LPWSTR *ppszDescription); 11668 11669 HRESULT (STDMETHODCALLTYPE *EnumResources)( 11670 IShellItemResources* This, 11671 IEnumResources **ppenumr); 11672 11673 HRESULT (STDMETHODCALLTYPE *SupportsResource)( 11674 IShellItemResources* This, 11675 const SHELL_ITEM_RESOURCE *pcsir); 11676 11677 HRESULT (STDMETHODCALLTYPE *OpenResource)( 11678 IShellItemResources* This, 11679 const SHELL_ITEM_RESOURCE *pcsir, 11680 REFIID riid, 11681 void **ppv); 11682 11683 HRESULT (STDMETHODCALLTYPE *CreateResource)( 11684 IShellItemResources* This, 11685 const SHELL_ITEM_RESOURCE *pcsir, 11686 REFIID riid, 11687 void **ppv); 11688 11689 HRESULT (STDMETHODCALLTYPE *MarkForDelete)( 11690 IShellItemResources* This); 11691 11692 END_INTERFACE 11693 } IShellItemResourcesVtbl; 11694 interface IShellItemResources { 11695 CONST_VTBL IShellItemResourcesVtbl* lpVtbl; 11696 }; 11697 11698 #ifdef COBJMACROS 11699 #ifndef WIDL_C_INLINE_WRAPPERS 11700 /*** IUnknown methods ***/ 11701 #define IShellItemResources_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11702 #define IShellItemResources_AddRef(This) (This)->lpVtbl->AddRef(This) 11703 #define IShellItemResources_Release(This) (This)->lpVtbl->Release(This) 11704 /*** IShellItemResources methods ***/ 11705 #define IShellItemResources_GetAttributes(This,pdwAttributes) (This)->lpVtbl->GetAttributes(This,pdwAttributes) 11706 #define IShellItemResources_GetSize(This,pullSize) (This)->lpVtbl->GetSize(This,pullSize) 11707 #define IShellItemResources_GetTimes(This,pftCreation,pftWrite,pftAccess) (This)->lpVtbl->GetTimes(This,pftCreation,pftWrite,pftAccess) 11708 #define IShellItemResources_SetTimes(This,pftCreation,pftWrite,pftAccess) (This)->lpVtbl->SetTimes(This,pftCreation,pftWrite,pftAccess) 11709 #define IShellItemResources_GetResourceDescription(This,pcsir,ppszDescription) (This)->lpVtbl->GetResourceDescription(This,pcsir,ppszDescription) 11710 #define IShellItemResources_EnumResources(This,ppenumr) (This)->lpVtbl->EnumResources(This,ppenumr) 11711 #define IShellItemResources_SupportsResource(This,pcsir) (This)->lpVtbl->SupportsResource(This,pcsir) 11712 #define IShellItemResources_OpenResource(This,pcsir,riid,ppv) (This)->lpVtbl->OpenResource(This,pcsir,riid,ppv) 11713 #define IShellItemResources_CreateResource(This,pcsir,riid,ppv) (This)->lpVtbl->CreateResource(This,pcsir,riid,ppv) 11714 #define IShellItemResources_MarkForDelete(This) (This)->lpVtbl->MarkForDelete(This) 11715 #else 11716 /*** IUnknown methods ***/ 11717 static FORCEINLINE HRESULT IShellItemResources_QueryInterface(IShellItemResources* This,REFIID riid,void **ppvObject) { 11718 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11719 } 11720 static FORCEINLINE ULONG IShellItemResources_AddRef(IShellItemResources* This) { 11721 return This->lpVtbl->AddRef(This); 11722 } 11723 static FORCEINLINE ULONG IShellItemResources_Release(IShellItemResources* This) { 11724 return This->lpVtbl->Release(This); 11725 } 11726 /*** IShellItemResources methods ***/ 11727 static FORCEINLINE HRESULT IShellItemResources_GetAttributes(IShellItemResources* This,DWORD *pdwAttributes) { 11728 return This->lpVtbl->GetAttributes(This,pdwAttributes); 11729 } 11730 static FORCEINLINE HRESULT IShellItemResources_GetSize(IShellItemResources* This,ULONGLONG *pullSize) { 11731 return This->lpVtbl->GetSize(This,pullSize); 11732 } 11733 static FORCEINLINE HRESULT IShellItemResources_GetTimes(IShellItemResources* This,FILETIME *pftCreation,FILETIME *pftWrite,FILETIME *pftAccess) { 11734 return This->lpVtbl->GetTimes(This,pftCreation,pftWrite,pftAccess); 11735 } 11736 static FORCEINLINE HRESULT IShellItemResources_SetTimes(IShellItemResources* This,const FILETIME *pftCreation,const FILETIME *pftWrite,const FILETIME *pftAccess) { 11737 return This->lpVtbl->SetTimes(This,pftCreation,pftWrite,pftAccess); 11738 } 11739 static FORCEINLINE HRESULT IShellItemResources_GetResourceDescription(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir,LPWSTR *ppszDescription) { 11740 return This->lpVtbl->GetResourceDescription(This,pcsir,ppszDescription); 11741 } 11742 static FORCEINLINE HRESULT IShellItemResources_EnumResources(IShellItemResources* This,IEnumResources **ppenumr) { 11743 return This->lpVtbl->EnumResources(This,ppenumr); 11744 } 11745 static FORCEINLINE HRESULT IShellItemResources_SupportsResource(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir) { 11746 return This->lpVtbl->SupportsResource(This,pcsir); 11747 } 11748 static FORCEINLINE HRESULT IShellItemResources_OpenResource(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir,REFIID riid,void **ppv) { 11749 return This->lpVtbl->OpenResource(This,pcsir,riid,ppv); 11750 } 11751 static FORCEINLINE HRESULT IShellItemResources_CreateResource(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir,REFIID riid,void **ppv) { 11752 return This->lpVtbl->CreateResource(This,pcsir,riid,ppv); 11753 } 11754 static FORCEINLINE HRESULT IShellItemResources_MarkForDelete(IShellItemResources* This) { 11755 return This->lpVtbl->MarkForDelete(This); 11756 } 11757 #endif 11758 #endif 11759 11760 #endif 11761 11762 HRESULT STDMETHODCALLTYPE IShellItemResources_GetAttributes_Proxy( 11763 IShellItemResources* This, 11764 DWORD *pdwAttributes); 11765 void __RPC_STUB IShellItemResources_GetAttributes_Stub( 11766 IRpcStubBuffer* This, 11767 IRpcChannelBuffer* pRpcChannelBuffer, 11768 PRPC_MESSAGE pRpcMessage, 11769 DWORD* pdwStubPhase); 11770 HRESULT STDMETHODCALLTYPE IShellItemResources_GetSize_Proxy( 11771 IShellItemResources* This, 11772 ULONGLONG *pullSize); 11773 void __RPC_STUB IShellItemResources_GetSize_Stub( 11774 IRpcStubBuffer* This, 11775 IRpcChannelBuffer* pRpcChannelBuffer, 11776 PRPC_MESSAGE pRpcMessage, 11777 DWORD* pdwStubPhase); 11778 HRESULT STDMETHODCALLTYPE IShellItemResources_GetTimes_Proxy( 11779 IShellItemResources* This, 11780 FILETIME *pftCreation, 11781 FILETIME *pftWrite, 11782 FILETIME *pftAccess); 11783 void __RPC_STUB IShellItemResources_GetTimes_Stub( 11784 IRpcStubBuffer* This, 11785 IRpcChannelBuffer* pRpcChannelBuffer, 11786 PRPC_MESSAGE pRpcMessage, 11787 DWORD* pdwStubPhase); 11788 HRESULT STDMETHODCALLTYPE IShellItemResources_SetTimes_Proxy( 11789 IShellItemResources* This, 11790 const FILETIME *pftCreation, 11791 const FILETIME *pftWrite, 11792 const FILETIME *pftAccess); 11793 void __RPC_STUB IShellItemResources_SetTimes_Stub( 11794 IRpcStubBuffer* This, 11795 IRpcChannelBuffer* pRpcChannelBuffer, 11796 PRPC_MESSAGE pRpcMessage, 11797 DWORD* pdwStubPhase); 11798 HRESULT STDMETHODCALLTYPE IShellItemResources_GetResourceDescription_Proxy( 11799 IShellItemResources* This, 11800 const SHELL_ITEM_RESOURCE *pcsir, 11801 LPWSTR *ppszDescription); 11802 void __RPC_STUB IShellItemResources_GetResourceDescription_Stub( 11803 IRpcStubBuffer* This, 11804 IRpcChannelBuffer* pRpcChannelBuffer, 11805 PRPC_MESSAGE pRpcMessage, 11806 DWORD* pdwStubPhase); 11807 HRESULT STDMETHODCALLTYPE IShellItemResources_EnumResources_Proxy( 11808 IShellItemResources* This, 11809 IEnumResources **ppenumr); 11810 void __RPC_STUB IShellItemResources_EnumResources_Stub( 11811 IRpcStubBuffer* This, 11812 IRpcChannelBuffer* pRpcChannelBuffer, 11813 PRPC_MESSAGE pRpcMessage, 11814 DWORD* pdwStubPhase); 11815 HRESULT STDMETHODCALLTYPE IShellItemResources_SupportsResource_Proxy( 11816 IShellItemResources* This, 11817 const SHELL_ITEM_RESOURCE *pcsir); 11818 void __RPC_STUB IShellItemResources_SupportsResource_Stub( 11819 IRpcStubBuffer* This, 11820 IRpcChannelBuffer* pRpcChannelBuffer, 11821 PRPC_MESSAGE pRpcMessage, 11822 DWORD* pdwStubPhase); 11823 HRESULT STDMETHODCALLTYPE IShellItemResources_OpenResource_Proxy( 11824 IShellItemResources* This, 11825 const SHELL_ITEM_RESOURCE *pcsir, 11826 REFIID riid, 11827 void **ppv); 11828 void __RPC_STUB IShellItemResources_OpenResource_Stub( 11829 IRpcStubBuffer* This, 11830 IRpcChannelBuffer* pRpcChannelBuffer, 11831 PRPC_MESSAGE pRpcMessage, 11832 DWORD* pdwStubPhase); 11833 HRESULT STDMETHODCALLTYPE IShellItemResources_CreateResource_Proxy( 11834 IShellItemResources* This, 11835 const SHELL_ITEM_RESOURCE *pcsir, 11836 REFIID riid, 11837 void **ppv); 11838 void __RPC_STUB IShellItemResources_CreateResource_Stub( 11839 IRpcStubBuffer* This, 11840 IRpcChannelBuffer* pRpcChannelBuffer, 11841 PRPC_MESSAGE pRpcMessage, 11842 DWORD* pdwStubPhase); 11843 HRESULT STDMETHODCALLTYPE IShellItemResources_MarkForDelete_Proxy( 11844 IShellItemResources* This); 11845 void __RPC_STUB IShellItemResources_MarkForDelete_Stub( 11846 IRpcStubBuffer* This, 11847 IRpcChannelBuffer* pRpcChannelBuffer, 11848 PRPC_MESSAGE pRpcMessage, 11849 DWORD* pdwStubPhase); 11850 11851 #endif /* __IShellItemResources_INTERFACE_DEFINED__ */ 11852 11853 11854 /***************************************************************************** 11855 * ITransferDestination interface 11856 */ 11857 #ifndef __ITransferDestination_INTERFACE_DEFINED__ 11858 #define __ITransferDestination_INTERFACE_DEFINED__ 11859 11860 DEFINE_GUID(IID_ITransferDestination, 0x48addd32, 0x3ca5, 0x4124, 0xab,0xe3, 0xb5,0xa7,0x25,0x31,0xb2,0x07); 11861 #if defined(__cplusplus) && !defined(CINTERFACE) 11862 MIDL_INTERFACE("48addd32-3ca5-4124-abe3-b5a72531b207") 11863 ITransferDestination : public IUnknown 11864 { 11865 virtual HRESULT STDMETHODCALLTYPE Advise( 11866 ITransferAdviseSink *psink, 11867 DWORD *pdwCookie) = 0; 11868 11869 virtual HRESULT STDMETHODCALLTYPE Unadvise( 11870 DWORD dwCookie) = 0; 11871 11872 virtual HRESULT STDMETHODCALLTYPE CreateItem( 11873 LPCWSTR pszName, 11874 DWORD dwAttributes, 11875 ULONGLONG ullSize, 11876 TRANSFER_SOURCE_FLAGS flags, 11877 REFIID riidItem, 11878 void **ppvItem, 11879 REFIID riidResources, 11880 void **ppvResources) = 0; 11881 11882 }; 11883 #ifdef __CRT_UUID_DECL 11884 __CRT_UUID_DECL(ITransferDestination, 0x48addd32, 0x3ca5, 0x4124, 0xab,0xe3, 0xb5,0xa7,0x25,0x31,0xb2,0x07) 11885 #endif 11886 #else 11887 typedef struct ITransferDestinationVtbl { 11888 BEGIN_INTERFACE 11889 11890 /*** IUnknown methods ***/ 11891 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11892 ITransferDestination* This, 11893 REFIID riid, 11894 void **ppvObject); 11895 11896 ULONG (STDMETHODCALLTYPE *AddRef)( 11897 ITransferDestination* This); 11898 11899 ULONG (STDMETHODCALLTYPE *Release)( 11900 ITransferDestination* This); 11901 11902 /*** ITransferDestination methods ***/ 11903 HRESULT (STDMETHODCALLTYPE *Advise)( 11904 ITransferDestination* This, 11905 ITransferAdviseSink *psink, 11906 DWORD *pdwCookie); 11907 11908 HRESULT (STDMETHODCALLTYPE *Unadvise)( 11909 ITransferDestination* This, 11910 DWORD dwCookie); 11911 11912 HRESULT (STDMETHODCALLTYPE *CreateItem)( 11913 ITransferDestination* This, 11914 LPCWSTR pszName, 11915 DWORD dwAttributes, 11916 ULONGLONG ullSize, 11917 TRANSFER_SOURCE_FLAGS flags, 11918 REFIID riidItem, 11919 void **ppvItem, 11920 REFIID riidResources, 11921 void **ppvResources); 11922 11923 END_INTERFACE 11924 } ITransferDestinationVtbl; 11925 interface ITransferDestination { 11926 CONST_VTBL ITransferDestinationVtbl* lpVtbl; 11927 }; 11928 11929 #ifdef COBJMACROS 11930 #ifndef WIDL_C_INLINE_WRAPPERS 11931 /*** IUnknown methods ***/ 11932 #define ITransferDestination_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11933 #define ITransferDestination_AddRef(This) (This)->lpVtbl->AddRef(This) 11934 #define ITransferDestination_Release(This) (This)->lpVtbl->Release(This) 11935 /*** ITransferDestination methods ***/ 11936 #define