1 /*** Autogenerated by WIDL 6.4 from include/objidl.idl - Do not edit ***/ 2 3 #ifdef _WIN32 4 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 5 #define __REQUIRED_RPCNDR_H_VERSION__ 475 6 #endif 7 #include <rpc.h> 8 #include <rpcndr.h> 9 #endif 10 11 #ifndef COM_NO_WINDOWS_H 12 #include <windows.h> 13 #include <ole2.h> 14 #endif 15 16 #ifndef __objidl_h__ 17 #define __objidl_h__ 18 19 /* Forward declarations */ 20 21 #ifndef __IMarshal_FWD_DEFINED__ 22 #define __IMarshal_FWD_DEFINED__ 23 typedef interface IMarshal IMarshal; 24 #ifdef __cplusplus 25 interface IMarshal; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __INoMarshal_FWD_DEFINED__ 30 #define __INoMarshal_FWD_DEFINED__ 31 typedef interface INoMarshal INoMarshal; 32 #ifdef __cplusplus 33 interface INoMarshal; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __IAgileObject_FWD_DEFINED__ 38 #define __IAgileObject_FWD_DEFINED__ 39 typedef interface IAgileObject IAgileObject; 40 #ifdef __cplusplus 41 interface IAgileObject; 42 #endif /* __cplusplus */ 43 #endif 44 45 #ifndef __IAgileReference_FWD_DEFINED__ 46 #define __IAgileReference_FWD_DEFINED__ 47 typedef interface IAgileReference IAgileReference; 48 #ifdef __cplusplus 49 interface IAgileReference; 50 #endif /* __cplusplus */ 51 #endif 52 53 #ifndef __IMarshal2_FWD_DEFINED__ 54 #define __IMarshal2_FWD_DEFINED__ 55 typedef interface IMarshal2 IMarshal2; 56 #ifdef __cplusplus 57 interface IMarshal2; 58 #endif /* __cplusplus */ 59 #endif 60 61 #ifndef __IMalloc_FWD_DEFINED__ 62 #define __IMalloc_FWD_DEFINED__ 63 typedef interface IMalloc IMalloc; 64 #ifdef __cplusplus 65 interface IMalloc; 66 #endif /* __cplusplus */ 67 #endif 68 69 #ifndef __IStdMarshalInfo_FWD_DEFINED__ 70 #define __IStdMarshalInfo_FWD_DEFINED__ 71 typedef interface IStdMarshalInfo IStdMarshalInfo; 72 #ifdef __cplusplus 73 interface IStdMarshalInfo; 74 #endif /* __cplusplus */ 75 #endif 76 77 #ifndef __IExternalConnection_FWD_DEFINED__ 78 #define __IExternalConnection_FWD_DEFINED__ 79 typedef interface IExternalConnection IExternalConnection; 80 #ifdef __cplusplus 81 interface IExternalConnection; 82 #endif /* __cplusplus */ 83 #endif 84 85 #ifndef __IMultiQI_FWD_DEFINED__ 86 #define __IMultiQI_FWD_DEFINED__ 87 typedef interface IMultiQI IMultiQI; 88 #ifdef __cplusplus 89 interface IMultiQI; 90 #endif /* __cplusplus */ 91 #endif 92 93 #ifndef __AsyncIMultiQI_FWD_DEFINED__ 94 #define __AsyncIMultiQI_FWD_DEFINED__ 95 typedef interface AsyncIMultiQI AsyncIMultiQI; 96 #ifdef __cplusplus 97 interface AsyncIMultiQI; 98 #endif /* __cplusplus */ 99 #endif 100 101 #ifndef __IInternalUnknown_FWD_DEFINED__ 102 #define __IInternalUnknown_FWD_DEFINED__ 103 typedef interface IInternalUnknown IInternalUnknown; 104 #ifdef __cplusplus 105 interface IInternalUnknown; 106 #endif /* __cplusplus */ 107 #endif 108 109 #ifndef __IEnumUnknown_FWD_DEFINED__ 110 #define __IEnumUnknown_FWD_DEFINED__ 111 typedef interface IEnumUnknown IEnumUnknown; 112 #ifdef __cplusplus 113 interface IEnumUnknown; 114 #endif /* __cplusplus */ 115 #endif 116 117 #ifndef __IEnumString_FWD_DEFINED__ 118 #define __IEnumString_FWD_DEFINED__ 119 typedef interface IEnumString IEnumString; 120 #ifdef __cplusplus 121 interface IEnumString; 122 #endif /* __cplusplus */ 123 #endif 124 125 #ifndef __ISequentialStream_FWD_DEFINED__ 126 #define __ISequentialStream_FWD_DEFINED__ 127 typedef interface ISequentialStream ISequentialStream; 128 #ifdef __cplusplus 129 interface ISequentialStream; 130 #endif /* __cplusplus */ 131 #endif 132 133 #ifndef __IStream_FWD_DEFINED__ 134 #define __IStream_FWD_DEFINED__ 135 typedef interface IStream IStream; 136 #ifdef __cplusplus 137 interface IStream; 138 #endif /* __cplusplus */ 139 #endif 140 141 #ifndef __IRpcChannelBuffer_FWD_DEFINED__ 142 #define __IRpcChannelBuffer_FWD_DEFINED__ 143 typedef interface IRpcChannelBuffer IRpcChannelBuffer; 144 #ifdef __cplusplus 145 interface IRpcChannelBuffer; 146 #endif /* __cplusplus */ 147 #endif 148 149 #ifndef __IRpcChannelBuffer2_FWD_DEFINED__ 150 #define __IRpcChannelBuffer2_FWD_DEFINED__ 151 typedef interface IRpcChannelBuffer2 IRpcChannelBuffer2; 152 #ifdef __cplusplus 153 interface IRpcChannelBuffer2; 154 #endif /* __cplusplus */ 155 #endif 156 157 #ifndef __IAsyncRpcChannelBuffer_FWD_DEFINED__ 158 #define __IAsyncRpcChannelBuffer_FWD_DEFINED__ 159 typedef interface IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer; 160 #ifdef __cplusplus 161 interface IAsyncRpcChannelBuffer; 162 #endif /* __cplusplus */ 163 #endif 164 165 #ifndef __IRpcChannelBuffer3_FWD_DEFINED__ 166 #define __IRpcChannelBuffer3_FWD_DEFINED__ 167 typedef interface IRpcChannelBuffer3 IRpcChannelBuffer3; 168 #ifdef __cplusplus 169 interface IRpcChannelBuffer3; 170 #endif /* __cplusplus */ 171 #endif 172 173 #ifndef __IRpcSyntaxNegotiate_FWD_DEFINED__ 174 #define __IRpcSyntaxNegotiate_FWD_DEFINED__ 175 typedef interface IRpcSyntaxNegotiate IRpcSyntaxNegotiate; 176 #ifdef __cplusplus 177 interface IRpcSyntaxNegotiate; 178 #endif /* __cplusplus */ 179 #endif 180 181 #ifndef __IRpcProxyBuffer_FWD_DEFINED__ 182 #define __IRpcProxyBuffer_FWD_DEFINED__ 183 typedef interface IRpcProxyBuffer IRpcProxyBuffer; 184 #ifdef __cplusplus 185 interface IRpcProxyBuffer; 186 #endif /* __cplusplus */ 187 #endif 188 189 #ifndef __IRpcStubBuffer_FWD_DEFINED__ 190 #define __IRpcStubBuffer_FWD_DEFINED__ 191 typedef interface IRpcStubBuffer IRpcStubBuffer; 192 #ifdef __cplusplus 193 interface IRpcStubBuffer; 194 #endif /* __cplusplus */ 195 #endif 196 197 #ifndef __IPSFactoryBuffer_FWD_DEFINED__ 198 #define __IPSFactoryBuffer_FWD_DEFINED__ 199 typedef interface IPSFactoryBuffer IPSFactoryBuffer; 200 #ifdef __cplusplus 201 interface IPSFactoryBuffer; 202 #endif /* __cplusplus */ 203 #endif 204 205 #ifndef __IChannelHook_FWD_DEFINED__ 206 #define __IChannelHook_FWD_DEFINED__ 207 typedef interface IChannelHook IChannelHook; 208 #ifdef __cplusplus 209 interface IChannelHook; 210 #endif /* __cplusplus */ 211 #endif 212 213 #ifndef __IClientSecurity_FWD_DEFINED__ 214 #define __IClientSecurity_FWD_DEFINED__ 215 typedef interface IClientSecurity IClientSecurity; 216 #ifdef __cplusplus 217 interface IClientSecurity; 218 #endif /* __cplusplus */ 219 #endif 220 221 #ifndef __IServerSecurity_FWD_DEFINED__ 222 #define __IServerSecurity_FWD_DEFINED__ 223 typedef interface IServerSecurity IServerSecurity; 224 #ifdef __cplusplus 225 interface IServerSecurity; 226 #endif /* __cplusplus */ 227 #endif 228 229 #ifndef __IRpcOptions_FWD_DEFINED__ 230 #define __IRpcOptions_FWD_DEFINED__ 231 typedef interface IRpcOptions IRpcOptions; 232 #ifdef __cplusplus 233 interface IRpcOptions; 234 #endif /* __cplusplus */ 235 #endif 236 237 #ifndef __IGlobalOptions_FWD_DEFINED__ 238 #define __IGlobalOptions_FWD_DEFINED__ 239 typedef interface IGlobalOptions IGlobalOptions; 240 #ifdef __cplusplus 241 interface IGlobalOptions; 242 #endif /* __cplusplus */ 243 #endif 244 245 #ifndef __ISurrogate_FWD_DEFINED__ 246 #define __ISurrogate_FWD_DEFINED__ 247 typedef interface ISurrogate ISurrogate; 248 #ifdef __cplusplus 249 interface ISurrogate; 250 #endif /* __cplusplus */ 251 #endif 252 253 #ifndef __IGlobalInterfaceTable_FWD_DEFINED__ 254 #define __IGlobalInterfaceTable_FWD_DEFINED__ 255 typedef interface IGlobalInterfaceTable IGlobalInterfaceTable; 256 #ifdef __cplusplus 257 interface IGlobalInterfaceTable; 258 #endif /* __cplusplus */ 259 #endif 260 261 #ifndef __ISynchronize_FWD_DEFINED__ 262 #define __ISynchronize_FWD_DEFINED__ 263 typedef interface ISynchronize ISynchronize; 264 #ifdef __cplusplus 265 interface ISynchronize; 266 #endif /* __cplusplus */ 267 #endif 268 269 #ifndef __ISynchronizeHandle_FWD_DEFINED__ 270 #define __ISynchronizeHandle_FWD_DEFINED__ 271 typedef interface ISynchronizeHandle ISynchronizeHandle; 272 #ifdef __cplusplus 273 interface ISynchronizeHandle; 274 #endif /* __cplusplus */ 275 #endif 276 277 #ifndef __ISynchronizeEvent_FWD_DEFINED__ 278 #define __ISynchronizeEvent_FWD_DEFINED__ 279 typedef interface ISynchronizeEvent ISynchronizeEvent; 280 #ifdef __cplusplus 281 interface ISynchronizeEvent; 282 #endif /* __cplusplus */ 283 #endif 284 285 #ifndef __ISynchronizeContainer_FWD_DEFINED__ 286 #define __ISynchronizeContainer_FWD_DEFINED__ 287 typedef interface ISynchronizeContainer ISynchronizeContainer; 288 #ifdef __cplusplus 289 interface ISynchronizeContainer; 290 #endif /* __cplusplus */ 291 #endif 292 293 #ifndef __ISynchronizeMutex_FWD_DEFINED__ 294 #define __ISynchronizeMutex_FWD_DEFINED__ 295 typedef interface ISynchronizeMutex ISynchronizeMutex; 296 #ifdef __cplusplus 297 interface ISynchronizeMutex; 298 #endif /* __cplusplus */ 299 #endif 300 301 #ifndef __ICancelMethodCalls_FWD_DEFINED__ 302 #define __ICancelMethodCalls_FWD_DEFINED__ 303 typedef interface ICancelMethodCalls ICancelMethodCalls; 304 #ifdef __cplusplus 305 interface ICancelMethodCalls; 306 #endif /* __cplusplus */ 307 #endif 308 309 #ifndef __IAsyncManager_FWD_DEFINED__ 310 #define __IAsyncManager_FWD_DEFINED__ 311 typedef interface IAsyncManager IAsyncManager; 312 #ifdef __cplusplus 313 interface IAsyncManager; 314 #endif /* __cplusplus */ 315 #endif 316 317 #ifndef __ICallFactory_FWD_DEFINED__ 318 #define __ICallFactory_FWD_DEFINED__ 319 typedef interface ICallFactory ICallFactory; 320 #ifdef __cplusplus 321 interface ICallFactory; 322 #endif /* __cplusplus */ 323 #endif 324 325 #ifndef __IRpcHelper_FWD_DEFINED__ 326 #define __IRpcHelper_FWD_DEFINED__ 327 typedef interface IRpcHelper IRpcHelper; 328 #ifdef __cplusplus 329 interface IRpcHelper; 330 #endif /* __cplusplus */ 331 #endif 332 333 #ifndef __IReleaseMarshalBuffers_FWD_DEFINED__ 334 #define __IReleaseMarshalBuffers_FWD_DEFINED__ 335 typedef interface IReleaseMarshalBuffers IReleaseMarshalBuffers; 336 #ifdef __cplusplus 337 interface IReleaseMarshalBuffers; 338 #endif /* __cplusplus */ 339 #endif 340 341 #ifndef __IWaitMultiple_FWD_DEFINED__ 342 #define __IWaitMultiple_FWD_DEFINED__ 343 typedef interface IWaitMultiple IWaitMultiple; 344 #ifdef __cplusplus 345 interface IWaitMultiple; 346 #endif /* __cplusplus */ 347 #endif 348 349 #ifndef __IAddrTrackingControl_FWD_DEFINED__ 350 #define __IAddrTrackingControl_FWD_DEFINED__ 351 typedef interface IAddrTrackingControl IAddrTrackingControl; 352 #ifdef __cplusplus 353 interface IAddrTrackingControl; 354 #endif /* __cplusplus */ 355 #endif 356 357 #ifndef __IAddrExclusionControl_FWD_DEFINED__ 358 #define __IAddrExclusionControl_FWD_DEFINED__ 359 typedef interface IAddrExclusionControl IAddrExclusionControl; 360 #ifdef __cplusplus 361 interface IAddrExclusionControl; 362 #endif /* __cplusplus */ 363 #endif 364 365 #ifndef __IPipeByte_FWD_DEFINED__ 366 #define __IPipeByte_FWD_DEFINED__ 367 typedef interface IPipeByte IPipeByte; 368 #ifdef __cplusplus 369 interface IPipeByte; 370 #endif /* __cplusplus */ 371 #endif 372 373 #ifndef __IPipeLong_FWD_DEFINED__ 374 #define __IPipeLong_FWD_DEFINED__ 375 typedef interface IPipeLong IPipeLong; 376 #ifdef __cplusplus 377 interface IPipeLong; 378 #endif /* __cplusplus */ 379 #endif 380 381 #ifndef __IPipeDouble_FWD_DEFINED__ 382 #define __IPipeDouble_FWD_DEFINED__ 383 typedef interface IPipeDouble IPipeDouble; 384 #ifdef __cplusplus 385 interface IPipeDouble; 386 #endif /* __cplusplus */ 387 #endif 388 389 #ifndef __IEnumContextProps_FWD_DEFINED__ 390 #define __IEnumContextProps_FWD_DEFINED__ 391 typedef interface IEnumContextProps IEnumContextProps; 392 #ifdef __cplusplus 393 interface IEnumContextProps; 394 #endif /* __cplusplus */ 395 #endif 396 397 #ifndef __IContext_FWD_DEFINED__ 398 #define __IContext_FWD_DEFINED__ 399 typedef interface IContext IContext; 400 #ifdef __cplusplus 401 interface IContext; 402 #endif /* __cplusplus */ 403 #endif 404 405 #ifndef __IComThreadingInfo_FWD_DEFINED__ 406 #define __IComThreadingInfo_FWD_DEFINED__ 407 typedef interface IComThreadingInfo IComThreadingInfo; 408 #ifdef __cplusplus 409 interface IComThreadingInfo; 410 #endif /* __cplusplus */ 411 #endif 412 413 #ifndef __IProcessInitControl_FWD_DEFINED__ 414 #define __IProcessInitControl_FWD_DEFINED__ 415 typedef interface IProcessInitControl IProcessInitControl; 416 #ifdef __cplusplus 417 interface IProcessInitControl; 418 #endif /* __cplusplus */ 419 #endif 420 421 #ifndef __IFastRundown_FWD_DEFINED__ 422 #define __IFastRundown_FWD_DEFINED__ 423 typedef interface IFastRundown IFastRundown; 424 #ifdef __cplusplus 425 interface IFastRundown; 426 #endif /* __cplusplus */ 427 #endif 428 429 #ifndef __IMarshalingStream_FWD_DEFINED__ 430 #define __IMarshalingStream_FWD_DEFINED__ 431 typedef interface IMarshalingStream IMarshalingStream; 432 #ifdef __cplusplus 433 interface IMarshalingStream; 434 #endif /* __cplusplus */ 435 #endif 436 437 #ifndef __IMallocSpy_FWD_DEFINED__ 438 #define __IMallocSpy_FWD_DEFINED__ 439 typedef interface IMallocSpy IMallocSpy; 440 #ifdef __cplusplus 441 interface IMallocSpy; 442 #endif /* __cplusplus */ 443 #endif 444 445 #ifndef __IBindCtx_FWD_DEFINED__ 446 #define __IBindCtx_FWD_DEFINED__ 447 typedef interface IBindCtx IBindCtx; 448 #ifdef __cplusplus 449 interface IBindCtx; 450 #endif /* __cplusplus */ 451 #endif 452 453 #ifndef __IEnumMoniker_FWD_DEFINED__ 454 #define __IEnumMoniker_FWD_DEFINED__ 455 typedef interface IEnumMoniker IEnumMoniker; 456 #ifdef __cplusplus 457 interface IEnumMoniker; 458 #endif /* __cplusplus */ 459 #endif 460 461 #ifndef __IRunnableObject_FWD_DEFINED__ 462 #define __IRunnableObject_FWD_DEFINED__ 463 typedef interface IRunnableObject IRunnableObject; 464 #ifdef __cplusplus 465 interface IRunnableObject; 466 #endif /* __cplusplus */ 467 #endif 468 469 #ifndef __IRunningObjectTable_FWD_DEFINED__ 470 #define __IRunningObjectTable_FWD_DEFINED__ 471 typedef interface IRunningObjectTable IRunningObjectTable; 472 #ifdef __cplusplus 473 interface IRunningObjectTable; 474 #endif /* __cplusplus */ 475 #endif 476 477 #ifndef __IPersist_FWD_DEFINED__ 478 #define __IPersist_FWD_DEFINED__ 479 typedef interface IPersist IPersist; 480 #ifdef __cplusplus 481 interface IPersist; 482 #endif /* __cplusplus */ 483 #endif 484 485 #ifndef __IPersistStream_FWD_DEFINED__ 486 #define __IPersistStream_FWD_DEFINED__ 487 typedef interface IPersistStream IPersistStream; 488 #ifdef __cplusplus 489 interface IPersistStream; 490 #endif /* __cplusplus */ 491 #endif 492 493 #ifndef __IMoniker_FWD_DEFINED__ 494 #define __IMoniker_FWD_DEFINED__ 495 typedef interface IMoniker IMoniker; 496 #ifdef __cplusplus 497 interface IMoniker; 498 #endif /* __cplusplus */ 499 #endif 500 501 #ifndef __IROTData_FWD_DEFINED__ 502 #define __IROTData_FWD_DEFINED__ 503 typedef interface IROTData IROTData; 504 #ifdef __cplusplus 505 interface IROTData; 506 #endif /* __cplusplus */ 507 #endif 508 509 #ifndef __IEnumSTATSTG_FWD_DEFINED__ 510 #define __IEnumSTATSTG_FWD_DEFINED__ 511 typedef interface IEnumSTATSTG IEnumSTATSTG; 512 #ifdef __cplusplus 513 interface IEnumSTATSTG; 514 #endif /* __cplusplus */ 515 #endif 516 517 #ifndef __IStorage_FWD_DEFINED__ 518 #define __IStorage_FWD_DEFINED__ 519 typedef interface IStorage IStorage; 520 #ifdef __cplusplus 521 interface IStorage; 522 #endif /* __cplusplus */ 523 #endif 524 525 #ifndef __IPersistFile_FWD_DEFINED__ 526 #define __IPersistFile_FWD_DEFINED__ 527 typedef interface IPersistFile IPersistFile; 528 #ifdef __cplusplus 529 interface IPersistFile; 530 #endif /* __cplusplus */ 531 #endif 532 533 #ifndef __IPersistStorage_FWD_DEFINED__ 534 #define __IPersistStorage_FWD_DEFINED__ 535 typedef interface IPersistStorage IPersistStorage; 536 #ifdef __cplusplus 537 interface IPersistStorage; 538 #endif /* __cplusplus */ 539 #endif 540 541 #ifndef __ILockBytes_FWD_DEFINED__ 542 #define __ILockBytes_FWD_DEFINED__ 543 typedef interface ILockBytes ILockBytes; 544 #ifdef __cplusplus 545 interface ILockBytes; 546 #endif /* __cplusplus */ 547 #endif 548 549 #ifndef __IEnumFORMATETC_FWD_DEFINED__ 550 #define __IEnumFORMATETC_FWD_DEFINED__ 551 typedef interface IEnumFORMATETC IEnumFORMATETC; 552 #ifdef __cplusplus 553 interface IEnumFORMATETC; 554 #endif /* __cplusplus */ 555 #endif 556 557 #ifndef __IEnumSTATDATA_FWD_DEFINED__ 558 #define __IEnumSTATDATA_FWD_DEFINED__ 559 typedef interface IEnumSTATDATA IEnumSTATDATA; 560 #ifdef __cplusplus 561 interface IEnumSTATDATA; 562 #endif /* __cplusplus */ 563 #endif 564 565 #ifndef __IRootStorage_FWD_DEFINED__ 566 #define __IRootStorage_FWD_DEFINED__ 567 typedef interface IRootStorage IRootStorage; 568 #ifdef __cplusplus 569 interface IRootStorage; 570 #endif /* __cplusplus */ 571 #endif 572 573 #ifndef __IAdviseSink_FWD_DEFINED__ 574 #define __IAdviseSink_FWD_DEFINED__ 575 typedef interface IAdviseSink IAdviseSink; 576 #ifdef __cplusplus 577 interface IAdviseSink; 578 #endif /* __cplusplus */ 579 #endif 580 581 #ifndef __AsyncIAdviseSink_FWD_DEFINED__ 582 #define __AsyncIAdviseSink_FWD_DEFINED__ 583 typedef interface AsyncIAdviseSink AsyncIAdviseSink; 584 #ifdef __cplusplus 585 interface AsyncIAdviseSink; 586 #endif /* __cplusplus */ 587 #endif 588 589 #ifndef __IAdviseSink2_FWD_DEFINED__ 590 #define __IAdviseSink2_FWD_DEFINED__ 591 typedef interface IAdviseSink2 IAdviseSink2; 592 #ifdef __cplusplus 593 interface IAdviseSink2; 594 #endif /* __cplusplus */ 595 #endif 596 597 #ifndef __AsyncIAdviseSink2_FWD_DEFINED__ 598 #define __AsyncIAdviseSink2_FWD_DEFINED__ 599 typedef interface AsyncIAdviseSink2 AsyncIAdviseSink2; 600 #ifdef __cplusplus 601 interface AsyncIAdviseSink2; 602 #endif /* __cplusplus */ 603 #endif 604 605 #ifndef __IDataObject_FWD_DEFINED__ 606 #define __IDataObject_FWD_DEFINED__ 607 typedef interface IDataObject IDataObject; 608 #ifdef __cplusplus 609 interface IDataObject; 610 #endif /* __cplusplus */ 611 #endif 612 613 #ifndef __IDataAdviseHolder_FWD_DEFINED__ 614 #define __IDataAdviseHolder_FWD_DEFINED__ 615 typedef interface IDataAdviseHolder IDataAdviseHolder; 616 #ifdef __cplusplus 617 interface IDataAdviseHolder; 618 #endif /* __cplusplus */ 619 #endif 620 621 #ifndef __IMessageFilter_FWD_DEFINED__ 622 #define __IMessageFilter_FWD_DEFINED__ 623 typedef interface IMessageFilter IMessageFilter; 624 #ifdef __cplusplus 625 interface IMessageFilter; 626 #endif /* __cplusplus */ 627 #endif 628 629 #ifndef __IClassActivator_FWD_DEFINED__ 630 #define __IClassActivator_FWD_DEFINED__ 631 typedef interface IClassActivator IClassActivator; 632 #ifdef __cplusplus 633 interface IClassActivator; 634 #endif /* __cplusplus */ 635 #endif 636 637 #ifndef __IFillLockBytes_FWD_DEFINED__ 638 #define __IFillLockBytes_FWD_DEFINED__ 639 typedef interface IFillLockBytes IFillLockBytes; 640 #ifdef __cplusplus 641 interface IFillLockBytes; 642 #endif /* __cplusplus */ 643 #endif 644 645 #ifndef __IProgressNotify_FWD_DEFINED__ 646 #define __IProgressNotify_FWD_DEFINED__ 647 typedef interface IProgressNotify IProgressNotify; 648 #ifdef __cplusplus 649 interface IProgressNotify; 650 #endif /* __cplusplus */ 651 #endif 652 653 #ifndef __ILayoutStorage_FWD_DEFINED__ 654 #define __ILayoutStorage_FWD_DEFINED__ 655 typedef interface ILayoutStorage ILayoutStorage; 656 #ifdef __cplusplus 657 interface ILayoutStorage; 658 #endif /* __cplusplus */ 659 #endif 660 661 #ifndef __IBlockingLock_FWD_DEFINED__ 662 #define __IBlockingLock_FWD_DEFINED__ 663 typedef interface IBlockingLock IBlockingLock; 664 #ifdef __cplusplus 665 interface IBlockingLock; 666 #endif /* __cplusplus */ 667 #endif 668 669 #ifndef __ITimeAndNoticeControl_FWD_DEFINED__ 670 #define __ITimeAndNoticeControl_FWD_DEFINED__ 671 typedef interface ITimeAndNoticeControl ITimeAndNoticeControl; 672 #ifdef __cplusplus 673 interface ITimeAndNoticeControl; 674 #endif /* __cplusplus */ 675 #endif 676 677 #ifndef __IOplockStorage_FWD_DEFINED__ 678 #define __IOplockStorage_FWD_DEFINED__ 679 typedef interface IOplockStorage IOplockStorage; 680 #ifdef __cplusplus 681 interface IOplockStorage; 682 #endif /* __cplusplus */ 683 #endif 684 685 #ifndef __IDirectWriterLock_FWD_DEFINED__ 686 #define __IDirectWriterLock_FWD_DEFINED__ 687 typedef interface IDirectWriterLock IDirectWriterLock; 688 #ifdef __cplusplus 689 interface IDirectWriterLock; 690 #endif /* __cplusplus */ 691 #endif 692 693 #ifndef __IUrlMon_FWD_DEFINED__ 694 #define __IUrlMon_FWD_DEFINED__ 695 typedef interface IUrlMon IUrlMon; 696 #ifdef __cplusplus 697 interface IUrlMon; 698 #endif /* __cplusplus */ 699 #endif 700 701 #ifndef __IForegroundTransfer_FWD_DEFINED__ 702 #define __IForegroundTransfer_FWD_DEFINED__ 703 typedef interface IForegroundTransfer IForegroundTransfer; 704 #ifdef __cplusplus 705 interface IForegroundTransfer; 706 #endif /* __cplusplus */ 707 #endif 708 709 #ifndef __IThumbnailExtractor_FWD_DEFINED__ 710 #define __IThumbnailExtractor_FWD_DEFINED__ 711 typedef interface IThumbnailExtractor IThumbnailExtractor; 712 #ifdef __cplusplus 713 interface IThumbnailExtractor; 714 #endif /* __cplusplus */ 715 #endif 716 717 #ifndef __IDummyHICONIncluder_FWD_DEFINED__ 718 #define __IDummyHICONIncluder_FWD_DEFINED__ 719 typedef interface IDummyHICONIncluder IDummyHICONIncluder; 720 #ifdef __cplusplus 721 interface IDummyHICONIncluder; 722 #endif /* __cplusplus */ 723 #endif 724 725 #ifndef __IProcessLock_FWD_DEFINED__ 726 #define __IProcessLock_FWD_DEFINED__ 727 typedef interface IProcessLock IProcessLock; 728 #ifdef __cplusplus 729 interface IProcessLock; 730 #endif /* __cplusplus */ 731 #endif 732 733 #ifndef __ISurrogateService_FWD_DEFINED__ 734 #define __ISurrogateService_FWD_DEFINED__ 735 typedef interface ISurrogateService ISurrogateService; 736 #ifdef __cplusplus 737 interface ISurrogateService; 738 #endif /* __cplusplus */ 739 #endif 740 741 #ifndef __IInitializeSpy_FWD_DEFINED__ 742 #define __IInitializeSpy_FWD_DEFINED__ 743 typedef interface IInitializeSpy IInitializeSpy; 744 #ifdef __cplusplus 745 interface IInitializeSpy; 746 #endif /* __cplusplus */ 747 #endif 748 749 #ifndef __IApartmentShutdown_FWD_DEFINED__ 750 #define __IApartmentShutdown_FWD_DEFINED__ 751 typedef interface IApartmentShutdown IApartmentShutdown; 752 #ifdef __cplusplus 753 interface IApartmentShutdown; 754 #endif /* __cplusplus */ 755 #endif 756 757 /* Headers for imported files */ 758 759 #include <unknwn.h> 760 #include <wtypes.h> 761 762 #ifdef __cplusplus 763 extern "C" { 764 #endif 765 766 /** 767 * This file is part of the mingw-w64 runtime package. 768 * No warranty is given; refer to the file DISCLAIMER within this package. 769 */ 770 771 #include <winapifamily.h> 772 773 #if (NTDDI_VERSION >= NTDDI_VISTA && !defined(_WIN32_WINNT)) 774 #define _WIN32_WINNT 0x0600 775 #endif 776 #if(NTDDI_VERSION >= NTDDI_WS03 && !defined(_WIN32_WINNT)) 777 #define _WIN32_WINNT 0x0502 778 #endif 779 #if(NTDDI_VERSION >= NTDDI_WINXP && !defined(_WIN32_WINNT)) 780 #define _WIN32_WINNT 0x0501 781 #endif 782 /** 783 * This file is part of the mingw-w64 runtime package. 784 * No warranty is given; refer to the file DISCLAIMER within this package. 785 */ 786 787 #include <winapifamily.h> 788 789 #if (NTDDI_VERSION >= NTDDI_VISTA && !defined(_WIN32_WINNT)) 790 #define _WIN32_WINNT 0x0600 791 #endif 792 793 #if (NTDDI_VERSION >= NTDDI_WS03 && !defined(_WIN32_WINNT)) 794 #define _WIN32_WINNT 0x0502 795 #endif 796 797 #if (NTDDI_VERSION >= NTDDI_WINXP && !defined(_WIN32_WINNT)) 798 #define _WIN32_WINNT 0x0501 799 #endif 800 801 #ifndef _OBJIDLBASE_ 802 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 803 #ifndef __IStream_FWD_DEFINED__ 804 #define __IStream_FWD_DEFINED__ 805 typedef interface IStream IStream; 806 #ifdef __cplusplus 807 interface IStream; 808 #endif /* __cplusplus */ 809 #endif 810 811 #ifndef __IEnumString_FWD_DEFINED__ 812 #define __IEnumString_FWD_DEFINED__ 813 typedef interface IEnumString IEnumString; 814 #ifdef __cplusplus 815 interface IEnumString; 816 #endif /* __cplusplus */ 817 #endif 818 819 #ifndef __IMultiQI_FWD_DEFINED__ 820 #define __IMultiQI_FWD_DEFINED__ 821 typedef interface IMultiQI IMultiQI; 822 #ifdef __cplusplus 823 interface IMultiQI; 824 #endif /* __cplusplus */ 825 #endif 826 827 #endif 828 829 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 830 #ifndef __IAsyncManager_FWD_DEFINED__ 831 #define __IAsyncManager_FWD_DEFINED__ 832 typedef interface IAsyncManager IAsyncManager; 833 #ifdef __cplusplus 834 interface IAsyncManager; 835 #endif /* __cplusplus */ 836 #endif 837 838 #ifndef __ICallFactory_FWD_DEFINED__ 839 #define __ICallFactory_FWD_DEFINED__ 840 typedef interface ICallFactory ICallFactory; 841 #ifdef __cplusplus 842 interface ICallFactory; 843 #endif /* __cplusplus */ 844 #endif 845 846 #ifndef __ISynchronize_FWD_DEFINED__ 847 #define __ISynchronize_FWD_DEFINED__ 848 typedef interface ISynchronize ISynchronize; 849 #ifdef __cplusplus 850 interface ISynchronize; 851 #endif /* __cplusplus */ 852 #endif 853 854 #endif 855 856 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 857 typedef struct _COSERVERINFO { 858 DWORD dwReserved1; 859 LPWSTR pwszName; 860 COAUTHINFO *pAuthInfo; 861 DWORD dwReserved2; 862 } COSERVERINFO; 863 864 /***************************************************************************** 865 * IMarshal interface 866 */ 867 #ifndef __IMarshal_INTERFACE_DEFINED__ 868 #define __IMarshal_INTERFACE_DEFINED__ 869 870 typedef IMarshal *LPMARSHAL; 871 DEFINE_GUID(IID_IMarshal, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 872 #if defined(__cplusplus) && !defined(CINTERFACE) 873 MIDL_INTERFACE("00000003-0000-0000-c000-000000000046") 874 IMarshal : public IUnknown 875 { 876 virtual HRESULT STDMETHODCALLTYPE GetUnmarshalClass( 877 REFIID riid, 878 void *pv, 879 DWORD dwDestContext, 880 void *pvDestContext, 881 DWORD mshlflags, 882 CLSID *pCid) = 0; 883 884 virtual HRESULT STDMETHODCALLTYPE GetMarshalSizeMax( 885 REFIID riid, 886 void *pv, 887 DWORD dwDestContext, 888 void *pvDestContext, 889 DWORD mshlflags, 890 DWORD *pSize) = 0; 891 892 virtual HRESULT STDMETHODCALLTYPE MarshalInterface( 893 IStream *pStm, 894 REFIID riid, 895 void *pv, 896 DWORD dwDestContext, 897 void *pvDestContext, 898 DWORD mshlflags) = 0; 899 900 virtual HRESULT STDMETHODCALLTYPE UnmarshalInterface( 901 IStream *pStm, 902 REFIID riid, 903 void **ppv) = 0; 904 905 virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalData( 906 IStream *pStm) = 0; 907 908 virtual HRESULT STDMETHODCALLTYPE DisconnectObject( 909 DWORD dwReserved) = 0; 910 911 }; 912 #ifdef __CRT_UUID_DECL 913 __CRT_UUID_DECL(IMarshal, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 914 #endif 915 #else 916 typedef struct IMarshalVtbl { 917 BEGIN_INTERFACE 918 919 /*** IUnknown methods ***/ 920 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 921 IMarshal *This, 922 REFIID riid, 923 void **ppvObject); 924 925 ULONG (STDMETHODCALLTYPE *AddRef)( 926 IMarshal *This); 927 928 ULONG (STDMETHODCALLTYPE *Release)( 929 IMarshal *This); 930 931 /*** IMarshal methods ***/ 932 HRESULT (STDMETHODCALLTYPE *GetUnmarshalClass)( 933 IMarshal *This, 934 REFIID riid, 935 void *pv, 936 DWORD dwDestContext, 937 void *pvDestContext, 938 DWORD mshlflags, 939 CLSID *pCid); 940 941 HRESULT (STDMETHODCALLTYPE *GetMarshalSizeMax)( 942 IMarshal *This, 943 REFIID riid, 944 void *pv, 945 DWORD dwDestContext, 946 void *pvDestContext, 947 DWORD mshlflags, 948 DWORD *pSize); 949 950 HRESULT (STDMETHODCALLTYPE *MarshalInterface)( 951 IMarshal *This, 952 IStream *pStm, 953 REFIID riid, 954 void *pv, 955 DWORD dwDestContext, 956 void *pvDestContext, 957 DWORD mshlflags); 958 959 HRESULT (STDMETHODCALLTYPE *UnmarshalInterface)( 960 IMarshal *This, 961 IStream *pStm, 962 REFIID riid, 963 void **ppv); 964 965 HRESULT (STDMETHODCALLTYPE *ReleaseMarshalData)( 966 IMarshal *This, 967 IStream *pStm); 968 969 HRESULT (STDMETHODCALLTYPE *DisconnectObject)( 970 IMarshal *This, 971 DWORD dwReserved); 972 973 END_INTERFACE 974 } IMarshalVtbl; 975 976 interface IMarshal { 977 CONST_VTBL IMarshalVtbl* lpVtbl; 978 }; 979 980 #ifdef COBJMACROS 981 #ifndef WIDL_C_INLINE_WRAPPERS 982 /*** IUnknown methods ***/ 983 #define IMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 984 #define IMarshal_AddRef(This) (This)->lpVtbl->AddRef(This) 985 #define IMarshal_Release(This) (This)->lpVtbl->Release(This) 986 /*** IMarshal methods ***/ 987 #define IMarshal_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) 988 #define IMarshal_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) 989 #define IMarshal_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) 990 #define IMarshal_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv) 991 #define IMarshal_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm) 992 #define IMarshal_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved) 993 #else 994 /*** IUnknown methods ***/ 995 static FORCEINLINE HRESULT IMarshal_QueryInterface(IMarshal* This,REFIID riid,void **ppvObject) { 996 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 997 } 998 static FORCEINLINE ULONG IMarshal_AddRef(IMarshal* This) { 999 return This->lpVtbl->AddRef(This); 1000 } 1001 static FORCEINLINE ULONG IMarshal_Release(IMarshal* This) { 1002 return This->lpVtbl->Release(This); 1003 } 1004 /*** IMarshal methods ***/ 1005 static FORCEINLINE HRESULT IMarshal_GetUnmarshalClass(IMarshal* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid) { 1006 return This->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid); 1007 } 1008 static FORCEINLINE HRESULT IMarshal_GetMarshalSizeMax(IMarshal* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize) { 1009 return This->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize); 1010 } 1011 static FORCEINLINE HRESULT IMarshal_MarshalInterface(IMarshal* This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags) { 1012 return This->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags); 1013 } 1014 static FORCEINLINE HRESULT IMarshal_UnmarshalInterface(IMarshal* This,IStream *pStm,REFIID riid,void **ppv) { 1015 return This->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv); 1016 } 1017 static FORCEINLINE HRESULT IMarshal_ReleaseMarshalData(IMarshal* This,IStream *pStm) { 1018 return This->lpVtbl->ReleaseMarshalData(This,pStm); 1019 } 1020 static FORCEINLINE HRESULT IMarshal_DisconnectObject(IMarshal* This,DWORD dwReserved) { 1021 return This->lpVtbl->DisconnectObject(This,dwReserved); 1022 } 1023 #endif 1024 #endif 1025 1026 #endif 1027 1028 1029 #endif /* __IMarshal_INTERFACE_DEFINED__ */ 1030 1031 1032 /***************************************************************************** 1033 * INoMarshal interface 1034 */ 1035 #ifndef __INoMarshal_INTERFACE_DEFINED__ 1036 #define __INoMarshal_INTERFACE_DEFINED__ 1037 1038 DEFINE_GUID(IID_INoMarshal, 0xecc8691b, 0xc1db, 0x4dc0, 0x85,0x5e, 0x65,0xf6,0xc5,0x51,0xaf,0x49); 1039 #if defined(__cplusplus) && !defined(CINTERFACE) 1040 MIDL_INTERFACE("ecc8691b-c1db-4dc0-855e-65f6c551af49") 1041 INoMarshal : public IUnknown 1042 { 1043 }; 1044 #ifdef __CRT_UUID_DECL 1045 __CRT_UUID_DECL(INoMarshal, 0xecc8691b, 0xc1db, 0x4dc0, 0x85,0x5e, 0x65,0xf6,0xc5,0x51,0xaf,0x49) 1046 #endif 1047 #else 1048 typedef struct INoMarshalVtbl { 1049 BEGIN_INTERFACE 1050 1051 /*** IUnknown methods ***/ 1052 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1053 INoMarshal *This, 1054 REFIID riid, 1055 void **ppvObject); 1056 1057 ULONG (STDMETHODCALLTYPE *AddRef)( 1058 INoMarshal *This); 1059 1060 ULONG (STDMETHODCALLTYPE *Release)( 1061 INoMarshal *This); 1062 1063 END_INTERFACE 1064 } INoMarshalVtbl; 1065 1066 interface INoMarshal { 1067 CONST_VTBL INoMarshalVtbl* lpVtbl; 1068 }; 1069 1070 #ifdef COBJMACROS 1071 #ifndef WIDL_C_INLINE_WRAPPERS 1072 /*** IUnknown methods ***/ 1073 #define INoMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1074 #define INoMarshal_AddRef(This) (This)->lpVtbl->AddRef(This) 1075 #define INoMarshal_Release(This) (This)->lpVtbl->Release(This) 1076 #else 1077 /*** IUnknown methods ***/ 1078 static FORCEINLINE HRESULT INoMarshal_QueryInterface(INoMarshal* This,REFIID riid,void **ppvObject) { 1079 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1080 } 1081 static FORCEINLINE ULONG INoMarshal_AddRef(INoMarshal* This) { 1082 return This->lpVtbl->AddRef(This); 1083 } 1084 static FORCEINLINE ULONG INoMarshal_Release(INoMarshal* This) { 1085 return This->lpVtbl->Release(This); 1086 } 1087 #endif 1088 #endif 1089 1090 #endif 1091 1092 1093 #endif /* __INoMarshal_INTERFACE_DEFINED__ */ 1094 1095 1096 /***************************************************************************** 1097 * IAgileObject interface 1098 */ 1099 #ifndef __IAgileObject_INTERFACE_DEFINED__ 1100 #define __IAgileObject_INTERFACE_DEFINED__ 1101 1102 DEFINE_GUID(IID_IAgileObject, 0x94ea2b94, 0xe9cc, 0x49e0, 0xc0,0xff, 0xee,0x64,0xca,0x8f,0x5b,0x90); 1103 #if defined(__cplusplus) && !defined(CINTERFACE) 1104 MIDL_INTERFACE("94ea2b94-e9cc-49e0-c0ff-ee64ca8f5b90") 1105 IAgileObject : public IUnknown 1106 { 1107 }; 1108 #ifdef __CRT_UUID_DECL 1109 __CRT_UUID_DECL(IAgileObject, 0x94ea2b94, 0xe9cc, 0x49e0, 0xc0,0xff, 0xee,0x64,0xca,0x8f,0x5b,0x90) 1110 #endif 1111 #else 1112 typedef struct IAgileObjectVtbl { 1113 BEGIN_INTERFACE 1114 1115 /*** IUnknown methods ***/ 1116 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1117 IAgileObject *This, 1118 REFIID riid, 1119 void **ppvObject); 1120 1121 ULONG (STDMETHODCALLTYPE *AddRef)( 1122 IAgileObject *This); 1123 1124 ULONG (STDMETHODCALLTYPE *Release)( 1125 IAgileObject *This); 1126 1127 END_INTERFACE 1128 } IAgileObjectVtbl; 1129 1130 interface IAgileObject { 1131 CONST_VTBL IAgileObjectVtbl* lpVtbl; 1132 }; 1133 1134 #ifdef COBJMACROS 1135 #ifndef WIDL_C_INLINE_WRAPPERS 1136 /*** IUnknown methods ***/ 1137 #define IAgileObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1138 #define IAgileObject_AddRef(This) (This)->lpVtbl->AddRef(This) 1139 #define IAgileObject_Release(This) (This)->lpVtbl->Release(This) 1140 #else 1141 /*** IUnknown methods ***/ 1142 static FORCEINLINE HRESULT IAgileObject_QueryInterface(IAgileObject* This,REFIID riid,void **ppvObject) { 1143 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1144 } 1145 static FORCEINLINE ULONG IAgileObject_AddRef(IAgileObject* This) { 1146 return This->lpVtbl->AddRef(This); 1147 } 1148 static FORCEINLINE ULONG IAgileObject_Release(IAgileObject* This) { 1149 return This->lpVtbl->Release(This); 1150 } 1151 #endif 1152 #endif 1153 1154 #endif 1155 1156 1157 #endif /* __IAgileObject_INTERFACE_DEFINED__ */ 1158 1159 /***************************************************************************** 1160 * IAgileReference interface 1161 */ 1162 #ifndef __IAgileReference_INTERFACE_DEFINED__ 1163 #define __IAgileReference_INTERFACE_DEFINED__ 1164 1165 DEFINE_GUID(IID_IAgileReference, 0xc03f6a43, 0x65a4, 0x9818, 0x98,0x7e, 0xe0,0xb8,0x10,0xd2,0xa6,0xf2); 1166 #if defined(__cplusplus) && !defined(CINTERFACE) 1167 MIDL_INTERFACE("c03f6a43-65a4-9818-987e-e0b810d2a6f2") 1168 IAgileReference : public IUnknown 1169 { 1170 virtual HRESULT STDMETHODCALLTYPE Resolve( 1171 REFIID riid, 1172 void **ppv) = 0; 1173 1174 }; 1175 #ifdef __CRT_UUID_DECL 1176 __CRT_UUID_DECL(IAgileReference, 0xc03f6a43, 0x65a4, 0x9818, 0x98,0x7e, 0xe0,0xb8,0x10,0xd2,0xa6,0xf2) 1177 #endif 1178 #else 1179 typedef struct IAgileReferenceVtbl { 1180 BEGIN_INTERFACE 1181 1182 /*** IUnknown methods ***/ 1183 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1184 IAgileReference *This, 1185 REFIID riid, 1186 void **ppvObject); 1187 1188 ULONG (STDMETHODCALLTYPE *AddRef)( 1189 IAgileReference *This); 1190 1191 ULONG (STDMETHODCALLTYPE *Release)( 1192 IAgileReference *This); 1193 1194 /*** IAgileReference methods ***/ 1195 HRESULT (STDMETHODCALLTYPE *Resolve)( 1196 IAgileReference *This, 1197 REFIID riid, 1198 void **ppv); 1199 1200 END_INTERFACE 1201 } IAgileReferenceVtbl; 1202 1203 interface IAgileReference { 1204 CONST_VTBL IAgileReferenceVtbl* lpVtbl; 1205 }; 1206 1207 #ifdef COBJMACROS 1208 #ifndef WIDL_C_INLINE_WRAPPERS 1209 /*** IUnknown methods ***/ 1210 #define IAgileReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1211 #define IAgileReference_AddRef(This) (This)->lpVtbl->AddRef(This) 1212 #define IAgileReference_Release(This) (This)->lpVtbl->Release(This) 1213 /*** IAgileReference methods ***/ 1214 #define IAgileReference_Resolve(This,riid,ppv) (This)->lpVtbl->Resolve(This,riid,ppv) 1215 #else 1216 /*** IUnknown methods ***/ 1217 static FORCEINLINE HRESULT IAgileReference_QueryInterface(IAgileReference* This,REFIID riid,void **ppvObject) { 1218 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1219 } 1220 static FORCEINLINE ULONG IAgileReference_AddRef(IAgileReference* This) { 1221 return This->lpVtbl->AddRef(This); 1222 } 1223 static FORCEINLINE ULONG IAgileReference_Release(IAgileReference* This) { 1224 return This->lpVtbl->Release(This); 1225 } 1226 /*** IAgileReference methods ***/ 1227 static FORCEINLINE HRESULT IAgileReference_Resolve(IAgileReference* This,REFIID riid,void **ppv) { 1228 return This->lpVtbl->Resolve(This,riid,ppv); 1229 } 1230 #endif 1231 #endif 1232 1233 #endif 1234 1235 1236 #endif /* __IAgileReference_INTERFACE_DEFINED__ */ 1237 1238 #endif 1239 1240 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 1241 /***************************************************************************** 1242 * IMarshal2 interface 1243 */ 1244 #ifndef __IMarshal2_INTERFACE_DEFINED__ 1245 #define __IMarshal2_INTERFACE_DEFINED__ 1246 1247 typedef IMarshal2 *LPMARSHAL2; 1248 DEFINE_GUID(IID_IMarshal2, 0x000001cf, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1249 #if defined(__cplusplus) && !defined(CINTERFACE) 1250 MIDL_INTERFACE("000001cf-0000-0000-c000-000000000046") 1251 IMarshal2 : public IMarshal 1252 { 1253 }; 1254 #ifdef __CRT_UUID_DECL 1255 __CRT_UUID_DECL(IMarshal2, 0x000001cf, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1256 #endif 1257 #else 1258 typedef struct IMarshal2Vtbl { 1259 BEGIN_INTERFACE 1260 1261 /*** IUnknown methods ***/ 1262 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1263 IMarshal2 *This, 1264 REFIID riid, 1265 void **ppvObject); 1266 1267 ULONG (STDMETHODCALLTYPE *AddRef)( 1268 IMarshal2 *This); 1269 1270 ULONG (STDMETHODCALLTYPE *Release)( 1271 IMarshal2 *This); 1272 1273 /*** IMarshal methods ***/ 1274 HRESULT (STDMETHODCALLTYPE *GetUnmarshalClass)( 1275 IMarshal2 *This, 1276 REFIID riid, 1277 void *pv, 1278 DWORD dwDestContext, 1279 void *pvDestContext, 1280 DWORD mshlflags, 1281 CLSID *pCid); 1282 1283 HRESULT (STDMETHODCALLTYPE *GetMarshalSizeMax)( 1284 IMarshal2 *This, 1285 REFIID riid, 1286 void *pv, 1287 DWORD dwDestContext, 1288 void *pvDestContext, 1289 DWORD mshlflags, 1290 DWORD *pSize); 1291 1292 HRESULT (STDMETHODCALLTYPE *MarshalInterface)( 1293 IMarshal2 *This, 1294 IStream *pStm, 1295 REFIID riid, 1296 void *pv, 1297 DWORD dwDestContext, 1298 void *pvDestContext, 1299 DWORD mshlflags); 1300 1301 HRESULT (STDMETHODCALLTYPE *UnmarshalInterface)( 1302 IMarshal2 *This, 1303 IStream *pStm, 1304 REFIID riid, 1305 void **ppv); 1306 1307 HRESULT (STDMETHODCALLTYPE *ReleaseMarshalData)( 1308 IMarshal2 *This, 1309 IStream *pStm); 1310 1311 HRESULT (STDMETHODCALLTYPE *DisconnectObject)( 1312 IMarshal2 *This, 1313 DWORD dwReserved); 1314 1315 END_INTERFACE 1316 } IMarshal2Vtbl; 1317 1318 interface IMarshal2 { 1319 CONST_VTBL IMarshal2Vtbl* lpVtbl; 1320 }; 1321 1322 #ifdef COBJMACROS 1323 #ifndef WIDL_C_INLINE_WRAPPERS 1324 /*** IUnknown methods ***/ 1325 #define IMarshal2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1326 #define IMarshal2_AddRef(This) (This)->lpVtbl->AddRef(This) 1327 #define IMarshal2_Release(This) (This)->lpVtbl->Release(This) 1328 /*** IMarshal methods ***/ 1329 #define IMarshal2_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) 1330 #define IMarshal2_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) 1331 #define IMarshal2_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) 1332 #define IMarshal2_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv) 1333 #define IMarshal2_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm) 1334 #define IMarshal2_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved) 1335 #else 1336 /*** IUnknown methods ***/ 1337 static FORCEINLINE HRESULT IMarshal2_QueryInterface(IMarshal2* This,REFIID riid,void **ppvObject) { 1338 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1339 } 1340 static FORCEINLINE ULONG IMarshal2_AddRef(IMarshal2* This) { 1341 return This->lpVtbl->AddRef(This); 1342 } 1343 static FORCEINLINE ULONG IMarshal2_Release(IMarshal2* This) { 1344 return This->lpVtbl->Release(This); 1345 } 1346 /*** IMarshal methods ***/ 1347 static FORCEINLINE HRESULT IMarshal2_GetUnmarshalClass(IMarshal2* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid) { 1348 return This->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid); 1349 } 1350 static FORCEINLINE HRESULT IMarshal2_GetMarshalSizeMax(IMarshal2* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize) { 1351 return This->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize); 1352 } 1353 static FORCEINLINE HRESULT IMarshal2_MarshalInterface(IMarshal2* This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags) { 1354 return This->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags); 1355 } 1356 static FORCEINLINE HRESULT IMarshal2_UnmarshalInterface(IMarshal2* This,IStream *pStm,REFIID riid,void **ppv) { 1357 return This->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv); 1358 } 1359 static FORCEINLINE HRESULT IMarshal2_ReleaseMarshalData(IMarshal2* This,IStream *pStm) { 1360 return This->lpVtbl->ReleaseMarshalData(This,pStm); 1361 } 1362 static FORCEINLINE HRESULT IMarshal2_DisconnectObject(IMarshal2* This,DWORD dwReserved) { 1363 return This->lpVtbl->DisconnectObject(This,dwReserved); 1364 } 1365 #endif 1366 #endif 1367 1368 #endif 1369 1370 1371 #endif /* __IMarshal2_INTERFACE_DEFINED__ */ 1372 1373 1374 /***************************************************************************** 1375 * IMalloc interface 1376 */ 1377 #ifndef __IMalloc_INTERFACE_DEFINED__ 1378 #define __IMalloc_INTERFACE_DEFINED__ 1379 1380 typedef IMalloc *LPMALLOC; 1381 1382 DEFINE_GUID(IID_IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1383 #if defined(__cplusplus) && !defined(CINTERFACE) 1384 MIDL_INTERFACE("00000002-0000-0000-c000-000000000046") 1385 IMalloc : public IUnknown 1386 { 1387 virtual void * STDMETHODCALLTYPE Alloc( 1388 SIZE_T cb) = 0; 1389 1390 virtual void * STDMETHODCALLTYPE Realloc( 1391 void *pv, 1392 SIZE_T cb) = 0; 1393 1394 virtual void STDMETHODCALLTYPE Free( 1395 void *pv) = 0; 1396 1397 virtual SIZE_T STDMETHODCALLTYPE GetSize( 1398 void *pv) = 0; 1399 1400 virtual int STDMETHODCALLTYPE DidAlloc( 1401 void *pv) = 0; 1402 1403 virtual void STDMETHODCALLTYPE HeapMinimize( 1404 ) = 0; 1405 1406 }; 1407 #ifdef __CRT_UUID_DECL 1408 __CRT_UUID_DECL(IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1409 #endif 1410 #else 1411 typedef struct IMallocVtbl { 1412 BEGIN_INTERFACE 1413 1414 /*** IUnknown methods ***/ 1415 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1416 IMalloc *This, 1417 REFIID riid, 1418 void **ppvObject); 1419 1420 ULONG (STDMETHODCALLTYPE *AddRef)( 1421 IMalloc *This); 1422 1423 ULONG (STDMETHODCALLTYPE *Release)( 1424 IMalloc *This); 1425 1426 /*** IMalloc methods ***/ 1427 void * (STDMETHODCALLTYPE *Alloc)( 1428 IMalloc *This, 1429 SIZE_T cb); 1430 1431 void * (STDMETHODCALLTYPE *Realloc)( 1432 IMalloc *This, 1433 void *pv, 1434 SIZE_T cb); 1435 1436 void (STDMETHODCALLTYPE *Free)( 1437 IMalloc *This, 1438 void *pv); 1439 1440 SIZE_T (STDMETHODCALLTYPE *GetSize)( 1441 IMalloc *This, 1442 void *pv); 1443 1444 int (STDMETHODCALLTYPE *DidAlloc)( 1445 IMalloc *This, 1446 void *pv); 1447 1448 void (STDMETHODCALLTYPE *HeapMinimize)( 1449 IMalloc *This); 1450 1451 END_INTERFACE 1452 } IMallocVtbl; 1453 1454 interface IMalloc { 1455 CONST_VTBL IMallocVtbl* lpVtbl; 1456 }; 1457 1458 #ifdef COBJMACROS 1459 #ifndef WIDL_C_INLINE_WRAPPERS 1460 /*** IUnknown methods ***/ 1461 #define IMalloc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1462 #define IMalloc_AddRef(This) (This)->lpVtbl->AddRef(This) 1463 #define IMalloc_Release(This) (This)->lpVtbl->Release(This) 1464 /*** IMalloc methods ***/ 1465 #define IMalloc_Alloc(This,cb) (This)->lpVtbl->Alloc(This,cb) 1466 #define IMalloc_Realloc(This,pv,cb) (This)->lpVtbl->Realloc(This,pv,cb) 1467 #define IMalloc_Free(This,pv) (This)->lpVtbl->Free(This,pv) 1468 #define IMalloc_GetSize(This,pv) (This)->lpVtbl->GetSize(This,pv) 1469 #define IMalloc_DidAlloc(This,pv) (This)->lpVtbl->DidAlloc(This,pv) 1470 #define IMalloc_HeapMinimize(This) (This)->lpVtbl->HeapMinimize(This) 1471 #else 1472 /*** IUnknown methods ***/ 1473 static FORCEINLINE HRESULT IMalloc_QueryInterface(IMalloc* This,REFIID riid,void **ppvObject) { 1474 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1475 } 1476 static FORCEINLINE ULONG IMalloc_AddRef(IMalloc* This) { 1477 return This->lpVtbl->AddRef(This); 1478 } 1479 static FORCEINLINE ULONG IMalloc_Release(IMalloc* This) { 1480 return This->lpVtbl->Release(This); 1481 } 1482 /*** IMalloc methods ***/ 1483 static FORCEINLINE void * IMalloc_Alloc(IMalloc* This,SIZE_T cb) { 1484 return This->lpVtbl->Alloc(This,cb); 1485 } 1486 static FORCEINLINE void * IMalloc_Realloc(IMalloc* This,void *pv,SIZE_T cb) { 1487 return This->lpVtbl->Realloc(This,pv,cb); 1488 } 1489 static FORCEINLINE void IMalloc_Free(IMalloc* This,void *pv) { 1490 This->lpVtbl->Free(This,pv); 1491 } 1492 static FORCEINLINE SIZE_T IMalloc_GetSize(IMalloc* This,void *pv) { 1493 return This->lpVtbl->GetSize(This,pv); 1494 } 1495 static FORCEINLINE int IMalloc_DidAlloc(IMalloc* This,void *pv) { 1496 return This->lpVtbl->DidAlloc(This,pv); 1497 } 1498 static FORCEINLINE void IMalloc_HeapMinimize(IMalloc* This) { 1499 This->lpVtbl->HeapMinimize(This); 1500 } 1501 #endif 1502 #endif 1503 1504 #endif 1505 1506 1507 #endif /* __IMalloc_INTERFACE_DEFINED__ */ 1508 1509 1510 /***************************************************************************** 1511 * IStdMarshalInfo interface 1512 */ 1513 #ifndef __IStdMarshalInfo_INTERFACE_DEFINED__ 1514 #define __IStdMarshalInfo_INTERFACE_DEFINED__ 1515 1516 typedef IStdMarshalInfo *LPSTDMARSHALINFO; 1517 1518 DEFINE_GUID(IID_IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1519 #if defined(__cplusplus) && !defined(CINTERFACE) 1520 MIDL_INTERFACE("00000018-0000-0000-c000-000000000046") 1521 IStdMarshalInfo : public IUnknown 1522 { 1523 virtual HRESULT STDMETHODCALLTYPE GetClassForHandler( 1524 DWORD dwDestContext, 1525 void *pvDestContext, 1526 CLSID *pClsid) = 0; 1527 1528 }; 1529 #ifdef __CRT_UUID_DECL 1530 __CRT_UUID_DECL(IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1531 #endif 1532 #else 1533 typedef struct IStdMarshalInfoVtbl { 1534 BEGIN_INTERFACE 1535 1536 /*** IUnknown methods ***/ 1537 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1538 IStdMarshalInfo *This, 1539 REFIID riid, 1540 void **ppvObject); 1541 1542 ULONG (STDMETHODCALLTYPE *AddRef)( 1543 IStdMarshalInfo *This); 1544 1545 ULONG (STDMETHODCALLTYPE *Release)( 1546 IStdMarshalInfo *This); 1547 1548 /*** IStdMarshalInfo methods ***/ 1549 HRESULT (STDMETHODCALLTYPE *GetClassForHandler)( 1550 IStdMarshalInfo *This, 1551 DWORD dwDestContext, 1552 void *pvDestContext, 1553 CLSID *pClsid); 1554 1555 END_INTERFACE 1556 } IStdMarshalInfoVtbl; 1557 1558 interface IStdMarshalInfo { 1559 CONST_VTBL IStdMarshalInfoVtbl* lpVtbl; 1560 }; 1561 1562 #ifdef COBJMACROS 1563 #ifndef WIDL_C_INLINE_WRAPPERS 1564 /*** IUnknown methods ***/ 1565 #define IStdMarshalInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1566 #define IStdMarshalInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 1567 #define IStdMarshalInfo_Release(This) (This)->lpVtbl->Release(This) 1568 /*** IStdMarshalInfo methods ***/ 1569 #define IStdMarshalInfo_GetClassForHandler(This,dwDestContext,pvDestContext,pClsid) (This)->lpVtbl->GetClassForHandler(This,dwDestContext,pvDestContext,pClsid) 1570 #else 1571 /*** IUnknown methods ***/ 1572 static FORCEINLINE HRESULT IStdMarshalInfo_QueryInterface(IStdMarshalInfo* This,REFIID riid,void **ppvObject) { 1573 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1574 } 1575 static FORCEINLINE ULONG IStdMarshalInfo_AddRef(IStdMarshalInfo* This) { 1576 return This->lpVtbl->AddRef(This); 1577 } 1578 static FORCEINLINE ULONG IStdMarshalInfo_Release(IStdMarshalInfo* This) { 1579 return This->lpVtbl->Release(This); 1580 } 1581 /*** IStdMarshalInfo methods ***/ 1582 static FORCEINLINE HRESULT IStdMarshalInfo_GetClassForHandler(IStdMarshalInfo* This,DWORD dwDestContext,void *pvDestContext,CLSID *pClsid) { 1583 return This->lpVtbl->GetClassForHandler(This,dwDestContext,pvDestContext,pClsid); 1584 } 1585 #endif 1586 #endif 1587 1588 #endif 1589 1590 1591 #endif /* __IStdMarshalInfo_INTERFACE_DEFINED__ */ 1592 1593 1594 /***************************************************************************** 1595 * IExternalConnection interface 1596 */ 1597 #ifndef __IExternalConnection_INTERFACE_DEFINED__ 1598 #define __IExternalConnection_INTERFACE_DEFINED__ 1599 1600 typedef IExternalConnection *LPEXTERNALCONNECTION; 1601 1602 typedef enum tagEXTCONN { 1603 EXTCONN_STRONG = 0x1, 1604 EXTCONN_WEAK = 0x2, 1605 EXTCONN_CALLABLE = 0x4 1606 } EXTCONN; 1607 1608 DEFINE_GUID(IID_IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1609 #if defined(__cplusplus) && !defined(CINTERFACE) 1610 MIDL_INTERFACE("00000019-0000-0000-c000-000000000046") 1611 IExternalConnection : public IUnknown 1612 { 1613 virtual DWORD STDMETHODCALLTYPE AddConnection( 1614 DWORD extconn, 1615 DWORD reserved) = 0; 1616 1617 virtual DWORD STDMETHODCALLTYPE ReleaseConnection( 1618 DWORD extconn, 1619 DWORD reserved, 1620 WINBOOL fLastReleaseCloses) = 0; 1621 1622 }; 1623 #ifdef __CRT_UUID_DECL 1624 __CRT_UUID_DECL(IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1625 #endif 1626 #else 1627 typedef struct IExternalConnectionVtbl { 1628 BEGIN_INTERFACE 1629 1630 /*** IUnknown methods ***/ 1631 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1632 IExternalConnection *This, 1633 REFIID riid, 1634 void **ppvObject); 1635 1636 ULONG (STDMETHODCALLTYPE *AddRef)( 1637 IExternalConnection *This); 1638 1639 ULONG (STDMETHODCALLTYPE *Release)( 1640 IExternalConnection *This); 1641 1642 /*** IExternalConnection methods ***/ 1643 DWORD (STDMETHODCALLTYPE *AddConnection)( 1644 IExternalConnection *This, 1645 DWORD extconn, 1646 DWORD reserved); 1647 1648 DWORD (STDMETHODCALLTYPE *ReleaseConnection)( 1649 IExternalConnection *This, 1650 DWORD extconn, 1651 DWORD reserved, 1652 WINBOOL fLastReleaseCloses); 1653 1654 END_INTERFACE 1655 } IExternalConnectionVtbl; 1656 1657 interface IExternalConnection { 1658 CONST_VTBL IExternalConnectionVtbl* lpVtbl; 1659 }; 1660 1661 #ifdef COBJMACROS 1662 #ifndef WIDL_C_INLINE_WRAPPERS 1663 /*** IUnknown methods ***/ 1664 #define IExternalConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1665 #define IExternalConnection_AddRef(This) (This)->lpVtbl->AddRef(This) 1666 #define IExternalConnection_Release(This) (This)->lpVtbl->Release(This) 1667 /*** IExternalConnection methods ***/ 1668 #define IExternalConnection_AddConnection(This,extconn,reserved) (This)->lpVtbl->AddConnection(This,extconn,reserved) 1669 #define IExternalConnection_ReleaseConnection(This,extconn,reserved,fLastReleaseCloses) (This)->lpVtbl->ReleaseConnection(This,extconn,reserved,fLastReleaseCloses) 1670 #else 1671 /*** IUnknown methods ***/ 1672 static FORCEINLINE HRESULT IExternalConnection_QueryInterface(IExternalConnection* This,REFIID riid,void **ppvObject) { 1673 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1674 } 1675 static FORCEINLINE ULONG IExternalConnection_AddRef(IExternalConnection* This) { 1676 return This->lpVtbl->AddRef(This); 1677 } 1678 static FORCEINLINE ULONG IExternalConnection_Release(IExternalConnection* This) { 1679 return This->lpVtbl->Release(This); 1680 } 1681 /*** IExternalConnection methods ***/ 1682 static FORCEINLINE DWORD IExternalConnection_AddConnection(IExternalConnection* This,DWORD extconn,DWORD reserved) { 1683 return This->lpVtbl->AddConnection(This,extconn,reserved); 1684 } 1685 static FORCEINLINE DWORD IExternalConnection_ReleaseConnection(IExternalConnection* This,DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses) { 1686 return This->lpVtbl->ReleaseConnection(This,extconn,reserved,fLastReleaseCloses); 1687 } 1688 #endif 1689 #endif 1690 1691 #endif 1692 1693 1694 #endif /* __IExternalConnection_INTERFACE_DEFINED__ */ 1695 1696 1697 typedef IMultiQI *LPMULTIQI; 1698 #endif 1699 1700 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 1701 typedef struct tagMULTI_QI { 1702 const IID *pIID; 1703 IUnknown *pItf; 1704 HRESULT hr; 1705 } MULTI_QI; 1706 1707 /***************************************************************************** 1708 * IMultiQI interface 1709 */ 1710 #ifndef __IMultiQI_INTERFACE_DEFINED__ 1711 #define __IMultiQI_INTERFACE_DEFINED__ 1712 1713 DEFINE_GUID(IID_IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1714 #if defined(__cplusplus) && !defined(CINTERFACE) 1715 MIDL_INTERFACE("00000020-0000-0000-c000-000000000046") 1716 IMultiQI : public IUnknown 1717 { 1718 virtual HRESULT STDMETHODCALLTYPE QueryMultipleInterfaces( 1719 ULONG cMQIs, 1720 MULTI_QI *pMQIs) = 0; 1721 1722 }; 1723 #ifdef __CRT_UUID_DECL 1724 __CRT_UUID_DECL(IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1725 #endif 1726 #else 1727 typedef struct IMultiQIVtbl { 1728 BEGIN_INTERFACE 1729 1730 /*** IUnknown methods ***/ 1731 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1732 IMultiQI *This, 1733 REFIID riid, 1734 void **ppvObject); 1735 1736 ULONG (STDMETHODCALLTYPE *AddRef)( 1737 IMultiQI *This); 1738 1739 ULONG (STDMETHODCALLTYPE *Release)( 1740 IMultiQI *This); 1741 1742 /*** IMultiQI methods ***/ 1743 HRESULT (STDMETHODCALLTYPE *QueryMultipleInterfaces)( 1744 IMultiQI *This, 1745 ULONG cMQIs, 1746 MULTI_QI *pMQIs); 1747 1748 END_INTERFACE 1749 } IMultiQIVtbl; 1750 1751 interface IMultiQI { 1752 CONST_VTBL IMultiQIVtbl* lpVtbl; 1753 }; 1754 1755 #ifdef COBJMACROS 1756 #ifndef WIDL_C_INLINE_WRAPPERS 1757 /*** IUnknown methods ***/ 1758 #define IMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1759 #define IMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This) 1760 #define IMultiQI_Release(This) (This)->lpVtbl->Release(This) 1761 /*** IMultiQI methods ***/ 1762 #define IMultiQI_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs) 1763 #else 1764 /*** IUnknown methods ***/ 1765 static FORCEINLINE HRESULT IMultiQI_QueryInterface(IMultiQI* This,REFIID riid,void **ppvObject) { 1766 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1767 } 1768 static FORCEINLINE ULONG IMultiQI_AddRef(IMultiQI* This) { 1769 return This->lpVtbl->AddRef(This); 1770 } 1771 static FORCEINLINE ULONG IMultiQI_Release(IMultiQI* This) { 1772 return This->lpVtbl->Release(This); 1773 } 1774 /*** IMultiQI methods ***/ 1775 static FORCEINLINE HRESULT IMultiQI_QueryMultipleInterfaces(IMultiQI* This,ULONG cMQIs,MULTI_QI *pMQIs) { 1776 return This->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs); 1777 } 1778 #endif 1779 #endif 1780 1781 #endif 1782 1783 1784 #endif /* __IMultiQI_INTERFACE_DEFINED__ */ 1785 1786 /***************************************************************************** 1787 * AsyncIMultiQI interface 1788 */ 1789 #ifndef __AsyncIMultiQI_INTERFACE_DEFINED__ 1790 #define __AsyncIMultiQI_INTERFACE_DEFINED__ 1791 1792 DEFINE_GUID(IID_AsyncIMultiQI, 0x000e0020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1793 #if defined(__cplusplus) && !defined(CINTERFACE) 1794 MIDL_INTERFACE("000e0020-0000-0000-c000-000000000046") 1795 AsyncIMultiQI : public IUnknown 1796 { 1797 virtual HRESULT STDMETHODCALLTYPE Begin_QueryMultipleInterfaces( 1798 ULONG cMQIs, 1799 MULTI_QI *pMQIs) = 0; 1800 1801 virtual HRESULT STDMETHODCALLTYPE Finish_QueryMultipleInterfaces( 1802 MULTI_QI *pMQIs) = 0; 1803 1804 }; 1805 #ifdef __CRT_UUID_DECL 1806 __CRT_UUID_DECL(AsyncIMultiQI, 0x000e0020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1807 #endif 1808 #else 1809 typedef struct AsyncIMultiQIVtbl { 1810 BEGIN_INTERFACE 1811 1812 /*** IUnknown methods ***/ 1813 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1814 AsyncIMultiQI *This, 1815 REFIID riid, 1816 void **ppvObject); 1817 1818 ULONG (STDMETHODCALLTYPE *AddRef)( 1819 AsyncIMultiQI *This); 1820 1821 ULONG (STDMETHODCALLTYPE *Release)( 1822 AsyncIMultiQI *This); 1823 1824 /*** AsyncIMultiQI methods ***/ 1825 HRESULT (STDMETHODCALLTYPE *Begin_QueryMultipleInterfaces)( 1826 AsyncIMultiQI *This, 1827 ULONG cMQIs, 1828 MULTI_QI *pMQIs); 1829 1830 HRESULT (STDMETHODCALLTYPE *Finish_QueryMultipleInterfaces)( 1831 AsyncIMultiQI *This, 1832 MULTI_QI *pMQIs); 1833 1834 END_INTERFACE 1835 } AsyncIMultiQIVtbl; 1836 1837 interface AsyncIMultiQI { 1838 CONST_VTBL AsyncIMultiQIVtbl* lpVtbl; 1839 }; 1840 1841 #ifdef COBJMACROS 1842 #ifndef WIDL_C_INLINE_WRAPPERS 1843 /*** IUnknown methods ***/ 1844 #define AsyncIMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1845 #define AsyncIMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This) 1846 #define AsyncIMultiQI_Release(This) (This)->lpVtbl->Release(This) 1847 /*** AsyncIMultiQI methods ***/ 1848 #define AsyncIMultiQI_Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs) 1849 #define AsyncIMultiQI_Finish_QueryMultipleInterfaces(This,pMQIs) (This)->lpVtbl->Finish_QueryMultipleInterfaces(This,pMQIs) 1850 #else 1851 /*** IUnknown methods ***/ 1852 static FORCEINLINE HRESULT AsyncIMultiQI_QueryInterface(AsyncIMultiQI* This,REFIID riid,void **ppvObject) { 1853 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1854 } 1855 static FORCEINLINE ULONG AsyncIMultiQI_AddRef(AsyncIMultiQI* This) { 1856 return This->lpVtbl->AddRef(This); 1857 } 1858 static FORCEINLINE ULONG AsyncIMultiQI_Release(AsyncIMultiQI* This) { 1859 return This->lpVtbl->Release(This); 1860 } 1861 /*** AsyncIMultiQI methods ***/ 1862 static FORCEINLINE HRESULT AsyncIMultiQI_Begin_QueryMultipleInterfaces(AsyncIMultiQI* This,ULONG cMQIs,MULTI_QI *pMQIs) { 1863 return This->lpVtbl->Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs); 1864 } 1865 static FORCEINLINE HRESULT AsyncIMultiQI_Finish_QueryMultipleInterfaces(AsyncIMultiQI* This,MULTI_QI *pMQIs) { 1866 return This->lpVtbl->Finish_QueryMultipleInterfaces(This,pMQIs); 1867 } 1868 #endif 1869 #endif 1870 1871 #endif 1872 1873 1874 #endif /* __AsyncIMultiQI_INTERFACE_DEFINED__ */ 1875 1876 #endif 1877 1878 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 1879 /***************************************************************************** 1880 * IInternalUnknown interface 1881 */ 1882 #ifndef __IInternalUnknown_INTERFACE_DEFINED__ 1883 #define __IInternalUnknown_INTERFACE_DEFINED__ 1884 1885 DEFINE_GUID(IID_IInternalUnknown, 0x00000021, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1886 #if defined(__cplusplus) && !defined(CINTERFACE) 1887 MIDL_INTERFACE("00000021-0000-0000-c000-000000000046") 1888 IInternalUnknown : public IUnknown 1889 { 1890 virtual HRESULT STDMETHODCALLTYPE QueryInternalInterface( 1891 REFIID riid, 1892 void **ppv) = 0; 1893 1894 }; 1895 #ifdef __CRT_UUID_DECL 1896 __CRT_UUID_DECL(IInternalUnknown, 0x00000021, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1897 #endif 1898 #else 1899 typedef struct IInternalUnknownVtbl { 1900 BEGIN_INTERFACE 1901 1902 /*** IUnknown methods ***/ 1903 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1904 IInternalUnknown *This, 1905 REFIID riid, 1906 void **ppvObject); 1907 1908 ULONG (STDMETHODCALLTYPE *AddRef)( 1909 IInternalUnknown *This); 1910 1911 ULONG (STDMETHODCALLTYPE *Release)( 1912 IInternalUnknown *This); 1913 1914 /*** IInternalUnknown methods ***/ 1915 HRESULT (STDMETHODCALLTYPE *QueryInternalInterface)( 1916 IInternalUnknown *This, 1917 REFIID riid, 1918 void **ppv); 1919 1920 END_INTERFACE 1921 } IInternalUnknownVtbl; 1922 1923 interface IInternalUnknown { 1924 CONST_VTBL IInternalUnknownVtbl* lpVtbl; 1925 }; 1926 1927 #ifdef COBJMACROS 1928 #ifndef WIDL_C_INLINE_WRAPPERS 1929 /*** IUnknown methods ***/ 1930 #define IInternalUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1931 #define IInternalUnknown_AddRef(This) (This)->lpVtbl->AddRef(This) 1932 #define IInternalUnknown_Release(This) (This)->lpVtbl->Release(This) 1933 /*** IInternalUnknown methods ***/ 1934 #define IInternalUnknown_QueryInternalInterface(This,riid,ppv) (This)->lpVtbl->QueryInternalInterface(This,riid,ppv) 1935 #else 1936 /*** IUnknown methods ***/ 1937 static FORCEINLINE HRESULT IInternalUnknown_QueryInterface(IInternalUnknown* This,REFIID riid,void **ppvObject) { 1938 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1939 } 1940 static FORCEINLINE ULONG IInternalUnknown_AddRef(IInternalUnknown* This) { 1941 return This->lpVtbl->AddRef(This); 1942 } 1943 static FORCEINLINE ULONG IInternalUnknown_Release(IInternalUnknown* This) { 1944 return This->lpVtbl->Release(This); 1945 } 1946 /*** IInternalUnknown methods ***/ 1947 static FORCEINLINE HRESULT IInternalUnknown_QueryInternalInterface(IInternalUnknown* This,REFIID riid,void **ppv) { 1948 return This->lpVtbl->QueryInternalInterface(This,riid,ppv); 1949 } 1950 #endif 1951 #endif 1952 1953 #endif 1954 1955 1956 #endif /* __IInternalUnknown_INTERFACE_DEFINED__ */ 1957 1958 #endif 1959 1960 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 1961 /***************************************************************************** 1962 * IEnumUnknown interface 1963 */ 1964 #ifndef __IEnumUnknown_INTERFACE_DEFINED__ 1965 #define __IEnumUnknown_INTERFACE_DEFINED__ 1966 1967 typedef IEnumUnknown *LPENUMUNKNOWN; 1968 1969 DEFINE_GUID(IID_IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1970 #if defined(__cplusplus) && !defined(CINTERFACE) 1971 MIDL_INTERFACE("00000100-0000-0000-c000-000000000046") 1972 IEnumUnknown : public IUnknown 1973 { 1974 virtual HRESULT STDMETHODCALLTYPE Next( 1975 ULONG celt, 1976 IUnknown **rgelt, 1977 ULONG *pceltFetched) = 0; 1978 1979 virtual HRESULT STDMETHODCALLTYPE Skip( 1980 ULONG celt) = 0; 1981 1982 virtual HRESULT STDMETHODCALLTYPE Reset( 1983 ) = 0; 1984 1985 virtual HRESULT STDMETHODCALLTYPE Clone( 1986 IEnumUnknown **ppenum) = 0; 1987 1988 }; 1989 #ifdef __CRT_UUID_DECL 1990 __CRT_UUID_DECL(IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1991 #endif 1992 #else 1993 typedef struct IEnumUnknownVtbl { 1994 BEGIN_INTERFACE 1995 1996 /*** IUnknown methods ***/ 1997 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1998 IEnumUnknown *This, 1999 REFIID riid, 2000 void **ppvObject); 2001 2002 ULONG (STDMETHODCALLTYPE *AddRef)( 2003 IEnumUnknown *This); 2004 2005 ULONG (STDMETHODCALLTYPE *Release)( 2006 IEnumUnknown *This); 2007 2008 /*** IEnumUnknown methods ***/ 2009 HRESULT (STDMETHODCALLTYPE *Next)( 2010 IEnumUnknown *This, 2011 ULONG celt, 2012 IUnknown **rgelt, 2013 ULONG *pceltFetched); 2014 2015 HRESULT (STDMETHODCALLTYPE *Skip)( 2016 IEnumUnknown *This, 2017 ULONG celt); 2018 2019 HRESULT (STDMETHODCALLTYPE *Reset)( 2020 IEnumUnknown *This); 2021 2022 HRESULT (STDMETHODCALLTYPE *Clone)( 2023 IEnumUnknown *This, 2024 IEnumUnknown **ppenum); 2025 2026 END_INTERFACE 2027 } IEnumUnknownVtbl; 2028 2029 interface IEnumUnknown { 2030 CONST_VTBL IEnumUnknownVtbl* lpVtbl; 2031 }; 2032 2033 #ifdef COBJMACROS 2034 #ifndef WIDL_C_INLINE_WRAPPERS 2035 /*** IUnknown methods ***/ 2036 #define IEnumUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2037 #define IEnumUnknown_AddRef(This) (This)->lpVtbl->AddRef(This) 2038 #define IEnumUnknown_Release(This) (This)->lpVtbl->Release(This) 2039 /*** IEnumUnknown methods ***/ 2040 #define IEnumUnknown_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 2041 #define IEnumUnknown_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 2042 #define IEnumUnknown_Reset(This) (This)->lpVtbl->Reset(This) 2043 #define IEnumUnknown_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 2044 #else 2045 /*** IUnknown methods ***/ 2046 static FORCEINLINE HRESULT IEnumUnknown_QueryInterface(IEnumUnknown* This,REFIID riid,void **ppvObject) { 2047 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2048 } 2049 static FORCEINLINE ULONG IEnumUnknown_AddRef(IEnumUnknown* This) { 2050 return This->lpVtbl->AddRef(This); 2051 } 2052 static FORCEINLINE ULONG IEnumUnknown_Release(IEnumUnknown* This) { 2053 return This->lpVtbl->Release(This); 2054 } 2055 /*** IEnumUnknown methods ***/ 2056 static FORCEINLINE HRESULT IEnumUnknown_Next(IEnumUnknown* This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched) { 2057 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 2058 } 2059 static FORCEINLINE HRESULT IEnumUnknown_Skip(IEnumUnknown* This,ULONG celt) { 2060 return This->lpVtbl->Skip(This,celt); 2061 } 2062 static FORCEINLINE HRESULT IEnumUnknown_Reset(IEnumUnknown* This) { 2063 return This->lpVtbl->Reset(This); 2064 } 2065 static FORCEINLINE HRESULT IEnumUnknown_Clone(IEnumUnknown* This,IEnumUnknown **ppenum) { 2066 return This->lpVtbl->Clone(This,ppenum); 2067 } 2068 #endif 2069 #endif 2070 2071 #endif 2072 2073 HRESULT STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Proxy( 2074 IEnumUnknown* This, 2075 ULONG celt, 2076 IUnknown **rgelt, 2077 ULONG *pceltFetched); 2078 void __RPC_STUB IEnumUnknown_RemoteNext_Stub( 2079 IRpcStubBuffer* This, 2080 IRpcChannelBuffer* pRpcChannelBuffer, 2081 PRPC_MESSAGE pRpcMessage, 2082 DWORD* pdwStubPhase); 2083 HRESULT CALLBACK IEnumUnknown_Next_Proxy( 2084 IEnumUnknown* This, 2085 ULONG celt, 2086 IUnknown **rgelt, 2087 ULONG *pceltFetched); 2088 HRESULT __RPC_STUB IEnumUnknown_Next_Stub( 2089 IEnumUnknown* This, 2090 ULONG celt, 2091 IUnknown **rgelt, 2092 ULONG *pceltFetched); 2093 2094 #endif /* __IEnumUnknown_INTERFACE_DEFINED__ */ 2095 2096 2097 /***************************************************************************** 2098 * IEnumString interface 2099 */ 2100 #ifndef __IEnumString_INTERFACE_DEFINED__ 2101 #define __IEnumString_INTERFACE_DEFINED__ 2102 2103 typedef IEnumString *LPENUMSTRING; 2104 2105 DEFINE_GUID(IID_IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 2106 #if defined(__cplusplus) && !defined(CINTERFACE) 2107 MIDL_INTERFACE("00000101-0000-0000-c000-000000000046") 2108 IEnumString : public IUnknown 2109 { 2110 virtual HRESULT STDMETHODCALLTYPE Next( 2111 ULONG celt, 2112 LPOLESTR *rgelt, 2113 ULONG *pceltFetched) = 0; 2114 2115 virtual HRESULT STDMETHODCALLTYPE Skip( 2116 ULONG celt) = 0; 2117 2118 virtual HRESULT STDMETHODCALLTYPE Reset( 2119 ) = 0; 2120 2121 virtual HRESULT STDMETHODCALLTYPE Clone( 2122 IEnumString **ppenum) = 0; 2123 2124 }; 2125 #ifdef __CRT_UUID_DECL 2126 __CRT_UUID_DECL(IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 2127 #endif 2128 #else 2129 typedef struct IEnumStringVtbl { 2130 BEGIN_INTERFACE 2131 2132 /*** IUnknown methods ***/ 2133 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2134 IEnumString *This, 2135 REFIID riid, 2136 void **ppvObject); 2137 2138 ULONG (STDMETHODCALLTYPE *AddRef)( 2139 IEnumString *This); 2140 2141 ULONG (STDMETHODCALLTYPE *Release)( 2142 IEnumString *This); 2143 2144 /*** IEnumString methods ***/ 2145 HRESULT (STDMETHODCALLTYPE *Next)( 2146 IEnumString *This, 2147 ULONG celt, 2148 LPOLESTR *rgelt, 2149 ULONG *pceltFetched); 2150 2151 HRESULT (STDMETHODCALLTYPE *Skip)( 2152 IEnumString *This, 2153 ULONG celt); 2154 2155 HRESULT (STDMETHODCALLTYPE *Reset)( 2156 IEnumString *This); 2157 2158 HRESULT (STDMETHODCALLTYPE *Clone)( 2159 IEnumString *This, 2160 IEnumString **ppenum); 2161 2162 END_INTERFACE 2163 } IEnumStringVtbl; 2164 2165 interface IEnumString { 2166 CONST_VTBL IEnumStringVtbl* lpVtbl; 2167 }; 2168 2169 #ifdef COBJMACROS 2170 #ifndef WIDL_C_INLINE_WRAPPERS 2171 /*** IUnknown methods ***/ 2172 #define IEnumString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2173 #define IEnumString_AddRef(This) (This)->lpVtbl->AddRef(This) 2174 #define IEnumString_Release(This) (This)->lpVtbl->Release(This) 2175 /*** IEnumString methods ***/ 2176 #define IEnumString_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 2177 #define IEnumString_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 2178 #define IEnumString_Reset(This) (This)->lpVtbl->Reset(This) 2179 #define IEnumString_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 2180 #else 2181 /*** IUnknown methods ***/ 2182 static FORCEINLINE HRESULT IEnumString_QueryInterface(IEnumString* This,REFIID riid,void **ppvObject) { 2183 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2184 } 2185 static FORCEINLINE ULONG IEnumString_AddRef(IEnumString* This) { 2186 return This->lpVtbl->AddRef(This); 2187 } 2188 static FORCEINLINE ULONG IEnumString_Release(IEnumString* This) { 2189 return This->lpVtbl->Release(This); 2190 } 2191 /*** IEnumString methods ***/ 2192 static FORCEINLINE HRESULT IEnumString_Next(IEnumString* This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched) { 2193 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 2194 } 2195 static FORCEINLINE HRESULT IEnumString_Skip(IEnumString* This,ULONG celt) { 2196 return This->lpVtbl->Skip(This,celt); 2197 } 2198 static FORCEINLINE HRESULT IEnumString_Reset(IEnumString* This) { 2199 return This->lpVtbl->Reset(This); 2200 } 2201 static FORCEINLINE HRESULT IEnumString_Clone(IEnumString* This,IEnumString **ppenum) { 2202 return This->lpVtbl->Clone(This,ppenum); 2203 } 2204 #endif 2205 #endif 2206 2207 #endif 2208 2209 HRESULT STDMETHODCALLTYPE IEnumString_RemoteNext_Proxy( 2210 IEnumString* This, 2211 ULONG celt, 2212 LPOLESTR *rgelt, 2213 ULONG *pceltFetched); 2214 void __RPC_STUB IEnumString_RemoteNext_Stub( 2215 IRpcStubBuffer* This, 2216 IRpcChannelBuffer* pRpcChannelBuffer, 2217 PRPC_MESSAGE pRpcMessage, 2218 DWORD* pdwStubPhase); 2219 HRESULT CALLBACK IEnumString_Next_Proxy( 2220 IEnumString* This, 2221 ULONG celt, 2222 LPOLESTR *rgelt, 2223 ULONG *pceltFetched); 2224 HRESULT __RPC_STUB IEnumString_Next_Stub( 2225 IEnumString* This, 2226 ULONG celt, 2227 LPOLESTR *rgelt, 2228 ULONG *pceltFetched); 2229 2230 #endif /* __IEnumString_INTERFACE_DEFINED__ */ 2231 2232 2233 /***************************************************************************** 2234 * ISequentialStream interface 2235 */ 2236 #ifndef __ISequentialStream_INTERFACE_DEFINED__ 2237 #define __ISequentialStream_INTERFACE_DEFINED__ 2238 2239 DEFINE_GUID(IID_ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d); 2240 #if defined(__cplusplus) && !defined(CINTERFACE) 2241 MIDL_INTERFACE("0c733a30-2a1c-11ce-ade5-00aa0044773d") 2242 ISequentialStream : public IUnknown 2243 { 2244 virtual HRESULT STDMETHODCALLTYPE Read( 2245 void *pv, 2246 ULONG cb, 2247 ULONG *pcbRead) = 0; 2248 2249 virtual HRESULT STDMETHODCALLTYPE Write( 2250 const void *pv, 2251 ULONG cb, 2252 ULONG *pcbWritten) = 0; 2253 2254 }; 2255 #ifdef __CRT_UUID_DECL 2256 __CRT_UUID_DECL(ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d) 2257 #endif 2258 #else 2259 typedef struct ISequentialStreamVtbl { 2260 BEGIN_INTERFACE 2261 2262 /*** IUnknown methods ***/ 2263 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2264 ISequentialStream *This, 2265 REFIID riid, 2266 void **ppvObject); 2267 2268 ULONG (STDMETHODCALLTYPE *AddRef)( 2269 ISequentialStream *This); 2270 2271 ULONG (STDMETHODCALLTYPE *Release)( 2272 ISequentialStream *This); 2273 2274 /*** ISequentialStream methods ***/ 2275 HRESULT (STDMETHODCALLTYPE *Read)( 2276 ISequentialStream *This, 2277 void *pv, 2278 ULONG cb, 2279 ULONG *pcbRead); 2280 2281 HRESULT (STDMETHODCALLTYPE *Write)( 2282 ISequentialStream *This, 2283 const void *pv, 2284 ULONG cb, 2285 ULONG *pcbWritten); 2286 2287 END_INTERFACE 2288 } ISequentialStreamVtbl; 2289 2290 interface ISequentialStream { 2291 CONST_VTBL ISequentialStreamVtbl* lpVtbl; 2292 }; 2293 2294 #ifdef COBJMACROS 2295 #ifndef WIDL_C_INLINE_WRAPPERS 2296 /*** IUnknown methods ***/ 2297 #define ISequentialStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2298 #define ISequentialStream_AddRef(This) (This)->lpVtbl->AddRef(This) 2299 #define ISequentialStream_Release(This) (This)->lpVtbl->Release(This) 2300 /*** ISequentialStream methods ***/ 2301 #define ISequentialStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) 2302 #define ISequentialStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten) 2303 #else 2304 /*** IUnknown methods ***/ 2305 static FORCEINLINE HRESULT ISequentialStream_QueryInterface(ISequentialStream* This,REFIID riid,void **ppvObject) { 2306 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2307 } 2308 static FORCEINLINE ULONG ISequentialStream_AddRef(ISequentialStream* This) { 2309 return This->lpVtbl->AddRef(This); 2310 } 2311 static FORCEINLINE ULONG ISequentialStream_Release(ISequentialStream* This) { 2312 return This->lpVtbl->Release(This); 2313 } 2314 /*** ISequentialStream methods ***/ 2315 static FORCEINLINE HRESULT ISequentialStream_Read(ISequentialStream* This,void *pv,ULONG cb,ULONG *pcbRead) { 2316 return This->lpVtbl->Read(This,pv,cb,pcbRead); 2317 } 2318 static FORCEINLINE HRESULT ISequentialStream_Write(ISequentialStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) { 2319 return This->lpVtbl->Write(This,pv,cb,pcbWritten); 2320 } 2321 #endif 2322 #endif 2323 2324 #endif 2325 2326 HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteRead_Proxy( 2327 ISequentialStream* This, 2328 byte *pv, 2329 ULONG cb, 2330 ULONG *pcbRead); 2331 void __RPC_STUB ISequentialStream_RemoteRead_Stub( 2332 IRpcStubBuffer* This, 2333 IRpcChannelBuffer* pRpcChannelBuffer, 2334 PRPC_MESSAGE pRpcMessage, 2335 DWORD* pdwStubPhase); 2336 HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteWrite_Proxy( 2337 ISequentialStream* This, 2338 const byte *pv, 2339 ULONG cb, 2340 ULONG *pcbWritten); 2341 void __RPC_STUB ISequentialStream_RemoteWrite_Stub( 2342 IRpcStubBuffer* This, 2343 IRpcChannelBuffer* pRpcChannelBuffer, 2344 PRPC_MESSAGE pRpcMessage, 2345 DWORD* pdwStubPhase); 2346 HRESULT CALLBACK ISequentialStream_Read_Proxy( 2347 ISequentialStream* This, 2348 void *pv, 2349 ULONG cb, 2350 ULONG *pcbRead); 2351 HRESULT __RPC_STUB ISequentialStream_Read_Stub( 2352 ISequentialStream* This, 2353 byte *pv, 2354 ULONG cb, 2355 ULONG *pcbRead); 2356 HRESULT CALLBACK ISequentialStream_Write_Proxy( 2357 ISequentialStream* This, 2358 const void *pv, 2359 ULONG cb, 2360 ULONG *pcbWritten); 2361 HRESULT __RPC_STUB ISequentialStream_Write_Stub( 2362 ISequentialStream* This, 2363 const byte *pv, 2364 ULONG cb, 2365 ULONG *pcbWritten); 2366 2367 #endif /* __ISequentialStream_INTERFACE_DEFINED__ */ 2368 2369 2370 /***************************************************************************** 2371 * IStream interface 2372 */ 2373 #ifndef __IStream_INTERFACE_DEFINED__ 2374 #define __IStream_INTERFACE_DEFINED__ 2375 2376 typedef IStream *LPSTREAM; 2377 2378 typedef struct tagSTATSTG { 2379 LPOLESTR pwcsName; 2380 DWORD type; 2381 ULARGE_INTEGER cbSize; 2382 FILETIME mtime; 2383 FILETIME ctime; 2384 FILETIME atime; 2385 DWORD grfMode; 2386 DWORD grfLocksSupported; 2387 CLSID clsid; 2388 DWORD grfStateBits; 2389 DWORD reserved; 2390 } STATSTG; 2391 2392 typedef enum tagSTGTY { 2393 STGTY_STORAGE = 1, 2394 STGTY_STREAM = 2, 2395 STGTY_LOCKBYTES = 3, 2396 STGTY_PROPERTY = 4 2397 } STGTY; 2398 2399 typedef enum tagSTREAM_SEEK { 2400 STREAM_SEEK_SET = 0, 2401 STREAM_SEEK_CUR = 1, 2402 STREAM_SEEK_END = 2 2403 } STREAM_SEEK; 2404 2405 typedef enum tagLOCKTYPE { 2406 LOCK_WRITE = 1, 2407 LOCK_EXCLUSIVE = 2, 2408 LOCK_ONLYONCE = 4 2409 } LOCKTYPE; 2410 2411 DEFINE_GUID(IID_IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 2412 #if defined(__cplusplus) && !defined(CINTERFACE) 2413 MIDL_INTERFACE("0000000c-0000-0000-c000-000000000046") 2414 IStream : public ISequentialStream 2415 { 2416 virtual HRESULT STDMETHODCALLTYPE Seek( 2417 LARGE_INTEGER dlibMove, 2418 DWORD dwOrigin, 2419 ULARGE_INTEGER *plibNewPosition) = 0; 2420 2421 virtual HRESULT STDMETHODCALLTYPE SetSize( 2422 ULARGE_INTEGER libNewSize) = 0; 2423 2424 virtual HRESULT STDMETHODCALLTYPE CopyTo( 2425 IStream *pstm, 2426 ULARGE_INTEGER cb, 2427 ULARGE_INTEGER *pcbRead, 2428 ULARGE_INTEGER *pcbWritten) = 0; 2429 2430 virtual HRESULT STDMETHODCALLTYPE Commit( 2431 DWORD grfCommitFlags) = 0; 2432 2433 virtual HRESULT STDMETHODCALLTYPE Revert( 2434 ) = 0; 2435 2436 virtual HRESULT STDMETHODCALLTYPE LockRegion( 2437 ULARGE_INTEGER libOffset, 2438 ULARGE_INTEGER cb, 2439 DWORD dwLockType) = 0; 2440 2441 virtual HRESULT STDMETHODCALLTYPE UnlockRegion( 2442 ULARGE_INTEGER libOffset, 2443 ULARGE_INTEGER cb, 2444 DWORD dwLockType) = 0; 2445 2446 virtual HRESULT STDMETHODCALLTYPE Stat( 2447 STATSTG *pstatstg, 2448 DWORD grfStatFlag) = 0; 2449 2450 virtual HRESULT STDMETHODCALLTYPE Clone( 2451 IStream **ppstm) = 0; 2452 2453 }; 2454 #ifdef __CRT_UUID_DECL 2455 __CRT_UUID_DECL(IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 2456 #endif 2457 #else 2458 typedef struct IStreamVtbl { 2459 BEGIN_INTERFACE 2460 2461 /*** IUnknown methods ***/ 2462 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2463 IStream *This, 2464 REFIID riid, 2465 void **ppvObject); 2466 2467 ULONG (STDMETHODCALLTYPE *AddRef)( 2468 IStream *This); 2469 2470 ULONG (STDMETHODCALLTYPE *Release)( 2471 IStream *This); 2472 2473 /*** ISequentialStream methods ***/ 2474 HRESULT (STDMETHODCALLTYPE *Read)( 2475 IStream *This, 2476 void *pv, 2477 ULONG cb, 2478 ULONG *pcbRead); 2479 2480 HRESULT (STDMETHODCALLTYPE *Write)( 2481 IStream *This, 2482 const void *pv, 2483 ULONG cb, 2484 ULONG *pcbWritten); 2485 2486 /*** IStream methods ***/ 2487 HRESULT (STDMETHODCALLTYPE *Seek)( 2488 IStream *This, 2489 LARGE_INTEGER dlibMove, 2490 DWORD dwOrigin, 2491 ULARGE_INTEGER *plibNewPosition); 2492 2493 HRESULT (STDMETHODCALLTYPE *SetSize)( 2494 IStream *This, 2495 ULARGE_INTEGER libNewSize); 2496 2497 HRESULT (STDMETHODCALLTYPE *CopyTo)( 2498 IStream *This, 2499 IStream *pstm, 2500 ULARGE_INTEGER cb, 2501 ULARGE_INTEGER *pcbRead, 2502 ULARGE_INTEGER *pcbWritten); 2503 2504 HRESULT (STDMETHODCALLTYPE *Commit)( 2505 IStream *This, 2506 DWORD grfCommitFlags); 2507 2508 HRESULT (STDMETHODCALLTYPE *Revert)( 2509 IStream *This); 2510 2511 HRESULT (STDMETHODCALLTYPE *LockRegion)( 2512 IStream *This, 2513 ULARGE_INTEGER libOffset, 2514 ULARGE_INTEGER cb, 2515 DWORD dwLockType); 2516 2517 HRESULT (STDMETHODCALLTYPE *UnlockRegion)( 2518 IStream *This, 2519 ULARGE_INTEGER libOffset, 2520 ULARGE_INTEGER cb, 2521 DWORD dwLockType); 2522 2523 HRESULT (STDMETHODCALLTYPE *Stat)( 2524 IStream *This, 2525 STATSTG *pstatstg, 2526 DWORD grfStatFlag); 2527 2528 HRESULT (STDMETHODCALLTYPE *Clone)( 2529 IStream *This, 2530 IStream **ppstm); 2531 2532 END_INTERFACE 2533 } IStreamVtbl; 2534 2535 interface IStream { 2536 CONST_VTBL IStreamVtbl* lpVtbl; 2537 }; 2538 2539 #ifdef COBJMACROS 2540 #ifndef WIDL_C_INLINE_WRAPPERS 2541 /*** IUnknown methods ***/ 2542 #define IStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2543 #define IStream_AddRef(This) (This)->lpVtbl->AddRef(This) 2544 #define IStream_Release(This) (This)->lpVtbl->Release(This) 2545 /*** ISequentialStream methods ***/ 2546 #define IStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) 2547 #define IStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten) 2548 /*** IStream methods ***/ 2549 #define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition) 2550 #define IStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize) 2551 #define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten) 2552 #define IStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags) 2553 #define IStream_Revert(This) (This)->lpVtbl->Revert(This) 2554 #define IStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType) 2555 #define IStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType) 2556 #define IStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag) 2557 #define IStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm) 2558 #else 2559 /*** IUnknown methods ***/ 2560 static FORCEINLINE HRESULT IStream_QueryInterface(IStream* This,REFIID riid,void **ppvObject) { 2561 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2562 } 2563 static FORCEINLINE ULONG IStream_AddRef(IStream* This) { 2564 return This->lpVtbl->AddRef(This); 2565 } 2566 static FORCEINLINE ULONG IStream_Release(IStream* This) { 2567 return This->lpVtbl->Release(This); 2568 } 2569 /*** ISequentialStream methods ***/ 2570 static FORCEINLINE HRESULT IStream_Read(IStream* This,void *pv,ULONG cb,ULONG *pcbRead) { 2571 return This->lpVtbl->Read(This,pv,cb,pcbRead); 2572 } 2573 static FORCEINLINE HRESULT IStream_Write(IStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) { 2574 return This->lpVtbl->Write(This,pv,cb,pcbWritten); 2575 } 2576 /*** IStream methods ***/ 2577 static FORCEINLINE HRESULT IStream_Seek(IStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) { 2578 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition); 2579 } 2580 static FORCEINLINE HRESULT IStream_SetSize(IStream* This,ULARGE_INTEGER libNewSize) { 2581 return This->lpVtbl->SetSize(This,libNewSize); 2582 } 2583 static FORCEINLINE HRESULT IStream_CopyTo(IStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) { 2584 return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten); 2585 } 2586 static FORCEINLINE HRESULT IStream_Commit(IStream* This,DWORD grfCommitFlags) { 2587 return This->lpVtbl->Commit(This,grfCommitFlags); 2588 } 2589 static FORCEINLINE HRESULT IStream_Revert(IStream* This) { 2590 return This->lpVtbl->Revert(This); 2591 } 2592 static FORCEINLINE HRESULT IStream_LockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { 2593 return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType); 2594 } 2595 static FORCEINLINE HRESULT IStream_UnlockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { 2596 return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType); 2597 } 2598 static FORCEINLINE HRESULT IStream_Stat(IStream* This,STATSTG *pstatstg,DWORD grfStatFlag) { 2599 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag); 2600 } 2601 static FORCEINLINE HRESULT IStream_Clone(IStream* This,IStream **ppstm) { 2602 return This->lpVtbl->Clone(This,ppstm); 2603 } 2604 #endif 2605 #endif 2606 2607 #endif 2608 2609 HRESULT STDMETHODCALLTYPE IStream_RemoteSeek_Proxy( 2610 IStream* This, 2611 LARGE_INTEGER dlibMove, 2612 DWORD dwOrigin, 2613 ULARGE_INTEGER *plibNewPosition); 2614 void __RPC_STUB IStream_RemoteSeek_Stub( 2615 IRpcStubBuffer* This, 2616 IRpcChannelBuffer* pRpcChannelBuffer, 2617 PRPC_MESSAGE pRpcMessage, 2618 DWORD* pdwStubPhase); 2619 HRESULT STDMETHODCALLTYPE IStream_RemoteCopyTo_Proxy( 2620 IStream* This, 2621 IStream *pstm, 2622 ULARGE_INTEGER cb, 2623 ULARGE_INTEGER *pcbRead, 2624 ULARGE_INTEGER *pcbWritten); 2625 void __RPC_STUB IStream_RemoteCopyTo_Stub( 2626 IRpcStubBuffer* This, 2627 IRpcChannelBuffer* pRpcChannelBuffer, 2628 PRPC_MESSAGE pRpcMessage, 2629 DWORD* pdwStubPhase); 2630 HRESULT CALLBACK IStream_Seek_Proxy( 2631 IStream* This, 2632 LARGE_INTEGER dlibMove, 2633 DWORD dwOrigin, 2634 ULARGE_INTEGER *plibNewPosition); 2635 HRESULT __RPC_STUB IStream_Seek_Stub( 2636 IStream* This, 2637 LARGE_INTEGER dlibMove, 2638 DWORD dwOrigin, 2639 ULARGE_INTEGER *plibNewPosition); 2640 HRESULT CALLBACK IStream_CopyTo_Proxy( 2641 IStream* This, 2642 IStream *pstm, 2643 ULARGE_INTEGER cb, 2644 ULARGE_INTEGER *pcbRead, 2645 ULARGE_INTEGER *pcbWritten); 2646 HRESULT __RPC_STUB IStream_CopyTo_Stub( 2647 IStream* This, 2648 IStream *pstm, 2649 ULARGE_INTEGER cb, 2650 ULARGE_INTEGER *pcbRead, 2651 ULARGE_INTEGER *pcbWritten); 2652 2653 #endif /* __IStream_INTERFACE_DEFINED__ */ 2654 2655 2656 /***************************************************************************** 2657 * IRpcChannelBuffer interface 2658 */ 2659 #ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__ 2660 #define __IRpcChannelBuffer_INTERFACE_DEFINED__ 2661 2662 typedef ULONG RPCOLEDATAREP; 2663 2664 typedef struct tagRPCOLEMESSAGE { 2665 void *reserved1; 2666 RPCOLEDATAREP dataRepresentation; 2667 void *Buffer; 2668 ULONG cbBuffer; 2669 ULONG iMethod; 2670 void * reserved2[5]; 2671 ULONG rpcFlags; 2672 } RPCOLEMESSAGE; 2673 2674 typedef RPCOLEMESSAGE *PRPCOLEMESSAGE; 2675 2676 DEFINE_GUID(IID_IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); 2677 #if defined(__cplusplus) && !defined(CINTERFACE) 2678 MIDL_INTERFACE("d5f56b60-593b-101a-b569-08002b2dbf7a") 2679 IRpcChannelBuffer : public IUnknown 2680 { 2681 virtual HRESULT STDMETHODCALLTYPE GetBuffer( 2682 RPCOLEMESSAGE *pMessage, 2683 REFIID riid) = 0; 2684 2685 virtual HRESULT STDMETHODCALLTYPE SendReceive( 2686 RPCOLEMESSAGE *pMessage, 2687 ULONG *pStatus) = 0; 2688 2689 virtual HRESULT STDMETHODCALLTYPE FreeBuffer( 2690 RPCOLEMESSAGE *pMessage) = 0; 2691 2692 virtual HRESULT STDMETHODCALLTYPE GetDestCtx( 2693 DWORD *pdwDestContext, 2694 void **ppvDestContext) = 0; 2695 2696 virtual HRESULT STDMETHODCALLTYPE IsConnected( 2697 ) = 0; 2698 2699 }; 2700 #ifdef __CRT_UUID_DECL 2701 __CRT_UUID_DECL(IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a) 2702 #endif 2703 #else 2704 typedef struct IRpcChannelBufferVtbl { 2705 BEGIN_INTERFACE 2706 2707 /*** IUnknown methods ***/ 2708 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2709 IRpcChannelBuffer *This, 2710 REFIID riid, 2711 void **ppvObject); 2712 2713 ULONG (STDMETHODCALLTYPE *AddRef)( 2714 IRpcChannelBuffer *This); 2715 2716 ULONG (STDMETHODCALLTYPE *Release)( 2717 IRpcChannelBuffer *This); 2718 2719 /*** IRpcChannelBuffer methods ***/ 2720 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 2721 IRpcChannelBuffer *This, 2722 RPCOLEMESSAGE *pMessage, 2723 REFIID riid); 2724 2725 HRESULT (STDMETHODCALLTYPE *SendReceive)( 2726 IRpcChannelBuffer *This, 2727 RPCOLEMESSAGE *pMessage, 2728 ULONG *pStatus); 2729 2730 HRESULT (STDMETHODCALLTYPE *FreeBuffer)( 2731 IRpcChannelBuffer *This, 2732 RPCOLEMESSAGE *pMessage); 2733 2734 HRESULT (STDMETHODCALLTYPE *GetDestCtx)( 2735 IRpcChannelBuffer *This, 2736 DWORD *pdwDestContext, 2737 void **ppvDestContext); 2738 2739 HRESULT (STDMETHODCALLTYPE *IsConnected)( 2740 IRpcChannelBuffer *This); 2741 2742 END_INTERFACE 2743 } IRpcChannelBufferVtbl; 2744 2745 interface IRpcChannelBuffer { 2746 CONST_VTBL IRpcChannelBufferVtbl* lpVtbl; 2747 }; 2748 2749 #ifdef COBJMACROS 2750 #ifndef WIDL_C_INLINE_WRAPPERS 2751 /*** IUnknown methods ***/ 2752 #define IRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2753 #define IRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 2754 #define IRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This) 2755 /*** IRpcChannelBuffer methods ***/ 2756 #define IRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid) 2757 #define IRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus) 2758 #define IRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage) 2759 #define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext) 2760 #define IRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This) 2761 #else 2762 /*** IUnknown methods ***/ 2763 static FORCEINLINE HRESULT IRpcChannelBuffer_QueryInterface(IRpcChannelBuffer* This,REFIID riid,void **ppvObject) { 2764 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2765 } 2766 static FORCEINLINE ULONG IRpcChannelBuffer_AddRef(IRpcChannelBuffer* This) { 2767 return This->lpVtbl->AddRef(This); 2768 } 2769 static FORCEINLINE ULONG IRpcChannelBuffer_Release(IRpcChannelBuffer* This) { 2770 return This->lpVtbl->Release(This); 2771 } 2772 /*** IRpcChannelBuffer methods ***/ 2773 static FORCEINLINE HRESULT IRpcChannelBuffer_GetBuffer(IRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,REFIID riid) { 2774 return This->lpVtbl->GetBuffer(This,pMessage,riid); 2775 } 2776 static FORCEINLINE HRESULT IRpcChannelBuffer_SendReceive(IRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) { 2777 return This->lpVtbl->SendReceive(This,pMessage,pStatus); 2778 } 2779 static FORCEINLINE HRESULT IRpcChannelBuffer_FreeBuffer(IRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage) { 2780 return This->lpVtbl->FreeBuffer(This,pMessage); 2781 } 2782 static FORCEINLINE HRESULT IRpcChannelBuffer_GetDestCtx(IRpcChannelBuffer* This,DWORD *pdwDestContext,void **ppvDestContext) { 2783 return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext); 2784 } 2785 static FORCEINLINE HRESULT IRpcChannelBuffer_IsConnected(IRpcChannelBuffer* This) { 2786 return This->lpVtbl->IsConnected(This); 2787 } 2788 #endif 2789 #endif 2790 2791 #endif 2792 2793 2794 #endif /* __IRpcChannelBuffer_INTERFACE_DEFINED__ */ 2795 2796 #endif 2797 2798 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 2799 /***************************************************************************** 2800 * IRpcChannelBuffer2 interface 2801 */ 2802 #ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__ 2803 #define __IRpcChannelBuffer2_INTERFACE_DEFINED__ 2804 2805 DEFINE_GUID(IID_IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf); 2806 #if defined(__cplusplus) && !defined(CINTERFACE) 2807 MIDL_INTERFACE("594f31d0-7f19-11d0-b194-00a0c90dc8bf") 2808 IRpcChannelBuffer2 : public IRpcChannelBuffer 2809 { 2810 virtual HRESULT STDMETHODCALLTYPE GetProtocolVersion( 2811 DWORD *pdwVersion) = 0; 2812 2813 }; 2814 #ifdef __CRT_UUID_DECL 2815 __CRT_UUID_DECL(IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf) 2816 #endif 2817 #else 2818 typedef struct IRpcChannelBuffer2Vtbl { 2819 BEGIN_INTERFACE 2820 2821 /*** IUnknown methods ***/ 2822 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2823 IRpcChannelBuffer2 *This, 2824 REFIID riid, 2825 void **ppvObject); 2826 2827 ULONG (STDMETHODCALLTYPE *AddRef)( 2828 IRpcChannelBuffer2 *This); 2829 2830 ULONG (STDMETHODCALLTYPE *Release)( 2831 IRpcChannelBuffer2 *This); 2832 2833 /*** IRpcChannelBuffer methods ***/ 2834 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 2835 IRpcChannelBuffer2 *This, 2836 RPCOLEMESSAGE *pMessage, 2837 REFIID riid); 2838 2839 HRESULT (STDMETHODCALLTYPE *SendReceive)( 2840 IRpcChannelBuffer2 *This, 2841 RPCOLEMESSAGE *pMessage, 2842 ULONG *pStatus); 2843 2844 HRESULT (STDMETHODCALLTYPE *FreeBuffer)( 2845 IRpcChannelBuffer2 *This, 2846 RPCOLEMESSAGE *pMessage); 2847 2848 HRESULT (STDMETHODCALLTYPE *GetDestCtx)( 2849 IRpcChannelBuffer2 *This, 2850 DWORD *pdwDestContext, 2851 void **ppvDestContext); 2852 2853 HRESULT (STDMETHODCALLTYPE *IsConnected)( 2854 IRpcChannelBuffer2 *This); 2855 2856 /*** IRpcChannelBuffer2 methods ***/ 2857 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)( 2858 IRpcChannelBuffer2 *This, 2859 DWORD *pdwVersion); 2860 2861 END_INTERFACE 2862 } IRpcChannelBuffer2Vtbl; 2863 2864 interface IRpcChannelBuffer2 { 2865 CONST_VTBL IRpcChannelBuffer2Vtbl* lpVtbl; 2866 }; 2867 2868 #ifdef COBJMACROS 2869 #ifndef WIDL_C_INLINE_WRAPPERS 2870 /*** IUnknown methods ***/ 2871 #define IRpcChannelBuffer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2872 #define IRpcChannelBuffer2_AddRef(This) (This)->lpVtbl->AddRef(This) 2873 #define IRpcChannelBuffer2_Release(This) (This)->lpVtbl->Release(This) 2874 /*** IRpcChannelBuffer methods ***/ 2875 #define IRpcChannelBuffer2_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid) 2876 #define IRpcChannelBuffer2_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus) 2877 #define IRpcChannelBuffer2_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage) 2878 #define IRpcChannelBuffer2_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext) 2879 #define IRpcChannelBuffer2_IsConnected(This) (This)->lpVtbl->IsConnected(This) 2880 /*** IRpcChannelBuffer2 methods ***/ 2881 #define IRpcChannelBuffer2_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion) 2882 #else 2883 /*** IUnknown methods ***/ 2884 static FORCEINLINE HRESULT IRpcChannelBuffer2_QueryInterface(IRpcChannelBuffer2* This,REFIID riid,void **ppvObject) { 2885 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2886 } 2887 static FORCEINLINE ULONG IRpcChannelBuffer2_AddRef(IRpcChannelBuffer2* This) { 2888 return This->lpVtbl->AddRef(This); 2889 } 2890 static FORCEINLINE ULONG IRpcChannelBuffer2_Release(IRpcChannelBuffer2* This) { 2891 return This->lpVtbl->Release(This); 2892 } 2893 /*** IRpcChannelBuffer methods ***/ 2894 static FORCEINLINE HRESULT IRpcChannelBuffer2_GetBuffer(IRpcChannelBuffer2* This,RPCOLEMESSAGE *pMessage,REFIID riid) { 2895 return This->lpVtbl->GetBuffer(This,pMessage,riid); 2896 } 2897 static FORCEINLINE HRESULT IRpcChannelBuffer2_SendReceive(IRpcChannelBuffer2* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) { 2898 return This->lpVtbl->SendReceive(This,pMessage,pStatus); 2899 } 2900 static FORCEINLINE HRESULT IRpcChannelBuffer2_FreeBuffer(IRpcChannelBuffer2* This,RPCOLEMESSAGE *pMessage) { 2901 return This->lpVtbl->FreeBuffer(This,pMessage); 2902 } 2903 static FORCEINLINE HRESULT IRpcChannelBuffer2_GetDestCtx(IRpcChannelBuffer2* This,DWORD *pdwDestContext,void **ppvDestContext) { 2904 return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext); 2905 } 2906 static FORCEINLINE HRESULT IRpcChannelBuffer2_IsConnected(IRpcChannelBuffer2* This) { 2907 return This->lpVtbl->IsConnected(This); 2908 } 2909 /*** IRpcChannelBuffer2 methods ***/ 2910 static FORCEINLINE HRESULT IRpcChannelBuffer2_GetProtocolVersion(IRpcChannelBuffer2* This,DWORD *pdwVersion) { 2911 return This->lpVtbl->GetProtocolVersion(This,pdwVersion); 2912 } 2913 #endif 2914 #endif 2915 2916 #endif 2917 2918 2919 #endif /* __IRpcChannelBuffer2_INTERFACE_DEFINED__ */ 2920 2921 2922 /***************************************************************************** 2923 * IAsyncRpcChannelBuffer interface 2924 */ 2925 #ifndef __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__ 2926 #define __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__ 2927 2928 DEFINE_GUID(IID_IAsyncRpcChannelBuffer, 0xa5029fb6, 0x3c34, 0x11d1, 0x9c,0x99, 0x00,0xc0,0x4f,0xb9,0x98,0xaa); 2929 #if defined(__cplusplus) && !defined(CINTERFACE) 2930 MIDL_INTERFACE("a5029fb6-3c34-11d1-9c99-00c04fb998aa") 2931 IAsyncRpcChannelBuffer : public IRpcChannelBuffer2 2932 { 2933 virtual HRESULT STDMETHODCALLTYPE Send( 2934 RPCOLEMESSAGE *pMsg, 2935 ISynchronize *pSync, 2936 ULONG *pulStatus) = 0; 2937 2938 virtual HRESULT STDMETHODCALLTYPE Receive( 2939 RPCOLEMESSAGE *pMsg, 2940 ULONG *pulStatus) = 0; 2941 2942 virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx( 2943 RPCOLEMESSAGE *pMsg, 2944 DWORD *pdwDestContext, 2945 void **ppvDestContext) = 0; 2946 2947 }; 2948 #ifdef __CRT_UUID_DECL 2949 __CRT_UUID_DECL(IAsyncRpcChannelBuffer, 0xa5029fb6, 0x3c34, 0x11d1, 0x9c,0x99, 0x00,0xc0,0x4f,0xb9,0x98,0xaa) 2950 #endif 2951 #else 2952 typedef struct IAsyncRpcChannelBufferVtbl { 2953 BEGIN_INTERFACE 2954 2955 /*** IUnknown methods ***/ 2956 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2957 IAsyncRpcChannelBuffer *This, 2958 REFIID riid, 2959 void **ppvObject); 2960 2961 ULONG (STDMETHODCALLTYPE *AddRef)( 2962 IAsyncRpcChannelBuffer *This); 2963 2964 ULONG (STDMETHODCALLTYPE *Release)( 2965 IAsyncRpcChannelBuffer *This); 2966 2967 /*** IRpcChannelBuffer methods ***/ 2968 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 2969 IAsyncRpcChannelBuffer *This, 2970 RPCOLEMESSAGE *pMessage, 2971 REFIID riid); 2972 2973 HRESULT (STDMETHODCALLTYPE *SendReceive)( 2974 IAsyncRpcChannelBuffer *This, 2975 RPCOLEMESSAGE *pMessage, 2976 ULONG *pStatus); 2977 2978 HRESULT (STDMETHODCALLTYPE *FreeBuffer)( 2979 IAsyncRpcChannelBuffer *This, 2980 RPCOLEMESSAGE *pMessage); 2981 2982 HRESULT (STDMETHODCALLTYPE *GetDestCtx)( 2983 IAsyncRpcChannelBuffer *This, 2984 DWORD *pdwDestContext, 2985 void **ppvDestContext); 2986 2987 HRESULT (STDMETHODCALLTYPE *IsConnected)( 2988 IAsyncRpcChannelBuffer *This); 2989 2990 /*** IRpcChannelBuffer2 methods ***/ 2991 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)( 2992 IAsyncRpcChannelBuffer *This, 2993 DWORD *pdwVersion); 2994 2995 /*** IAsyncRpcChannelBuffer methods ***/ 2996 HRESULT (STDMETHODCALLTYPE *Send)( 2997 IAsyncRpcChannelBuffer *This, 2998 RPCOLEMESSAGE *pMsg, 2999 ISynchronize *pSync, 3000 ULONG *pulStatus); 3001 3002 HRESULT (STDMETHODCALLTYPE *Receive)( 3003 IAsyncRpcChannelBuffer *This, 3004 RPCOLEMESSAGE *pMsg, 3005 ULONG *pulStatus); 3006 3007 HRESULT (STDMETHODCALLTYPE *GetDestCtxEx)( 3008 IAsyncRpcChannelBuffer *This, 3009 RPCOLEMESSAGE *pMsg, 3010 DWORD *pdwDestContext, 3011 void **ppvDestContext); 3012 3013 END_INTERFACE 3014 } IAsyncRpcChannelBufferVtbl; 3015 3016 interface IAsyncRpcChannelBuffer { 3017 CONST_VTBL IAsyncRpcChannelBufferVtbl* lpVtbl; 3018 }; 3019 3020 #ifdef COBJMACROS 3021 #ifndef WIDL_C_INLINE_WRAPPERS 3022 /*** IUnknown methods ***/ 3023 #define IAsyncRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3024 #define IAsyncRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 3025 #define IAsyncRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This) 3026 /*** IRpcChannelBuffer methods ***/ 3027 #define IAsyncRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid) 3028 #define IAsyncRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus) 3029 #define IAsyncRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage) 3030 #define IAsyncRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext) 3031 #define IAsyncRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This) 3032 /*** IRpcChannelBuffer2 methods ***/ 3033 #define IAsyncRpcChannelBuffer_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion) 3034 /*** IAsyncRpcChannelBuffer methods ***/ 3035 #define IAsyncRpcChannelBuffer_Send(This,pMsg,pSync,pulStatus) (This)->lpVtbl->Send(This,pMsg,pSync,pulStatus) 3036 #define IAsyncRpcChannelBuffer_Receive(This,pMsg,pulStatus) (This)->lpVtbl->Receive(This,pMsg,pulStatus) 3037 #define IAsyncRpcChannelBuffer_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) 3038 #else 3039 /*** IUnknown methods ***/ 3040 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_QueryInterface(IAsyncRpcChannelBuffer* This,REFIID riid,void **ppvObject) { 3041 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3042 } 3043 static FORCEINLINE ULONG IAsyncRpcChannelBuffer_AddRef(IAsyncRpcChannelBuffer* This) { 3044 return This->lpVtbl->AddRef(This); 3045 } 3046 static FORCEINLINE ULONG IAsyncRpcChannelBuffer_Release(IAsyncRpcChannelBuffer* This) { 3047 return This->lpVtbl->Release(This); 3048 } 3049 /*** IRpcChannelBuffer methods ***/ 3050 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_GetBuffer(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,REFIID riid) { 3051 return This->lpVtbl->GetBuffer(This,pMessage,riid); 3052 } 3053 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_SendReceive(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) { 3054 return This->lpVtbl->SendReceive(This,pMessage,pStatus); 3055 } 3056 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_FreeBuffer(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage) { 3057 return This->lpVtbl->FreeBuffer(This,pMessage); 3058 } 3059 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_GetDestCtx(IAsyncRpcChannelBuffer* This,DWORD *pdwDestContext,void **ppvDestContext) { 3060 return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext); 3061 } 3062 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_IsConnected(IAsyncRpcChannelBuffer* This) { 3063 return This->lpVtbl->IsConnected(This); 3064 } 3065 /*** IRpcChannelBuffer2 methods ***/ 3066 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_GetProtocolVersion(IAsyncRpcChannelBuffer* This,DWORD *pdwVersion) { 3067 return This->lpVtbl->GetProtocolVersion(This,pdwVersion); 3068 } 3069 /*** IAsyncRpcChannelBuffer methods ***/ 3070 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_Send(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus) { 3071 return This->lpVtbl->Send(This,pMsg,pSync,pulStatus); 3072 } 3073 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_Receive(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus) { 3074 return This->lpVtbl->Receive(This,pMsg,pulStatus); 3075 } 3076 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_GetDestCtxEx(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) { 3077 return This->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext); 3078 } 3079 #endif 3080 #endif 3081 3082 #endif 3083 3084 3085 #endif /* __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__ */ 3086 3087 3088 /***************************************************************************** 3089 * IRpcChannelBuffer3 interface 3090 */ 3091 #ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__ 3092 #define __IRpcChannelBuffer3_INTERFACE_DEFINED__ 3093 3094 DEFINE_GUID(IID_IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2); 3095 #if defined(__cplusplus) && !defined(CINTERFACE) 3096 MIDL_INTERFACE("25b15600-0115-11d0-bf0d-00aa00b8dfd2") 3097 IRpcChannelBuffer3 : public IRpcChannelBuffer2 3098 { 3099 virtual HRESULT STDMETHODCALLTYPE Send( 3100 RPCOLEMESSAGE *pMsg, 3101 ULONG *pulStatus) = 0; 3102 3103 virtual HRESULT STDMETHODCALLTYPE Receive( 3104 RPCOLEMESSAGE *pMsg, 3105 ULONG ulSize, 3106 ULONG *pulStatus) = 0; 3107 3108 virtual HRESULT STDMETHODCALLTYPE Cancel( 3109 RPCOLEMESSAGE *pMsg) = 0; 3110 3111 virtual HRESULT STDMETHODCALLTYPE GetCallContext( 3112 RPCOLEMESSAGE *pMsg, 3113 REFIID riid, 3114 void **pInterface) = 0; 3115 3116 virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx( 3117 RPCOLEMESSAGE *pMsg, 3118 DWORD *pdwDestContext, 3119 void **ppvDestContext) = 0; 3120 3121 virtual HRESULT STDMETHODCALLTYPE GetState( 3122 RPCOLEMESSAGE *pMsg, 3123 DWORD *pState) = 0; 3124 3125 virtual HRESULT STDMETHODCALLTYPE RegisterAsync( 3126 RPCOLEMESSAGE *pMsg, 3127 IAsyncManager *pAsyncMgr) = 0; 3128 3129 }; 3130 #ifdef __CRT_UUID_DECL 3131 __CRT_UUID_DECL(IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2) 3132 #endif 3133 #else 3134 typedef struct IRpcChannelBuffer3Vtbl { 3135 BEGIN_INTERFACE 3136 3137 /*** IUnknown methods ***/ 3138 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3139 IRpcChannelBuffer3 *This, 3140 REFIID riid, 3141 void **ppvObject); 3142 3143 ULONG (STDMETHODCALLTYPE *AddRef)( 3144 IRpcChannelBuffer3 *This); 3145 3146 ULONG (STDMETHODCALLTYPE *Release)( 3147 IRpcChannelBuffer3 *This); 3148 3149 /*** IRpcChannelBuffer methods ***/ 3150 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 3151 IRpcChannelBuffer3 *This, 3152 RPCOLEMESSAGE *pMessage, 3153 REFIID riid); 3154 3155 HRESULT (STDMETHODCALLTYPE *SendReceive)( 3156 IRpcChannelBuffer3 *This, 3157 RPCOLEMESSAGE *pMessage, 3158 ULONG *pStatus); 3159 3160 HRESULT (STDMETHODCALLTYPE *FreeBuffer)( 3161 IRpcChannelBuffer3 *This, 3162 RPCOLEMESSAGE *pMessage); 3163 3164 HRESULT (STDMETHODCALLTYPE *GetDestCtx)( 3165 IRpcChannelBuffer3 *This, 3166 DWORD *pdwDestContext, 3167 void **ppvDestContext); 3168 3169 HRESULT (STDMETHODCALLTYPE *IsConnected)( 3170 IRpcChannelBuffer3 *This); 3171 3172 /*** IRpcChannelBuffer2 methods ***/ 3173 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)( 3174 IRpcChannelBuffer3 *This, 3175 DWORD *pdwVersion); 3176 3177 /*** IRpcChannelBuffer3 methods ***/ 3178 HRESULT (STDMETHODCALLTYPE *Send)( 3179 IRpcChannelBuffer3 *This, 3180 RPCOLEMESSAGE *pMsg, 3181 ULONG *pulStatus); 3182 3183 HRESULT (STDMETHODCALLTYPE *Receive)( 3184 IRpcChannelBuffer3 *This, 3185 RPCOLEMESSAGE *pMsg, 3186 ULONG ulSize, 3187 ULONG *pulStatus); 3188 3189 HRESULT (STDMETHODCALLTYPE *Cancel)( 3190 IRpcChannelBuffer3 *This, 3191 RPCOLEMESSAGE *pMsg); 3192 3193 HRESULT (STDMETHODCALLTYPE *GetCallContext)( 3194 IRpcChannelBuffer3 *This, 3195 RPCOLEMESSAGE *pMsg, 3196 REFIID riid, 3197 void **pInterface); 3198 3199 HRESULT (STDMETHODCALLTYPE *GetDestCtxEx)( 3200 IRpcChannelBuffer3 *This, 3201 RPCOLEMESSAGE *pMsg, 3202 DWORD *pdwDestContext, 3203 void **ppvDestContext); 3204 3205 HRESULT (STDMETHODCALLTYPE *GetState)( 3206 IRpcChannelBuffer3 *This, 3207 RPCOLEMESSAGE *pMsg, 3208 DWORD *pState); 3209 3210 HRESULT (STDMETHODCALLTYPE *RegisterAsync)( 3211 IRpcChannelBuffer3 *This, 3212 RPCOLEMESSAGE *pMsg, 3213 IAsyncManager *pAsyncMgr); 3214 3215 END_INTERFACE 3216 } IRpcChannelBuffer3Vtbl; 3217 3218 interface IRpcChannelBuffer3 { 3219 CONST_VTBL IRpcChannelBuffer3Vtbl* lpVtbl; 3220 }; 3221 3222 #ifdef COBJMACROS 3223 #ifndef WIDL_C_INLINE_WRAPPERS 3224 /*** IUnknown methods ***/ 3225 #define IRpcChannelBuffer3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3226 #define IRpcChannelBuffer3_AddRef(This) (This)->lpVtbl->AddRef(This) 3227 #define IRpcChannelBuffer3_Release(This) (This)->lpVtbl->Release(This) 3228 /*** IRpcChannelBuffer methods ***/ 3229 #define IRpcChannelBuffer3_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid) 3230 #define IRpcChannelBuffer3_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus) 3231 #define IRpcChannelBuffer3_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage) 3232 #define IRpcChannelBuffer3_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext) 3233 #define IRpcChannelBuffer3_IsConnected(This) (This)->lpVtbl->IsConnected(This) 3234 /*** IRpcChannelBuffer2 methods ***/ 3235 #define IRpcChannelBuffer3_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion) 3236 /*** IRpcChannelBuffer3 methods ***/ 3237 #define IRpcChannelBuffer3_Send(This,pMsg,pulStatus) (This)->lpVtbl->Send(This,pMsg,pulStatus) 3238 #define IRpcChannelBuffer3_Receive(This,pMsg,ulSize,pulStatus) (This)->lpVtbl->Receive(This,pMsg,ulSize,pulStatus) 3239 #define IRpcChannelBuffer3_Cancel(This,pMsg) (This)->lpVtbl->Cancel(This,pMsg) 3240 #define IRpcChannelBuffer3_GetCallContext(This,pMsg,riid,pInterface) (This)->lpVtbl->GetCallContext(This,pMsg,riid,pInterface) 3241 #define IRpcChannelBuffer3_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) 3242 #define IRpcChannelBuffer3_GetState(This,pMsg,pState) (This)->lpVtbl->GetState(This,pMsg,pState) 3243 #define IRpcChannelBuffer3_RegisterAsync(This,pMsg,pAsyncMgr) (This)->lpVtbl->RegisterAsync(This,pMsg,pAsyncMgr) 3244 #else 3245 /*** IUnknown methods ***/ 3246 static FORCEINLINE HRESULT IRpcChannelBuffer3_QueryInterface(IRpcChannelBuffer3* This,REFIID riid,void **ppvObject) { 3247 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3248 } 3249 static FORCEINLINE ULONG IRpcChannelBuffer3_AddRef(IRpcChannelBuffer3* This) { 3250 return This->lpVtbl->AddRef(This); 3251 } 3252 static FORCEINLINE ULONG IRpcChannelBuffer3_Release(IRpcChannelBuffer3* This) { 3253 return This->lpVtbl->Release(This); 3254 } 3255 /*** IRpcChannelBuffer methods ***/ 3256 static FORCEINLINE HRESULT IRpcChannelBuffer3_GetBuffer(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMessage,REFIID riid) { 3257 return This->lpVtbl->GetBuffer(This,pMessage,riid); 3258 } 3259 static FORCEINLINE HRESULT IRpcChannelBuffer3_SendReceive(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) { 3260 return This->lpVtbl->SendReceive(This,pMessage,pStatus); 3261 } 3262 static FORCEINLINE HRESULT IRpcChannelBuffer3_FreeBuffer(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMessage) { 3263 return This->lpVtbl->FreeBuffer(This,pMessage); 3264 } 3265 static FORCEINLINE HRESULT IRpcChannelBuffer3_GetDestCtx(IRpcChannelBuffer3* This,DWORD *pdwDestContext,void **ppvDestContext) { 3266 return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext); 3267 } 3268 static FORCEINLINE HRESULT IRpcChannelBuffer3_IsConnected(IRpcChannelBuffer3* This) { 3269 return This->lpVtbl->IsConnected(This); 3270 } 3271 /*** IRpcChannelBuffer2 methods ***/ 3272 static FORCEINLINE HRESULT IRpcChannelBuffer3_GetProtocolVersion(IRpcChannelBuffer3* This,DWORD *pdwVersion) { 3273 return This->lpVtbl->GetProtocolVersion(This,pdwVersion); 3274 } 3275 /*** IRpcChannelBuffer3 methods ***/ 3276 static FORCEINLINE HRESULT IRpcChannelBuffer3_Send(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus) { 3277 return This->lpVtbl->Send(This,pMsg,pulStatus); 3278 } 3279 static FORCEINLINE HRESULT IRpcChannelBuffer3_Receive(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus) { 3280 return This->lpVtbl->Receive(This,pMsg,ulSize,pulStatus); 3281 } 3282 static FORCEINLINE HRESULT IRpcChannelBuffer3_Cancel(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg) { 3283 return This->lpVtbl->Cancel(This,pMsg); 3284 } 3285 static FORCEINLINE HRESULT IRpcChannelBuffer3_GetCallContext(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface) { 3286 return This->lpVtbl->GetCallContext(This,pMsg,riid,pInterface); 3287 } 3288 static FORCEINLINE HRESULT IRpcChannelBuffer3_GetDestCtxEx(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) { 3289 return This->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext); 3290 } 3291 static FORCEINLINE HRESULT IRpcChannelBuffer3_GetState(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,DWORD *pState) { 3292 return This->lpVtbl->GetState(This,pMsg,pState); 3293 } 3294 static FORCEINLINE HRESULT IRpcChannelBuffer3_RegisterAsync(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr) { 3295 return This->lpVtbl->RegisterAsync(This,pMsg,pAsyncMgr); 3296 } 3297 #endif 3298 #endif 3299 3300 #endif 3301 3302 3303 #endif /* __IRpcChannelBuffer3_INTERFACE_DEFINED__ */ 3304 3305 3306 /***************************************************************************** 3307 * IRpcSyntaxNegotiate interface 3308 */ 3309 #ifndef __IRpcSyntaxNegotiate_INTERFACE_DEFINED__ 3310 #define __IRpcSyntaxNegotiate_INTERFACE_DEFINED__ 3311 3312 DEFINE_GUID(IID_IRpcSyntaxNegotiate, 0x58a08519, 0x24c8, 0x4935, 0xb4,0x82, 0x3f,0xd8,0x23,0x33,0x3a,0x4f); 3313 #if defined(__cplusplus) && !defined(CINTERFACE) 3314 MIDL_INTERFACE("58a08519-24c8-4935-b482-3fd823333a4f") 3315 IRpcSyntaxNegotiate : public IUnknown 3316 { 3317 virtual HRESULT STDMETHODCALLTYPE NegotiateSyntax( 3318 RPCOLEMESSAGE *pMsg) = 0; 3319 3320 }; 3321 #ifdef __CRT_UUID_DECL 3322 __CRT_UUID_DECL(IRpcSyntaxNegotiate, 0x58a08519, 0x24c8, 0x4935, 0xb4,0x82, 0x3f,0xd8,0x23,0x33,0x3a,0x4f) 3323 #endif 3324 #else 3325 typedef struct IRpcSyntaxNegotiateVtbl { 3326 BEGIN_INTERFACE 3327 3328 /*** IUnknown methods ***/ 3329 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3330 IRpcSyntaxNegotiate *This, 3331 REFIID riid, 3332 void **ppvObject); 3333 3334 ULONG (STDMETHODCALLTYPE *AddRef)( 3335 IRpcSyntaxNegotiate *This); 3336 3337 ULONG (STDMETHODCALLTYPE *Release)( 3338 IRpcSyntaxNegotiate *This); 3339 3340 /*** IRpcSyntaxNegotiate methods ***/ 3341 HRESULT (STDMETHODCALLTYPE *NegotiateSyntax)( 3342 IRpcSyntaxNegotiate *This, 3343 RPCOLEMESSAGE *pMsg); 3344 3345 END_INTERFACE 3346 } IRpcSyntaxNegotiateVtbl; 3347 3348 interface IRpcSyntaxNegotiate { 3349 CONST_VTBL IRpcSyntaxNegotiateVtbl* lpVtbl; 3350 }; 3351 3352 #ifdef COBJMACROS 3353 #ifndef WIDL_C_INLINE_WRAPPERS 3354 /*** IUnknown methods ***/ 3355 #define IRpcSyntaxNegotiate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3356 #define IRpcSyntaxNegotiate_AddRef(This) (This)->lpVtbl->AddRef(This) 3357 #define IRpcSyntaxNegotiate_Release(This) (This)->lpVtbl->Release(This) 3358 /*** IRpcSyntaxNegotiate methods ***/ 3359 #define IRpcSyntaxNegotiate_NegotiateSyntax(This,pMsg) (This)->lpVtbl->NegotiateSyntax(This,pMsg) 3360 #else 3361 /*** IUnknown methods ***/ 3362 static FORCEINLINE HRESULT IRpcSyntaxNegotiate_QueryInterface(IRpcSyntaxNegotiate* This,REFIID riid,void **ppvObject) { 3363 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3364 } 3365 static FORCEINLINE ULONG IRpcSyntaxNegotiate_AddRef(IRpcSyntaxNegotiate* This) { 3366 return This->lpVtbl->AddRef(This); 3367 } 3368 static FORCEINLINE ULONG IRpcSyntaxNegotiate_Release(IRpcSyntaxNegotiate* This) { 3369 return This->lpVtbl->Release(This); 3370 } 3371 /*** IRpcSyntaxNegotiate methods ***/ 3372 static FORCEINLINE HRESULT IRpcSyntaxNegotiate_NegotiateSyntax(IRpcSyntaxNegotiate* This,RPCOLEMESSAGE *pMsg) { 3373 return This->lpVtbl->NegotiateSyntax(This,pMsg); 3374 } 3375 #endif 3376 #endif 3377 3378 #endif 3379 3380 3381 #endif /* __IRpcSyntaxNegotiate_INTERFACE_DEFINED__ */ 3382 3383 3384 /***************************************************************************** 3385 * IRpcProxyBuffer interface 3386 */ 3387 #ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__ 3388 #define __IRpcProxyBuffer_INTERFACE_DEFINED__ 3389 3390 DEFINE_GUID(IID_IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); 3391 #if defined(__cplusplus) && !defined(CINTERFACE) 3392 MIDL_INTERFACE("d5f56a34-593b-101a-b569-08002b2dbf7a") 3393 IRpcProxyBuffer : public IUnknown 3394 { 3395 virtual HRESULT STDMETHODCALLTYPE Connect( 3396 IRpcChannelBuffer *pRpcChannelBuffer) = 0; 3397 3398 virtual void STDMETHODCALLTYPE Disconnect( 3399 ) = 0; 3400 3401 }; 3402 #ifdef __CRT_UUID_DECL 3403 __CRT_UUID_DECL(IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a) 3404 #endif 3405 #else 3406 typedef struct IRpcProxyBufferVtbl { 3407 BEGIN_INTERFACE 3408 3409 /*** IUnknown methods ***/ 3410 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3411 IRpcProxyBuffer *This, 3412 REFIID riid, 3413 void **ppvObject); 3414 3415 ULONG (STDMETHODCALLTYPE *AddRef)( 3416 IRpcProxyBuffer *This); 3417 3418 ULONG (STDMETHODCALLTYPE *Release)( 3419 IRpcProxyBuffer *This); 3420 3421 /*** IRpcProxyBuffer methods ***/ 3422 HRESULT (STDMETHODCALLTYPE *Connect)( 3423 IRpcProxyBuffer *This, 3424 IRpcChannelBuffer *pRpcChannelBuffer); 3425 3426 void (STDMETHODCALLTYPE *Disconnect)( 3427 IRpcProxyBuffer *This); 3428 3429 END_INTERFACE 3430 } IRpcProxyBufferVtbl; 3431 3432 interface IRpcProxyBuffer { 3433 CONST_VTBL IRpcProxyBufferVtbl* lpVtbl; 3434 }; 3435 3436 #ifdef COBJMACROS 3437 #ifndef WIDL_C_INLINE_WRAPPERS 3438 /*** IUnknown methods ***/ 3439 #define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3440 #define IRpcProxyBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 3441 #define IRpcProxyBuffer_Release(This) (This)->lpVtbl->Release(This) 3442 /*** IRpcProxyBuffer methods ***/ 3443 #define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer) (This)->lpVtbl->Connect(This,pRpcChannelBuffer) 3444 #define IRpcProxyBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This) 3445 #else 3446 /*** IUnknown methods ***/ 3447 static FORCEINLINE HRESULT IRpcProxyBuffer_QueryInterface(IRpcProxyBuffer* This,REFIID riid,void **ppvObject) { 3448 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3449 } 3450 static FORCEINLINE ULONG IRpcProxyBuffer_AddRef(IRpcProxyBuffer* This) { 3451 return This->lpVtbl->AddRef(This); 3452 } 3453 static FORCEINLINE ULONG IRpcProxyBuffer_Release(IRpcProxyBuffer* This) { 3454 return This->lpVtbl->Release(This); 3455 } 3456 /*** IRpcProxyBuffer methods ***/ 3457 static FORCEINLINE HRESULT IRpcProxyBuffer_Connect(IRpcProxyBuffer* This,IRpcChannelBuffer *pRpcChannelBuffer) { 3458 return This->lpVtbl->Connect(This,pRpcChannelBuffer); 3459 } 3460 static FORCEINLINE void IRpcProxyBuffer_Disconnect(IRpcProxyBuffer* This) { 3461 This->lpVtbl->Disconnect(This); 3462 } 3463 #endif 3464 #endif 3465 3466 #endif 3467 3468 3469 #endif /* __IRpcProxyBuffer_INTERFACE_DEFINED__ */ 3470 3471 #endif 3472 3473 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 3474 /***************************************************************************** 3475 * IRpcStubBuffer interface 3476 */ 3477 #ifndef __IRpcStubBuffer_INTERFACE_DEFINED__ 3478 #define __IRpcStubBuffer_INTERFACE_DEFINED__ 3479 3480 DEFINE_GUID(IID_IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); 3481 #if defined(__cplusplus) && !defined(CINTERFACE) 3482 MIDL_INTERFACE("d5f56afc-593b-101a-b569-08002b2dbf7a") 3483 IRpcStubBuffer : public IUnknown 3484 { 3485 virtual HRESULT STDMETHODCALLTYPE Connect( 3486 IUnknown *pUnkServer) = 0; 3487 3488 virtual void STDMETHODCALLTYPE Disconnect( 3489 ) = 0; 3490 3491 virtual HRESULT STDMETHODCALLTYPE Invoke( 3492 RPCOLEMESSAGE *_prpcmsg, 3493 IRpcChannelBuffer *_pRpcChannelBuffer) = 0; 3494 3495 virtual IRpcStubBuffer * STDMETHODCALLTYPE IsIIDSupported( 3496 REFIID riid) = 0; 3497 3498 virtual ULONG STDMETHODCALLTYPE CountRefs( 3499 ) = 0; 3500 3501 virtual HRESULT STDMETHODCALLTYPE DebugServerQueryInterface( 3502 void **ppv) = 0; 3503 3504 virtual void STDMETHODCALLTYPE DebugServerRelease( 3505 void *pv) = 0; 3506 3507 }; 3508 #ifdef __CRT_UUID_DECL 3509 __CRT_UUID_DECL(IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a) 3510 #endif 3511 #else 3512 typedef struct IRpcStubBufferVtbl { 3513 BEGIN_INTERFACE 3514 3515 /*** IUnknown methods ***/ 3516 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3517 IRpcStubBuffer *This, 3518 REFIID riid, 3519 void **ppvObject); 3520 3521 ULONG (STDMETHODCALLTYPE *AddRef)( 3522 IRpcStubBuffer *This); 3523 3524 ULONG (STDMETHODCALLTYPE *Release)( 3525 IRpcStubBuffer *This); 3526 3527 /*** IRpcStubBuffer methods ***/ 3528 HRESULT (STDMETHODCALLTYPE *Connect)( 3529 IRpcStubBuffer *This, 3530 IUnknown *pUnkServer); 3531 3532 void (STDMETHODCALLTYPE *Disconnect)( 3533 IRpcStubBuffer *This); 3534 3535 HRESULT (STDMETHODCALLTYPE *Invoke)( 3536 IRpcStubBuffer *This, 3537 RPCOLEMESSAGE *_prpcmsg, 3538 IRpcChannelBuffer *_pRpcChannelBuffer); 3539 3540 IRpcStubBuffer * (STDMETHODCALLTYPE *IsIIDSupported)( 3541 IRpcStubBuffer *This, 3542 REFIID riid); 3543 3544 ULONG (STDMETHODCALLTYPE *CountRefs)( 3545 IRpcStubBuffer *This); 3546 3547 HRESULT (STDMETHODCALLTYPE *DebugServerQueryInterface)( 3548 IRpcStubBuffer *This, 3549 void **ppv); 3550 3551 void (STDMETHODCALLTYPE *DebugServerRelease)( 3552 IRpcStubBuffer *This, 3553 void *pv); 3554 3555 END_INTERFACE 3556 } IRpcStubBufferVtbl; 3557 3558 interface IRpcStubBuffer { 3559 CONST_VTBL IRpcStubBufferVtbl* lpVtbl; 3560 }; 3561 3562 #ifdef COBJMACROS 3563 #ifndef WIDL_C_INLINE_WRAPPERS 3564 /*** IUnknown methods ***/ 3565 #define IRpcStubBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3566 #define IRpcStubBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 3567 #define IRpcStubBuffer_Release(This) (This)->lpVtbl->Release(This) 3568 /*** IRpcStubBuffer methods ***/ 3569 #define IRpcStubBuffer_Connect(This,pUnkServer) (This)->lpVtbl->Connect(This,pUnkServer) 3570 #define IRpcStubBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This) 3571 #define IRpcStubBuffer_Invoke(This,_prpcmsg,_pRpcChannelBuffer) (This)->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer) 3572 #define IRpcStubBuffer_IsIIDSupported(This,riid) (This)->lpVtbl->IsIIDSupported(This,riid) 3573 #define IRpcStubBuffer_CountRefs(This) (This)->lpVtbl->CountRefs(This) 3574 #define IRpcStubBuffer_DebugServerQueryInterface(This,ppv) (This)->lpVtbl->DebugServerQueryInterface(This,ppv) 3575 #define IRpcStubBuffer_DebugServerRelease(This,pv) (This)->lpVtbl->DebugServerRelease(This,pv) 3576 #else 3577 /*** IUnknown methods ***/ 3578 static FORCEINLINE HRESULT IRpcStubBuffer_QueryInterface(IRpcStubBuffer* This,REFIID riid,void **ppvObject) { 3579 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3580 } 3581 static FORCEINLINE ULONG IRpcStubBuffer_AddRef(IRpcStubBuffer* This) { 3582 return This->lpVtbl->AddRef(This); 3583 } 3584 static FORCEINLINE ULONG IRpcStubBuffer_Release(IRpcStubBuffer* This) { 3585 return This->lpVtbl->Release(This); 3586 } 3587 /*** IRpcStubBuffer methods ***/ 3588 static FORCEINLINE HRESULT IRpcStubBuffer_Connect(IRpcStubBuffer* This,IUnknown *pUnkServer) { 3589 return This->lpVtbl->Connect(This,pUnkServer); 3590 } 3591 static FORCEINLINE void IRpcStubBuffer_Disconnect(IRpcStubBuffer* This) { 3592 This->lpVtbl->Disconnect(This); 3593 } 3594 static FORCEINLINE HRESULT IRpcStubBuffer_Invoke(IRpcStubBuffer* This,RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer) { 3595 return This->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer); 3596 } 3597 static FORCEINLINE IRpcStubBuffer * IRpcStubBuffer_IsIIDSupported(IRpcStubBuffer* This,REFIID riid) { 3598 return This->lpVtbl->IsIIDSupported(This,riid); 3599 } 3600 static FORCEINLINE ULONG IRpcStubBuffer_CountRefs(IRpcStubBuffer* This) { 3601 return This->lpVtbl->CountRefs(This); 3602 } 3603 static FORCEINLINE HRESULT IRpcStubBuffer_DebugServerQueryInterface(IRpcStubBuffer* This,void **ppv) { 3604 return This->lpVtbl->DebugServerQueryInterface(This,ppv); 3605 } 3606 static FORCEINLINE void IRpcStubBuffer_DebugServerRelease(IRpcStubBuffer* This,void *pv) { 3607 This->lpVtbl->DebugServerRelease(This,pv); 3608 } 3609 #endif 3610 #endif 3611 3612 #endif 3613 3614 3615 #endif /* __IRpcStubBuffer_INTERFACE_DEFINED__ */ 3616 3617 3618 /***************************************************************************** 3619 * IPSFactoryBuffer interface 3620 */ 3621 #ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__ 3622 #define __IPSFactoryBuffer_INTERFACE_DEFINED__ 3623 3624 DEFINE_GUID(IID_IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); 3625 #if defined(__cplusplus) && !defined(CINTERFACE) 3626 MIDL_INTERFACE("d5f569d0-593b-101a-b569-08002b2dbf7a") 3627 IPSFactoryBuffer : public IUnknown 3628 { 3629 virtual HRESULT STDMETHODCALLTYPE CreateProxy( 3630 IUnknown *pUnkOuter, 3631 REFIID riid, 3632 IRpcProxyBuffer **ppProxy, 3633 void **ppv) = 0; 3634 3635 virtual HRESULT STDMETHODCALLTYPE CreateStub( 3636 REFIID riid, 3637 IUnknown *pUnkServer, 3638 IRpcStubBuffer **ppStub) = 0; 3639 3640 }; 3641 #ifdef __CRT_UUID_DECL 3642 __CRT_UUID_DECL(IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a) 3643 #endif 3644 #else 3645 typedef struct IPSFactoryBufferVtbl { 3646 BEGIN_INTERFACE 3647 3648 /*** IUnknown methods ***/ 3649 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3650 IPSFactoryBuffer *This, 3651 REFIID riid, 3652 void **ppvObject); 3653 3654 ULONG (STDMETHODCALLTYPE *AddRef)( 3655 IPSFactoryBuffer *This); 3656 3657 ULONG (STDMETHODCALLTYPE *Release)( 3658 IPSFactoryBuffer *This); 3659 3660 /*** IPSFactoryBuffer methods ***/ 3661 HRESULT (STDMETHODCALLTYPE *CreateProxy)( 3662 IPSFactoryBuffer *This, 3663 IUnknown *pUnkOuter, 3664 REFIID riid, 3665 IRpcProxyBuffer **ppProxy, 3666 void **ppv); 3667 3668 HRESULT (STDMETHODCALLTYPE *CreateStub)( 3669 IPSFactoryBuffer *This, 3670 REFIID riid, 3671 IUnknown *pUnkServer, 3672 IRpcStubBuffer **ppStub); 3673 3674 END_INTERFACE 3675 } IPSFactoryBufferVtbl; 3676 3677 interface IPSFactoryBuffer { 3678 CONST_VTBL IPSFactoryBufferVtbl* lpVtbl; 3679 }; 3680 3681 #ifdef COBJMACROS 3682 #ifndef WIDL_C_INLINE_WRAPPERS 3683 /*** IUnknown methods ***/ 3684 #define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3685 #define IPSFactoryBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 3686 #define IPSFactoryBuffer_Release(This) (This)->lpVtbl->Release(This) 3687 /*** IPSFactoryBuffer methods ***/ 3688 #define IPSFactoryBuffer_CreateProxy(This,pUnkOuter,riid,ppProxy,ppv) (This)->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,ppv) 3689 #define IPSFactoryBuffer_CreateStub(This,riid,pUnkServer,ppStub) (This)->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub) 3690 #else 3691 /*** IUnknown methods ***/ 3692 static FORCEINLINE HRESULT IPSFactoryBuffer_QueryInterface(IPSFactoryBuffer* This,REFIID riid,void **ppvObject) { 3693 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3694 } 3695 static FORCEINLINE ULONG IPSFactoryBuffer_AddRef(IPSFactoryBuffer* This) { 3696 return This->lpVtbl->AddRef(This); 3697 } 3698 static FORCEINLINE ULONG IPSFactoryBuffer_Release(IPSFactoryBuffer* This) { 3699 return This->lpVtbl->Release(This); 3700 } 3701 /*** IPSFactoryBuffer methods ***/ 3702 static FORCEINLINE HRESULT IPSFactoryBuffer_CreateProxy(IPSFactoryBuffer* This,IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv) { 3703 return This->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,ppv); 3704 } 3705 static FORCEINLINE HRESULT IPSFactoryBuffer_CreateStub(IPSFactoryBuffer* This,REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub) { 3706 return This->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub); 3707 } 3708 #endif 3709 #endif 3710 3711 #endif 3712 3713 3714 #endif /* __IPSFactoryBuffer_INTERFACE_DEFINED__ */ 3715 3716 #endif 3717 3718 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 3719 #if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) 3720 typedef struct SChannelHookCallInfo { 3721 IID iid; 3722 DWORD cbSize; 3723 GUID uCausality; 3724 DWORD dwServerPid; 3725 DWORD iMethod; 3726 void *pObject; 3727 } SChannelHookCallInfo; 3728 3729 /***************************************************************************** 3730 * IChannelHook interface 3731 */ 3732 #ifndef __IChannelHook_INTERFACE_DEFINED__ 3733 #define __IChannelHook_INTERFACE_DEFINED__ 3734 3735 DEFINE_GUID(IID_IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4); 3736 #if defined(__cplusplus) && !defined(CINTERFACE) 3737 MIDL_INTERFACE("1008c4a0-7613-11cf-9af1-0020af6e72f4") 3738 IChannelHook : public IUnknown 3739 { 3740 virtual void STDMETHODCALLTYPE ClientGetSize( 3741 REFGUID uExtent, 3742 REFIID riid, 3743 ULONG *pDataSize) = 0; 3744 3745 virtual void STDMETHODCALLTYPE ClientFillBuffer( 3746 REFGUID uExtent, 3747 REFIID riid, 3748 ULONG *pDataSize, 3749 void *pDataBuffer) = 0; 3750 3751 virtual void STDMETHODCALLTYPE ClientNotify( 3752 REFGUID uExtent, 3753 REFIID riid, 3754 ULONG cbDataSize, 3755 void *pDataBuffer, 3756 DWORD lDataRep, 3757 HRESULT hrFault) = 0; 3758 3759 virtual void STDMETHODCALLTYPE ServerNotify( 3760 REFGUID uExtent, 3761 REFIID riid, 3762 ULONG cbDataSize, 3763 void *pDataBuffer, 3764 DWORD lDataRep) = 0; 3765 3766 virtual void STDMETHODCALLTYPE ServerGetSize( 3767 REFGUID uExtent, 3768 REFIID riid, 3769 HRESULT hrFault, 3770 ULONG *pDataSize) = 0; 3771 3772 virtual void STDMETHODCALLTYPE ServerFillBuffer( 3773 REFGUID uExtent, 3774 REFIID riid, 3775 ULONG *pDataSize, 3776 void *pDataBuffer, 3777 HRESULT hrFault) = 0; 3778 3779 }; 3780 #ifdef __CRT_UUID_DECL 3781 __CRT_UUID_DECL(IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4) 3782 #endif 3783 #else 3784 typedef struct IChannelHookVtbl { 3785 BEGIN_INTERFACE 3786 3787 /*** IUnknown methods ***/ 3788 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3789 IChannelHook *This, 3790 REFIID riid, 3791 void **ppvObject); 3792 3793 ULONG (STDMETHODCALLTYPE *AddRef)( 3794 IChannelHook *This); 3795 3796 ULONG (STDMETHODCALLTYPE *Release)( 3797 IChannelHook *This); 3798 3799 /*** IChannelHook methods ***/ 3800 void (STDMETHODCALLTYPE *ClientGetSize)( 3801 IChannelHook *This, 3802 REFGUID uExtent, 3803 REFIID riid, 3804 ULONG *pDataSize); 3805 3806 void (STDMETHODCALLTYPE *ClientFillBuffer)( 3807 IChannelHook *This, 3808 REFGUID uExtent, 3809 REFIID riid, 3810 ULONG *pDataSize, 3811 void *pDataBuffer); 3812 3813 void (STDMETHODCALLTYPE *ClientNotify)( 3814 IChannelHook *This, 3815 REFGUID uExtent, 3816 REFIID riid, 3817 ULONG cbDataSize, 3818 void *pDataBuffer, 3819 DWORD lDataRep, 3820 HRESULT hrFault); 3821 3822 void (STDMETHODCALLTYPE *ServerNotify)( 3823 IChannelHook *This, 3824 REFGUID uExtent, 3825 REFIID riid, 3826 ULONG cbDataSize, 3827 void *pDataBuffer, 3828 DWORD lDataRep); 3829 3830 void (STDMETHODCALLTYPE *ServerGetSize)( 3831 IChannelHook *This, 3832 REFGUID uExtent, 3833 REFIID riid, 3834 HRESULT hrFault, 3835 ULONG *pDataSize); 3836 3837 void (STDMETHODCALLTYPE *ServerFillBuffer)( 3838 IChannelHook *This, 3839 REFGUID uExtent, 3840 REFIID riid, 3841 ULONG *pDataSize, 3842 void *pDataBuffer, 3843 HRESULT hrFault); 3844 3845 END_INTERFACE 3846 } IChannelHookVtbl; 3847 3848 interface IChannelHook { 3849 CONST_VTBL IChannelHookVtbl* lpVtbl; 3850 }; 3851 3852 #ifdef COBJMACROS 3853 #ifndef WIDL_C_INLINE_WRAPPERS 3854 /*** IUnknown methods ***/ 3855 #define IChannelHook_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3856 #define IChannelHook_AddRef(This) (This)->lpVtbl->AddRef(This) 3857 #define IChannelHook_Release(This) (This)->lpVtbl->Release(This) 3858 /*** IChannelHook methods ***/ 3859 #define IChannelHook_ClientGetSize(This,uExtent,riid,pDataSize) (This)->lpVtbl->ClientGetSize(This,uExtent,riid,pDataSize) 3860 #define IChannelHook_ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer) (This)->lpVtbl->ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer) 3861 #define IChannelHook_ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault) (This)->lpVtbl->ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault) 3862 #define IChannelHook_ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep) (This)->lpVtbl->ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep) 3863 #define IChannelHook_ServerGetSize(This,uExtent,riid,hrFault,pDataSize) (This)->lpVtbl->ServerGetSize(This,uExtent,riid,hrFault,pDataSize) 3864 #define IChannelHook_ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault) (This)->lpVtbl->ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault) 3865 #else 3866 /*** IUnknown methods ***/ 3867 static FORCEINLINE HRESULT IChannelHook_QueryInterface(IChannelHook* This,REFIID riid,void **ppvObject) { 3868 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3869 } 3870 static FORCEINLINE ULONG IChannelHook_AddRef(IChannelHook* This) { 3871 return This->lpVtbl->AddRef(This); 3872 } 3873 static FORCEINLINE ULONG IChannelHook_Release(IChannelHook* This) { 3874 return This->lpVtbl->Release(This); 3875 } 3876 /*** IChannelHook methods ***/ 3877 static FORCEINLINE void IChannelHook_ClientGetSize(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG *pDataSize) { 3878 This->lpVtbl->ClientGetSize(This,uExtent,riid,pDataSize); 3879 } 3880 static FORCEINLINE void IChannelHook_ClientFillBuffer(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer) { 3881 This->lpVtbl->ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer); 3882 } 3883 static FORCEINLINE void IChannelHook_ClientNotify(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault) { 3884 This->lpVtbl->ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault); 3885 } 3886 static FORCEINLINE void IChannelHook_ServerNotify(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep) { 3887 This->lpVtbl->ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep); 3888 } 3889 static FORCEINLINE void IChannelHook_ServerGetSize(IChannelHook* This,REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize) { 3890 This->lpVtbl->ServerGetSize(This,uExtent,riid,hrFault,pDataSize); 3891 } 3892 static FORCEINLINE void IChannelHook_ServerFillBuffer(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault) { 3893 This->lpVtbl->ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault); 3894 } 3895 #endif 3896 #endif 3897 3898 #endif 3899 3900 3901 #endif /* __IChannelHook_INTERFACE_DEFINED__ */ 3902 3903 #endif 3904 #endif 3905 3906 #if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) 3907 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 3908 /***************************************************************************** 3909 * IClientSecurity interface 3910 */ 3911 #ifndef __IClientSecurity_INTERFACE_DEFINED__ 3912 #define __IClientSecurity_INTERFACE_DEFINED__ 3913 3914 typedef struct tagSOLE_AUTHENTICATION_SERVICE { 3915 DWORD dwAuthnSvc; 3916 DWORD dwAuthzSvc; 3917 OLECHAR *pPrincipalName; 3918 HRESULT hr; 3919 } SOLE_AUTHENTICATION_SERVICE; 3920 3921 typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE; 3922 3923 typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES { 3924 EOAC_NONE = 0x0, 3925 EOAC_MUTUAL_AUTH = 0x1, 3926 EOAC_STATIC_CLOAKING = 0x20, 3927 EOAC_DYNAMIC_CLOAKING = 0x40, 3928 EOAC_ANY_AUTHORITY = 0x80, 3929 EOAC_MAKE_FULLSIC = 0x100, 3930 EOAC_DEFAULT = 0x800, 3931 EOAC_SECURE_REFS = 0x2, 3932 EOAC_ACCESS_CONTROL = 0x4, 3933 EOAC_APPID = 0x8, 3934 EOAC_DYNAMIC = 0x10, 3935 EOAC_REQUIRE_FULLSIC = 0x200, 3936 EOAC_AUTO_IMPERSONATE = 0x400, 3937 EOAC_NO_CUSTOM_MARSHAL = 0x2000, 3938 EOAC_DISABLE_AAA = 0x1000 3939 } EOLE_AUTHENTICATION_CAPABILITIES; 3940 3941 #define COLE_DEFAULT_PRINCIPAL ((OLECHAR *)(INT_PTR)-1) 3942 3943 #define COLE_DEFAULT_AUTHINFO ((void *)(INT_PTR)-1) 3944 3945 3946 typedef struct tagSOLE_AUTHENTICATION_INFO { 3947 DWORD dwAuthnSvc; 3948 DWORD dwAuthzSvc; 3949 void *pAuthInfo; 3950 } SOLE_AUTHENTICATION_INFO; 3951 typedef struct tagSOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO; 3952 3953 typedef struct tagSOLE_AUTHENTICATION_LIST { 3954 DWORD cAuthInfo; 3955 SOLE_AUTHENTICATION_INFO *aAuthInfo; 3956 } SOLE_AUTHENTICATION_LIST; 3957 typedef struct tagSOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST; 3958 3959 DEFINE_GUID(IID_IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 3960 #if defined(__cplusplus) && !defined(CINTERFACE) 3961 MIDL_INTERFACE("0000013d-0000-0000-c000-000000000046") 3962 IClientSecurity : public IUnknown 3963 { 3964 virtual HRESULT STDMETHODCALLTYPE QueryBlanket( 3965 IUnknown *pProxy, 3966 DWORD *pAuthnSvc, 3967 DWORD *pAuthzSvc, 3968 OLECHAR **pServerPrincName, 3969 DWORD *pAuthnLevel, 3970 DWORD *pImpLevel, 3971 void **pAuthInfo, 3972 DWORD *pCapabilites) = 0; 3973 3974 virtual HRESULT STDMETHODCALLTYPE SetBlanket( 3975 IUnknown *pProxy, 3976 DWORD dwAuthnSvc, 3977 DWORD dwAuthzSvc, 3978 OLECHAR *pServerPrincName, 3979 DWORD dwAuthnLevel, 3980 DWORD dwImpLevel, 3981 void *pAuthInfo, 3982 DWORD dwCapabilities) = 0; 3983 3984 virtual HRESULT STDMETHODCALLTYPE CopyProxy( 3985 IUnknown *pProxy, 3986 IUnknown **ppCopy) = 0; 3987 3988 }; 3989 #ifdef __CRT_UUID_DECL 3990 __CRT_UUID_DECL(IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 3991 #endif 3992 #else 3993 typedef struct IClientSecurityVtbl { 3994 BEGIN_INTERFACE 3995 3996 /*** IUnknown methods ***/ 3997 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3998 IClientSecurity *This, 3999 REFIID riid, 4000 void **ppvObject); 4001 4002 ULONG (STDMETHODCALLTYPE *AddRef)( 4003 IClientSecurity *This); 4004 4005 ULONG (STDMETHODCALLTYPE *Release)( 4006 IClientSecurity *This); 4007 4008 /*** IClientSecurity methods ***/ 4009 HRESULT (STDMETHODCALLTYPE *QueryBlanket)( 4010 IClientSecurity *This, 4011 IUnknown *pProxy, 4012 DWORD *pAuthnSvc, 4013 DWORD *pAuthzSvc, 4014 OLECHAR **pServerPrincName, 4015 DWORD *pAuthnLevel, 4016 DWORD *pImpLevel, 4017 void **pAuthInfo, 4018 DWORD *pCapabilites); 4019 4020 HRESULT (STDMETHODCALLTYPE *SetBlanket)( 4021 IClientSecurity *This, 4022 IUnknown *pProxy, 4023 DWORD dwAuthnSvc, 4024 DWORD dwAuthzSvc, 4025 OLECHAR *pServerPrincName, 4026 DWORD dwAuthnLevel, 4027 DWORD dwImpLevel, 4028 void *pAuthInfo, 4029 DWORD dwCapabilities); 4030 4031 HRESULT (STDMETHODCALLTYPE *CopyProxy)( 4032 IClientSecurity *This, 4033 IUnknown *pProxy, 4034 IUnknown **ppCopy); 4035 4036 END_INTERFACE 4037 } IClientSecurityVtbl; 4038 4039 interface IClientSecurity { 4040 CONST_VTBL IClientSecurityVtbl* lpVtbl; 4041 }; 4042 4043 #ifdef COBJMACROS 4044 #ifndef WIDL_C_INLINE_WRAPPERS 4045 /*** IUnknown methods ***/ 4046 #define IClientSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4047 #define IClientSecurity_AddRef(This) (This)->lpVtbl->AddRef(This) 4048 #define IClientSecurity_Release(This) (This)->lpVtbl->Release(This) 4049 /*** IClientSecurity methods ***/ 4050 #define IClientSecurity_QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites) (This)->lpVtbl->QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites) 4051 #define IClientSecurity_SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities) (This)->lpVtbl->SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities) 4052 #define IClientSecurity_CopyProxy(This,pProxy,ppCopy) (This)->lpVtbl->CopyProxy(This,pProxy,ppCopy) 4053 #else 4054 /*** IUnknown methods ***/ 4055 static FORCEINLINE HRESULT IClientSecurity_QueryInterface(IClientSecurity* This,REFIID riid,void **ppvObject) { 4056 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4057 } 4058 static FORCEINLINE ULONG IClientSecurity_AddRef(IClientSecurity* This) { 4059 return This->lpVtbl->AddRef(This); 4060 } 4061 static FORCEINLINE ULONG IClientSecurity_Release(IClientSecurity* This) { 4062 return This->lpVtbl->Release(This); 4063 } 4064 /*** IClientSecurity methods ***/ 4065 static FORCEINLINE HRESULT IClientSecurity_QueryBlanket(IClientSecurity* This,IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites) { 4066 return This->lpVtbl->QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites); 4067 } 4068 static FORCEINLINE HRESULT IClientSecurity_SetBlanket(IClientSecurity* This,IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities) { 4069 return This->lpVtbl->SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities); 4070 } 4071 static FORCEINLINE HRESULT IClientSecurity_CopyProxy(IClientSecurity* This,IUnknown *pProxy,IUnknown **ppCopy) { 4072 return This->lpVtbl->CopyProxy(This,pProxy,ppCopy); 4073 } 4074 #endif 4075 #endif 4076 4077 #endif 4078 4079 4080 #endif /* __IClientSecurity_INTERFACE_DEFINED__ */ 4081 4082 #endif 4083 4084 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 4085 /***************************************************************************** 4086 * IServerSecurity interface 4087 */ 4088 #ifndef __IServerSecurity_INTERFACE_DEFINED__ 4089 #define __IServerSecurity_INTERFACE_DEFINED__ 4090 4091 DEFINE_GUID(IID_IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4092 #if defined(__cplusplus) && !defined(CINTERFACE) 4093 MIDL_INTERFACE("0000013e-0000-0000-c000-000000000046") 4094 IServerSecurity : public IUnknown 4095 { 4096 virtual HRESULT STDMETHODCALLTYPE QueryBlanket( 4097 DWORD *pAuthnSvc, 4098 DWORD *pAuthzSvc, 4099 OLECHAR **pServerPrincName, 4100 DWORD *pAuthnLevel, 4101 DWORD *pImpLevel, 4102 void **pPrivs, 4103 DWORD *pCapabilities) = 0; 4104 4105 virtual HRESULT STDMETHODCALLTYPE ImpersonateClient( 4106 ) = 0; 4107 4108 virtual HRESULT STDMETHODCALLTYPE RevertToSelf( 4109 ) = 0; 4110 4111 virtual WINBOOL STDMETHODCALLTYPE IsImpersonating( 4112 ) = 0; 4113 4114 }; 4115 #ifdef __CRT_UUID_DECL 4116 __CRT_UUID_DECL(IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4117 #endif 4118 #else 4119 typedef struct IServerSecurityVtbl { 4120 BEGIN_INTERFACE 4121 4122 /*** IUnknown methods ***/ 4123 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4124 IServerSecurity *This, 4125 REFIID riid, 4126 void **ppvObject); 4127 4128 ULONG (STDMETHODCALLTYPE *AddRef)( 4129 IServerSecurity *This); 4130 4131 ULONG (STDMETHODCALLTYPE *Release)( 4132 IServerSecurity *This); 4133 4134 /*** IServerSecurity methods ***/ 4135 HRESULT (STDMETHODCALLTYPE *QueryBlanket)( 4136 IServerSecurity *This, 4137 DWORD *pAuthnSvc, 4138 DWORD *pAuthzSvc, 4139 OLECHAR **pServerPrincName, 4140 DWORD *pAuthnLevel, 4141 DWORD *pImpLevel, 4142 void **pPrivs, 4143 DWORD *pCapabilities); 4144 4145 HRESULT (STDMETHODCALLTYPE *ImpersonateClient)( 4146 IServerSecurity *This); 4147 4148 HRESULT (STDMETHODCALLTYPE *RevertToSelf)( 4149 IServerSecurity *This); 4150 4151 WINBOOL (STDMETHODCALLTYPE *IsImpersonating)( 4152 IServerSecurity *This); 4153 4154 END_INTERFACE 4155 } IServerSecurityVtbl; 4156 4157 interface IServerSecurity { 4158 CONST_VTBL IServerSecurityVtbl* lpVtbl; 4159 }; 4160 4161 #ifdef COBJMACROS 4162 #ifndef WIDL_C_INLINE_WRAPPERS 4163 /*** IUnknown methods ***/ 4164 #define IServerSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4165 #define IServerSecurity_AddRef(This) (This)->lpVtbl->AddRef(This) 4166 #define IServerSecurity_Release(This) (This)->lpVtbl->Release(This) 4167 /*** IServerSecurity methods ***/ 4168 #define IServerSecurity_QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities) (This)->lpVtbl->QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities) 4169 #define IServerSecurity_ImpersonateClient(This) (This)->lpVtbl->ImpersonateClient(This) 4170 #define IServerSecurity_RevertToSelf(This) (This)->lpVtbl->RevertToSelf(This) 4171 #define IServerSecurity_IsImpersonating(This) (This)->lpVtbl->IsImpersonating(This) 4172 #else 4173 /*** IUnknown methods ***/ 4174 static FORCEINLINE HRESULT IServerSecurity_QueryInterface(IServerSecurity* This,REFIID riid,void **ppvObject) { 4175 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4176 } 4177 static FORCEINLINE ULONG IServerSecurity_AddRef(IServerSecurity* This) { 4178 return This->lpVtbl->AddRef(This); 4179 } 4180 static FORCEINLINE ULONG IServerSecurity_Release(IServerSecurity* This) { 4181 return This->lpVtbl->Release(This); 4182 } 4183 /*** IServerSecurity methods ***/ 4184 static FORCEINLINE HRESULT IServerSecurity_QueryBlanket(IServerSecurity* This,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities) { 4185 return This->lpVtbl->QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities); 4186 } 4187 static FORCEINLINE HRESULT IServerSecurity_ImpersonateClient(IServerSecurity* This) { 4188 return This->lpVtbl->ImpersonateClient(This); 4189 } 4190 static FORCEINLINE HRESULT IServerSecurity_RevertToSelf(IServerSecurity* This) { 4191 return This->lpVtbl->RevertToSelf(This); 4192 } 4193 static FORCEINLINE WINBOOL IServerSecurity_IsImpersonating(IServerSecurity* This) { 4194 return This->lpVtbl->IsImpersonating(This); 4195 } 4196 #endif 4197 #endif 4198 4199 #endif 4200 4201 4202 #endif /* __IServerSecurity_INTERFACE_DEFINED__ */ 4203 4204 4205 typedef enum tagRPCOPT_PROPERTIES { 4206 COMBND_RPCTIMEOUT = 0x1, 4207 COMBND_SERVER_LOCALITY = 0x2, 4208 COMBND_RESERVED1 = 0x4 4209 } RPCOPT_PROPERTIES; 4210 4211 typedef enum tagRPCOPT_SERVER_LOCALITY_VALUES { 4212 SERVER_LOCALITY_PROCESS_LOCAL = 0, 4213 SERVER_LOCALITY_MACHINE_LOCAL = 1, 4214 SERVER_LOCALITY_REMOTE = 2 4215 } RPCOPT_SERVER_LOCALITY_VALUES; 4216 4217 /***************************************************************************** 4218 * IRpcOptions interface 4219 */ 4220 #ifndef __IRpcOptions_INTERFACE_DEFINED__ 4221 #define __IRpcOptions_INTERFACE_DEFINED__ 4222 4223 DEFINE_GUID(IID_IRpcOptions, 0x00000144, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4224 #if defined(__cplusplus) && !defined(CINTERFACE) 4225 MIDL_INTERFACE("00000144-0000-0000-c000-000000000046") 4226 IRpcOptions : public IUnknown 4227 { 4228 virtual HRESULT STDMETHODCALLTYPE Set( 4229 IUnknown *pPrx, 4230 RPCOPT_PROPERTIES dwProperty, 4231 ULONG_PTR dwValue) = 0; 4232 4233 virtual HRESULT STDMETHODCALLTYPE Query( 4234 IUnknown *pPrx, 4235 RPCOPT_PROPERTIES dwProperty, 4236 ULONG_PTR *pdwValue) = 0; 4237 4238 }; 4239 #ifdef __CRT_UUID_DECL 4240 __CRT_UUID_DECL(IRpcOptions, 0x00000144, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4241 #endif 4242 #else 4243 typedef struct IRpcOptionsVtbl { 4244 BEGIN_INTERFACE 4245 4246 /*** IUnknown methods ***/ 4247 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4248 IRpcOptions *This, 4249 REFIID riid, 4250 void **ppvObject); 4251 4252 ULONG (STDMETHODCALLTYPE *AddRef)( 4253 IRpcOptions *This); 4254 4255 ULONG (STDMETHODCALLTYPE *Release)( 4256 IRpcOptions *This); 4257 4258 /*** IRpcOptions methods ***/ 4259 HRESULT (STDMETHODCALLTYPE *Set)( 4260 IRpcOptions *This, 4261 IUnknown *pPrx, 4262 RPCOPT_PROPERTIES dwProperty, 4263 ULONG_PTR dwValue); 4264 4265 HRESULT (STDMETHODCALLTYPE *Query)( 4266 IRpcOptions *This, 4267 IUnknown *pPrx, 4268 RPCOPT_PROPERTIES dwProperty, 4269 ULONG_PTR *pdwValue); 4270 4271 END_INTERFACE 4272 } IRpcOptionsVtbl; 4273 4274 interface IRpcOptions { 4275 CONST_VTBL IRpcOptionsVtbl* lpVtbl; 4276 }; 4277 4278 #ifdef COBJMACROS 4279 #ifndef WIDL_C_INLINE_WRAPPERS 4280 /*** IUnknown methods ***/ 4281 #define IRpcOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4282 #define IRpcOptions_AddRef(This) (This)->lpVtbl->AddRef(This) 4283 #define IRpcOptions_Release(This) (This)->lpVtbl->Release(This) 4284 /*** IRpcOptions methods ***/ 4285 #define IRpcOptions_Set(This,pPrx,dwProperty,dwValue) (This)->lpVtbl->Set(This,pPrx,dwProperty,dwValue) 4286 #define IRpcOptions_Query(This,pPrx,dwProperty,pdwValue) (This)->lpVtbl->Query(This,pPrx,dwProperty,pdwValue) 4287 #else 4288 /*** IUnknown methods ***/ 4289 static FORCEINLINE HRESULT IRpcOptions_QueryInterface(IRpcOptions* This,REFIID riid,void **ppvObject) { 4290 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4291 } 4292 static FORCEINLINE ULONG IRpcOptions_AddRef(IRpcOptions* This) { 4293 return This->lpVtbl->AddRef(This); 4294 } 4295 static FORCEINLINE ULONG IRpcOptions_Release(IRpcOptions* This) { 4296 return This->lpVtbl->Release(This); 4297 } 4298 /*** IRpcOptions methods ***/ 4299 static FORCEINLINE HRESULT IRpcOptions_Set(IRpcOptions* This,IUnknown *pPrx,RPCOPT_PROPERTIES dwProperty,ULONG_PTR dwValue) { 4300 return This->lpVtbl->Set(This,pPrx,dwProperty,dwValue); 4301 } 4302 static FORCEINLINE HRESULT IRpcOptions_Query(IRpcOptions* This,IUnknown *pPrx,RPCOPT_PROPERTIES dwProperty,ULONG_PTR *pdwValue) { 4303 return This->lpVtbl->Query(This,pPrx,dwProperty,pdwValue); 4304 } 4305 #endif 4306 #endif 4307 4308 #endif 4309 4310 4311 #endif /* __IRpcOptions_INTERFACE_DEFINED__ */ 4312 4313 #endif 4314 4315 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 4316 typedef enum tagGLOBALOPT_PROPERTIES { 4317 COMGLB_EXCEPTION_HANDLING = 1, 4318 COMGLB_APPID = 2, 4319 COMGLB_RPC_THREADPOOL_SETTING = 3, 4320 COMGLB_RO_SETTINGS = 4, 4321 COMGLB_UNMARSHALING_POLICY = 5 4322 } GLOBALOPT_PROPERTIES; 4323 4324 typedef enum tagGLOBALOPT_EH_VALUES { 4325 COMGLB_EXCEPTION_HANDLE = 0, 4326 COMGLB_EXCEPTION_DONOT_HANDLE_FATAL = 1, 4327 COMGLB_EXCEPTION_DONOT_HANDLE = COMGLB_EXCEPTION_DONOT_HANDLE_FATAL, 4328 COMGLB_EXCEPTION_DONOT_HANDLE_ANY = 2 4329 } GLOBALOPT_EH_VALUES; 4330 4331 typedef enum tagGLOBALOPT_RPCTP_VALUES { 4332 COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0, 4333 COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1 4334 } GLOBALOPT_RPCTP_VALUES; 4335 4336 typedef enum tagGLOBALOPT_RO_FLAGS { 4337 COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES = 0x1, 4338 COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES = 0x2, 4339 COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES = 0x4, 4340 COMGLB_FAST_RUNDOWN = 0x8, 4341 COMGLB_RESERVED1 = 0x10, 4342 COMGLB_RESERVED2 = 0x20, 4343 COMGLB_RESERVED3 = 0x40, 4344 COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES = 0x80 4345 } GLOBALOPT_RO_FLAGS; 4346 4347 typedef enum tagGLOBALOPT_UNMARSHALING_POLICY_VALUES { 4348 COMGLB_UNMARSHALING_POLICY_NORMAL = 0, 4349 COMGLB_UNMARSHALING_POLICY_STRONG = 1, 4350 COMGLB_UNMARSHALING_POLICY_HYBRID = 2 4351 } GLOBALOPT_UNMARSHALING_POLICY_VALUES; 4352 4353 /***************************************************************************** 4354 * IGlobalOptions interface 4355 */ 4356 #ifndef __IGlobalOptions_INTERFACE_DEFINED__ 4357 #define __IGlobalOptions_INTERFACE_DEFINED__ 4358 4359 DEFINE_GUID(IID_IGlobalOptions, 0x0000015b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4360 #if defined(__cplusplus) && !defined(CINTERFACE) 4361 MIDL_INTERFACE("0000015b-0000-0000-c000-000000000046") 4362 IGlobalOptions : public IUnknown 4363 { 4364 virtual HRESULT STDMETHODCALLTYPE Set( 4365 GLOBALOPT_PROPERTIES dwProperty, 4366 ULONG_PTR dwValue) = 0; 4367 4368 virtual HRESULT STDMETHODCALLTYPE Query( 4369 GLOBALOPT_PROPERTIES dwProperty, 4370 ULONG_PTR *pdwValue) = 0; 4371 4372 }; 4373 #ifdef __CRT_UUID_DECL 4374 __CRT_UUID_DECL(IGlobalOptions, 0x0000015b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4375 #endif 4376 #else 4377 typedef struct IGlobalOptionsVtbl { 4378 BEGIN_INTERFACE 4379 4380 /*** IUnknown methods ***/ 4381 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4382 IGlobalOptions *This, 4383 REFIID riid, 4384 void **ppvObject); 4385 4386 ULONG (STDMETHODCALLTYPE *AddRef)( 4387 IGlobalOptions *This); 4388 4389 ULONG (STDMETHODCALLTYPE *Release)( 4390 IGlobalOptions *This); 4391 4392 /*** IGlobalOptions methods ***/ 4393 HRESULT (STDMETHODCALLTYPE *Set)( 4394 IGlobalOptions *This, 4395 GLOBALOPT_PROPERTIES dwProperty, 4396 ULONG_PTR dwValue); 4397 4398 HRESULT (STDMETHODCALLTYPE *Query)( 4399 IGlobalOptions *This, 4400 GLOBALOPT_PROPERTIES dwProperty, 4401 ULONG_PTR *pdwValue); 4402 4403 END_INTERFACE 4404 } IGlobalOptionsVtbl; 4405 4406 interface IGlobalOptions { 4407 CONST_VTBL IGlobalOptionsVtbl* lpVtbl; 4408 }; 4409 4410 #ifdef COBJMACROS 4411 #ifndef WIDL_C_INLINE_WRAPPERS 4412 /*** IUnknown methods ***/ 4413 #define IGlobalOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4414 #define IGlobalOptions_AddRef(This) (This)->lpVtbl->AddRef(This) 4415 #define IGlobalOptions_Release(This) (This)->lpVtbl->Release(This) 4416 /*** IGlobalOptions methods ***/ 4417 #define IGlobalOptions_Set(This,dwProperty,dwValue) (This)->lpVtbl->Set(This,dwProperty,dwValue) 4418 #define IGlobalOptions_Query(This,dwProperty,pdwValue) (This)->lpVtbl->Query(This,dwProperty,pdwValue) 4419 #else 4420 /*** IUnknown methods ***/ 4421 static FORCEINLINE HRESULT IGlobalOptions_QueryInterface(IGlobalOptions* This,REFIID riid,void **ppvObject) { 4422 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4423 } 4424 static FORCEINLINE ULONG IGlobalOptions_AddRef(IGlobalOptions* This) { 4425 return This->lpVtbl->AddRef(This); 4426 } 4427 static FORCEINLINE ULONG IGlobalOptions_Release(IGlobalOptions* This) { 4428 return This->lpVtbl->Release(This); 4429 } 4430 /*** IGlobalOptions methods ***/ 4431 static FORCEINLINE HRESULT IGlobalOptions_Set(IGlobalOptions* This,GLOBALOPT_PROPERTIES dwProperty,ULONG_PTR dwValue) { 4432 return This->lpVtbl->Set(This,dwProperty,dwValue); 4433 } 4434 static FORCEINLINE HRESULT IGlobalOptions_Query(IGlobalOptions* This,GLOBALOPT_PROPERTIES dwProperty,ULONG_PTR *pdwValue) { 4435 return This->lpVtbl->Query(This,dwProperty,pdwValue); 4436 } 4437 #endif 4438 #endif 4439 4440 #endif 4441 4442 4443 #endif /* __IGlobalOptions_INTERFACE_DEFINED__ */ 4444 4445 #endif 4446 #endif 4447 4448 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 4449 /***************************************************************************** 4450 * ISurrogate interface 4451 */ 4452 #ifndef __ISurrogate_INTERFACE_DEFINED__ 4453 #define __ISurrogate_INTERFACE_DEFINED__ 4454 4455 typedef ISurrogate *LPSURROGATE; 4456 4457 DEFINE_GUID(IID_ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4458 #if defined(__cplusplus) && !defined(CINTERFACE) 4459 MIDL_INTERFACE("00000022-0000-0000-c000-000000000046") 4460 ISurrogate : public IUnknown 4461 { 4462 virtual HRESULT STDMETHODCALLTYPE LoadDllServer( 4463 REFCLSID Clsid) = 0; 4464 4465 virtual HRESULT STDMETHODCALLTYPE FreeSurrogate( 4466 ) = 0; 4467 4468 }; 4469 #ifdef __CRT_UUID_DECL 4470 __CRT_UUID_DECL(ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4471 #endif 4472 #else 4473 typedef struct ISurrogateVtbl { 4474 BEGIN_INTERFACE 4475 4476 /*** IUnknown methods ***/ 4477 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4478 ISurrogate *This, 4479 REFIID riid, 4480 void **ppvObject); 4481 4482 ULONG (STDMETHODCALLTYPE *AddRef)( 4483 ISurrogate *This); 4484 4485 ULONG (STDMETHODCALLTYPE *Release)( 4486 ISurrogate *This); 4487 4488 /*** ISurrogate methods ***/ 4489 HRESULT (STDMETHODCALLTYPE *LoadDllServer)( 4490 ISurrogate *This, 4491 REFCLSID Clsid); 4492 4493 HRESULT (STDMETHODCALLTYPE *FreeSurrogate)( 4494 ISurrogate *This); 4495 4496 END_INTERFACE 4497 } ISurrogateVtbl; 4498 4499 interface ISurrogate { 4500 CONST_VTBL ISurrogateVtbl* lpVtbl; 4501 }; 4502 4503 #ifdef COBJMACROS 4504 #ifndef WIDL_C_INLINE_WRAPPERS 4505 /*** IUnknown methods ***/ 4506 #define ISurrogate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4507 #define ISurrogate_AddRef(This) (This)->lpVtbl->AddRef(This) 4508 #define ISurrogate_Release(This) (This)->lpVtbl->Release(This) 4509 /*** ISurrogate methods ***/ 4510 #define ISurrogate_LoadDllServer(This,Clsid) (This)->lpVtbl->LoadDllServer(This,Clsid) 4511 #define ISurrogate_FreeSurrogate(This) (This)->lpVtbl->FreeSurrogate(This) 4512 #else 4513 /*** IUnknown methods ***/ 4514 static FORCEINLINE HRESULT ISurrogate_QueryInterface(ISurrogate* This,REFIID riid,void **ppvObject) { 4515 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4516 } 4517 static FORCEINLINE ULONG ISurrogate_AddRef(ISurrogate* This) { 4518 return This->lpVtbl->AddRef(This); 4519 } 4520 static FORCEINLINE ULONG ISurrogate_Release(ISurrogate* This) { 4521 return This->lpVtbl->Release(This); 4522 } 4523 /*** ISurrogate methods ***/ 4524 static FORCEINLINE HRESULT ISurrogate_LoadDllServer(ISurrogate* This,REFCLSID Clsid) { 4525 return This->lpVtbl->LoadDllServer(This,Clsid); 4526 } 4527 static FORCEINLINE HRESULT ISurrogate_FreeSurrogate(ISurrogate* This) { 4528 return This->lpVtbl->FreeSurrogate(This); 4529 } 4530 #endif 4531 #endif 4532 4533 #endif 4534 4535 4536 #endif /* __ISurrogate_INTERFACE_DEFINED__ */ 4537 4538 4539 /***************************************************************************** 4540 * IGlobalInterfaceTable interface 4541 */ 4542 #ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__ 4543 #define __IGlobalInterfaceTable_INTERFACE_DEFINED__ 4544 4545 typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE; 4546 4547 DEFINE_GUID(IID_IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4548 #if defined(__cplusplus) && !defined(CINTERFACE) 4549 MIDL_INTERFACE("00000146-0000-0000-c000-000000000046") 4550 IGlobalInterfaceTable : public IUnknown 4551 { 4552 virtual HRESULT STDMETHODCALLTYPE RegisterInterfaceInGlobal( 4553 IUnknown *pUnk, 4554 REFIID riid, 4555 DWORD *pdwCookie) = 0; 4556 4557 virtual HRESULT STDMETHODCALLTYPE RevokeInterfaceFromGlobal( 4558 DWORD dwCookie) = 0; 4559 4560 virtual HRESULT STDMETHODCALLTYPE GetInterfaceFromGlobal( 4561 DWORD dwCookie, 4562 REFIID riid, 4563 void **ppv) = 0; 4564 4565 }; 4566 #ifdef __CRT_UUID_DECL 4567 __CRT_UUID_DECL(IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4568 #endif 4569 #else 4570 typedef struct IGlobalInterfaceTableVtbl { 4571 BEGIN_INTERFACE 4572 4573 /*** IUnknown methods ***/ 4574 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4575 IGlobalInterfaceTable *This, 4576 REFIID riid, 4577 void **ppvObject); 4578 4579 ULONG (STDMETHODCALLTYPE *AddRef)( 4580 IGlobalInterfaceTable *This); 4581 4582 ULONG (STDMETHODCALLTYPE *Release)( 4583 IGlobalInterfaceTable *This); 4584 4585 /*** IGlobalInterfaceTable methods ***/ 4586 HRESULT (STDMETHODCALLTYPE *RegisterInterfaceInGlobal)( 4587 IGlobalInterfaceTable *This, 4588 IUnknown *pUnk, 4589 REFIID riid, 4590 DWORD *pdwCookie); 4591 4592 HRESULT (STDMETHODCALLTYPE *RevokeInterfaceFromGlobal)( 4593 IGlobalInterfaceTable *This, 4594 DWORD dwCookie); 4595 4596 HRESULT (STDMETHODCALLTYPE *GetInterfaceFromGlobal)( 4597 IGlobalInterfaceTable *This, 4598 DWORD dwCookie, 4599 REFIID riid, 4600 void **ppv); 4601 4602 END_INTERFACE 4603 } IGlobalInterfaceTableVtbl; 4604 4605 interface IGlobalInterfaceTable { 4606 CONST_VTBL IGlobalInterfaceTableVtbl* lpVtbl; 4607 }; 4608 4609 #ifdef COBJMACROS 4610 #ifndef WIDL_C_INLINE_WRAPPERS 4611 /*** IUnknown methods ***/ 4612 #define IGlobalInterfaceTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4613 #define IGlobalInterfaceTable_AddRef(This) (This)->lpVtbl->AddRef(This) 4614 #define IGlobalInterfaceTable_Release(This) (This)->lpVtbl->Release(This) 4615 /*** IGlobalInterfaceTable methods ***/ 4616 #define IGlobalInterfaceTable_RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie) (This)->lpVtbl->RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie) 4617 #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(This,dwCookie) (This)->lpVtbl->RevokeInterfaceFromGlobal(This,dwCookie) 4618 #define IGlobalInterfaceTable_GetInterfaceFromGlobal(This,dwCookie,riid,ppv) (This)->lpVtbl->GetInterfaceFromGlobal(This,dwCookie,riid,ppv) 4619 #else 4620 /*** IUnknown methods ***/ 4621 static FORCEINLINE HRESULT IGlobalInterfaceTable_QueryInterface(IGlobalInterfaceTable* This,REFIID riid,void **ppvObject) { 4622 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4623 } 4624 static FORCEINLINE ULONG IGlobalInterfaceTable_AddRef(IGlobalInterfaceTable* This) { 4625 return This->lpVtbl->AddRef(This); 4626 } 4627 static FORCEINLINE ULONG IGlobalInterfaceTable_Release(IGlobalInterfaceTable* This) { 4628 return This->lpVtbl->Release(This); 4629 } 4630 /*** IGlobalInterfaceTable methods ***/ 4631 static FORCEINLINE HRESULT IGlobalInterfaceTable_RegisterInterfaceInGlobal(IGlobalInterfaceTable* This,IUnknown *pUnk,REFIID riid,DWORD *pdwCookie) { 4632 return This->lpVtbl->RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie); 4633 } 4634 static FORCEINLINE HRESULT IGlobalInterfaceTable_RevokeInterfaceFromGlobal(IGlobalInterfaceTable* This,DWORD dwCookie) { 4635 return This->lpVtbl->RevokeInterfaceFromGlobal(This,dwCookie); 4636 } 4637 static FORCEINLINE HRESULT IGlobalInterfaceTable_GetInterfaceFromGlobal(IGlobalInterfaceTable* This,DWORD dwCookie,REFIID riid,void **ppv) { 4638 return This->lpVtbl->GetInterfaceFromGlobal(This,dwCookie,riid,ppv); 4639 } 4640 #endif 4641 #endif 4642 4643 #endif 4644 4645 4646 #endif /* __IGlobalInterfaceTable_INTERFACE_DEFINED__ */ 4647 4648 #endif 4649 4650 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 4651 /***************************************************************************** 4652 * ISynchronize interface 4653 */ 4654 #ifndef __ISynchronize_INTERFACE_DEFINED__ 4655 #define __ISynchronize_INTERFACE_DEFINED__ 4656 4657 DEFINE_GUID(IID_ISynchronize, 0x00000030, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4658 #if defined(__cplusplus) && !defined(CINTERFACE) 4659 MIDL_INTERFACE("00000030-0000-0000-c000-000000000046") 4660 ISynchronize : public IUnknown 4661 { 4662 virtual HRESULT STDMETHODCALLTYPE Wait( 4663 DWORD dwFlags, 4664 DWORD dwMilliseconds) = 0; 4665 4666 virtual HRESULT STDMETHODCALLTYPE Signal( 4667 ) = 0; 4668 4669 virtual HRESULT STDMETHODCALLTYPE Reset( 4670 ) = 0; 4671 4672 }; 4673 #ifdef __CRT_UUID_DECL 4674 __CRT_UUID_DECL(ISynchronize, 0x00000030, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4675 #endif 4676 #else 4677 typedef struct ISynchronizeVtbl { 4678 BEGIN_INTERFACE 4679 4680 /*** IUnknown methods ***/ 4681 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4682 ISynchronize *This, 4683 REFIID riid, 4684 void **ppvObject); 4685 4686 ULONG (STDMETHODCALLTYPE *AddRef)( 4687 ISynchronize *This); 4688 4689 ULONG (STDMETHODCALLTYPE *Release)( 4690 ISynchronize *This); 4691 4692 /*** ISynchronize methods ***/ 4693 HRESULT (STDMETHODCALLTYPE *Wait)( 4694 ISynchronize *This, 4695 DWORD dwFlags, 4696 DWORD dwMilliseconds); 4697 4698 HRESULT (STDMETHODCALLTYPE *Signal)( 4699 ISynchronize *This); 4700 4701 HRESULT (STDMETHODCALLTYPE *Reset)( 4702 ISynchronize *This); 4703 4704 END_INTERFACE 4705 } ISynchronizeVtbl; 4706 4707 interface ISynchronize { 4708 CONST_VTBL ISynchronizeVtbl* lpVtbl; 4709 }; 4710 4711 #ifdef COBJMACROS 4712 #ifndef WIDL_C_INLINE_WRAPPERS 4713 /*** IUnknown methods ***/ 4714 #define ISynchronize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4715 #define ISynchronize_AddRef(This) (This)->lpVtbl->AddRef(This) 4716 #define ISynchronize_Release(This) (This)->lpVtbl->Release(This) 4717 /*** ISynchronize methods ***/ 4718 #define ISynchronize_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds) 4719 #define ISynchronize_Signal(This) (This)->lpVtbl->Signal(This) 4720 #define ISynchronize_Reset(This) (This)->lpVtbl->Reset(This) 4721 #else 4722 /*** IUnknown methods ***/ 4723 static FORCEINLINE HRESULT ISynchronize_QueryInterface(ISynchronize* This,REFIID riid,void **ppvObject) { 4724 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4725 } 4726 static FORCEINLINE ULONG ISynchronize_AddRef(ISynchronize* This) { 4727 return This->lpVtbl->AddRef(This); 4728 } 4729 static FORCEINLINE ULONG ISynchronize_Release(ISynchronize* This) { 4730 return This->lpVtbl->Release(This); 4731 } 4732 /*** ISynchronize methods ***/ 4733 static FORCEINLINE HRESULT ISynchronize_Wait(ISynchronize* This,DWORD dwFlags,DWORD dwMilliseconds) { 4734 return This->lpVtbl->Wait(This,dwFlags,dwMilliseconds); 4735 } 4736 static FORCEINLINE HRESULT ISynchronize_Signal(ISynchronize* This) { 4737 return This->lpVtbl->Signal(This); 4738 } 4739 static FORCEINLINE HRESULT ISynchronize_Reset(ISynchronize* This) { 4740 return This->lpVtbl->Reset(This); 4741 } 4742 #endif 4743 #endif 4744 4745 #endif 4746 4747 4748 #endif /* __ISynchronize_INTERFACE_DEFINED__ */ 4749 4750 4751 /***************************************************************************** 4752 * ISynchronizeHandle interface 4753 */ 4754 #ifndef __ISynchronizeHandle_INTERFACE_DEFINED__ 4755 #define __ISynchronizeHandle_INTERFACE_DEFINED__ 4756 4757 DEFINE_GUID(IID_ISynchronizeHandle, 0x00000031, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4758 #if defined(__cplusplus) && !defined(CINTERFACE) 4759 MIDL_INTERFACE("00000031-0000-0000-c000-000000000046") 4760 ISynchronizeHandle : public IUnknown 4761 { 4762 virtual HRESULT STDMETHODCALLTYPE GetHandle( 4763 HANDLE *ph) = 0; 4764 4765 }; 4766 #ifdef __CRT_UUID_DECL 4767 __CRT_UUID_DECL(ISynchronizeHandle, 0x00000031, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4768 #endif 4769 #else 4770 typedef struct ISynchronizeHandleVtbl { 4771 BEGIN_INTERFACE 4772 4773 /*** IUnknown methods ***/ 4774 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4775 ISynchronizeHandle *This, 4776 REFIID riid, 4777 void **ppvObject); 4778 4779 ULONG (STDMETHODCALLTYPE *AddRef)( 4780 ISynchronizeHandle *This); 4781 4782 ULONG (STDMETHODCALLTYPE *Release)( 4783 ISynchronizeHandle *This); 4784 4785 /*** ISynchronizeHandle methods ***/ 4786 HRESULT (STDMETHODCALLTYPE *GetHandle)( 4787 ISynchronizeHandle *This, 4788 HANDLE *ph); 4789 4790 END_INTERFACE 4791 } ISynchronizeHandleVtbl; 4792 4793 interface ISynchronizeHandle { 4794 CONST_VTBL ISynchronizeHandleVtbl* lpVtbl; 4795 }; 4796 4797 #ifdef COBJMACROS 4798 #ifndef WIDL_C_INLINE_WRAPPERS 4799 /*** IUnknown methods ***/ 4800 #define ISynchronizeHandle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4801 #define ISynchronizeHandle_AddRef(This) (This)->lpVtbl->AddRef(This) 4802 #define ISynchronizeHandle_Release(This) (This)->lpVtbl->Release(This) 4803 /*** ISynchronizeHandle methods ***/ 4804 #define ISynchronizeHandle_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph) 4805 #else 4806 /*** IUnknown methods ***/ 4807 static FORCEINLINE HRESULT ISynchronizeHandle_QueryInterface(ISynchronizeHandle* This,REFIID riid,void **ppvObject) { 4808 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4809 } 4810 static FORCEINLINE ULONG ISynchronizeHandle_AddRef(ISynchronizeHandle* This) { 4811 return This->lpVtbl->AddRef(This); 4812 } 4813 static FORCEINLINE ULONG ISynchronizeHandle_Release(ISynchronizeHandle* This) { 4814 return This->lpVtbl->Release(This); 4815 } 4816 /*** ISynchronizeHandle methods ***/ 4817 static FORCEINLINE HRESULT ISynchronizeHandle_GetHandle(ISynchronizeHandle* This,HANDLE *ph) { 4818 return This->lpVtbl->GetHandle(This,ph); 4819 } 4820 #endif 4821 #endif 4822 4823 #endif 4824 4825 4826 #endif /* __ISynchronizeHandle_INTERFACE_DEFINED__ */ 4827 4828 4829 /***************************************************************************** 4830 * ISynchronizeEvent interface 4831 */ 4832 #ifndef __ISynchronizeEvent_INTERFACE_DEFINED__ 4833 #define __ISynchronizeEvent_INTERFACE_DEFINED__ 4834 4835 DEFINE_GUID(IID_ISynchronizeEvent, 0x00000032, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4836 #if defined(__cplusplus) && !defined(CINTERFACE) 4837 MIDL_INTERFACE("00000032-0000-0000-c000-000000000046") 4838 ISynchronizeEvent : public ISynchronizeHandle 4839 { 4840 virtual HRESULT STDMETHODCALLTYPE SetEventHandle( 4841 HANDLE *ph) = 0; 4842 4843 }; 4844 #ifdef __CRT_UUID_DECL 4845 __CRT_UUID_DECL(ISynchronizeEvent, 0x00000032, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4846 #endif 4847 #else 4848 typedef struct ISynchronizeEventVtbl { 4849 BEGIN_INTERFACE 4850 4851 /*** IUnknown methods ***/ 4852 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4853 ISynchronizeEvent *This, 4854 REFIID riid, 4855 void **ppvObject); 4856 4857 ULONG (STDMETHODCALLTYPE *AddRef)( 4858 ISynchronizeEvent *This); 4859 4860 ULONG (STDMETHODCALLTYPE *Release)( 4861 ISynchronizeEvent *This); 4862 4863 /*** ISynchronizeHandle methods ***/ 4864 HRESULT (STDMETHODCALLTYPE *GetHandle)( 4865 ISynchronizeEvent *This, 4866 HANDLE *ph); 4867 4868 /*** ISynchronizeEvent methods ***/ 4869 HRESULT (STDMETHODCALLTYPE *SetEventHandle)( 4870 ISynchronizeEvent *This, 4871 HANDLE *ph); 4872 4873 END_INTERFACE 4874 } ISynchronizeEventVtbl; 4875 4876 interface ISynchronizeEvent { 4877 CONST_VTBL ISynchronizeEventVtbl* lpVtbl; 4878 }; 4879 4880 #ifdef COBJMACROS 4881 #ifndef WIDL_C_INLINE_WRAPPERS 4882 /*** IUnknown methods ***/ 4883 #define ISynchronizeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4884 #define ISynchronizeEvent_AddRef(This) (This)->lpVtbl->AddRef(This) 4885 #define ISynchronizeEvent_Release(This) (This)->lpVtbl->Release(This) 4886 /*** ISynchronizeHandle methods ***/ 4887 #define ISynchronizeEvent_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph) 4888 /*** ISynchronizeEvent methods ***/ 4889 #define ISynchronizeEvent_SetEventHandle(This,ph) (This)->lpVtbl->SetEventHandle(This,ph) 4890 #else 4891 /*** IUnknown methods ***/ 4892 static FORCEINLINE HRESULT ISynchronizeEvent_QueryInterface(ISynchronizeEvent* This,REFIID riid,void **ppvObject) { 4893 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4894 } 4895 static FORCEINLINE ULONG ISynchronizeEvent_AddRef(ISynchronizeEvent* This) { 4896 return This->lpVtbl->AddRef(This); 4897 } 4898 static FORCEINLINE ULONG ISynchronizeEvent_Release(ISynchronizeEvent* This) { 4899 return This->lpVtbl->Release(This); 4900 } 4901 /*** ISynchronizeHandle methods ***/ 4902 static FORCEINLINE HRESULT ISynchronizeEvent_GetHandle(ISynchronizeEvent* This,HANDLE *ph) { 4903 return This->lpVtbl->GetHandle(This,ph); 4904 } 4905 /*** ISynchronizeEvent methods ***/ 4906 static FORCEINLINE HRESULT ISynchronizeEvent_SetEventHandle(ISynchronizeEvent* This,HANDLE *ph) { 4907 return This->lpVtbl->SetEventHandle(This,ph); 4908 } 4909 #endif 4910 #endif 4911 4912 #endif 4913 4914 4915 #endif /* __ISynchronizeEvent_INTERFACE_DEFINED__ */ 4916 4917 4918 /***************************************************************************** 4919 * ISynchronizeContainer interface 4920 */ 4921 #ifndef __ISynchronizeContainer_INTERFACE_DEFINED__ 4922 #define __ISynchronizeContainer_INTERFACE_DEFINED__ 4923 4924 DEFINE_GUID(IID_ISynchronizeContainer, 0x00000033, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4925 #if defined(__cplusplus) && !defined(CINTERFACE) 4926 MIDL_INTERFACE("00000033-0000-0000-c000-000000000046") 4927 ISynchronizeContainer : public IUnknown 4928 { 4929 virtual HRESULT STDMETHODCALLTYPE AddSynchronize( 4930 ISynchronize *pSync) = 0; 4931 4932 virtual HRESULT STDMETHODCALLTYPE WaitMultiple( 4933 DWORD dwFlags, 4934 DWORD dwTimeOut, 4935 ISynchronize **ppSync) = 0; 4936 4937 }; 4938 #ifdef __CRT_UUID_DECL 4939 __CRT_UUID_DECL(ISynchronizeContainer, 0x00000033, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4940 #endif 4941 #else 4942 typedef struct ISynchronizeContainerVtbl { 4943 BEGIN_INTERFACE 4944 4945 /*** IUnknown methods ***/ 4946 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4947 ISynchronizeContainer *This, 4948 REFIID riid, 4949 void **ppvObject); 4950 4951 ULONG (STDMETHODCALLTYPE *AddRef)( 4952 ISynchronizeContainer *This); 4953 4954 ULONG (STDMETHODCALLTYPE *Release)( 4955 ISynchronizeContainer *This); 4956 4957 /*** ISynchronizeContainer methods ***/ 4958 HRESULT (STDMETHODCALLTYPE *AddSynchronize)( 4959 ISynchronizeContainer *This, 4960 ISynchronize *pSync); 4961 4962 HRESULT (STDMETHODCALLTYPE *WaitMultiple)( 4963 ISynchronizeContainer *This, 4964 DWORD dwFlags, 4965 DWORD dwTimeOut, 4966 ISynchronize **ppSync); 4967 4968 END_INTERFACE 4969 } ISynchronizeContainerVtbl; 4970 4971 interface ISynchronizeContainer { 4972 CONST_VTBL ISynchronizeContainerVtbl* lpVtbl; 4973 }; 4974 4975 #ifdef COBJMACROS 4976 #ifndef WIDL_C_INLINE_WRAPPERS 4977 /*** IUnknown methods ***/ 4978 #define ISynchronizeContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4979 #define ISynchronizeContainer_AddRef(This) (This)->lpVtbl->AddRef(This) 4980 #define ISynchronizeContainer_Release(This) (This)->lpVtbl->Release(This) 4981 /*** ISynchronizeContainer methods ***/ 4982 #define ISynchronizeContainer_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync) 4983 #define ISynchronizeContainer_WaitMultiple(This,dwFlags,dwTimeOut,ppSync) (This)->lpVtbl->WaitMultiple(This,dwFlags,dwTimeOut,ppSync) 4984 #else 4985 /*** IUnknown methods ***/ 4986 static FORCEINLINE HRESULT ISynchronizeContainer_QueryInterface(ISynchronizeContainer* This,REFIID riid,void **ppvObject) { 4987 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4988 } 4989 static FORCEINLINE ULONG ISynchronizeContainer_AddRef(ISynchronizeContainer* This) { 4990 return This->lpVtbl->AddRef(This); 4991 } 4992 static FORCEINLINE ULONG ISynchronizeContainer_Release(ISynchronizeContainer* This) { 4993 return This->lpVtbl->Release(This); 4994 } 4995 /*** ISynchronizeContainer methods ***/ 4996 static FORCEINLINE HRESULT ISynchronizeContainer_AddSynchronize(ISynchronizeContainer* This,ISynchronize *pSync) { 4997 return This->lpVtbl->AddSynchronize(This,pSync); 4998 } 4999 static FORCEINLINE HRESULT ISynchronizeContainer_WaitMultiple(ISynchronizeContainer* This,DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync) { 5000 return This->lpVtbl->WaitMultiple(This,dwFlags,dwTimeOut,ppSync); 5001 } 5002 #endif 5003 #endif 5004 5005 #endif 5006 5007 5008 #endif /* __ISynchronizeContainer_INTERFACE_DEFINED__ */ 5009 5010 5011 /***************************************************************************** 5012 * ISynchronizeMutex interface 5013 */ 5014 #ifndef __ISynchronizeMutex_INTERFACE_DEFINED__ 5015 #define __ISynchronizeMutex_INTERFACE_DEFINED__ 5016 5017 DEFINE_GUID(IID_ISynchronizeMutex, 0x00000025, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5018 #if defined(__cplusplus) && !defined(CINTERFACE) 5019 MIDL_INTERFACE("00000025-0000-0000-c000-000000000046") 5020 ISynchronizeMutex : public ISynchronize 5021 { 5022 virtual HRESULT STDMETHODCALLTYPE ReleaseMutex( 5023 ) = 0; 5024 5025 }; 5026 #ifdef __CRT_UUID_DECL 5027 __CRT_UUID_DECL(ISynchronizeMutex, 0x00000025, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5028 #endif 5029 #else 5030 typedef struct ISynchronizeMutexVtbl { 5031 BEGIN_INTERFACE 5032 5033 /*** IUnknown methods ***/ 5034 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5035 ISynchronizeMutex *This, 5036 REFIID riid, 5037 void **ppvObject); 5038 5039 ULONG (STDMETHODCALLTYPE *AddRef)( 5040 ISynchronizeMutex *This); 5041 5042 ULONG (STDMETHODCALLTYPE *Release)( 5043 ISynchronizeMutex *This); 5044 5045 /*** ISynchronize methods ***/ 5046 HRESULT (STDMETHODCALLTYPE *Wait)( 5047 ISynchronizeMutex *This, 5048 DWORD dwFlags, 5049 DWORD dwMilliseconds); 5050 5051 HRESULT (STDMETHODCALLTYPE *Signal)( 5052 ISynchronizeMutex *This); 5053 5054 HRESULT (STDMETHODCALLTYPE *Reset)( 5055 ISynchronizeMutex *This); 5056 5057 /*** ISynchronizeMutex methods ***/ 5058 HRESULT (STDMETHODCALLTYPE *ReleaseMutex)( 5059 ISynchronizeMutex *This); 5060 5061 END_INTERFACE 5062 } ISynchronizeMutexVtbl; 5063 5064 interface ISynchronizeMutex { 5065 CONST_VTBL ISynchronizeMutexVtbl* lpVtbl; 5066 }; 5067 5068 #ifdef COBJMACROS 5069 #ifndef WIDL_C_INLINE_WRAPPERS 5070 /*** IUnknown methods ***/ 5071 #define ISynchronizeMutex_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5072 #define ISynchronizeMutex_AddRef(This) (This)->lpVtbl->AddRef(This) 5073 #define ISynchronizeMutex_Release(This) (This)->lpVtbl->Release(This) 5074 /*** ISynchronize methods ***/ 5075 #define ISynchronizeMutex_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds) 5076 #define ISynchronizeMutex_Signal(This) (This)->lpVtbl->Signal(This) 5077 #define ISynchronizeMutex_Reset(This) (This)->lpVtbl->Reset(This) 5078 /*** ISynchronizeMutex methods ***/ 5079 #define ISynchronizeMutex_ReleaseMutex(This) (This)->lpVtbl->ReleaseMutex(This) 5080 #else 5081 /*** IUnknown methods ***/ 5082 static FORCEINLINE HRESULT ISynchronizeMutex_QueryInterface(ISynchronizeMutex* This,REFIID riid,void **ppvObject) { 5083 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5084 } 5085 static FORCEINLINE ULONG ISynchronizeMutex_AddRef(ISynchronizeMutex* This) { 5086 return This->lpVtbl->AddRef(This); 5087 } 5088 static FORCEINLINE ULONG ISynchronizeMutex_Release(ISynchronizeMutex* This) { 5089 return This->lpVtbl->Release(This); 5090 } 5091 /*** ISynchronize methods ***/ 5092 static FORCEINLINE HRESULT ISynchronizeMutex_Wait(ISynchronizeMutex* This,DWORD dwFlags,DWORD dwMilliseconds) { 5093 return This->lpVtbl->Wait(This,dwFlags,dwMilliseconds); 5094 } 5095 static FORCEINLINE HRESULT ISynchronizeMutex_Signal(ISynchronizeMutex* This) { 5096 return This->lpVtbl->Signal(This); 5097 } 5098 static FORCEINLINE HRESULT ISynchronizeMutex_Reset(ISynchronizeMutex* This) { 5099 return This->lpVtbl->Reset(This); 5100 } 5101 /*** ISynchronizeMutex methods ***/ 5102 static FORCEINLINE HRESULT ISynchronizeMutex_ReleaseMutex(ISynchronizeMutex* This) { 5103 return This->lpVtbl->ReleaseMutex(This); 5104 } 5105 #endif 5106 #endif 5107 5108 #endif 5109 5110 5111 #endif /* __ISynchronizeMutex_INTERFACE_DEFINED__ */ 5112 5113 5114 /***************************************************************************** 5115 * ICancelMethodCalls interface 5116 */ 5117 #ifndef __ICancelMethodCalls_INTERFACE_DEFINED__ 5118 #define __ICancelMethodCalls_INTERFACE_DEFINED__ 5119 5120 typedef ICancelMethodCalls *LPCANCELMETHODCALLS; 5121 5122 DEFINE_GUID(IID_ICancelMethodCalls, 0x00000029, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5123 #if defined(__cplusplus) && !defined(CINTERFACE) 5124 MIDL_INTERFACE("00000029-0000-0000-c000-000000000046") 5125 ICancelMethodCalls : public IUnknown 5126 { 5127 virtual HRESULT STDMETHODCALLTYPE Cancel( 5128 ULONG ulSeconds) = 0; 5129 5130 virtual HRESULT STDMETHODCALLTYPE TestCancel( 5131 ) = 0; 5132 5133 }; 5134 #ifdef __CRT_UUID_DECL 5135 __CRT_UUID_DECL(ICancelMethodCalls, 0x00000029, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5136 #endif 5137 #else 5138 typedef struct ICancelMethodCallsVtbl { 5139 BEGIN_INTERFACE 5140 5141 /*** IUnknown methods ***/ 5142 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5143 ICancelMethodCalls *This, 5144 REFIID riid, 5145 void **ppvObject); 5146 5147 ULONG (STDMETHODCALLTYPE *AddRef)( 5148 ICancelMethodCalls *This); 5149 5150 ULONG (STDMETHODCALLTYPE *Release)( 5151 ICancelMethodCalls *This); 5152 5153 /*** ICancelMethodCalls methods ***/ 5154 HRESULT (STDMETHODCALLTYPE *Cancel)( 5155 ICancelMethodCalls *This, 5156 ULONG ulSeconds); 5157 5158 HRESULT (STDMETHODCALLTYPE *TestCancel)( 5159 ICancelMethodCalls *This); 5160 5161 END_INTERFACE 5162 } ICancelMethodCallsVtbl; 5163 5164 interface ICancelMethodCalls { 5165 CONST_VTBL ICancelMethodCallsVtbl* lpVtbl; 5166 }; 5167 5168 #ifdef COBJMACROS 5169 #ifndef WIDL_C_INLINE_WRAPPERS 5170 /*** IUnknown methods ***/ 5171 #define ICancelMethodCalls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5172 #define ICancelMethodCalls_AddRef(This) (This)->lpVtbl->AddRef(This) 5173 #define ICancelMethodCalls_Release(This) (This)->lpVtbl->Release(This) 5174 /*** ICancelMethodCalls methods ***/ 5175 #define ICancelMethodCalls_Cancel(This,ulSeconds) (This)->lpVtbl->Cancel(This,ulSeconds) 5176 #define ICancelMethodCalls_TestCancel(This) (This)->lpVtbl->TestCancel(This) 5177 #else 5178 /*** IUnknown methods ***/ 5179 static FORCEINLINE HRESULT ICancelMethodCalls_QueryInterface(ICancelMethodCalls* This,REFIID riid,void **ppvObject) { 5180 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5181 } 5182 static FORCEINLINE ULONG ICancelMethodCalls_AddRef(ICancelMethodCalls* This) { 5183 return This->lpVtbl->AddRef(This); 5184 } 5185 static FORCEINLINE ULONG ICancelMethodCalls_Release(ICancelMethodCalls* This) { 5186 return This->lpVtbl->Release(This); 5187 } 5188 /*** ICancelMethodCalls methods ***/ 5189 static FORCEINLINE HRESULT ICancelMethodCalls_Cancel(ICancelMethodCalls* This,ULONG ulSeconds) { 5190 return This->lpVtbl->Cancel(This,ulSeconds); 5191 } 5192 static FORCEINLINE HRESULT ICancelMethodCalls_TestCancel(ICancelMethodCalls* This) { 5193 return This->lpVtbl->TestCancel(This); 5194 } 5195 #endif 5196 #endif 5197 5198 #endif 5199 5200 5201 #endif /* __ICancelMethodCalls_INTERFACE_DEFINED__ */ 5202 5203 5204 /***************************************************************************** 5205 * IAsyncManager interface 5206 */ 5207 #ifndef __IAsyncManager_INTERFACE_DEFINED__ 5208 #define __IAsyncManager_INTERFACE_DEFINED__ 5209 5210 typedef enum tagDCOM_CALL_STATE { 5211 DCOM_NONE = 0x0, 5212 DCOM_CALL_COMPLETE = 0x1, 5213 DCOM_CALL_CANCELED = 0x2 5214 } DCOM_CALL_STATE; 5215 5216 DEFINE_GUID(IID_IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5217 #if defined(__cplusplus) && !defined(CINTERFACE) 5218 MIDL_INTERFACE("0000002a-0000-0000-c000-000000000046") 5219 IAsyncManager : public IUnknown 5220 { 5221 virtual HRESULT STDMETHODCALLTYPE CompleteCall( 5222 HRESULT Result) = 0; 5223 5224 virtual HRESULT STDMETHODCALLTYPE GetCallContext( 5225 REFIID riid, 5226 void **pInterface) = 0; 5227 5228 virtual HRESULT STDMETHODCALLTYPE GetState( 5229 ULONG *pulStateFlags) = 0; 5230 5231 }; 5232 #ifdef __CRT_UUID_DECL 5233 __CRT_UUID_DECL(IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5234 #endif 5235 #else 5236 typedef struct IAsyncManagerVtbl { 5237 BEGIN_INTERFACE 5238 5239 /*** IUnknown methods ***/ 5240 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5241 IAsyncManager *This, 5242 REFIID riid, 5243 void **ppvObject); 5244 5245 ULONG (STDMETHODCALLTYPE *AddRef)( 5246 IAsyncManager *This); 5247 5248 ULONG (STDMETHODCALLTYPE *Release)( 5249 IAsyncManager *This); 5250 5251 /*** IAsyncManager methods ***/ 5252 HRESULT (STDMETHODCALLTYPE *CompleteCall)( 5253 IAsyncManager *This, 5254 HRESULT Result); 5255 5256 HRESULT (STDMETHODCALLTYPE *GetCallContext)( 5257 IAsyncManager *This, 5258 REFIID riid, 5259 void **pInterface); 5260 5261 HRESULT (STDMETHODCALLTYPE *GetState)( 5262 IAsyncManager *This, 5263 ULONG *pulStateFlags); 5264 5265 END_INTERFACE 5266 } IAsyncManagerVtbl; 5267 5268 interface IAsyncManager { 5269 CONST_VTBL IAsyncManagerVtbl* lpVtbl; 5270 }; 5271 5272 #ifdef COBJMACROS 5273 #ifndef WIDL_C_INLINE_WRAPPERS 5274 /*** IUnknown methods ***/ 5275 #define IAsyncManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5276 #define IAsyncManager_AddRef(This) (This)->lpVtbl->AddRef(This) 5277 #define IAsyncManager_Release(This) (This)->lpVtbl->Release(This) 5278 /*** IAsyncManager methods ***/ 5279 #define IAsyncManager_CompleteCall(This,Result) (This)->lpVtbl->CompleteCall(This,Result) 5280 #define IAsyncManager_GetCallContext(This,riid,pInterface) (This)->lpVtbl->GetCallContext(This,riid,pInterface) 5281 #define IAsyncManager_GetState(This,pulStateFlags) (This)->lpVtbl->GetState(This,pulStateFlags) 5282 #else 5283 /*** IUnknown methods ***/ 5284 static FORCEINLINE HRESULT IAsyncManager_QueryInterface(IAsyncManager* This,REFIID riid,void **ppvObject) { 5285 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5286 } 5287 static FORCEINLINE ULONG IAsyncManager_AddRef(IAsyncManager* This) { 5288 return This->lpVtbl->AddRef(This); 5289 } 5290 static FORCEINLINE ULONG IAsyncManager_Release(IAsyncManager* This) { 5291 return This->lpVtbl->Release(This); 5292 } 5293 /*** IAsyncManager methods ***/ 5294 static FORCEINLINE HRESULT IAsyncManager_CompleteCall(IAsyncManager* This,HRESULT Result) { 5295 return This->lpVtbl->CompleteCall(This,Result); 5296 } 5297 static FORCEINLINE HRESULT IAsyncManager_GetCallContext(IAsyncManager* This,REFIID riid,void **pInterface) { 5298 return This->lpVtbl->GetCallContext(This,riid,pInterface); 5299 } 5300 static FORCEINLINE HRESULT IAsyncManager_GetState(IAsyncManager* This,ULONG *pulStateFlags) { 5301 return This->lpVtbl->GetState(This,pulStateFlags); 5302 } 5303 #endif 5304 #endif 5305 5306 #endif 5307 5308 5309 #endif /* __IAsyncManager_INTERFACE_DEFINED__ */ 5310 5311 5312 /***************************************************************************** 5313 * ICallFactory interface 5314 */ 5315 #ifndef __ICallFactory_INTERFACE_DEFINED__ 5316 #define __ICallFactory_INTERFACE_DEFINED__ 5317 5318 DEFINE_GUID(IID_ICallFactory, 0x1c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d); 5319 #if defined(__cplusplus) && !defined(CINTERFACE) 5320 MIDL_INTERFACE("1c733a30-2a1c-11ce-ade5-00aa0044773d") 5321 ICallFactory : public IUnknown 5322 { 5323 virtual HRESULT STDMETHODCALLTYPE CreateCall( 5324 REFIID riid, 5325 IUnknown *pCtrlUnk, 5326 REFIID riid2, 5327 IUnknown **ppv) = 0; 5328 5329 }; 5330 #ifdef __CRT_UUID_DECL 5331 __CRT_UUID_DECL(ICallFactory, 0x1c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d) 5332 #endif 5333 #else 5334 typedef struct ICallFactoryVtbl { 5335 BEGIN_INTERFACE 5336 5337 /*** IUnknown methods ***/ 5338 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5339 ICallFactory *This, 5340 REFIID riid, 5341 void **ppvObject); 5342 5343 ULONG (STDMETHODCALLTYPE *AddRef)( 5344 ICallFactory *This); 5345 5346 ULONG (STDMETHODCALLTYPE *Release)( 5347 ICallFactory *This); 5348 5349 /*** ICallFactory methods ***/ 5350 HRESULT (STDMETHODCALLTYPE *CreateCall)( 5351 ICallFactory *This, 5352 REFIID riid, 5353 IUnknown *pCtrlUnk, 5354 REFIID riid2, 5355 IUnknown **ppv); 5356 5357 END_INTERFACE 5358 } ICallFactoryVtbl; 5359 5360 interface ICallFactory { 5361 CONST_VTBL ICallFactoryVtbl* lpVtbl; 5362 }; 5363 5364 #ifdef COBJMACROS 5365 #ifndef WIDL_C_INLINE_WRAPPERS 5366 /*** IUnknown methods ***/ 5367 #define ICallFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5368 #define ICallFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 5369 #define ICallFactory_Release(This) (This)->lpVtbl->Release(This) 5370 /*** ICallFactory methods ***/ 5371 #define ICallFactory_CreateCall(This,riid,pCtrlUnk,riid2,ppv) (This)->lpVtbl->CreateCall(This,riid,pCtrlUnk,riid2,ppv) 5372 #else 5373 /*** IUnknown methods ***/ 5374 static FORCEINLINE HRESULT ICallFactory_QueryInterface(ICallFactory* This,REFIID riid,void **ppvObject) { 5375 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5376 } 5377 static FORCEINLINE ULONG ICallFactory_AddRef(ICallFactory* This) { 5378 return This->lpVtbl->AddRef(This); 5379 } 5380 static FORCEINLINE ULONG ICallFactory_Release(ICallFactory* This) { 5381 return This->lpVtbl->Release(This); 5382 } 5383 /*** ICallFactory methods ***/ 5384 static FORCEINLINE HRESULT ICallFactory_CreateCall(ICallFactory* This,REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv) { 5385 return This->lpVtbl->CreateCall(This,riid,pCtrlUnk,riid2,ppv); 5386 } 5387 #endif 5388 #endif 5389 5390 #endif 5391 5392 5393 #endif /* __ICallFactory_INTERFACE_DEFINED__ */ 5394 5395 5396 /***************************************************************************** 5397 * IRpcHelper interface 5398 */ 5399 #ifndef __IRpcHelper_INTERFACE_DEFINED__ 5400 #define __IRpcHelper_INTERFACE_DEFINED__ 5401 5402 DEFINE_GUID(IID_IRpcHelper, 0x00000149, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5403 #if defined(__cplusplus) && !defined(CINTERFACE) 5404 MIDL_INTERFACE("00000149-0000-0000-c000-000000000046") 5405 IRpcHelper : public IUnknown 5406 { 5407 virtual HRESULT STDMETHODCALLTYPE GetDCOMProtocolVersion( 5408 DWORD *pComVersion) = 0; 5409 5410 virtual HRESULT STDMETHODCALLTYPE GetIIDFromOBJREF( 5411 void *pObjRef, 5412 IID **piid) = 0; 5413 5414 }; 5415 #ifdef __CRT_UUID_DECL 5416 __CRT_UUID_DECL(IRpcHelper, 0x00000149, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5417 #endif 5418 #else 5419 typedef struct IRpcHelperVtbl { 5420 BEGIN_INTERFACE 5421 5422 /*** IUnknown methods ***/ 5423 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5424 IRpcHelper *This, 5425 REFIID riid, 5426 void **ppvObject); 5427 5428 ULONG (STDMETHODCALLTYPE *AddRef)( 5429 IRpcHelper *This); 5430 5431 ULONG (STDMETHODCALLTYPE *Release)( 5432 IRpcHelper *This); 5433 5434 /*** IRpcHelper methods ***/ 5435 HRESULT (STDMETHODCALLTYPE *GetDCOMProtocolVersion)( 5436 IRpcHelper *This, 5437 DWORD *pComVersion); 5438 5439 HRESULT (STDMETHODCALLTYPE *GetIIDFromOBJREF)( 5440 IRpcHelper *This, 5441 void *pObjRef, 5442 IID **piid); 5443 5444 END_INTERFACE 5445 } IRpcHelperVtbl; 5446 5447 interface IRpcHelper { 5448 CONST_VTBL IRpcHelperVtbl* lpVtbl; 5449 }; 5450 5451 #ifdef COBJMACROS 5452 #ifndef WIDL_C_INLINE_WRAPPERS 5453 /*** IUnknown methods ***/ 5454 #define IRpcHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5455 #define IRpcHelper_AddRef(This) (This)->lpVtbl->AddRef(This) 5456 #define IRpcHelper_Release(This) (This)->lpVtbl->Release(This) 5457 /*** IRpcHelper methods ***/ 5458 #define IRpcHelper_GetDCOMProtocolVersion(This,pComVersion) (This)->lpVtbl->GetDCOMProtocolVersion(This,pComVersion) 5459 #define IRpcHelper_GetIIDFromOBJREF(This,pObjRef,piid) (This)->lpVtbl->GetIIDFromOBJREF(This,pObjRef,piid) 5460 #else 5461 /*** IUnknown methods ***/ 5462 static FORCEINLINE HRESULT IRpcHelper_QueryInterface(IRpcHelper* This,REFIID riid,void **ppvObject) { 5463 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5464 } 5465 static FORCEINLINE ULONG IRpcHelper_AddRef(IRpcHelper* This) { 5466 return This->lpVtbl->AddRef(This); 5467 } 5468 static FORCEINLINE ULONG IRpcHelper_Release(IRpcHelper* This) { 5469 return This->lpVtbl->Release(This); 5470 } 5471 /*** IRpcHelper methods ***/ 5472 static FORCEINLINE HRESULT IRpcHelper_GetDCOMProtocolVersion(IRpcHelper* This,DWORD *pComVersion) { 5473 return This->lpVtbl->GetDCOMProtocolVersion(This,pComVersion); 5474 } 5475 static FORCEINLINE HRESULT IRpcHelper_GetIIDFromOBJREF(IRpcHelper* This,void *pObjRef,IID **piid) { 5476 return This->lpVtbl->GetIIDFromOBJREF(This,pObjRef,piid); 5477 } 5478 #endif 5479 #endif 5480 5481 #endif 5482 5483 5484 #endif /* __IRpcHelper_INTERFACE_DEFINED__ */ 5485 5486 5487 /***************************************************************************** 5488 * IReleaseMarshalBuffers interface 5489 */ 5490 #ifndef __IReleaseMarshalBuffers_INTERFACE_DEFINED__ 5491 #define __IReleaseMarshalBuffers_INTERFACE_DEFINED__ 5492 5493 DEFINE_GUID(IID_IReleaseMarshalBuffers, 0xeb0cb9e8, 0x7996, 0x11d2, 0x87,0x2e, 0x00,0x00,0xf8,0x08,0x08,0x59); 5494 #if defined(__cplusplus) && !defined(CINTERFACE) 5495 MIDL_INTERFACE("eb0cb9e8-7996-11d2-872e-0000f8080859") 5496 IReleaseMarshalBuffers : public IUnknown 5497 { 5498 virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalBuffer( 5499 RPCOLEMESSAGE *pMsg, 5500 DWORD dwFlags, 5501 IUnknown *pChnl) = 0; 5502 5503 }; 5504 #ifdef __CRT_UUID_DECL 5505 __CRT_UUID_DECL(IReleaseMarshalBuffers, 0xeb0cb9e8, 0x7996, 0x11d2, 0x87,0x2e, 0x00,0x00,0xf8,0x08,0x08,0x59) 5506 #endif 5507 #else 5508 typedef struct IReleaseMarshalBuffersVtbl { 5509 BEGIN_INTERFACE 5510 5511 /*** IUnknown methods ***/ 5512 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5513 IReleaseMarshalBuffers *This, 5514 REFIID riid, 5515 void **ppvObject); 5516 5517 ULONG (STDMETHODCALLTYPE *AddRef)( 5518 IReleaseMarshalBuffers *This); 5519 5520 ULONG (STDMETHODCALLTYPE *Release)( 5521 IReleaseMarshalBuffers *This); 5522 5523 /*** IReleaseMarshalBuffers methods ***/ 5524 HRESULT (STDMETHODCALLTYPE *ReleaseMarshalBuffer)( 5525 IReleaseMarshalBuffers *This, 5526 RPCOLEMESSAGE *pMsg, 5527 DWORD dwFlags, 5528 IUnknown *pChnl); 5529 5530 END_INTERFACE 5531 } IReleaseMarshalBuffersVtbl; 5532 5533 interface IReleaseMarshalBuffers { 5534 CONST_VTBL IReleaseMarshalBuffersVtbl* lpVtbl; 5535 }; 5536 5537 #ifdef COBJMACROS 5538 #ifndef WIDL_C_INLINE_WRAPPERS 5539 /*** IUnknown methods ***/ 5540 #define IReleaseMarshalBuffers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5541 #define IReleaseMarshalBuffers_AddRef(This) (This)->lpVtbl->AddRef(This) 5542 #define IReleaseMarshalBuffers_Release(This) (This)->lpVtbl->Release(This) 5543 /*** IReleaseMarshalBuffers methods ***/ 5544 #define IReleaseMarshalBuffers_ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl) (This)->lpVtbl->ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl) 5545 #else 5546 /*** IUnknown methods ***/ 5547 static FORCEINLINE HRESULT IReleaseMarshalBuffers_QueryInterface(IReleaseMarshalBuffers* This,REFIID riid,void **ppvObject) { 5548 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5549 } 5550 static FORCEINLINE ULONG IReleaseMarshalBuffers_AddRef(IReleaseMarshalBuffers* This) { 5551 return This->lpVtbl->AddRef(This); 5552 } 5553 static FORCEINLINE ULONG IReleaseMarshalBuffers_Release(IReleaseMarshalBuffers* This) { 5554 return This->lpVtbl->Release(This); 5555 } 5556 /*** IReleaseMarshalBuffers methods ***/ 5557 static FORCEINLINE HRESULT IReleaseMarshalBuffers_ReleaseMarshalBuffer(IReleaseMarshalBuffers* This,RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl) { 5558 return This->lpVtbl->ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl); 5559 } 5560 #endif 5561 #endif 5562 5563 #endif 5564 5565 5566 #endif /* __IReleaseMarshalBuffers_INTERFACE_DEFINED__ */ 5567 5568 5569 /***************************************************************************** 5570 * IWaitMultiple interface 5571 */ 5572 #ifndef __IWaitMultiple_INTERFACE_DEFINED__ 5573 #define __IWaitMultiple_INTERFACE_DEFINED__ 5574 5575 DEFINE_GUID(IID_IWaitMultiple, 0x0000002b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5576 #if defined(__cplusplus) && !defined(CINTERFACE) 5577 MIDL_INTERFACE("0000002b-0000-0000-c000-000000000046") 5578 IWaitMultiple : public IUnknown 5579 { 5580 virtual HRESULT STDMETHODCALLTYPE WaitMultiple( 5581 DWORD timeout, 5582 ISynchronize **pSync) = 0; 5583 5584 virtual HRESULT STDMETHODCALLTYPE AddSynchronize( 5585 ISynchronize *pSync) = 0; 5586 5587 }; 5588 #ifdef __CRT_UUID_DECL 5589 __CRT_UUID_DECL(IWaitMultiple, 0x0000002b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5590 #endif 5591 #else 5592 typedef struct IWaitMultipleVtbl { 5593 BEGIN_INTERFACE 5594 5595 /*** IUnknown methods ***/ 5596 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5597 IWaitMultiple *This, 5598 REFIID riid, 5599 void **ppvObject); 5600 5601 ULONG (STDMETHODCALLTYPE *AddRef)( 5602 IWaitMultiple *This); 5603 5604 ULONG (STDMETHODCALLTYPE *Release)( 5605 IWaitMultiple *This); 5606 5607 /*** IWaitMultiple methods ***/ 5608 HRESULT (STDMETHODCALLTYPE *WaitMultiple)( 5609 IWaitMultiple *This, 5610 DWORD timeout, 5611 ISynchronize **pSync); 5612 5613 HRESULT (STDMETHODCALLTYPE *AddSynchronize)( 5614 IWaitMultiple *This, 5615 ISynchronize *pSync); 5616 5617 END_INTERFACE 5618 } IWaitMultipleVtbl; 5619 5620 interface IWaitMultiple { 5621 CONST_VTBL IWaitMultipleVtbl* lpVtbl; 5622 }; 5623 5624 #ifdef COBJMACROS 5625 #ifndef WIDL_C_INLINE_WRAPPERS 5626 /*** IUnknown methods ***/ 5627 #define IWaitMultiple_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5628 #define IWaitMultiple_AddRef(This) (This)->lpVtbl->AddRef(This) 5629 #define IWaitMultiple_Release(This) (This)->lpVtbl->Release(This) 5630 /*** IWaitMultiple methods ***/ 5631 #define IWaitMultiple_WaitMultiple(This,timeout,pSync) (This)->lpVtbl->WaitMultiple(This,timeout,pSync) 5632 #define IWaitMultiple_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync) 5633 #else 5634 /*** IUnknown methods ***/ 5635 static FORCEINLINE HRESULT IWaitMultiple_QueryInterface(IWaitMultiple* This,REFIID riid,void **ppvObject) { 5636 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5637 } 5638 static FORCEINLINE ULONG IWaitMultiple_AddRef(IWaitMultiple* This) { 5639 return This->lpVtbl->AddRef(This); 5640 } 5641 static FORCEINLINE ULONG IWaitMultiple_Release(IWaitMultiple* This) { 5642 return This->lpVtbl->Release(This); 5643 } 5644 /*** IWaitMultiple methods ***/ 5645 static FORCEINLINE HRESULT IWaitMultiple_WaitMultiple(IWaitMultiple* This,DWORD timeout,ISynchronize **pSync) { 5646 return This->lpVtbl->WaitMultiple(This,timeout,pSync); 5647 } 5648 static FORCEINLINE HRESULT IWaitMultiple_AddSynchronize(IWaitMultiple* This,ISynchronize *pSync) { 5649 return This->lpVtbl->AddSynchronize(This,pSync); 5650 } 5651 #endif 5652 #endif 5653 5654 #endif 5655 5656 5657 #endif /* __IWaitMultiple_INTERFACE_DEFINED__ */ 5658 5659 5660 /***************************************************************************** 5661 * IAddrTrackingControl interface 5662 */ 5663 #ifndef __IAddrTrackingControl_INTERFACE_DEFINED__ 5664 #define __IAddrTrackingControl_INTERFACE_DEFINED__ 5665 5666 typedef IAddrTrackingControl *LPADDRTRACKINGCONTROL; 5667 DEFINE_GUID(IID_IAddrTrackingControl, 0x00000147, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5668 #if defined(__cplusplus) && !defined(CINTERFACE) 5669 MIDL_INTERFACE("00000147-0000-0000-c000-000000000046") 5670 IAddrTrackingControl : public IUnknown 5671 { 5672 virtual HRESULT STDMETHODCALLTYPE EnableCOMDynamicAddrTracking( 5673 ) = 0; 5674 5675 virtual HRESULT STDMETHODCALLTYPE DisableCOMDynamicAddrTracking( 5676 ) = 0; 5677 5678 }; 5679 #ifdef __CRT_UUID_DECL 5680 __CRT_UUID_DECL(IAddrTrackingControl, 0x00000147, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5681 #endif 5682 #else 5683 typedef struct IAddrTrackingControlVtbl { 5684 BEGIN_INTERFACE 5685 5686 /*** IUnknown methods ***/ 5687 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5688 IAddrTrackingControl *This, 5689 REFIID riid, 5690 void **ppvObject); 5691 5692 ULONG (STDMETHODCALLTYPE *AddRef)( 5693 IAddrTrackingControl *This); 5694 5695 ULONG (STDMETHODCALLTYPE *Release)( 5696 IAddrTrackingControl *This); 5697 5698 /*** IAddrTrackingControl methods ***/ 5699 HRESULT (STDMETHODCALLTYPE *EnableCOMDynamicAddrTracking)( 5700 IAddrTrackingControl *This); 5701 5702 HRESULT (STDMETHODCALLTYPE *DisableCOMDynamicAddrTracking)( 5703 IAddrTrackingControl *This); 5704 5705 END_INTERFACE 5706 } IAddrTrackingControlVtbl; 5707 5708 interface IAddrTrackingControl { 5709 CONST_VTBL IAddrTrackingControlVtbl* lpVtbl; 5710 }; 5711 5712 #ifdef COBJMACROS 5713 #ifndef WIDL_C_INLINE_WRAPPERS 5714 /*** IUnknown methods ***/ 5715 #define IAddrTrackingControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5716 #define IAddrTrackingControl_AddRef(This) (This)->lpVtbl->AddRef(This) 5717 #define IAddrTrackingControl_Release(This) (This)->lpVtbl->Release(This) 5718 /*** IAddrTrackingControl methods ***/ 5719 #define IAddrTrackingControl_EnableCOMDynamicAddrTracking(This) (This)->lpVtbl->EnableCOMDynamicAddrTracking(This) 5720 #define IAddrTrackingControl_DisableCOMDynamicAddrTracking(This) (This)->lpVtbl->DisableCOMDynamicAddrTracking(This) 5721 #else 5722 /*** IUnknown methods ***/ 5723 static FORCEINLINE HRESULT IAddrTrackingControl_QueryInterface(IAddrTrackingControl* This,REFIID riid,void **ppvObject) { 5724 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5725 } 5726 static FORCEINLINE ULONG IAddrTrackingControl_AddRef(IAddrTrackingControl* This) { 5727 return This->lpVtbl->AddRef(This); 5728 } 5729 static FORCEINLINE ULONG IAddrTrackingControl_Release(IAddrTrackingControl* This) { 5730 return This->lpVtbl->Release(This); 5731 } 5732 /*** IAddrTrackingControl methods ***/ 5733 static FORCEINLINE HRESULT IAddrTrackingControl_EnableCOMDynamicAddrTracking(IAddrTrackingControl* This) { 5734 return This->lpVtbl->EnableCOMDynamicAddrTracking(This); 5735 } 5736 static FORCEINLINE HRESULT IAddrTrackingControl_DisableCOMDynamicAddrTracking(IAddrTrackingControl* This) { 5737 return This->lpVtbl->DisableCOMDynamicAddrTracking(This); 5738 } 5739 #endif 5740 #endif 5741 5742 #endif 5743 5744 5745 #endif /* __IAddrTrackingControl_INTERFACE_DEFINED__ */ 5746 5747 5748 /***************************************************************************** 5749 * IAddrExclusionControl interface 5750 */ 5751 #ifndef __IAddrExclusionControl_INTERFACE_DEFINED__ 5752 #define __IAddrExclusionControl_INTERFACE_DEFINED__ 5753 5754 typedef IAddrExclusionControl *LPADDREXCLUSIONCONTROL; 5755 DEFINE_GUID(IID_IAddrExclusionControl, 0x00000148, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5756 #if defined(__cplusplus) && !defined(CINTERFACE) 5757 MIDL_INTERFACE("00000148-0000-0000-c000-000000000046") 5758 IAddrExclusionControl : public IUnknown 5759 { 5760 virtual HRESULT STDMETHODCALLTYPE GetCurrentAddrExclusionList( 5761 REFIID riid, 5762 void **ppEnumerator) = 0; 5763 5764 virtual HRESULT STDMETHODCALLTYPE UpdateAddrExclusionList( 5765 IUnknown *pEnumerator) = 0; 5766 5767 }; 5768 #ifdef __CRT_UUID_DECL 5769 __CRT_UUID_DECL(IAddrExclusionControl, 0x00000148, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5770 #endif 5771 #else 5772 typedef struct IAddrExclusionControlVtbl { 5773 BEGIN_INTERFACE 5774 5775 /*** IUnknown methods ***/ 5776 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5777 IAddrExclusionControl *This, 5778 REFIID riid, 5779 void **ppvObject); 5780 5781 ULONG (STDMETHODCALLTYPE *AddRef)( 5782 IAddrExclusionControl *This); 5783 5784 ULONG (STDMETHODCALLTYPE *Release)( 5785 IAddrExclusionControl *This); 5786 5787 /*** IAddrExclusionControl methods ***/ 5788 HRESULT (STDMETHODCALLTYPE *GetCurrentAddrExclusionList)( 5789 IAddrExclusionControl *This, 5790 REFIID riid, 5791 void **ppEnumerator); 5792 5793 HRESULT (STDMETHODCALLTYPE *UpdateAddrExclusionList)( 5794 IAddrExclusionControl *This, 5795 IUnknown *pEnumerator); 5796 5797 END_INTERFACE 5798 } IAddrExclusionControlVtbl; 5799 5800 interface IAddrExclusionControl { 5801 CONST_VTBL IAddrExclusionControlVtbl* lpVtbl; 5802 }; 5803 5804 #ifdef COBJMACROS 5805 #ifndef WIDL_C_INLINE_WRAPPERS 5806 /*** IUnknown methods ***/ 5807 #define IAddrExclusionControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5808 #define IAddrExclusionControl_AddRef(This) (This)->lpVtbl->AddRef(This) 5809 #define IAddrExclusionControl_Release(This) (This)->lpVtbl->Release(This) 5810 /*** IAddrExclusionControl methods ***/ 5811 #define IAddrExclusionControl_GetCurrentAddrExclusionList(This,riid,ppEnumerator) (This)->lpVtbl->GetCurrentAddrExclusionList(This,riid,ppEnumerator) 5812 #define IAddrExclusionControl_UpdateAddrExclusionList(This,pEnumerator) (This)->lpVtbl->UpdateAddrExclusionList(This,pEnumerator) 5813 #else 5814 /*** IUnknown methods ***/ 5815 static FORCEINLINE HRESULT IAddrExclusionControl_QueryInterface(IAddrExclusionControl* This,REFIID riid,void **ppvObject) { 5816 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5817 } 5818 static FORCEINLINE ULONG IAddrExclusionControl_AddRef(IAddrExclusionControl* This) { 5819 return This->lpVtbl->AddRef(This); 5820 } 5821 static FORCEINLINE ULONG IAddrExclusionControl_Release(IAddrExclusionControl* This) { 5822 return This->lpVtbl->Release(This); 5823 } 5824 /*** IAddrExclusionControl methods ***/ 5825 static FORCEINLINE HRESULT IAddrExclusionControl_GetCurrentAddrExclusionList(IAddrExclusionControl* This,REFIID riid,void **ppEnumerator) { 5826 return This->lpVtbl->GetCurrentAddrExclusionList(This,riid,ppEnumerator); 5827 } 5828 static FORCEINLINE HRESULT IAddrExclusionControl_UpdateAddrExclusionList(IAddrExclusionControl* This,IUnknown *pEnumerator) { 5829 return This->lpVtbl->UpdateAddrExclusionList(This,pEnumerator); 5830 } 5831 #endif 5832 #endif 5833 5834 #endif 5835 5836 5837 #endif /* __IAddrExclusionControl_INTERFACE_DEFINED__ */ 5838 5839 5840 /***************************************************************************** 5841 * IPipeByte interface 5842 */ 5843 #ifndef __IPipeByte_INTERFACE_DEFINED__ 5844 #define __IPipeByte_INTERFACE_DEFINED__ 5845 5846 DEFINE_GUID(IID_IPipeByte, 0xdb2f3aca, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a); 5847 #if defined(__cplusplus) && !defined(CINTERFACE) 5848 MIDL_INTERFACE("db2f3aca-2f86-11d1-8e04-00c04fb9989a") 5849 IPipeByte : public IUnknown 5850 { 5851 virtual HRESULT STDMETHODCALLTYPE Pull( 5852 BYTE *buf, 5853 ULONG cRequest, 5854 ULONG *pcReturned) = 0; 5855 5856 virtual HRESULT STDMETHODCALLTYPE Push( 5857 BYTE *buf, 5858 ULONG cSent) = 0; 5859 5860 }; 5861 #ifdef __CRT_UUID_DECL 5862 __CRT_UUID_DECL(IPipeByte, 0xdb2f3aca, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a) 5863 #endif 5864 #else 5865 typedef struct IPipeByteVtbl { 5866 BEGIN_INTERFACE 5867 5868 /*** IUnknown methods ***/ 5869 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5870 IPipeByte *This, 5871 REFIID riid, 5872 void **ppvObject); 5873 5874 ULONG (STDMETHODCALLTYPE *AddRef)( 5875 IPipeByte *This); 5876 5877 ULONG (STDMETHODCALLTYPE *Release)( 5878 IPipeByte *This); 5879 5880 /*** IPipeByte methods ***/ 5881 HRESULT (STDMETHODCALLTYPE *Pull)( 5882 IPipeByte *This, 5883 BYTE *buf, 5884 ULONG cRequest, 5885 ULONG *pcReturned); 5886 5887 HRESULT (STDMETHODCALLTYPE *Push)( 5888 IPipeByte *This, 5889 BYTE *buf, 5890 ULONG cSent); 5891 5892 END_INTERFACE 5893 } IPipeByteVtbl; 5894 5895 interface IPipeByte { 5896 CONST_VTBL IPipeByteVtbl* lpVtbl; 5897 }; 5898 5899 #ifdef COBJMACROS 5900 #ifndef WIDL_C_INLINE_WRAPPERS 5901 /*** IUnknown methods ***/ 5902 #define IPipeByte_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5903 #define IPipeByte_AddRef(This) (This)->lpVtbl->AddRef(This) 5904 #define IPipeByte_Release(This) (This)->lpVtbl->Release(This) 5905 /*** IPipeByte methods ***/ 5906 #define IPipeByte_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned) 5907 #define IPipeByte_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent) 5908 #else 5909 /*** IUnknown methods ***/ 5910 static FORCEINLINE HRESULT IPipeByte_QueryInterface(IPipeByte* This,REFIID riid,void **ppvObject) { 5911 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5912 } 5913 static FORCEINLINE ULONG IPipeByte_AddRef(IPipeByte* This) { 5914 return This->lpVtbl->AddRef(This); 5915 } 5916 static FORCEINLINE ULONG IPipeByte_Release(IPipeByte* This) { 5917 return This->lpVtbl->Release(This); 5918 } 5919 /*** IPipeByte methods ***/ 5920 static FORCEINLINE HRESULT IPipeByte_Pull(IPipeByte* This,BYTE *buf,ULONG cRequest,ULONG *pcReturned) { 5921 return This->lpVtbl->Pull(This,buf,cRequest,pcReturned); 5922 } 5923 static FORCEINLINE HRESULT IPipeByte_Push(IPipeByte* This,BYTE *buf,ULONG cSent) { 5924 return This->lpVtbl->Push(This,buf,cSent); 5925 } 5926 #endif 5927 #endif 5928 5929 #endif 5930 5931 5932 #endif /* __IPipeByte_INTERFACE_DEFINED__ */ 5933 5934 5935 /***************************************************************************** 5936 * IPipeLong interface 5937 */ 5938 #ifndef __IPipeLong_INTERFACE_DEFINED__ 5939 #define __IPipeLong_INTERFACE_DEFINED__ 5940 5941 DEFINE_GUID(IID_IPipeLong, 0xdb2f3acc, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a); 5942 #if defined(__cplusplus) && !defined(CINTERFACE) 5943 MIDL_INTERFACE("db2f3acc-2f86-11d1-8e04-00c04fb9989a") 5944 IPipeLong : public IUnknown 5945 { 5946 virtual HRESULT STDMETHODCALLTYPE Pull( 5947 LONG *buf, 5948 ULONG cRequest, 5949 ULONG *pcReturned) = 0; 5950 5951 virtual HRESULT STDMETHODCALLTYPE Push( 5952 LONG *buf, 5953 ULONG cSent) = 0; 5954 5955 }; 5956 #ifdef __CRT_UUID_DECL 5957 __CRT_UUID_DECL(IPipeLong, 0xdb2f3acc, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a) 5958 #endif 5959 #else 5960 typedef struct IPipeLongVtbl { 5961 BEGIN_INTERFACE 5962 5963 /*** IUnknown methods ***/ 5964 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5965 IPipeLong *This, 5966 REFIID riid, 5967 void **ppvObject); 5968 5969 ULONG (STDMETHODCALLTYPE *AddRef)( 5970 IPipeLong *This); 5971 5972 ULONG (STDMETHODCALLTYPE *Release)( 5973 IPipeLong *This); 5974 5975 /*** IPipeLong methods ***/ 5976 HRESULT (STDMETHODCALLTYPE *Pull)( 5977 IPipeLong *This, 5978 LONG *buf, 5979 ULONG cRequest, 5980 ULONG *pcReturned); 5981 5982 HRESULT (STDMETHODCALLTYPE *Push)( 5983 IPipeLong *This, 5984 LONG *buf, 5985 ULONG cSent); 5986 5987 END_INTERFACE 5988 } IPipeLongVtbl; 5989 5990 interface IPipeLong { 5991 CONST_VTBL IPipeLongVtbl* lpVtbl; 5992 }; 5993 5994 #ifdef COBJMACROS 5995 #ifndef WIDL_C_INLINE_WRAPPERS 5996 /*** IUnknown methods ***/ 5997 #define IPipeLong_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5998 #define IPipeLong_AddRef(This) (This)->lpVtbl->AddRef(This) 5999 #define IPipeLong_Release(This) (This)->lpVtbl->Release(This) 6000 /*** IPipeLong methods ***/ 6001 #define IPipeLong_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned) 6002 #define IPipeLong_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent) 6003 #else 6004 /*** IUnknown methods ***/ 6005 static FORCEINLINE HRESULT IPipeLong_QueryInterface(IPipeLong* This,REFIID riid,void **ppvObject) { 6006 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6007 } 6008 static FORCEINLINE ULONG IPipeLong_AddRef(IPipeLong* This) { 6009 return This->lpVtbl->AddRef(This); 6010 } 6011 static FORCEINLINE ULONG IPipeLong_Release(IPipeLong* This) { 6012 return This->lpVtbl->Release(This); 6013 } 6014 /*** IPipeLong methods ***/ 6015 static FORCEINLINE HRESULT IPipeLong_Pull(IPipeLong* This,LONG *buf,ULONG cRequest,ULONG *pcReturned) { 6016 return This->lpVtbl->Pull(This,buf,cRequest,pcReturned); 6017 } 6018 static FORCEINLINE HRESULT IPipeLong_Push(IPipeLong* This,LONG *buf,ULONG cSent) { 6019 return This->lpVtbl->Push(This,buf,cSent); 6020 } 6021 #endif 6022 #endif 6023 6024 #endif 6025 6026 6027 #endif /* __IPipeLong_INTERFACE_DEFINED__ */ 6028 6029 6030 /***************************************************************************** 6031 * IPipeDouble interface 6032 */ 6033 #ifndef __IPipeDouble_INTERFACE_DEFINED__ 6034 #define __IPipeDouble_INTERFACE_DEFINED__ 6035 6036 DEFINE_GUID(IID_IPipeDouble, 0xdb2f3ace, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a); 6037 #if defined(__cplusplus) && !defined(CINTERFACE) 6038 MIDL_INTERFACE("db2f3ace-2f86-11d1-8e04-00c04fb9989a") 6039 IPipeDouble : public IUnknown 6040 { 6041 virtual HRESULT STDMETHODCALLTYPE Pull( 6042 DOUBLE *buf, 6043 ULONG cRequest, 6044 ULONG *pcReturned) = 0; 6045 6046 virtual HRESULT STDMETHODCALLTYPE Push( 6047 DOUBLE *buf, 6048 ULONG cSent) = 0; 6049 6050 }; 6051 #ifdef __CRT_UUID_DECL 6052 __CRT_UUID_DECL(IPipeDouble, 0xdb2f3ace, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a) 6053 #endif 6054 #else 6055 typedef struct IPipeDoubleVtbl { 6056 BEGIN_INTERFACE 6057 6058 /*** IUnknown methods ***/ 6059 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6060 IPipeDouble *This, 6061 REFIID riid, 6062 void **ppvObject); 6063 6064 ULONG (STDMETHODCALLTYPE *AddRef)( 6065 IPipeDouble *This); 6066 6067 ULONG (STDMETHODCALLTYPE *Release)( 6068 IPipeDouble *This); 6069 6070 /*** IPipeDouble methods ***/ 6071 HRESULT (STDMETHODCALLTYPE *Pull)( 6072 IPipeDouble *This, 6073 DOUBLE *buf, 6074 ULONG cRequest, 6075 ULONG *pcReturned); 6076 6077 HRESULT (STDMETHODCALLTYPE *Push)( 6078 IPipeDouble *This, 6079 DOUBLE *buf, 6080 ULONG cSent); 6081 6082 END_INTERFACE 6083 } IPipeDoubleVtbl; 6084 6085 interface IPipeDouble { 6086 CONST_VTBL IPipeDoubleVtbl* lpVtbl; 6087 }; 6088 6089 #ifdef COBJMACROS 6090 #ifndef WIDL_C_INLINE_WRAPPERS 6091 /*** IUnknown methods ***/ 6092 #define IPipeDouble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6093 #define IPipeDouble_AddRef(This) (This)->lpVtbl->AddRef(This) 6094 #define IPipeDouble_Release(This) (This)->lpVtbl->Release(This) 6095 /*** IPipeDouble methods ***/ 6096 #define IPipeDouble_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned) 6097 #define IPipeDouble_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent) 6098 #else 6099 /*** IUnknown methods ***/ 6100 static FORCEINLINE HRESULT IPipeDouble_QueryInterface(IPipeDouble* This,REFIID riid,void **ppvObject) { 6101 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6102 } 6103 static FORCEINLINE ULONG IPipeDouble_AddRef(IPipeDouble* This) { 6104 return This->lpVtbl->AddRef(This); 6105 } 6106 static FORCEINLINE ULONG IPipeDouble_Release(IPipeDouble* This) { 6107 return This->lpVtbl->Release(This); 6108 } 6109 /*** IPipeDouble methods ***/ 6110 static FORCEINLINE HRESULT IPipeDouble_Pull(IPipeDouble* This,DOUBLE *buf,ULONG cRequest,ULONG *pcReturned) { 6111 return This->lpVtbl->Pull(This,buf,cRequest,pcReturned); 6112 } 6113 static FORCEINLINE HRESULT IPipeDouble_Push(IPipeDouble* This,DOUBLE *buf,ULONG cSent) { 6114 return This->lpVtbl->Push(This,buf,cSent); 6115 } 6116 #endif 6117 #endif 6118 6119 #endif 6120 6121 6122 #endif /* __IPipeDouble_INTERFACE_DEFINED__ */ 6123 6124 6125 #if defined USE_COM_CONTEXT_DEF || defined BUILDTYPE_COMSVCS || defined _COMBASEAPI_ || defined _OLE32_ 6126 6127 typedef DWORD CPFLAGS; 6128 6129 typedef struct tagContextProperty { 6130 GUID policyId; 6131 CPFLAGS flags; 6132 IUnknown *pUnk; 6133 } ContextProperty; 6134 6135 /***************************************************************************** 6136 * IEnumContextProps interface 6137 */ 6138 #ifndef __IEnumContextProps_INTERFACE_DEFINED__ 6139 #define __IEnumContextProps_INTERFACE_DEFINED__ 6140 6141 typedef IEnumContextProps *LPENUMCONTEXTPROPS; 6142 6143 DEFINE_GUID(IID_IEnumContextProps, 0x000001c1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 6144 #if defined(__cplusplus) && !defined(CINTERFACE) 6145 MIDL_INTERFACE("000001c1-0000-0000-c000-000000000046") 6146 IEnumContextProps : public IUnknown 6147 { 6148 virtual HRESULT STDMETHODCALLTYPE Next( 6149 ULONG celt, 6150 ContextProperty *pContextProperties, 6151 ULONG *pceltFetched) = 0; 6152 6153 virtual HRESULT STDMETHODCALLTYPE Skip( 6154 ULONG celt) = 0; 6155 6156 virtual HRESULT STDMETHODCALLTYPE Reset( 6157 ) = 0; 6158 6159 virtual HRESULT STDMETHODCALLTYPE Clone( 6160 IEnumContextProps **ppEnumContextProps) = 0; 6161 6162 virtual HRESULT STDMETHODCALLTYPE Count( 6163 ULONG *pcelt) = 0; 6164 6165 }; 6166 #ifdef __CRT_UUID_DECL 6167 __CRT_UUID_DECL(IEnumContextProps, 0x000001c1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 6168 #endif 6169 #else 6170 typedef struct IEnumContextPropsVtbl { 6171 BEGIN_INTERFACE 6172 6173 /*** IUnknown methods ***/ 6174 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6175 IEnumContextProps *This, 6176 REFIID riid, 6177 void **ppvObject); 6178 6179 ULONG (STDMETHODCALLTYPE *AddRef)( 6180 IEnumContextProps *This); 6181 6182 ULONG (STDMETHODCALLTYPE *Release)( 6183 IEnumContextProps *This); 6184 6185 /*** IEnumContextProps methods ***/ 6186 HRESULT (STDMETHODCALLTYPE *Next)( 6187 IEnumContextProps *This, 6188 ULONG celt, 6189 ContextProperty *pContextProperties, 6190 ULONG *pceltFetched); 6191 6192 HRESULT (STDMETHODCALLTYPE *Skip)( 6193 IEnumContextProps *This, 6194 ULONG celt); 6195 6196 HRESULT (STDMETHODCALLTYPE *Reset)( 6197 IEnumContextProps *This); 6198 6199 HRESULT (STDMETHODCALLTYPE *Clone)( 6200 IEnumContextProps *This, 6201 IEnumContextProps **ppEnumContextProps); 6202 6203 HRESULT (STDMETHODCALLTYPE *Count)( 6204 IEnumContextProps *This, 6205 ULONG *pcelt); 6206 6207 END_INTERFACE 6208 } IEnumContextPropsVtbl; 6209 6210 interface IEnumContextProps { 6211 CONST_VTBL IEnumContextPropsVtbl* lpVtbl; 6212 }; 6213 6214 #ifdef COBJMACROS 6215 #ifndef WIDL_C_INLINE_WRAPPERS 6216 /*** IUnknown methods ***/ 6217 #define IEnumContextProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6218 #define IEnumContextProps_AddRef(This) (This)->lpVtbl->AddRef(This) 6219 #define IEnumContextProps_Release(This) (This)->lpVtbl->Release(This) 6220 /*** IEnumContextProps methods ***/ 6221 #define IEnumContextProps_Next(This,celt,pContextProperties,pceltFetched) (This)->lpVtbl->Next(This,celt,pContextProperties,pceltFetched) 6222 #define IEnumContextProps_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 6223 #define IEnumContextProps_Reset(This) (This)->lpVtbl->Reset(This) 6224 #define IEnumContextProps_Clone(This,ppEnumContextProps) (This)->lpVtbl->Clone(This,ppEnumContextProps) 6225 #define IEnumContextProps_Count(This,pcelt) (This)->lpVtbl->Count(This,pcelt) 6226 #else 6227 /*** IUnknown methods ***/ 6228 static FORCEINLINE HRESULT IEnumContextProps_QueryInterface(IEnumContextProps* This,REFIID riid,void **ppvObject) { 6229 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6230 } 6231 static FORCEINLINE ULONG IEnumContextProps_AddRef(IEnumContextProps* This) { 6232 return This->lpVtbl->AddRef(This); 6233 } 6234 static FORCEINLINE ULONG IEnumContextProps_Release(IEnumContextProps* This) { 6235 return This->lpVtbl->Release(This); 6236 } 6237 /*** IEnumContextProps methods ***/ 6238 static FORCEINLINE HRESULT IEnumContextProps_Next(IEnumContextProps* This,ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched) { 6239 return This->lpVtbl->Next(This,celt,pContextProperties,pceltFetched); 6240 } 6241 static FORCEINLINE HRESULT IEnumContextProps_Skip(IEnumContextProps* This,ULONG celt) { 6242 return This->lpVtbl->Skip(This,celt); 6243 } 6244 static FORCEINLINE HRESULT IEnumContextProps_Reset(IEnumContextProps* This) { 6245 return This->lpVtbl->Reset(This); 6246 } 6247 static FORCEINLINE HRESULT IEnumContextProps_Clone(IEnumContextProps* This,IEnumContextProps **ppEnumContextProps) { 6248 return This->lpVtbl->Clone(This,ppEnumContextProps); 6249 } 6250 static FORCEINLINE HRESULT IEnumContextProps_Count(IEnumContextProps* This,ULONG *pcelt) { 6251 return This->lpVtbl->Count(This,pcelt); 6252 } 6253 #endif 6254 #endif 6255 6256 #endif 6257 6258 6259 #endif /* __IEnumContextProps_INTERFACE_DEFINED__ */ 6260 6261 6262 /***************************************************************************** 6263 * IContext interface 6264 */ 6265 #ifndef __IContext_INTERFACE_DEFINED__ 6266 #define __IContext_INTERFACE_DEFINED__ 6267 6268 DEFINE_GUID(IID_IContext, 0x000001c0, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 6269 #if defined(__cplusplus) && !defined(CINTERFACE) 6270 MIDL_INTERFACE("000001c0-0000-0000-c000-000000000046") 6271 IContext : public IUnknown 6272 { 6273 virtual HRESULT STDMETHODCALLTYPE SetProperty( 6274 REFGUID rpolicyId, 6275 CPFLAGS flags, 6276 IUnknown *pUnk) = 0; 6277 6278 virtual HRESULT STDMETHODCALLTYPE RemoveProperty( 6279 REFGUID rPolicyId) = 0; 6280 6281 virtual HRESULT STDMETHODCALLTYPE GetProperty( 6282 REFGUID rGuid, 6283 CPFLAGS *pFlags, 6284 IUnknown **ppUnk) = 0; 6285 6286 virtual HRESULT STDMETHODCALLTYPE EnumContextProps( 6287 IEnumContextProps **ppEnumContextProps) = 0; 6288 6289 }; 6290 #ifdef __CRT_UUID_DECL 6291 __CRT_UUID_DECL(IContext, 0x000001c0, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 6292 #endif 6293 #else 6294 typedef struct IContextVtbl { 6295 BEGIN_INTERFACE 6296 6297 /*** IUnknown methods ***/ 6298 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6299 IContext *This, 6300 REFIID riid, 6301 void **ppvObject); 6302 6303 ULONG (STDMETHODCALLTYPE *AddRef)( 6304 IContext *This); 6305 6306 ULONG (STDMETHODCALLTYPE *Release)( 6307 IContext *This); 6308 6309 /*** IContext methods ***/ 6310 HRESULT (STDMETHODCALLTYPE *SetProperty)( 6311 IContext *This, 6312 REFGUID rpolicyId, 6313 CPFLAGS flags, 6314 IUnknown *pUnk); 6315 6316 HRESULT (STDMETHODCALLTYPE *RemoveProperty)( 6317 IContext *This, 6318 REFGUID rPolicyId); 6319 6320 HRESULT (STDMETHODCALLTYPE *GetProperty)( 6321 IContext *This, 6322 REFGUID rGuid, 6323 CPFLAGS *pFlags, 6324 IUnknown **ppUnk); 6325 6326 HRESULT (STDMETHODCALLTYPE *EnumContextProps)( 6327 IContext *This, 6328 IEnumContextProps **ppEnumContextProps); 6329 6330 END_INTERFACE 6331 } IContextVtbl; 6332 6333 interface IContext { 6334 CONST_VTBL IContextVtbl* lpVtbl; 6335 }; 6336 6337 #ifdef COBJMACROS 6338 #ifndef WIDL_C_INLINE_WRAPPERS 6339 /*** IUnknown methods ***/ 6340 #define IContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6341 #define IContext_AddRef(This) (This)->lpVtbl->AddRef(This) 6342 #define IContext_Release(This) (This)->lpVtbl->Release(This) 6343 /*** IContext methods ***/ 6344 #define IContext_SetProperty(This,rpolicyId,flags,pUnk) (This)->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk) 6345 #define IContext_RemoveProperty(This,rPolicyId) (This)->lpVtbl->RemoveProperty(This,rPolicyId) 6346 #define IContext_GetProperty(This,rGuid,pFlags,ppUnk) (This)->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk) 6347 #define IContext_EnumContextProps(This,ppEnumContextProps) (This)->lpVtbl->EnumContextProps(This,ppEnumContextProps) 6348 #else 6349 /*** IUnknown methods ***/ 6350 static FORCEINLINE HRESULT IContext_QueryInterface(IContext* This,REFIID riid,void **ppvObject) { 6351 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6352 } 6353 static FORCEINLINE ULONG IContext_AddRef(IContext* This) { 6354 return This->lpVtbl->AddRef(This); 6355 } 6356 static FORCEINLINE ULONG IContext_Release(IContext* This) { 6357 return This->lpVtbl->Release(This); 6358 } 6359 /*** IContext methods ***/ 6360 static FORCEINLINE HRESULT IContext_SetProperty(IContext* This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk) { 6361 return This->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk); 6362 } 6363 static FORCEINLINE HRESULT IContext_RemoveProperty(IContext* This,REFGUID rPolicyId) { 6364 return This->lpVtbl->RemoveProperty(This,rPolicyId); 6365 } 6366 static FORCEINLINE HRESULT IContext_GetProperty(IContext* This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk) { 6367 return This->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk); 6368 } 6369 static FORCEINLINE HRESULT IContext_EnumContextProps(IContext* This,IEnumContextProps **ppEnumContextProps) { 6370 return This->lpVtbl->EnumContextProps(This,ppEnumContextProps); 6371 } 6372 #endif 6373 #endif 6374 6375 #endif 6376 6377 6378 #endif /* __IContext_INTERFACE_DEFINED__ */ 6379 6380 #endif 6381 #endif 6382 6383 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 6384 typedef enum _APTTYPEQUALIFIER { 6385 APTTYPEQUALIFIER_NONE = 0, 6386 APTTYPEQUALIFIER_IMPLICIT_MTA = 1, 6387 APTTYPEQUALIFIER_NA_ON_MTA = 2, 6388 APTTYPEQUALIFIER_NA_ON_STA = 3, 6389 APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4, 6390 APTTYPEQUALIFIER_NA_ON_MAINSTA = 5, 6391 APTTYPEQUALIFIER_APPLICATION_STA = 6 6392 } APTTYPEQUALIFIER; 6393 6394 typedef enum _APTTYPE { 6395 APTTYPE_CURRENT = -1, 6396 APTTYPE_STA = 0, 6397 APTTYPE_MTA = 1, 6398 APTTYPE_NA = 2, 6399 APTTYPE_MAINSTA = 3 6400 } APTTYPE; 6401 #endif 6402 6403 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 6404 typedef enum _THDTYPE { 6405 THDTYPE_BLOCKMESSAGES = 0, 6406 THDTYPE_PROCESSMESSAGES = 1 6407 } THDTYPE; 6408 6409 typedef DWORD APARTMENTID; 6410 6411 /***************************************************************************** 6412 * IComThreadingInfo interface 6413 */ 6414 #ifndef __IComThreadingInfo_INTERFACE_DEFINED__ 6415 #define __IComThreadingInfo_INTERFACE_DEFINED__ 6416 6417 DEFINE_GUID(IID_IComThreadingInfo, 0x000001ce, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 6418 #if defined(__cplusplus) && !defined(CINTERFACE) 6419 MIDL_INTERFACE("000001ce-0000-0000-c000-000000000046") 6420 IComThreadingInfo : public IUnknown 6421 { 6422 virtual HRESULT STDMETHODCALLTYPE GetCurrentApartmentType( 6423 APTTYPE *pAptType) = 0; 6424 6425 virtual HRESULT STDMETHODCALLTYPE GetCurrentThreadType( 6426 THDTYPE *pThreadType) = 0; 6427 6428 virtual HRESULT STDMETHODCALLTYPE GetCurrentLogicalThreadId( 6429 GUID *pguidLogicalThreadId) = 0; 6430 6431 virtual HRESULT STDMETHODCALLTYPE SetCurrentLogicalThreadId( 6432 REFGUID rguid) = 0; 6433 6434 }; 6435 #ifdef __CRT_UUID_DECL 6436 __CRT_UUID_DECL(IComThreadingInfo, 0x000001ce, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 6437 #endif 6438 #else 6439 typedef struct IComThreadingInfoVtbl { 6440 BEGIN_INTERFACE 6441 6442 /*** IUnknown methods ***/ 6443 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6444 IComThreadingInfo *This, 6445 REFIID riid, 6446 void **ppvObject); 6447 6448 ULONG (STDMETHODCALLTYPE *AddRef)( 6449 IComThreadingInfo *This); 6450 6451 ULONG (STDMETHODCALLTYPE *Release)( 6452 IComThreadingInfo *This); 6453 6454 /*** IComThreadingInfo methods ***/ 6455 HRESULT (STDMETHODCALLTYPE *GetCurrentApartmentType)( 6456 IComThreadingInfo *This, 6457 APTTYPE *pAptType); 6458 6459 HRESULT (STDMETHODCALLTYPE *GetCurrentThreadType)( 6460 IComThreadingInfo *This, 6461 THDTYPE *pThreadType); 6462 6463 HRESULT (STDMETHODCALLTYPE *GetCurrentLogicalThreadId)( 6464 IComThreadingInfo *This, 6465 GUID *pguidLogicalThreadId); 6466 6467 HRESULT (STDMETHODCALLTYPE *SetCurrentLogicalThreadId)( 6468 IComThreadingInfo *This, 6469 REFGUID rguid); 6470 6471 END_INTERFACE 6472 } IComThreadingInfoVtbl; 6473 6474 interface IComThreadingInfo { 6475 CONST_VTBL IComThreadingInfoVtbl* lpVtbl; 6476 }; 6477 6478 #ifdef COBJMACROS 6479 #ifndef WIDL_C_INLINE_WRAPPERS 6480 /*** IUnknown methods ***/ 6481 #define IComThreadingInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6482 #define IComThreadingInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 6483 #define IComThreadingInfo_Release(This) (This)->lpVtbl->Release(This) 6484 /*** IComThreadingInfo methods ***/ 6485 #define IComThreadingInfo_GetCurrentApartmentType(This,pAptType) (This)->lpVtbl->GetCurrentApartmentType(This,pAptType) 6486 #define IComThreadingInfo_GetCurrentThreadType(This,pThreadType) (This)->lpVtbl->GetCurrentThreadType(This,pThreadType) 6487 #define IComThreadingInfo_GetCurrentLogicalThreadId(This,pguidLogicalThreadId) (This)->lpVtbl->GetCurrentLogicalThreadId(This,pguidLogicalThreadId) 6488 #define IComThreadingInfo_SetCurrentLogicalThreadId(This,rguid) (This)->lpVtbl->SetCurrentLogicalThreadId(This,rguid) 6489 #else 6490 /*** IUnknown methods ***/ 6491 static FORCEINLINE HRESULT IComThreadingInfo_QueryInterface(IComThreadingInfo* This,REFIID riid,void **ppvObject) { 6492 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6493 } 6494 static FORCEINLINE ULONG IComThreadingInfo_AddRef(IComThreadingInfo* This) { 6495 return This->lpVtbl->AddRef(This); 6496 } 6497 static FORCEINLINE ULONG IComThreadingInfo_Release(IComThreadingInfo* This) { 6498 return This->lpVtbl->Release(This); 6499 } 6500 /*** IComThreadingInfo methods ***/ 6501 static FORCEINLINE HRESULT IComThreadingInfo_GetCurrentApartmentType(IComThreadingInfo* This,APTTYPE *pAptType) { 6502 return This->lpVtbl->GetCurrentApartmentType(This,pAptType); 6503 } 6504 static FORCEINLINE HRESULT IComThreadingInfo_GetCurrentThreadType(IComThreadingInfo* This,THDTYPE *pThreadType) { 6505 return This->lpVtbl->GetCurrentThreadType(This,pThreadType); 6506 } 6507 static FORCEINLINE HRESULT IComThreadingInfo_GetCurrentLogicalThreadId(IComThreadingInfo* This,GUID *pguidLogicalThreadId) { 6508 return This->lpVtbl->GetCurrentLogicalThreadId(This,pguidLogicalThreadId); 6509 } 6510 static FORCEINLINE HRESULT IComThreadingInfo_SetCurrentLogicalThreadId(IComThreadingInfo* This,REFGUID rguid) { 6511 return This->lpVtbl->SetCurrentLogicalThreadId(This,rguid); 6512 } 6513 #endif 6514 #endif 6515 6516 #endif 6517 6518 6519 #endif /* __IComThreadingInfo_INTERFACE_DEFINED__ */ 6520 6521 6522 /***************************************************************************** 6523 * IProcessInitControl interface 6524 */ 6525 #ifndef __IProcessInitControl_INTERFACE_DEFINED__ 6526 #define __IProcessInitControl_INTERFACE_DEFINED__ 6527 6528 DEFINE_GUID(IID_IProcessInitControl, 0x72380d55, 0x8d2b, 0x43a3, 0x85,0x13, 0x2b,0x6e,0xf3,0x14,0x34,0xe9); 6529 #if defined(__cplusplus) && !defined(CINTERFACE) 6530 MIDL_INTERFACE("72380d55-8d2b-43a3-8513-2b6ef31434e9") 6531 IProcessInitControl : public IUnknown 6532 { 6533 virtual HRESULT STDMETHODCALLTYPE ResetInitializerTimeout( 6534 DWORD dwSecondsRemaining) = 0; 6535 6536 }; 6537 #ifdef __CRT_UUID_DECL 6538 __CRT_UUID_DECL(IProcessInitControl, 0x72380d55, 0x8d2b, 0x43a3, 0x85,0x13, 0x2b,0x6e,0xf3,0x14,0x34,0xe9) 6539 #endif 6540 #else 6541 typedef struct IProcessInitControlVtbl { 6542 BEGIN_INTERFACE 6543 6544 /*** IUnknown methods ***/ 6545 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6546 IProcessInitControl *This, 6547 REFIID riid, 6548 void **ppvObject); 6549 6550 ULONG (STDMETHODCALLTYPE *AddRef)( 6551 IProcessInitControl *This); 6552 6553 ULONG (STDMETHODCALLTYPE *Release)( 6554 IProcessInitControl *This); 6555 6556 /*** IProcessInitControl methods ***/ 6557 HRESULT (STDMETHODCALLTYPE *ResetInitializerTimeout)( 6558 IProcessInitControl *This, 6559 DWORD dwSecondsRemaining); 6560 6561 END_INTERFACE 6562 } IProcessInitControlVtbl; 6563 6564 interface IProcessInitControl { 6565 CONST_VTBL IProcessInitControlVtbl* lpVtbl; 6566 }; 6567 6568 #ifdef COBJMACROS 6569 #ifndef WIDL_C_INLINE_WRAPPERS 6570 /*** IUnknown methods ***/ 6571 #define IProcessInitControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6572 #define IProcessInitControl_AddRef(This) (This)->lpVtbl->AddRef(This) 6573 #define IProcessInitControl_Release(This) (This)->lpVtbl->Release(This) 6574 /*** IProcessInitControl methods ***/ 6575 #define IProcessInitControl_ResetInitializerTimeout(This,dwSecondsRemaining) (This)->lpVtbl->ResetInitializerTimeout(This,dwSecondsRemaining) 6576 #else 6577 /*** IUnknown methods ***/ 6578 static FORCEINLINE HRESULT IProcessInitControl_QueryInterface(IProcessInitControl* This,REFIID riid,void **ppvObject) { 6579 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6580 } 6581 static FORCEINLINE ULONG IProcessInitControl_AddRef(IProcessInitControl* This) { 6582 return This->lpVtbl->AddRef(This); 6583 } 6584 static FORCEINLINE ULONG IProcessInitControl_Release(IProcessInitControl* This) { 6585 return This->lpVtbl->Release(This); 6586 } 6587 /*** IProcessInitControl methods ***/ 6588 static FORCEINLINE HRESULT IProcessInitControl_ResetInitializerTimeout(IProcessInitControl* This,DWORD dwSecondsRemaining) { 6589 return This->lpVtbl->ResetInitializerTimeout(This,dwSecondsRemaining); 6590 } 6591 #endif 6592 #endif 6593 6594 #endif 6595 6596 6597 #endif /* __IProcessInitControl_INTERFACE_DEFINED__ */ 6598 6599 6600 /***************************************************************************** 6601 * IFastRundown interface 6602 */ 6603 #ifndef __IFastRundown_INTERFACE_DEFINED__ 6604 #define __IFastRundown_INTERFACE_DEFINED__ 6605 6606 DEFINE_GUID(IID_IFastRundown, 0x00000040, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 6607 #if defined(__cplusplus) && !defined(CINTERFACE) 6608 MIDL_INTERFACE("00000040-0000-0000-c000-000000000046") 6609 IFastRundown : public IUnknown 6610 { 6611 }; 6612 #ifdef __CRT_UUID_DECL 6613 __CRT_UUID_DECL(IFastRundown, 0x00000040, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 6614 #endif 6615 #else 6616 typedef struct IFastRundownVtbl { 6617 BEGIN_INTERFACE 6618 6619 /*** IUnknown methods ***/ 6620 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6621 IFastRundown *This, 6622 REFIID riid, 6623 void **ppvObject); 6624 6625 ULONG (STDMETHODCALLTYPE *AddRef)( 6626 IFastRundown *This); 6627 6628 ULONG (STDMETHODCALLTYPE *Release)( 6629 IFastRundown *This); 6630 6631 END_INTERFACE 6632 } IFastRundownVtbl; 6633 6634 interface IFastRundown { 6635 CONST_VTBL IFastRundownVtbl* lpVtbl; 6636 }; 6637 6638 #ifdef COBJMACROS 6639 #ifndef WIDL_C_INLINE_WRAPPERS 6640 /*** IUnknown methods ***/ 6641 #define IFastRundown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6642 #define IFastRundown_AddRef(This) (This)->lpVtbl->AddRef(This) 6643 #define IFastRundown_Release(This) (This)->lpVtbl->Release(This) 6644 #else 6645 /*** IUnknown methods ***/ 6646 static FORCEINLINE HRESULT IFastRundown_QueryInterface(IFastRundown* This,REFIID riid,void **ppvObject) { 6647 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6648 } 6649 static FORCEINLINE ULONG IFastRundown_AddRef(IFastRundown* This) { 6650 return This->lpVtbl->AddRef(This); 6651 } 6652 static FORCEINLINE ULONG IFastRundown_Release(IFastRundown* This) { 6653 return This->lpVtbl->Release(This); 6654 } 6655 #endif 6656 #endif 6657 6658 #endif 6659 6660 6661 #endif /* __IFastRundown_INTERFACE_DEFINED__ */ 6662 6663 6664 typedef enum CO_MARSHALING_CONTEXT_ATTRIBUTES { 6665 CO_MARSHALING_SOURCE_IS_APP_CONTAINER = 0 6666 } CO_MARSHALING_CONTEXT_ATTRIBUTES; 6667 6668 /***************************************************************************** 6669 * IMarshalingStream interface 6670 */ 6671 #ifndef __IMarshalingStream_INTERFACE_DEFINED__ 6672 #define __IMarshalingStream_INTERFACE_DEFINED__ 6673 6674 DEFINE_GUID(IID_IMarshalingStream, 0xd8f2f5e6, 0x6102, 0x4863, 0x9f,0x26, 0x38,0x9a,0x46,0x76,0xef,0xde); 6675 #if defined(__cplusplus) && !defined(CINTERFACE) 6676 MIDL_INTERFACE("d8f2f5e6-6102-4863-9f26-389a4676efde") 6677 IMarshalingStream : public IStream 6678 { 6679 virtual HRESULT STDMETHODCALLTYPE GetMarshalingContextAttribute( 6680 CO_MARSHALING_CONTEXT_ATTRIBUTES attribute, 6681 ULONG_PTR *pAttributeValue) = 0; 6682 6683 }; 6684 #ifdef __CRT_UUID_DECL 6685 __CRT_UUID_DECL(IMarshalingStream, 0xd8f2f5e6, 0x6102, 0x4863, 0x9f,0x26, 0x38,0x9a,0x46,0x76,0xef,0xde) 6686 #endif 6687 #else 6688 typedef struct IMarshalingStreamVtbl { 6689 BEGIN_INTERFACE 6690 6691 /*** IUnknown methods ***/ 6692 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6693 IMarshalingStream *This, 6694 REFIID riid, 6695 void **ppvObject); 6696 6697 ULONG (STDMETHODCALLTYPE *AddRef)( 6698 IMarshalingStream *This); 6699 6700 ULONG (STDMETHODCALLTYPE *Release)( 6701 IMarshalingStream *This); 6702 6703 /*** ISequentialStream methods ***/ 6704 HRESULT (STDMETHODCALLTYPE *Read)( 6705 IMarshalingStream *This, 6706 void *pv, 6707 ULONG cb, 6708 ULONG *pcbRead); 6709 6710 HRESULT (STDMETHODCALLTYPE *Write)( 6711 IMarshalingStream *This, 6712 const void *pv, 6713 ULONG cb, 6714 ULONG *pcbWritten); 6715 6716 /*** IStream methods ***/ 6717 HRESULT (STDMETHODCALLTYPE *Seek)( 6718 IMarshalingStream *This, 6719 LARGE_INTEGER dlibMove, 6720 DWORD dwOrigin, 6721 ULARGE_INTEGER *plibNewPosition); 6722 6723 HRESULT (STDMETHODCALLTYPE *SetSize)( 6724 IMarshalingStream *This, 6725 ULARGE_INTEGER libNewSize); 6726 6727 HRESULT (STDMETHODCALLTYPE *CopyTo)( 6728 IMarshalingStream *This, 6729 IStream *pstm, 6730 ULARGE_INTEGER cb, 6731 ULARGE_INTEGER *pcbRead, 6732 ULARGE_INTEGER *pcbWritten); 6733 6734 HRESULT (STDMETHODCALLTYPE *Commit)( 6735 IMarshalingStream *This, 6736 DWORD grfCommitFlags); 6737 6738 HRESULT (STDMETHODCALLTYPE *Revert)( 6739 IMarshalingStream *This); 6740 6741 HRESULT (STDMETHODCALLTYPE *LockRegion)( 6742 IMarshalingStream *This, 6743 ULARGE_INTEGER libOffset, 6744 ULARGE_INTEGER cb, 6745 DWORD dwLockType); 6746 6747 HRESULT (STDMETHODCALLTYPE *UnlockRegion)( 6748 IMarshalingStream *This, 6749 ULARGE_INTEGER libOffset, 6750 ULARGE_INTEGER cb, 6751 DWORD dwLockType); 6752 6753 HRESULT (STDMETHODCALLTYPE *Stat)( 6754 IMarshalingStream *This, 6755 STATSTG *pstatstg, 6756 DWORD grfStatFlag); 6757 6758 HRESULT (STDMETHODCALLTYPE *Clone)( 6759 IMarshalingStream *This, 6760 IStream **ppstm); 6761 6762 /*** IMarshalingStream methods ***/ 6763 HRESULT (STDMETHODCALLTYPE *GetMarshalingContextAttribute)( 6764 IMarshalingStream *This, 6765 CO_MARSHALING_CONTEXT_ATTRIBUTES attribute, 6766 ULONG_PTR *pAttributeValue); 6767 6768 END_INTERFACE 6769 } IMarshalingStreamVtbl; 6770 6771 interface IMarshalingStream { 6772 CONST_VTBL IMarshalingStreamVtbl* lpVtbl; 6773 }; 6774 6775 #ifdef COBJMACROS 6776 #ifndef WIDL_C_INLINE_WRAPPERS 6777 /*** IUnknown methods ***/ 6778 #define IMarshalingStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6779 #define IMarshalingStream_AddRef(This) (This)->lpVtbl->AddRef(This) 6780 #define IMarshalingStream_Release(This) (This)->lpVtbl->Release(This) 6781 /*** ISequentialStream methods ***/ 6782 #define IMarshalingStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) 6783 #define IMarshalingStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten) 6784 /*** IStream methods ***/ 6785 #define IMarshalingStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition) 6786 #define IMarshalingStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize) 6787 #define IMarshalingStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten) 6788 #define IMarshalingStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags) 6789 #define IMarshalingStream_Revert(This) (This)->lpVtbl->Revert(This) 6790 #define IMarshalingStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType) 6791 #define IMarshalingStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType) 6792 #define IMarshalingStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag) 6793 #define IMarshalingStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm) 6794 /*** IMarshalingStream methods ***/ 6795 #define IMarshalingStream_GetMarshalingContextAttribute(This,attribute,pAttributeValue) (This)->lpVtbl->GetMarshalingContextAttribute(This,attribute,pAttributeValue) 6796 #else 6797 /*** IUnknown methods ***/ 6798 static FORCEINLINE HRESULT IMarshalingStream_QueryInterface(IMarshalingStream* This,REFIID riid,void **ppvObject) { 6799 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6800 } 6801 static FORCEINLINE ULONG IMarshalingStream_AddRef(IMarshalingStream* This) { 6802 return This->lpVtbl->AddRef(This); 6803 } 6804 static FORCEINLINE ULONG IMarshalingStream_Release(IMarshalingStream* This) { 6805 return This->lpVtbl->Release(This); 6806 } 6807 /*** ISequentialStream methods ***/ 6808 static FORCEINLINE HRESULT IMarshalingStream_Read(IMarshalingStream* This,void *pv,ULONG cb,ULONG *pcbRead) { 6809 return This->lpVtbl->Read(This,pv,cb,pcbRead); 6810 } 6811 static FORCEINLINE HRESULT IMarshalingStream_Write(IMarshalingStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) { 6812 return This->lpVtbl->Write(This,pv,cb,pcbWritten); 6813 } 6814 /*** IStream methods ***/ 6815 static FORCEINLINE HRESULT IMarshalingStream_Seek(IMarshalingStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) { 6816 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition); 6817 } 6818 static FORCEINLINE HRESULT IMarshalingStream_SetSize(IMarshalingStream* This,ULARGE_INTEGER libNewSize) { 6819 return This->lpVtbl->SetSize(This,libNewSize); 6820 } 6821 static FORCEINLINE HRESULT IMarshalingStream_CopyTo(IMarshalingStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) { 6822 return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten); 6823 } 6824 static FORCEINLINE HRESULT IMarshalingStream_Commit(IMarshalingStream* This,DWORD grfCommitFlags) { 6825 return This->lpVtbl->Commit(This,grfCommitFlags); 6826 } 6827 static FORCEINLINE HRESULT IMarshalingStream_Revert(IMarshalingStream* This) { 6828 return This->lpVtbl->Revert(This); 6829 } 6830 static FORCEINLINE HRESULT IMarshalingStream_LockRegion(IMarshalingStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { 6831 return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType); 6832 } 6833 static FORCEINLINE HRESULT IMarshalingStream_UnlockRegion(IMarshalingStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { 6834 return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType); 6835 } 6836 static FORCEINLINE HRESULT IMarshalingStream_Stat(IMarshalingStream* This,STATSTG *pstatstg,DWORD grfStatFlag) { 6837 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag); 6838 } 6839 static FORCEINLINE HRESULT IMarshalingStream_Clone(IMarshalingStream* This,IStream **ppstm) { 6840 return This->lpVtbl->Clone(This,ppstm); 6841 } 6842 /*** IMarshalingStream methods ***/ 6843 static FORCEINLINE HRESULT IMarshalingStream_GetMarshalingContextAttribute(IMarshalingStream* This,CO_MARSHALING_CONTEXT_ATTRIBUTES attribute,ULONG_PTR *pAttributeValue) { 6844 return This->lpVtbl->GetMarshalingContextAttribute(This,attribute,pAttributeValue); 6845 } 6846 #endif 6847 #endif 6848 6849 #endif 6850 6851 6852 #endif /* __IMarshalingStream_INTERFACE_DEFINED__ */ 6853 6854 #endif 6855 6856 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 6857 EXTERN_C const GUID IID_ICallbackWithNoReentrancyToApplicationSTA; 6858 #endif 6859 #define _OBJIDLBASE_ 6860 #endif 6861 #ifndef __IMoniker_FWD_DEFINED__ 6862 #define __IMoniker_FWD_DEFINED__ 6863 typedef interface IMoniker IMoniker; 6864 #ifdef __cplusplus 6865 interface IMoniker; 6866 #endif /* __cplusplus */ 6867 #endif 6868 6869 #ifndef __IEnumMoniker_FWD_DEFINED__ 6870 #define __IEnumMoniker_FWD_DEFINED__ 6871 typedef interface IEnumMoniker IEnumMoniker; 6872 #ifdef __cplusplus 6873 interface IEnumMoniker; 6874 #endif /* __cplusplus */ 6875 #endif 6876 6877 #ifndef __IRunningObjectTable_FWD_DEFINED__ 6878 #define __IRunningObjectTable_FWD_DEFINED__ 6879 typedef interface IRunningObjectTable IRunningObjectTable; 6880 #ifdef __cplusplus 6881 interface IRunningObjectTable; 6882 #endif /* __cplusplus */ 6883 #endif 6884 6885 #ifndef __IStorage_FWD_DEFINED__ 6886 #define __IStorage_FWD_DEFINED__ 6887 typedef interface IStorage IStorage; 6888 #ifdef __cplusplus 6889 interface IStorage; 6890 #endif /* __cplusplus */ 6891 #endif 6892 6893 #ifndef __IEnumSTATSTG_FWD_DEFINED__ 6894 #define __IEnumSTATSTG_FWD_DEFINED__ 6895 typedef interface IEnumSTATSTG IEnumSTATSTG; 6896 #ifdef __cplusplus 6897 interface IEnumSTATSTG; 6898 #endif /* __cplusplus */ 6899 #endif 6900 6901 #ifndef __IAdviseSink_FWD_DEFINED__ 6902 #define __IAdviseSink_FWD_DEFINED__ 6903 typedef interface IAdviseSink IAdviseSink; 6904 #ifdef __cplusplus 6905 interface IAdviseSink; 6906 #endif /* __cplusplus */ 6907 #endif 6908 6909 #ifndef __IBindCtx_FWD_DEFINED__ 6910 #define __IBindCtx_FWD_DEFINED__ 6911 typedef interface IBindCtx IBindCtx; 6912 #ifdef __cplusplus 6913 interface IBindCtx; 6914 #endif /* __cplusplus */ 6915 #endif 6916 6917 #ifndef __IEnumMoniker_FWD_DEFINED__ 6918 #define __IEnumMoniker_FWD_DEFINED__ 6919 typedef interface IEnumMoniker IEnumMoniker; 6920 #ifdef __cplusplus 6921 interface IEnumMoniker; 6922 #endif /* __cplusplus */ 6923 #endif 6924 6925 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 6926 /***************************************************************************** 6927 * IMallocSpy interface 6928 */ 6929 #ifndef __IMallocSpy_INTERFACE_DEFINED__ 6930 #define __IMallocSpy_INTERFACE_DEFINED__ 6931 6932 typedef IMallocSpy *LPMALLOCSPY; 6933 DEFINE_GUID(IID_IMallocSpy, 0x0000001d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 6934 #if defined(__cplusplus) && !defined(CINTERFACE) 6935 MIDL_INTERFACE("0000001d-0000-0000-c000-000000000046") 6936 IMallocSpy : public IUnknown 6937 { 6938 virtual SIZE_T STDMETHODCALLTYPE PreAlloc( 6939 SIZE_T cbRequest) = 0; 6940 6941 virtual void * STDMETHODCALLTYPE PostAlloc( 6942 void *pActual) = 0; 6943 6944 virtual void * STDMETHODCALLTYPE PreFree( 6945 void *pRequest, 6946 WINBOOL fSpyed) = 0; 6947 6948 virtual void STDMETHODCALLTYPE PostFree( 6949 WINBOOL fSpyed) = 0; 6950 6951 virtual SIZE_T STDMETHODCALLTYPE PreRealloc( 6952 void *pRequest, 6953 SIZE_T cbRequest, 6954 void **ppNewRequest, 6955 WINBOOL fSpyed) = 0; 6956 6957 virtual void * STDMETHODCALLTYPE PostRealloc( 6958 void *pActual, 6959 WINBOOL fSpyed) = 0; 6960 6961 virtual void * STDMETHODCALLTYPE PreGetSize( 6962 void *pRequest, 6963 WINBOOL fSpyed) = 0; 6964 6965 virtual SIZE_T STDMETHODCALLTYPE PostGetSize( 6966 SIZE_T cbActual, 6967 WINBOOL fSpyed) = 0; 6968 6969 virtual void * STDMETHODCALLTYPE PreDidAlloc( 6970 void *pRequest, 6971 WINBOOL fSpyed) = 0; 6972 6973 virtual int STDMETHODCALLTYPE PostDidAlloc( 6974 void *pRequest, 6975 WINBOOL fSpyed, 6976 int fActual) = 0; 6977 6978 virtual void STDMETHODCALLTYPE PreHeapMinimize( 6979 ) = 0; 6980 6981 virtual void STDMETHODCALLTYPE PostHeapMinimize( 6982 ) = 0; 6983 6984 }; 6985 #ifdef __CRT_UUID_DECL 6986 __CRT_UUID_DECL(IMallocSpy, 0x0000001d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 6987 #endif 6988 #else 6989 typedef struct IMallocSpyVtbl { 6990 BEGIN_INTERFACE 6991 6992 /*** IUnknown methods ***/ 6993 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6994 IMallocSpy *This, 6995 REFIID riid, 6996 void **ppvObject); 6997 6998 ULONG (STDMETHODCALLTYPE *AddRef)( 6999 IMallocSpy *This); 7000 7001 ULONG (STDMETHODCALLTYPE *Release)( 7002 IMallocSpy *This); 7003 7004 /*** IMallocSpy methods ***/ 7005 SIZE_T (STDMETHODCALLTYPE *PreAlloc)( 7006 IMallocSpy *This, 7007 SIZE_T cbRequest); 7008 7009 void * (STDMETHODCALLTYPE *PostAlloc)( 7010 IMallocSpy *This, 7011 void *pActual); 7012 7013 void * (STDMETHODCALLTYPE *PreFree)( 7014 IMallocSpy *This, 7015 void *pRequest, 7016 WINBOOL fSpyed); 7017 7018 void (STDMETHODCALLTYPE *PostFree)( 7019 IMallocSpy *This, 7020 WINBOOL fSpyed); 7021 7022 SIZE_T (STDMETHODCALLTYPE *PreRealloc)( 7023 IMallocSpy *This, 7024 void *pRequest, 7025 SIZE_T cbRequest, 7026 void **ppNewRequest, 7027 WINBOOL fSpyed); 7028 7029 void * (STDMETHODCALLTYPE *PostRealloc)( 7030 IMallocSpy *This, 7031 void *pActual, 7032 WINBOOL fSpyed); 7033 7034 void * (STDMETHODCALLTYPE *PreGetSize)( 7035 IMallocSpy *This, 7036 void *pRequest, 7037 WINBOOL fSpyed); 7038 7039 SIZE_T (STDMETHODCALLTYPE *PostGetSize)( 7040 IMallocSpy *This, 7041 SIZE_T cbActual, 7042 WINBOOL fSpyed); 7043 7044 void * (STDMETHODCALLTYPE *PreDidAlloc)( 7045 IMallocSpy *This, 7046 void *pRequest, 7047 WINBOOL fSpyed); 7048 7049 int (STDMETHODCALLTYPE *PostDidAlloc)( 7050 IMallocSpy *This, 7051 void *pRequest, 7052 WINBOOL fSpyed, 7053 int fActual); 7054 7055 void (STDMETHODCALLTYPE *PreHeapMinimize)( 7056 IMallocSpy *This); 7057 7058 void (STDMETHODCALLTYPE *PostHeapMinimize)( 7059 IMallocSpy *This); 7060 7061 END_INTERFACE 7062 } IMallocSpyVtbl; 7063 7064 interface IMallocSpy { 7065 CONST_VTBL IMallocSpyVtbl* lpVtbl; 7066 }; 7067 7068 #ifdef COBJMACROS 7069 #ifndef WIDL_C_INLINE_WRAPPERS 7070 /*** IUnknown methods ***/ 7071 #define IMallocSpy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7072 #define IMallocSpy_AddRef(This) (This)->lpVtbl->AddRef(This) 7073 #define IMallocSpy_Release(This) (This)->lpVtbl->Release(This) 7074 /*** IMallocSpy methods ***/ 7075 #define IMallocSpy_PreAlloc(This,cbRequest) (This)->lpVtbl->PreAlloc(This,cbRequest) 7076 #define IMallocSpy_PostAlloc(This,pActual) (This)->lpVtbl->PostAlloc(This,pActual) 7077 #define IMallocSpy_PreFree(This,pRequest,fSpyed) (This)->lpVtbl->PreFree(This,pRequest,fSpyed) 7078 #define IMallocSpy_PostFree(This,fSpyed) (This)->lpVtbl->PostFree(This,fSpyed) 7079 #define IMallocSpy_PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed) (This)->lpVtbl->PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed) 7080 #define IMallocSpy_PostRealloc(This,pActual,fSpyed) (This)->lpVtbl->PostRealloc(This,pActual,fSpyed) 7081 #define IMallocSpy_PreGetSize(This,pRequest,fSpyed) (This)->lpVtbl->PreGetSize(This,pRequest,fSpyed) 7082 #define IMallocSpy_PostGetSize(This,cbActual,fSpyed) (This)->lpVtbl->PostGetSize(This,cbActual,fSpyed) 7083 #define IMallocSpy_PreDidAlloc(This,pRequest,fSpyed) (This)->lpVtbl->PreDidAlloc(This,pRequest,fSpyed) 7084 #define IMallocSpy_PostDidAlloc(This,pRequest,fSpyed,fActual) (This)->lpVtbl->PostDidAlloc(This,pRequest,fSpyed,fActual) 7085 #define IMallocSpy_PreHeapMinimize(This) (This)->lpVtbl->PreHeapMinimize(This) 7086 #define IMallocSpy_PostHeapMinimize(This) (This)->lpVtbl->PostHeapMinimize(This) 7087 #else 7088 /*** IUnknown methods ***/ 7089 static FORCEINLINE HRESULT IMallocSpy_QueryInterface(IMallocSpy* This,REFIID riid,void **ppvObject) { 7090 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7091 } 7092 static FORCEINLINE ULONG IMallocSpy_AddRef(IMallocSpy* This) { 7093 return This->lpVtbl->AddRef(This); 7094 } 7095 static FORCEINLINE ULONG IMallocSpy_Release(IMallocSpy* This) { 7096 return This->lpVtbl->Release(This); 7097 } 7098 /*** IMallocSpy methods ***/ 7099 static FORCEINLINE SIZE_T IMallocSpy_PreAlloc(IMallocSpy* This,SIZE_T cbRequest) { 7100 return This->lpVtbl->PreAlloc(This,cbRequest); 7101 } 7102 static FORCEINLINE void * IMallocSpy_PostAlloc(IMallocSpy* This,void *pActual) { 7103 return This->lpVtbl->PostAlloc(This,pActual); 7104 } 7105 static FORCEINLINE void * IMallocSpy_PreFree(IMallocSpy* This,void *pRequest,WINBOOL fSpyed) { 7106 return This->lpVtbl->PreFree(This,pRequest,fSpyed); 7107 } 7108 static FORCEINLINE void IMallocSpy_PostFree(IMallocSpy* This,WINBOOL fSpyed) { 7109 This->lpVtbl->PostFree(This,fSpyed); 7110 } 7111 static FORCEINLINE SIZE_T IMallocSpy_PreRealloc(IMallocSpy* This,void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed) { 7112 return This->lpVtbl->PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed); 7113 } 7114 static FORCEINLINE void * IMallocSpy_PostRealloc(IMallocSpy* This,void *pActual,WINBOOL fSpyed) { 7115 return This->lpVtbl->PostRealloc(This,pActual,fSpyed); 7116 } 7117 static FORCEINLINE void * IMallocSpy_PreGetSize(IMallocSpy* This,void *pRequest,WINBOOL fSpyed) { 7118 return This->lpVtbl->PreGetSize(This,pRequest,fSpyed); 7119 } 7120 static FORCEINLINE SIZE_T IMallocSpy_PostGetSize(IMallocSpy* This,SIZE_T cbActual,WINBOOL fSpyed) { 7121 return This->lpVtbl->PostGetSize(This,cbActual,fSpyed); 7122 } 7123 static FORCEINLINE void * IMallocSpy_PreDidAlloc(IMallocSpy* This,void *pRequest,WINBOOL fSpyed) { 7124 return This->lpVtbl->PreDidAlloc(This,pRequest,fSpyed); 7125 } 7126 static FORCEINLINE int IMallocSpy_PostDidAlloc(IMallocSpy* This,void *pRequest,WINBOOL fSpyed,int fActual) { 7127 return This->lpVtbl->PostDidAlloc(This,pRequest,fSpyed,fActual); 7128 } 7129 static FORCEINLINE void IMallocSpy_PreHeapMinimize(IMallocSpy* This) { 7130 This->lpVtbl->PreHeapMinimize(This); 7131 } 7132 static FORCEINLINE void IMallocSpy_PostHeapMinimize(IMallocSpy* This) { 7133 This->lpVtbl->PostHeapMinimize(This); 7134 } 7135 #endif 7136 #endif 7137 7138 #endif 7139 7140 7141 #endif /* __IMallocSpy_INTERFACE_DEFINED__ */ 7142 7143 #endif 7144 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 7145 /***************************************************************************** 7146 * IBindCtx interface 7147 */ 7148 #ifndef __IBindCtx_INTERFACE_DEFINED__ 7149 #define __IBindCtx_INTERFACE_DEFINED__ 7150 7151 typedef IBindCtx *LPBC; 7152 typedef IBindCtx *LPBINDCTX; 7153 #if defined(__cplusplus) 7154 typedef struct tagBIND_OPTS { 7155 DWORD cbStruct; 7156 DWORD grfFlags; 7157 DWORD grfMode; 7158 DWORD dwTickCountDeadline; 7159 } BIND_OPTS, *LPBIND_OPTS; 7160 #else 7161 typedef struct tagBIND_OPTS { 7162 DWORD cbStruct; 7163 DWORD grfFlags; 7164 DWORD grfMode; 7165 DWORD dwTickCountDeadline; 7166 } BIND_OPTS; 7167 typedef struct tagBIND_OPTS *LPBIND_OPTS; 7168 #endif 7169 #if defined(__cplusplus) 7170 typedef struct tagBIND_OPTS2 : tagBIND_OPTS { 7171 DWORD dwTrackFlags; 7172 DWORD dwClassContext; 7173 LCID locale; 7174 COSERVERINFO * pServerInfo; 7175 } BIND_OPTS2, * LPBIND_OPTS2; 7176 #else 7177 typedef struct tagBIND_OPTS2 { 7178 DWORD cbStruct; 7179 DWORD grfFlags; 7180 DWORD grfMode; 7181 DWORD dwTickCountDeadline; 7182 DWORD dwTrackFlags; 7183 DWORD dwClassContext; 7184 LCID locale; 7185 COSERVERINFO *pServerInfo; 7186 } BIND_OPTS2; 7187 typedef struct tagBIND_OPTS2 *LPBIND_OPTS2; 7188 #endif 7189 #if defined(__cplusplus) 7190 typedef struct tagBIND_OPTS3 : tagBIND_OPTS2 { 7191 HWND hwnd; 7192 } BIND_OPTS3, * LPBIND_OPTS3; 7193 #else 7194 typedef struct tagBIND_OPTS3 { 7195 DWORD cbStruct; 7196 DWORD grfFlags; 7197 DWORD grfMode; 7198 DWORD dwTickCountDeadline; 7199 DWORD dwTrackFlags; 7200 DWORD dwClassContext; 7201 LCID locale; 7202 COSERVERINFO *pServerInfo; 7203 HWND hwnd; 7204 } BIND_OPTS3; 7205 typedef struct tagBIND_OPTS3 *LPBIND_OPTS3; 7206 #endif 7207 typedef enum tagBIND_FLAGS { 7208 BIND_MAYBOTHERUSER = 1, 7209 BIND_JUSTTESTEXISTENCE = 2 7210 } BIND_FLAGS; 7211 DEFINE_GUID(IID_IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 7212 #if defined(__cplusplus) && !defined(CINTERFACE) 7213 MIDL_INTERFACE("0000000e-0000-0000-c000-000000000046") 7214 IBindCtx : public IUnknown 7215 { 7216 virtual HRESULT STDMETHODCALLTYPE RegisterObjectBound( 7217 IUnknown *punk) = 0; 7218 7219 virtual HRESULT STDMETHODCALLTYPE RevokeObjectBound( 7220 IUnknown *punk) = 0; 7221 7222 virtual HRESULT STDMETHODCALLTYPE ReleaseBoundObjects( 7223 ) = 0; 7224 7225 virtual HRESULT STDMETHODCALLTYPE SetBindOptions( 7226 BIND_OPTS *pbindopts) = 0; 7227 7228 virtual HRESULT STDMETHODCALLTYPE GetBindOptions( 7229 BIND_OPTS *pbindopts) = 0; 7230 7231 virtual HRESULT STDMETHODCALLTYPE GetRunningObjectTable( 7232 IRunningObjectTable **pprot) = 0; 7233 7234 virtual HRESULT STDMETHODCALLTYPE RegisterObjectParam( 7235 LPOLESTR pszKey, 7236 IUnknown *punk) = 0; 7237 7238 virtual HRESULT STDMETHODCALLTYPE GetObjectParam( 7239 LPOLESTR pszKey, 7240 IUnknown **ppunk) = 0; 7241 7242 virtual HRESULT STDMETHODCALLTYPE EnumObjectParam( 7243 IEnumString **ppenum) = 0; 7244 7245 virtual HRESULT STDMETHODCALLTYPE RevokeObjectParam( 7246 LPOLESTR pszKey) = 0; 7247 7248 }; 7249 #ifdef __CRT_UUID_DECL 7250 __CRT_UUID_DECL(IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 7251 #endif 7252 #else 7253 typedef struct IBindCtxVtbl { 7254 BEGIN_INTERFACE 7255 7256 /*** IUnknown methods ***/ 7257 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7258 IBindCtx *This, 7259 REFIID riid, 7260 void **ppvObject); 7261 7262 ULONG (STDMETHODCALLTYPE *AddRef)( 7263 IBindCtx *This); 7264 7265 ULONG (STDMETHODCALLTYPE *Release)( 7266 IBindCtx *This); 7267 7268 /*** IBindCtx methods ***/ 7269 HRESULT (STDMETHODCALLTYPE *RegisterObjectBound)( 7270 IBindCtx *This, 7271 IUnknown *punk); 7272 7273 HRESULT (STDMETHODCALLTYPE *RevokeObjectBound)( 7274 IBindCtx *This, 7275 IUnknown *punk); 7276 7277 HRESULT (STDMETHODCALLTYPE *ReleaseBoundObjects)( 7278 IBindCtx *This); 7279 7280 HRESULT (STDMETHODCALLTYPE *SetBindOptions)( 7281 IBindCtx *This, 7282 BIND_OPTS *pbindopts); 7283 7284 HRESULT (STDMETHODCALLTYPE *GetBindOptions)( 7285 IBindCtx *This, 7286 BIND_OPTS *pbindopts); 7287 7288 HRESULT (STDMETHODCALLTYPE *GetRunningObjectTable)( 7289 IBindCtx *This, 7290 IRunningObjectTable **pprot); 7291 7292 HRESULT (STDMETHODCALLTYPE *RegisterObjectParam)( 7293 IBindCtx *This, 7294 LPOLESTR pszKey, 7295 IUnknown *punk); 7296 7297 HRESULT (STDMETHODCALLTYPE *GetObjectParam)( 7298 IBindCtx *This, 7299 LPOLESTR pszKey, 7300 IUnknown **ppunk); 7301 7302 HRESULT (STDMETHODCALLTYPE *EnumObjectParam)( 7303 IBindCtx *This, 7304 IEnumString **ppenum); 7305 7306 HRESULT (STDMETHODCALLTYPE *RevokeObjectParam)( 7307 IBindCtx *This, 7308 LPOLESTR pszKey); 7309 7310 END_INTERFACE 7311 } IBindCtxVtbl; 7312 7313 interface IBindCtx { 7314 CONST_VTBL IBindCtxVtbl* lpVtbl; 7315 }; 7316 7317 #ifdef COBJMACROS 7318 #ifndef WIDL_C_INLINE_WRAPPERS 7319 /*** IUnknown methods ***/ 7320 #define IBindCtx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7321 #define IBindCtx_AddRef(This) (This)->lpVtbl->AddRef(This) 7322 #define IBindCtx_Release(This) (This)->lpVtbl->Release(This) 7323 /*** IBindCtx methods ***/ 7324 #define IBindCtx_RegisterObjectBound(This,punk) (This)->lpVtbl->RegisterObjectBound(This,punk) 7325 #define IBindCtx_RevokeObjectBound(This,punk) (This)->lpVtbl->RevokeObjectBound(This,punk) 7326 #define IBindCtx_ReleaseBoundObjects(This) (This)->lpVtbl->ReleaseBoundObjects(This) 7327 #define IBindCtx_SetBindOptions(This,pbindopts) (This)->lpVtbl->SetBindOptions(This,pbindopts) 7328 #define IBindCtx_GetBindOptions(This,pbindopts) (This)->lpVtbl->GetBindOptions(This,pbindopts) 7329 #define IBindCtx_GetRunningObjectTable(This,pprot) (This)->lpVtbl->GetRunningObjectTable(This,pprot) 7330 #define IBindCtx_RegisterObjectParam(This,pszKey,punk) (This)->lpVtbl->RegisterObjectParam(This,pszKey,punk) 7331 #define IBindCtx_GetObjectParam(This,pszKey,ppunk) (This)->lpVtbl->GetObjectParam(This,pszKey,ppunk) 7332 #define IBindCtx_EnumObjectParam(This,ppenum) (This)->lpVtbl->EnumObjectParam(This,ppenum) 7333 #define IBindCtx_RevokeObjectParam(This,pszKey) (This)->lpVtbl->RevokeObjectParam(This,pszKey) 7334 #else 7335 /*** IUnknown methods ***/ 7336 static FORCEINLINE HRESULT IBindCtx_QueryInterface(IBindCtx* This,REFIID riid,void **ppvObject) { 7337 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7338 } 7339 static FORCEINLINE ULONG IBindCtx_AddRef(IBindCtx* This) { 7340 return This->lpVtbl->AddRef(This); 7341 } 7342 static FORCEINLINE ULONG IBindCtx_Release(IBindCtx* This) { 7343 return This->lpVtbl->Release(This); 7344 } 7345 /*** IBindCtx methods ***/ 7346 static FORCEINLINE HRESULT IBindCtx_RegisterObjectBound(IBindCtx* This,IUnknown *punk) { 7347 return This->lpVtbl->RegisterObjectBound(This,punk); 7348 } 7349 static FORCEINLINE HRESULT IBindCtx_RevokeObjectBound(IBindCtx* This,IUnknown *punk) { 7350 return This->lpVtbl->RevokeObjectBound(This,punk); 7351 } 7352 static FORCEINLINE HRESULT IBindCtx_ReleaseBoundObjects(IBindCtx* This) { 7353 return This->lpVtbl->ReleaseBoundObjects(This); 7354 } 7355 static FORCEINLINE HRESULT IBindCtx_SetBindOptions(IBindCtx* This,BIND_OPTS *pbindopts) { 7356 return This->lpVtbl->SetBindOptions(This,pbindopts); 7357 } 7358 static FORCEINLINE HRESULT IBindCtx_GetBindOptions(IBindCtx* This,BIND_OPTS *pbindopts) { 7359 return This->lpVtbl->GetBindOptions(This,pbindopts); 7360 } 7361 static FORCEINLINE HRESULT IBindCtx_GetRunningObjectTable(IBindCtx* This,IRunningObjectTable **pprot) { 7362 return This->lpVtbl->GetRunningObjectTable(This,pprot); 7363 } 7364 static FORCEINLINE HRESULT IBindCtx_RegisterObjectParam(IBindCtx* This,LPOLESTR pszKey,IUnknown *punk) { 7365 return This->lpVtbl->RegisterObjectParam(This,pszKey,punk); 7366 } 7367 static FORCEINLINE HRESULT IBindCtx_GetObjectParam(IBindCtx* This,LPOLESTR pszKey,IUnknown **ppunk) { 7368 return This->lpVtbl->GetObjectParam(This,pszKey,ppunk); 7369 } 7370 static FORCEINLINE HRESULT IBindCtx_EnumObjectParam(IBindCtx* This,IEnumString **ppenum) { 7371 return This->lpVtbl->EnumObjectParam(This,ppenum); 7372 } 7373 static FORCEINLINE HRESULT IBindCtx_RevokeObjectParam(IBindCtx* This,LPOLESTR pszKey) { 7374 return This->lpVtbl->RevokeObjectParam(This,pszKey); 7375 } 7376 #endif 7377 #endif 7378 7379 #endif 7380 7381 HRESULT STDMETHODCALLTYPE IBindCtx_RemoteSetBindOptions_Proxy( 7382 IBindCtx* This, 7383 BIND_OPTS2 *pbindopts); 7384 void __RPC_STUB IBindCtx_RemoteSetBindOptions_Stub( 7385 IRpcStubBuffer* This, 7386 IRpcChannelBuffer* pRpcChannelBuffer, 7387 PRPC_MESSAGE pRpcMessage, 7388 DWORD* pdwStubPhase); 7389 HRESULT STDMETHODCALLTYPE IBindCtx_RemoteGetBindOptions_Proxy( 7390 IBindCtx* This, 7391 BIND_OPTS2 *pbindopts); 7392 void __RPC_STUB IBindCtx_RemoteGetBindOptions_Stub( 7393 IRpcStubBuffer* This, 7394 IRpcChannelBuffer* pRpcChannelBuffer, 7395 PRPC_MESSAGE pRpcMessage, 7396 DWORD* pdwStubPhase); 7397 HRESULT CALLBACK IBindCtx_SetBindOptions_Proxy( 7398 IBindCtx* This, 7399 BIND_OPTS *pbindopts); 7400 HRESULT __RPC_STUB IBindCtx_SetBindOptions_Stub( 7401 IBindCtx* This, 7402 BIND_OPTS2 *pbindopts); 7403 HRESULT CALLBACK IBindCtx_GetBindOptions_Proxy( 7404 IBindCtx* This, 7405 BIND_OPTS *pbindopts); 7406 HRESULT __RPC_STUB IBindCtx_GetBindOptions_Stub( 7407 IBindCtx* This, 7408 BIND_OPTS2 *pbindopts); 7409 7410 #endif /* __IBindCtx_INTERFACE_DEFINED__ */ 7411 7412 /***************************************************************************** 7413 * IEnumMoniker interface 7414 */ 7415 #ifndef __IEnumMoniker_INTERFACE_DEFINED__ 7416 #define __IEnumMoniker_INTERFACE_DEFINED__ 7417 7418 typedef IEnumMoniker *LPENUMMONIKER; 7419 DEFINE_GUID(IID_IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 7420 #if defined(__cplusplus) && !defined(CINTERFACE) 7421 MIDL_INTERFACE("00000102-0000-0000-c000-000000000046") 7422 IEnumMoniker : public IUnknown 7423 { 7424 virtual HRESULT STDMETHODCALLTYPE Next( 7425 ULONG celt, 7426 IMoniker **rgelt, 7427 ULONG *pceltFetched) = 0; 7428 7429 virtual HRESULT STDMETHODCALLTYPE Skip( 7430 ULONG celt) = 0; 7431 7432 virtual HRESULT STDMETHODCALLTYPE Reset( 7433 ) = 0; 7434 7435 virtual HRESULT STDMETHODCALLTYPE Clone( 7436 IEnumMoniker **ppenum) = 0; 7437 7438 }; 7439 #ifdef __CRT_UUID_DECL 7440 __CRT_UUID_DECL(IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 7441 #endif 7442 #else 7443 typedef struct IEnumMonikerVtbl { 7444 BEGIN_INTERFACE 7445 7446 /*** IUnknown methods ***/ 7447 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7448 IEnumMoniker *This, 7449 REFIID riid, 7450 void **ppvObject); 7451 7452 ULONG (STDMETHODCALLTYPE *AddRef)( 7453 IEnumMoniker *This); 7454 7455 ULONG (STDMETHODCALLTYPE *Release)( 7456 IEnumMoniker *This); 7457 7458 /*** IEnumMoniker methods ***/ 7459 HRESULT (STDMETHODCALLTYPE *Next)( 7460 IEnumMoniker *This, 7461 ULONG celt, 7462 IMoniker **rgelt, 7463 ULONG *pceltFetched); 7464 7465 HRESULT (STDMETHODCALLTYPE *Skip)( 7466 IEnumMoniker *This, 7467 ULONG celt); 7468 7469 HRESULT (STDMETHODCALLTYPE *Reset)( 7470 IEnumMoniker *This); 7471 7472 HRESULT (STDMETHODCALLTYPE *Clone)( 7473 IEnumMoniker *This, 7474 IEnumMoniker **ppenum); 7475 7476 END_INTERFACE 7477 } IEnumMonikerVtbl; 7478 7479 interface IEnumMoniker { 7480 CONST_VTBL IEnumMonikerVtbl* lpVtbl; 7481 }; 7482 7483 #ifdef COBJMACROS 7484 #ifndef WIDL_C_INLINE_WRAPPERS 7485 /*** IUnknown methods ***/ 7486 #define IEnumMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7487 #define IEnumMoniker_AddRef(This) (This)->lpVtbl->AddRef(This) 7488 #define IEnumMoniker_Release(This) (This)->lpVtbl->Release(This) 7489 /*** IEnumMoniker methods ***/ 7490 #define IEnumMoniker_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 7491 #define IEnumMoniker_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 7492 #define IEnumMoniker_Reset(This) (This)->lpVtbl->Reset(This) 7493 #define IEnumMoniker_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 7494 #else 7495 /*** IUnknown methods ***/ 7496 static FORCEINLINE HRESULT IEnumMoniker_QueryInterface(IEnumMoniker* This,REFIID riid,void **ppvObject) { 7497 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7498 } 7499 static FORCEINLINE ULONG IEnumMoniker_AddRef(IEnumMoniker* This) { 7500 return This->lpVtbl->AddRef(This); 7501 } 7502 static FORCEINLINE ULONG IEnumMoniker_Release(IEnumMoniker* This) { 7503 return This->lpVtbl->Release(This); 7504 } 7505 /*** IEnumMoniker methods ***/ 7506 static FORCEINLINE HRESULT IEnumMoniker_Next(IEnumMoniker* This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched) { 7507 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 7508 } 7509 static FORCEINLINE HRESULT IEnumMoniker_Skip(IEnumMoniker* This,ULONG celt) { 7510 return This->lpVtbl->Skip(This,celt); 7511 } 7512 static FORCEINLINE HRESULT IEnumMoniker_Reset(IEnumMoniker* This) { 7513 return This->lpVtbl->Reset(This); 7514 } 7515 static FORCEINLINE HRESULT IEnumMoniker_Clone(IEnumMoniker* This,IEnumMoniker **ppenum) { 7516 return This->lpVtbl->Clone(This,ppenum); 7517 } 7518 #endif 7519 #endif 7520 7521 #endif 7522 7523 HRESULT STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Proxy( 7524 IEnumMoniker* This, 7525 ULONG celt, 7526 IMoniker **rgelt, 7527 ULONG *pceltFetched); 7528 void __RPC_STUB IEnumMoniker_RemoteNext_Stub( 7529 IRpcStubBuffer* This, 7530 IRpcChannelBuffer* pRpcChannelBuffer, 7531 PRPC_MESSAGE pRpcMessage, 7532 DWORD* pdwStubPhase); 7533 HRESULT CALLBACK IEnumMoniker_Next_Proxy( 7534 IEnumMoniker* This, 7535 ULONG celt, 7536 IMoniker **rgelt, 7537 ULONG *pceltFetched); 7538 HRESULT __RPC_STUB IEnumMoniker_Next_Stub( 7539 IEnumMoniker* This, 7540 ULONG celt, 7541 IMoniker **rgelt, 7542 ULONG *pceltFetched); 7543 7544 #endif /* __IEnumMoniker_INTERFACE_DEFINED__ */ 7545 7546 #endif 7547 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 7548 /***************************************************************************** 7549 * IRunnableObject interface 7550 */ 7551 #ifndef __IRunnableObject_INTERFACE_DEFINED__ 7552 #define __IRunnableObject_INTERFACE_DEFINED__ 7553 7554 typedef IRunnableObject *LPRUNNABLEOBJECT; 7555 DEFINE_GUID(IID_IRunnableObject, 0x00000126, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 7556 #if defined(__cplusplus) && !defined(CINTERFACE) 7557 MIDL_INTERFACE("00000126-0000-0000-c000-000000000046") 7558 IRunnableObject : public IUnknown 7559 { 7560 virtual HRESULT STDMETHODCALLTYPE GetRunningClass( 7561 LPCLSID lpClsid) = 0; 7562 7563 virtual HRESULT STDMETHODCALLTYPE Run( 7564 LPBINDCTX pbc) = 0; 7565 7566 virtual WINBOOL STDMETHODCALLTYPE IsRunning( 7567 ) = 0; 7568 7569 virtual HRESULT STDMETHODCALLTYPE LockRunning( 7570 WINBOOL fLock, 7571 WINBOOL fLastUnlockCloses) = 0; 7572 7573 virtual HRESULT STDMETHODCALLTYPE SetContainedObject( 7574 WINBOOL fContained) = 0; 7575 7576 }; 7577 #ifdef __CRT_UUID_DECL 7578 __CRT_UUID_DECL(IRunnableObject, 0x00000126, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 7579 #endif 7580 #else 7581 typedef struct IRunnableObjectVtbl { 7582 BEGIN_INTERFACE 7583 7584 /*** IUnknown methods ***/ 7585 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7586 IRunnableObject *This, 7587 REFIID riid, 7588 void **ppvObject); 7589 7590 ULONG (STDMETHODCALLTYPE *AddRef)( 7591 IRunnableObject *This); 7592 7593 ULONG (STDMETHODCALLTYPE *Release)( 7594 IRunnableObject *This); 7595 7596 /*** IRunnableObject methods ***/ 7597 HRESULT (STDMETHODCALLTYPE *GetRunningClass)( 7598 IRunnableObject *This, 7599 LPCLSID lpClsid); 7600 7601 HRESULT (STDMETHODCALLTYPE *Run)( 7602 IRunnableObject *This, 7603 LPBINDCTX pbc); 7604 7605 WINBOOL (STDMETHODCALLTYPE *IsRunning)( 7606 IRunnableObject *This); 7607 7608 HRESULT (STDMETHODCALLTYPE *LockRunning)( 7609 IRunnableObject *This, 7610 WINBOOL fLock, 7611 WINBOOL fLastUnlockCloses); 7612 7613 HRESULT (STDMETHODCALLTYPE *SetContainedObject)( 7614 IRunnableObject *This, 7615 WINBOOL fContained); 7616 7617 END_INTERFACE 7618 } IRunnableObjectVtbl; 7619 7620 interface IRunnableObject { 7621 CONST_VTBL IRunnableObjectVtbl* lpVtbl; 7622 }; 7623 7624 #ifdef COBJMACROS 7625 #ifndef WIDL_C_INLINE_WRAPPERS 7626 /*** IUnknown methods ***/ 7627 #define IRunnableObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7628 #define IRunnableObject_AddRef(This) (This)->lpVtbl->AddRef(This) 7629 #define IRunnableObject_Release(This) (This)->lpVtbl->Release(This) 7630 /*** IRunnableObject methods ***/ 7631 #define IRunnableObject_GetRunningClass(This,lpClsid) (This)->lpVtbl->GetRunningClass(This,lpClsid) 7632 #define IRunnableObject_Run(This,pbc) (This)->lpVtbl->Run(This,pbc) 7633 #define IRunnableObject_IsRunning(This) (This)->lpVtbl->IsRunning(This) 7634 #define IRunnableObject_LockRunning(This,fLock,fLastUnlockCloses) (This)->lpVtbl->LockRunning(This,fLock,fLastUnlockCloses) 7635 #define IRunnableObject_SetContainedObject(This,fContained) (This)->lpVtbl->SetContainedObject(This,fContained) 7636 #else 7637 /*** IUnknown methods ***/ 7638 static FORCEINLINE HRESULT IRunnableObject_QueryInterface(IRunnableObject* This,REFIID riid,void **ppvObject) { 7639 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7640 } 7641 static FORCEINLINE ULONG IRunnableObject_AddRef(IRunnableObject* This) { 7642 return This->lpVtbl->AddRef(This); 7643 } 7644 static FORCEINLINE ULONG IRunnableObject_Release(IRunnableObject* This) { 7645 return This->lpVtbl->Release(This); 7646 } 7647 /*** IRunnableObject methods ***/ 7648 static FORCEINLINE HRESULT IRunnableObject_GetRunningClass(IRunnableObject* This,LPCLSID lpClsid) { 7649 return This->lpVtbl->GetRunningClass(This,lpClsid); 7650 } 7651 static FORCEINLINE HRESULT IRunnableObject_Run(IRunnableObject* This,LPBINDCTX pbc) { 7652 return This->lpVtbl->Run(This,pbc); 7653 } 7654 static FORCEINLINE WINBOOL IRunnableObject_IsRunning(IRunnableObject* This) { 7655 return This->lpVtbl->IsRunning(This); 7656 } 7657 static FORCEINLINE HRESULT IRunnableObject_LockRunning(IRunnableObject* This,WINBOOL fLock,WINBOOL fLastUnlockCloses) { 7658 return This->lpVtbl->LockRunning(This,fLock,fLastUnlockCloses); 7659 } 7660 static FORCEINLINE HRESULT IRunnableObject_SetContainedObject(IRunnableObject* This,WINBOOL fContained) { 7661 return This->lpVtbl->SetContainedObject(This,fContained); 7662 } 7663 #endif 7664 #endif 7665 7666 #endif 7667 7668 HRESULT STDMETHODCALLTYPE IRunnableObject_RemoteIsRunning_Proxy( 7669 IRunnableObject* This); 7670 void __RPC_STUB IRunnableObject_RemoteIsRunning_Stub( 7671 IRpcStubBuffer* This, 7672 IRpcChannelBuffer* pRpcChannelBuffer, 7673 PRPC_MESSAGE pRpcMessage, 7674 DWORD* pdwStubPhase); 7675 WINBOOL CALLBACK IRunnableObject_IsRunning_Proxy( 7676 IRunnableObject* This); 7677 HRESULT __RPC_STUB IRunnableObject_IsRunning_Stub( 7678 IRunnableObject* This); 7679 7680 #endif /* __IRunnableObject_INTERFACE_DEFINED__ */ 7681 7682 /***************************************************************************** 7683 * IRunningObjectTable interface 7684 */ 7685 #ifndef __IRunningObjectTable_INTERFACE_DEFINED__ 7686 #define __IRunningObjectTable_INTERFACE_DEFINED__ 7687 7688 typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE; 7689 DEFINE_GUID(IID_IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 7690 #if defined(__cplusplus) && !defined(CINTERFACE) 7691 MIDL_INTERFACE("00000010-0000-0000-c000-000000000046") 7692 IRunningObjectTable : public IUnknown 7693 { 7694 virtual HRESULT STDMETHODCALLTYPE Register( 7695 DWORD grfFlags, 7696 IUnknown *punkObject, 7697 IMoniker *pmkObjectName, 7698 DWORD *pdwRegister) = 0; 7699 7700 virtual HRESULT STDMETHODCALLTYPE Revoke( 7701 DWORD dwRegister) = 0; 7702 7703 virtual HRESULT STDMETHODCALLTYPE IsRunning( 7704 IMoniker *pmkObjectName) = 0; 7705 7706 virtual HRESULT STDMETHODCALLTYPE GetObject( 7707 IMoniker *pmkObjectName, 7708 IUnknown **ppunkObject) = 0; 7709 7710 virtual HRESULT STDMETHODCALLTYPE NoteChangeTime( 7711 DWORD dwRegister, 7712 FILETIME *pfiletime) = 0; 7713 7714 virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange( 7715 IMoniker *pmkObjectName, 7716 FILETIME *pfiletime) = 0; 7717 7718 virtual HRESULT STDMETHODCALLTYPE EnumRunning( 7719 IEnumMoniker **ppenumMoniker) = 0; 7720 7721 }; 7722 #ifdef __CRT_UUID_DECL 7723 __CRT_UUID_DECL(IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 7724 #endif 7725 #else 7726 typedef struct IRunningObjectTableVtbl { 7727 BEGIN_INTERFACE 7728 7729 /*** IUnknown methods ***/ 7730 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7731 IRunningObjectTable *This, 7732 REFIID riid, 7733 void **ppvObject); 7734 7735 ULONG (STDMETHODCALLTYPE *AddRef)( 7736 IRunningObjectTable *This); 7737 7738 ULONG (STDMETHODCALLTYPE *Release)( 7739 IRunningObjectTable *This); 7740 7741 /*** IRunningObjectTable methods ***/ 7742 HRESULT (STDMETHODCALLTYPE *Register)( 7743 IRunningObjectTable *This, 7744 DWORD grfFlags, 7745 IUnknown *punkObject, 7746 IMoniker *pmkObjectName, 7747 DWORD *pdwRegister); 7748 7749 HRESULT (STDMETHODCALLTYPE *Revoke)( 7750 IRunningObjectTable *This, 7751 DWORD dwRegister); 7752 7753 HRESULT (STDMETHODCALLTYPE *IsRunning)( 7754 IRunningObjectTable *This, 7755 IMoniker *pmkObjectName); 7756 7757 HRESULT (STDMETHODCALLTYPE *GetObject)( 7758 IRunningObjectTable *This, 7759 IMoniker *pmkObjectName, 7760 IUnknown **ppunkObject); 7761 7762 HRESULT (STDMETHODCALLTYPE *NoteChangeTime)( 7763 IRunningObjectTable *This, 7764 DWORD dwRegister, 7765 FILETIME *pfiletime); 7766 7767 HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)( 7768 IRunningObjectTable *This, 7769 IMoniker *pmkObjectName, 7770 FILETIME *pfiletime); 7771 7772 HRESULT (STDMETHODCALLTYPE *EnumRunning)( 7773 IRunningObjectTable *This, 7774 IEnumMoniker **ppenumMoniker); 7775 7776 END_INTERFACE 7777 } IRunningObjectTableVtbl; 7778 7779 interface IRunningObjectTable { 7780 CONST_VTBL IRunningObjectTableVtbl* lpVtbl; 7781 }; 7782 7783 #ifdef COBJMACROS 7784 #ifndef WIDL_C_INLINE_WRAPPERS 7785 /*** IUnknown methods ***/ 7786 #define IRunningObjectTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7787 #define IRunningObjectTable_AddRef(This) (This)->lpVtbl->AddRef(This) 7788 #define IRunningObjectTable_Release(This) (This)->lpVtbl->Release(This) 7789 /*** IRunningObjectTable methods ***/ 7790 #define IRunningObjectTable_Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister) (This)->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister) 7791 #define IRunningObjectTable_Revoke(This,dwRegister) (This)->lpVtbl->Revoke(This,dwRegister) 7792 #define IRunningObjectTable_IsRunning(This,pmkObjectName) (This)->lpVtbl->IsRunning(This,pmkObjectName) 7793 #define IRunningObjectTable_GetObject(This,pmkObjectName,ppunkObject) (This)->lpVtbl->GetObject(This,pmkObjectName,ppunkObject) 7794 #define IRunningObjectTable_NoteChangeTime(This,dwRegister,pfiletime) (This)->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime) 7795 #define IRunningObjectTable_GetTimeOfLastChange(This,pmkObjectName,pfiletime) (This)->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime) 7796 #define IRunningObjectTable_EnumRunning(This,ppenumMoniker) (This)->lpVtbl->EnumRunning(This,ppenumMoniker) 7797 #else 7798 /*** IUnknown methods ***/ 7799 static FORCEINLINE HRESULT IRunningObjectTable_QueryInterface(IRunningObjectTable* This,REFIID riid,void **ppvObject) { 7800 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7801 } 7802 static FORCEINLINE ULONG IRunningObjectTable_AddRef(IRunningObjectTable* This) { 7803 return This->lpVtbl->AddRef(This); 7804 } 7805 static FORCEINLINE ULONG IRunningObjectTable_Release(IRunningObjectTable* This) { 7806 return This->lpVtbl->Release(This); 7807 } 7808 /*** IRunningObjectTable methods ***/ 7809 static FORCEINLINE HRESULT IRunningObjectTable_Register(IRunningObjectTable* This,DWORD grfFlags,IUnknown *punkObject,IMoniker *pmkObjectName,DWORD *pdwRegister) { 7810 return This->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister); 7811 } 7812 static FORCEINLINE HRESULT IRunningObjectTable_Revoke(IRunningObjectTable* This,DWORD dwRegister) { 7813 return This->lpVtbl->Revoke(This,dwRegister); 7814 } 7815 static FORCEINLINE HRESULT IRunningObjectTable_IsRunning(IRunningObjectTable* This,IMoniker *pmkObjectName) { 7816 return This->lpVtbl->IsRunning(This,pmkObjectName); 7817 } 7818 static FORCEINLINE HRESULT IRunningObjectTable_GetObject(IRunningObjectTable* This,IMoniker *pmkObjectName,IUnknown **ppunkObject) { 7819 return This->lpVtbl->GetObject(This,pmkObjectName,ppunkObject); 7820 } 7821 static FORCEINLINE HRESULT IRunningObjectTable_NoteChangeTime(IRunningObjectTable* This,DWORD dwRegister,FILETIME *pfiletime) { 7822 return This->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime); 7823 } 7824 static FORCEINLINE HRESULT IRunningObjectTable_GetTimeOfLastChange(IRunningObjectTable* This,IMoniker *pmkObjectName,FILETIME *pfiletime) { 7825 return This->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime); 7826 } 7827 static FORCEINLINE HRESULT IRunningObjectTable_EnumRunning(IRunningObjectTable* This,IEnumMoniker **ppenumMoniker) { 7828 return This->lpVtbl->EnumRunning(This,ppenumMoniker); 7829 } 7830 #endif 7831 #endif 7832 7833 #endif 7834 7835 7836 #endif /* __IRunningObjectTable_INTERFACE_DEFINED__ */ 7837 7838 #endif 7839 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 7840 /***************************************************************************** 7841 * IPersist interface 7842 */ 7843 #ifndef __IPersist_INTERFACE_DEFINED__ 7844 #define __IPersist_INTERFACE_DEFINED__ 7845 7846 typedef IPersist *LPPERSIST; 7847 DEFINE_GUID(IID_IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 7848 #if defined(__cplusplus) && !defined(CINTERFACE) 7849 MIDL_INTERFACE("0000010c-0000-0000-c000-000000000046") 7850 IPersist : public IUnknown 7851 { 7852 virtual HRESULT STDMETHODCALLTYPE GetClassID( 7853 CLSID *pClassID) = 0; 7854 7855 }; 7856 #ifdef __CRT_UUID_DECL 7857 __CRT_UUID_DECL(IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 7858 #endif 7859 #else 7860 typedef struct IPersistVtbl { 7861 BEGIN_INTERFACE 7862 7863 /*** IUnknown methods ***/ 7864 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7865 IPersist *This, 7866 REFIID riid, 7867 void **ppvObject); 7868 7869 ULONG (STDMETHODCALLTYPE *AddRef)( 7870 IPersist *This); 7871 7872 ULONG (STDMETHODCALLTYPE *Release)( 7873 IPersist *This); 7874 7875 /*** IPersist methods ***/ 7876 HRESULT (STDMETHODCALLTYPE *GetClassID)( 7877 IPersist *This, 7878 CLSID *pClassID); 7879 7880 END_INTERFACE 7881 } IPersistVtbl; 7882 7883 interface IPersist { 7884 CONST_VTBL IPersistVtbl* lpVtbl; 7885 }; 7886 7887 #ifdef COBJMACROS 7888 #ifndef WIDL_C_INLINE_WRAPPERS 7889 /*** IUnknown methods ***/ 7890 #define IPersist_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7891 #define IPersist_AddRef(This) (This)->lpVtbl->AddRef(This) 7892 #define IPersist_Release(This) (This)->lpVtbl->Release(This) 7893 /*** IPersist methods ***/ 7894 #define IPersist_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 7895 #else 7896 /*** IUnknown methods ***/ 7897 static FORCEINLINE HRESULT IPersist_QueryInterface(IPersist* This,REFIID riid,void **ppvObject) { 7898 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7899 } 7900 static FORCEINLINE ULONG IPersist_AddRef(IPersist* This) { 7901 return This->lpVtbl->AddRef(This); 7902 } 7903 static FORCEINLINE ULONG IPersist_Release(IPersist* This) { 7904 return This->lpVtbl->Release(This); 7905 } 7906 /*** IPersist methods ***/ 7907 static FORCEINLINE HRESULT IPersist_GetClassID(IPersist* This,CLSID *pClassID) { 7908 return This->lpVtbl->GetClassID(This,pClassID); 7909 } 7910 #endif 7911 #endif 7912 7913 #endif 7914 7915 7916 #endif /* __IPersist_INTERFACE_DEFINED__ */ 7917 7918 /***************************************************************************** 7919 * IPersistStream interface 7920 */ 7921 #ifndef __IPersistStream_INTERFACE_DEFINED__ 7922 #define __IPersistStream_INTERFACE_DEFINED__ 7923 7924 typedef IPersistStream *LPPERSISTSTREAM; 7925 DEFINE_GUID(IID_IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 7926 #if defined(__cplusplus) && !defined(CINTERFACE) 7927 MIDL_INTERFACE("00000109-0000-0000-c000-000000000046") 7928 IPersistStream : public IPersist 7929 { 7930 virtual HRESULT STDMETHODCALLTYPE IsDirty( 7931 ) = 0; 7932 7933 virtual HRESULT STDMETHODCALLTYPE Load( 7934 IStream *pStm) = 0; 7935 7936 virtual HRESULT STDMETHODCALLTYPE Save( 7937 IStream *pStm, 7938 WINBOOL fClearDirty) = 0; 7939 7940 virtual HRESULT STDMETHODCALLTYPE GetSizeMax( 7941 ULARGE_INTEGER *pcbSize) = 0; 7942 7943 }; 7944 #ifdef __CRT_UUID_DECL 7945 __CRT_UUID_DECL(IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 7946 #endif 7947 #else 7948 typedef struct IPersistStreamVtbl { 7949 BEGIN_INTERFACE 7950 7951 /*** IUnknown methods ***/ 7952 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7953 IPersistStream *This, 7954 REFIID riid, 7955 void **ppvObject); 7956 7957 ULONG (STDMETHODCALLTYPE *AddRef)( 7958 IPersistStream *This); 7959 7960 ULONG (STDMETHODCALLTYPE *Release)( 7961 IPersistStream *This); 7962 7963 /*** IPersist methods ***/ 7964 HRESULT (STDMETHODCALLTYPE *GetClassID)( 7965 IPersistStream *This, 7966 CLSID *pClassID); 7967 7968 /*** IPersistStream methods ***/ 7969 HRESULT (STDMETHODCALLTYPE *IsDirty)( 7970 IPersistStream *This); 7971 7972 HRESULT (STDMETHODCALLTYPE *Load)( 7973 IPersistStream *This, 7974 IStream *pStm); 7975 7976 HRESULT (STDMETHODCALLTYPE *Save)( 7977 IPersistStream *This, 7978 IStream *pStm, 7979 WINBOOL fClearDirty); 7980 7981 HRESULT (STDMETHODCALLTYPE *GetSizeMax)( 7982 IPersistStream *This, 7983 ULARGE_INTEGER *pcbSize); 7984 7985 END_INTERFACE 7986 } IPersistStreamVtbl; 7987 7988 interface IPersistStream { 7989 CONST_VTBL IPersistStreamVtbl* lpVtbl; 7990 }; 7991 7992 #ifdef COBJMACROS 7993 #ifndef WIDL_C_INLINE_WRAPPERS 7994 /*** IUnknown methods ***/ 7995 #define IPersistStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7996 #define IPersistStream_AddRef(This) (This)->lpVtbl->AddRef(This) 7997 #define IPersistStream_Release(This) (This)->lpVtbl->Release(This) 7998 /*** IPersist methods ***/ 7999 #define IPersistStream_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 8000 /*** IPersistStream methods ***/ 8001 #define IPersistStream_IsDirty(This) (This)->lpVtbl->IsDirty(This) 8002 #define IPersistStream_Load(This,pStm) (This)->lpVtbl->Load(This,pStm) 8003 #define IPersistStream_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty) 8004 #define IPersistStream_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize) 8005 #else 8006 /*** IUnknown methods ***/ 8007 static FORCEINLINE HRESULT IPersistStream_QueryInterface(IPersistStream* This,REFIID riid,void **ppvObject) { 8008 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8009 } 8010 static FORCEINLINE ULONG IPersistStream_AddRef(IPersistStream* This) { 8011 return This->lpVtbl->AddRef(This); 8012 } 8013 static FORCEINLINE ULONG IPersistStream_Release(IPersistStream* This) { 8014 return This->lpVtbl->Release(This); 8015 } 8016 /*** IPersist methods ***/ 8017 static FORCEINLINE HRESULT IPersistStream_GetClassID(IPersistStream* This,CLSID *pClassID) { 8018 return This->lpVtbl->GetClassID(This,pClassID); 8019 } 8020 /*** IPersistStream methods ***/ 8021 static FORCEINLINE HRESULT IPersistStream_IsDirty(IPersistStream* This) { 8022 return This->lpVtbl->IsDirty(This); 8023 } 8024 static FORCEINLINE HRESULT IPersistStream_Load(IPersistStream* This,IStream *pStm) { 8025 return This->lpVtbl->Load(This,pStm); 8026 } 8027 static FORCEINLINE HRESULT IPersistStream_Save(IPersistStream* This,IStream *pStm,WINBOOL fClearDirty) { 8028 return This->lpVtbl->Save(This,pStm,fClearDirty); 8029 } 8030 static FORCEINLINE HRESULT IPersistStream_GetSizeMax(IPersistStream* This,ULARGE_INTEGER *pcbSize) { 8031 return This->lpVtbl->GetSizeMax(This,pcbSize); 8032 } 8033 #endif 8034 #endif 8035 8036 #endif 8037 8038 8039 #endif /* __IPersistStream_INTERFACE_DEFINED__ */ 8040 8041 /***************************************************************************** 8042 * IMoniker interface 8043 */ 8044 #ifndef __IMoniker_INTERFACE_DEFINED__ 8045 #define __IMoniker_INTERFACE_DEFINED__ 8046 8047 typedef IMoniker *LPMONIKER; 8048 typedef enum tagMKSYS { 8049 MKSYS_NONE = 0, 8050 MKSYS_GENERICCOMPOSITE = 1, 8051 MKSYS_FILEMONIKER = 2, 8052 MKSYS_ANTIMONIKER = 3, 8053 MKSYS_ITEMMONIKER = 4, 8054 MKSYS_POINTERMONIKER = 5, 8055 MKSYS_CLASSMONIKER = 7, 8056 MKSYS_OBJREFMONIKER = 8, 8057 MKSYS_SESSIONMONIKER = 9, 8058 MKSYS_LUAMONIKER = 10 8059 } MKSYS; 8060 typedef enum tagMKREDUCE { 8061 MKRREDUCE_ONE = 3 << 16, 8062 MKRREDUCE_TOUSER = 2 << 16, 8063 MKRREDUCE_THROUGHUSER = 1 << 16, 8064 MKRREDUCE_ALL = 0 8065 } MKRREDUCE; 8066 DEFINE_GUID(IID_IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 8067 #if defined(__cplusplus) && !defined(CINTERFACE) 8068 MIDL_INTERFACE("0000000f-0000-0000-c000-000000000046") 8069 IMoniker : public IPersistStream 8070 { 8071 virtual HRESULT STDMETHODCALLTYPE BindToObject( 8072 IBindCtx *pbc, 8073 IMoniker *pmkToLeft, 8074 REFIID riidResult, 8075 void **ppvResult) = 0; 8076 8077 virtual HRESULT STDMETHODCALLTYPE BindToStorage( 8078 IBindCtx *pbc, 8079 IMoniker *pmkToLeft, 8080 REFIID riid, 8081 void **ppvObj) = 0; 8082 8083 virtual HRESULT STDMETHODCALLTYPE Reduce( 8084 IBindCtx *pbc, 8085 DWORD dwReduceHowFar, 8086 IMoniker **ppmkToLeft, 8087 IMoniker **ppmkReduced) = 0; 8088 8089 virtual HRESULT STDMETHODCALLTYPE ComposeWith( 8090 IMoniker *pmkRight, 8091 WINBOOL fOnlyIfNotGeneric, 8092 IMoniker **ppmkComposite) = 0; 8093 8094 virtual HRESULT STDMETHODCALLTYPE Enum( 8095 WINBOOL fForward, 8096 IEnumMoniker **ppenumMoniker) = 0; 8097 8098 virtual HRESULT STDMETHODCALLTYPE IsEqual( 8099 IMoniker *pmkOtherMoniker) = 0; 8100 8101 virtual HRESULT STDMETHODCALLTYPE Hash( 8102 DWORD *pdwHash) = 0; 8103 8104 virtual HRESULT STDMETHODCALLTYPE IsRunning( 8105 IBindCtx *pbc, 8106 IMoniker *pmkToLeft, 8107 IMoniker *pmkNewlyRunning) = 0; 8108 8109 virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange( 8110 IBindCtx *pbc, 8111 IMoniker *pmkToLeft, 8112 FILETIME *pFileTime) = 0; 8113 8114 virtual HRESULT STDMETHODCALLTYPE Inverse( 8115 IMoniker **ppmk) = 0; 8116 8117 virtual HRESULT STDMETHODCALLTYPE CommonPrefixWith( 8118 IMoniker *pmkOther, 8119 IMoniker **ppmkPrefix) = 0; 8120 8121 virtual HRESULT STDMETHODCALLTYPE RelativePathTo( 8122 IMoniker *pmkOther, 8123 IMoniker **ppmkRelPath) = 0; 8124 8125 virtual HRESULT STDMETHODCALLTYPE GetDisplayName( 8126 IBindCtx *pbc, 8127 IMoniker *pmkToLeft, 8128 LPOLESTR *ppszDisplayName) = 0; 8129 8130 virtual HRESULT STDMETHODCALLTYPE ParseDisplayName( 8131 IBindCtx *pbc, 8132 IMoniker *pmkToLeft, 8133 LPOLESTR pszDisplayName, 8134 ULONG *pchEaten, 8135 IMoniker **ppmkOut) = 0; 8136 8137 virtual HRESULT STDMETHODCALLTYPE IsSystemMoniker( 8138 DWORD *pdwMksys) = 0; 8139 8140 }; 8141 #ifdef __CRT_UUID_DECL 8142 __CRT_UUID_DECL(IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 8143 #endif 8144 #else 8145 typedef struct IMonikerVtbl { 8146 BEGIN_INTERFACE 8147 8148 /*** IUnknown methods ***/ 8149 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8150 IMoniker *This, 8151 REFIID riid, 8152 void **ppvObject); 8153 8154 ULONG (STDMETHODCALLTYPE *AddRef)( 8155 IMoniker *This); 8156 8157 ULONG (STDMETHODCALLTYPE *Release)( 8158 IMoniker *This); 8159 8160 /*** IPersist methods ***/ 8161 HRESULT (STDMETHODCALLTYPE *GetClassID)( 8162 IMoniker *This, 8163 CLSID *pClassID); 8164 8165 /*** IPersistStream methods ***/ 8166 HRESULT (STDMETHODCALLTYPE *IsDirty)( 8167 IMoniker *This); 8168 8169 HRESULT (STDMETHODCALLTYPE *Load)( 8170 IMoniker *This, 8171 IStream *pStm); 8172 8173 HRESULT (STDMETHODCALLTYPE *Save)( 8174 IMoniker *This, 8175 IStream *pStm, 8176 WINBOOL fClearDirty); 8177 8178 HRESULT (STDMETHODCALLTYPE *GetSizeMax)( 8179 IMoniker *This, 8180 ULARGE_INTEGER *pcbSize); 8181 8182 /*** IMoniker methods ***/ 8183 HRESULT (STDMETHODCALLTYPE *BindToObject)( 8184 IMoniker *This, 8185 IBindCtx *pbc, 8186 IMoniker *pmkToLeft, 8187 REFIID riidResult, 8188 void **ppvResult); 8189 8190 HRESULT (STDMETHODCALLTYPE *BindToStorage)( 8191 IMoniker *This, 8192 IBindCtx *pbc, 8193 IMoniker *pmkToLeft, 8194 REFIID riid, 8195 void **ppvObj); 8196 8197 HRESULT (STDMETHODCALLTYPE *Reduce)( 8198 IMoniker *This, 8199 IBindCtx *pbc, 8200 DWORD dwReduceHowFar, 8201 IMoniker **ppmkToLeft, 8202 IMoniker **ppmkReduced); 8203 8204 HRESULT (STDMETHODCALLTYPE *ComposeWith)( 8205 IMoniker *This, 8206 IMoniker *pmkRight, 8207 WINBOOL fOnlyIfNotGeneric, 8208 IMoniker **ppmkComposite); 8209 8210 HRESULT (STDMETHODCALLTYPE *Enum)( 8211 IMoniker *This, 8212 WINBOOL fForward, 8213 IEnumMoniker **ppenumMoniker); 8214 8215 HRESULT (STDMETHODCALLTYPE *IsEqual)( 8216 IMoniker *This, 8217 IMoniker *pmkOtherMoniker); 8218 8219 HRESULT (STDMETHODCALLTYPE *Hash)( 8220 IMoniker *This, 8221 DWORD *pdwHash); 8222 8223 HRESULT (STDMETHODCALLTYPE *IsRunning)( 8224 IMoniker *This, 8225 IBindCtx *pbc, 8226 IMoniker *pmkToLeft, 8227 IMoniker *pmkNewlyRunning); 8228 8229 HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)( 8230 IMoniker *This, 8231 IBindCtx *pbc, 8232 IMoniker *pmkToLeft, 8233 FILETIME *pFileTime); 8234 8235 HRESULT (STDMETHODCALLTYPE *Inverse)( 8236 IMoniker *This, 8237 IMoniker **ppmk); 8238 8239 HRESULT (STDMETHODCALLTYPE *CommonPrefixWith)( 8240 IMoniker *This, 8241 IMoniker *pmkOther, 8242 IMoniker **ppmkPrefix); 8243 8244 HRESULT (STDMETHODCALLTYPE *RelativePathTo)( 8245 IMoniker *This, 8246 IMoniker *pmkOther, 8247 IMoniker **ppmkRelPath); 8248 8249 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 8250 IMoniker *This, 8251 IBindCtx *pbc, 8252 IMoniker *pmkToLeft, 8253 LPOLESTR *ppszDisplayName); 8254 8255 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)( 8256 IMoniker *This, 8257 IBindCtx *pbc, 8258 IMoniker *pmkToLeft, 8259 LPOLESTR pszDisplayName, 8260 ULONG *pchEaten, 8261 IMoniker **ppmkOut); 8262 8263 HRESULT (STDMETHODCALLTYPE *IsSystemMoniker)( 8264 IMoniker *This, 8265 DWORD *pdwMksys); 8266 8267 END_INTERFACE 8268 } IMonikerVtbl; 8269 8270 interface IMoniker { 8271 CONST_VTBL IMonikerVtbl* lpVtbl; 8272 }; 8273 8274 #ifdef COBJMACROS 8275 #ifndef WIDL_C_INLINE_WRAPPERS 8276 /*** IUnknown methods ***/ 8277 #define IMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8278 #define IMoniker_AddRef(This) (This)->lpVtbl->AddRef(This) 8279 #define IMoniker_Release(This) (This)->lpVtbl->Release(This) 8280 /*** IPersist methods ***/ 8281 #define IMoniker_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 8282 /*** IPersistStream methods ***/ 8283 #define IMoniker_IsDirty(This) (This)->lpVtbl->IsDirty(This) 8284 #define IMoniker_Load(This,pStm) (This)->lpVtbl->Load(This,pStm) 8285 #define IMoniker_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty) 8286 #define IMoniker_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize) 8287 /*** IMoniker methods ***/ 8288 #define IMoniker_BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult) (This)->lpVtbl->BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult) 8289 #define IMoniker_BindToStorage(This,pbc,pmkToLeft,riid,ppvObj) (This)->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj) 8290 #define IMoniker_Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced) (This)->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced) 8291 #define IMoniker_ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite) (This)->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite) 8292 #define IMoniker_Enum(This,fForward,ppenumMoniker) (This)->lpVtbl->Enum(This,fForward,ppenumMoniker) 8293 #define IMoniker_IsEqual(This,pmkOtherMoniker) (This)->lpVtbl->IsEqual(This,pmkOtherMoniker) 8294 #define IMoniker_Hash(This,pdwHash) (This)->lpVtbl->Hash(This,pdwHash) 8295 #define IMoniker_IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning) (This)->lpVtbl->IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning) 8296 #define IMoniker_GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime) (This)->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime) 8297 #define IMoniker_Inverse(This,ppmk) (This)->lpVtbl->Inverse(This,ppmk) 8298 #define IMoniker_CommonPrefixWith(This,pmkOther,ppmkPrefix) (This)->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix) 8299 #define IMoniker_RelativePathTo(This,pmkOther,ppmkRelPath) (This)->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath) 8300 #define IMoniker_GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName) (This)->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName) 8301 #define IMoniker_ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut) 8302 #define IMoniker_IsSystemMoniker(This,pdwMksys) (This)->lpVtbl->IsSystemMoniker(This,pdwMksys) 8303 #else 8304 /*** IUnknown methods ***/ 8305 static FORCEINLINE HRESULT IMoniker_QueryInterface(IMoniker* This,REFIID riid,void **ppvObject) { 8306 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8307 } 8308 static FORCEINLINE ULONG IMoniker_AddRef(IMoniker* This) { 8309 return This->lpVtbl->AddRef(This); 8310 } 8311 static FORCEINLINE ULONG IMoniker_Release(IMoniker* This) { 8312 return This->lpVtbl->Release(This); 8313 } 8314 /*** IPersist methods ***/ 8315 static FORCEINLINE HRESULT IMoniker_GetClassID(IMoniker* This,CLSID *pClassID) { 8316 return This->lpVtbl->GetClassID(This,pClassID); 8317 } 8318 /*** IPersistStream methods ***/ 8319 static FORCEINLINE HRESULT IMoniker_IsDirty(IMoniker* This) { 8320 return This->lpVtbl->IsDirty(This); 8321 } 8322 static FORCEINLINE HRESULT IMoniker_Load(IMoniker* This,IStream *pStm) { 8323 return This->lpVtbl->Load(This,pStm); 8324 } 8325 static FORCEINLINE HRESULT IMoniker_Save(IMoniker* This,IStream *pStm,WINBOOL fClearDirty) { 8326 return This->lpVtbl->Save(This,pStm,fClearDirty); 8327 } 8328 static FORCEINLINE HRESULT IMoniker_GetSizeMax(IMoniker* This,ULARGE_INTEGER *pcbSize) { 8329 return This->lpVtbl->GetSizeMax(This,pcbSize); 8330 } 8331 /*** IMoniker methods ***/ 8332 static FORCEINLINE HRESULT IMoniker_BindToObject(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,REFIID riidResult,void **ppvResult) { 8333 return This->lpVtbl->BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult); 8334 } 8335 static FORCEINLINE HRESULT IMoniker_BindToStorage(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,REFIID riid,void **ppvObj) { 8336 return This->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj); 8337 } 8338 static FORCEINLINE HRESULT IMoniker_Reduce(IMoniker* This,IBindCtx *pbc,DWORD dwReduceHowFar,IMoniker **ppmkToLeft,IMoniker **ppmkReduced) { 8339 return This->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced); 8340 } 8341 static FORCEINLINE HRESULT IMoniker_ComposeWith(IMoniker* This,IMoniker *pmkRight,WINBOOL fOnlyIfNotGeneric,IMoniker **ppmkComposite) { 8342 return This->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite); 8343 } 8344 static FORCEINLINE HRESULT IMoniker_Enum(IMoniker* This,WINBOOL fForward,IEnumMoniker **ppenumMoniker) { 8345 return This->lpVtbl->Enum(This,fForward,ppenumMoniker); 8346 } 8347 static FORCEINLINE HRESULT IMoniker_IsEqual(IMoniker* This,IMoniker *pmkOtherMoniker) { 8348 return This->lpVtbl->IsEqual(This,pmkOtherMoniker); 8349 } 8350 static FORCEINLINE HRESULT IMoniker_Hash(IMoniker* This,DWORD *pdwHash) { 8351 return This->lpVtbl->Hash(This,pdwHash); 8352 } 8353 static FORCEINLINE HRESULT IMoniker_IsRunning(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,IMoniker *pmkNewlyRunning) { 8354 return This->lpVtbl->IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning); 8355 } 8356 static FORCEINLINE HRESULT IMoniker_GetTimeOfLastChange(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,FILETIME *pFileTime) { 8357 return This->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime); 8358 } 8359 static FORCEINLINE HRESULT IMoniker_Inverse(IMoniker* This,IMoniker **ppmk) { 8360 return This->lpVtbl->Inverse(This,ppmk); 8361 } 8362 static FORCEINLINE HRESULT IMoniker_CommonPrefixWith(IMoniker* This,IMoniker *pmkOther,IMoniker **ppmkPrefix) { 8363 return This->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix); 8364 } 8365 static FORCEINLINE HRESULT IMoniker_RelativePathTo(IMoniker* This,IMoniker *pmkOther,IMoniker **ppmkRelPath) { 8366 return This->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath); 8367 } 8368 static FORCEINLINE HRESULT IMoniker_GetDisplayName(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,LPOLESTR *ppszDisplayName) { 8369 return This->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName); 8370 } 8371 static FORCEINLINE HRESULT IMoniker_ParseDisplayName(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut) { 8372 return This->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut); 8373 } 8374 static FORCEINLINE HRESULT IMoniker_IsSystemMoniker(IMoniker* This,DWORD *pdwMksys) { 8375 return This->lpVtbl->IsSystemMoniker(This,pdwMksys); 8376 } 8377 #endif 8378 #endif 8379 8380 #endif 8381 8382 HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Proxy( 8383 IMoniker* This, 8384 IBindCtx *pbc, 8385 IMoniker *pmkToLeft, 8386 REFIID riidResult, 8387 IUnknown **ppvResult); 8388 void __RPC_STUB IMoniker_RemoteBindToObject_Stub( 8389 IRpcStubBuffer* This, 8390 IRpcChannelBuffer* pRpcChannelBuffer, 8391 PRPC_MESSAGE pRpcMessage, 8392 DWORD* pdwStubPhase); 8393 HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Proxy( 8394 IMoniker* This, 8395 IBindCtx *pbc, 8396 IMoniker *pmkToLeft, 8397 REFIID riid, 8398 IUnknown **ppvObj); 8399 void __RPC_STUB IMoniker_RemoteBindToStorage_Stub( 8400 IRpcStubBuffer* This, 8401 IRpcChannelBuffer* pRpcChannelBuffer, 8402 PRPC_MESSAGE pRpcMessage, 8403 DWORD* pdwStubPhase); 8404 HRESULT CALLBACK IMoniker_BindToObject_Proxy( 8405 IMoniker* This, 8406 IBindCtx *pbc, 8407 IMoniker *pmkToLeft, 8408 REFIID riidResult, 8409 void **ppvResult); 8410 HRESULT __RPC_STUB IMoniker_BindToObject_Stub( 8411 IMoniker* This, 8412 IBindCtx *pbc, 8413 IMoniker *pmkToLeft, 8414 REFIID riidResult, 8415 IUnknown **ppvResult); 8416 HRESULT CALLBACK IMoniker_BindToStorage_Proxy( 8417 IMoniker* This, 8418 IBindCtx *pbc, 8419 IMoniker *pmkToLeft, 8420 REFIID riid, 8421 void **ppvObj); 8422 HRESULT __RPC_STUB IMoniker_BindToStorage_Stub( 8423 IMoniker* This, 8424 IBindCtx *pbc, 8425 IMoniker *pmkToLeft, 8426 REFIID riid, 8427 IUnknown **ppvObj); 8428 8429 #endif /* __IMoniker_INTERFACE_DEFINED__ */ 8430 8431 #endif 8432 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 8433 /***************************************************************************** 8434 * IROTData interface 8435 */ 8436 #ifndef __IROTData_INTERFACE_DEFINED__ 8437 #define __IROTData_INTERFACE_DEFINED__ 8438 8439 DEFINE_GUID(IID_IROTData, 0xf29f6bc0, 0x5021, 0x11ce, 0xaa,0x15, 0x00,0x00,0x69,0x01,0x29,0x3f); 8440 #if defined(__cplusplus) && !defined(CINTERFACE) 8441 MIDL_INTERFACE("f29f6bc0-5021-11ce-aa15-00006901293f") 8442 IROTData : public IUnknown 8443 { 8444 virtual HRESULT STDMETHODCALLTYPE GetComparisonData( 8445 byte *pbData, 8446 ULONG cbMax, 8447 ULONG *pcbData) = 0; 8448 8449 }; 8450 #ifdef __CRT_UUID_DECL 8451 __CRT_UUID_DECL(IROTData, 0xf29f6bc0, 0x5021, 0x11ce, 0xaa,0x15, 0x00,0x00,0x69,0x01,0x29,0x3f) 8452 #endif 8453 #else 8454 typedef struct IROTDataVtbl { 8455 BEGIN_INTERFACE 8456 8457 /*** IUnknown methods ***/ 8458 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8459 IROTData *This, 8460 REFIID riid, 8461 void **ppvObject); 8462 8463 ULONG (STDMETHODCALLTYPE *AddRef)( 8464 IROTData *This); 8465 8466 ULONG (STDMETHODCALLTYPE *Release)( 8467 IROTData *This); 8468 8469 /*** IROTData methods ***/ 8470 HRESULT (STDMETHODCALLTYPE *GetComparisonData)( 8471 IROTData *This, 8472 byte *pbData, 8473 ULONG cbMax, 8474 ULONG *pcbData); 8475 8476 END_INTERFACE 8477 } IROTDataVtbl; 8478 8479 interface IROTData { 8480 CONST_VTBL IROTDataVtbl* lpVtbl; 8481 }; 8482 8483 #ifdef COBJMACROS 8484 #ifndef WIDL_C_INLINE_WRAPPERS 8485 /*** IUnknown methods ***/ 8486 #define IROTData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8487 #define IROTData_AddRef(This) (This)->lpVtbl->AddRef(This) 8488 #define IROTData_Release(This) (This)->lpVtbl->Release(This) 8489 /*** IROTData methods ***/ 8490 #define IROTData_GetComparisonData(This,pbData,cbMax,pcbData) (This)->lpVtbl->GetComparisonData(This,pbData,cbMax,pcbData) 8491 #else 8492 /*** IUnknown methods ***/ 8493 static FORCEINLINE HRESULT IROTData_QueryInterface(IROTData* This,REFIID riid,void **ppvObject) { 8494 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8495 } 8496 static FORCEINLINE ULONG IROTData_AddRef(IROTData* This) { 8497 return This->lpVtbl->AddRef(This); 8498 } 8499 static FORCEINLINE ULONG IROTData_Release(IROTData* This) { 8500 return This->lpVtbl->Release(This); 8501 } 8502 /*** IROTData methods ***/ 8503 static FORCEINLINE HRESULT IROTData_GetComparisonData(IROTData* This,byte *pbData,ULONG cbMax,ULONG *pcbData) { 8504 return This->lpVtbl->GetComparisonData(This,pbData,cbMax,pcbData); 8505 } 8506 #endif 8507 #endif 8508 8509 #endif 8510 8511 8512 #endif /* __IROTData_INTERFACE_DEFINED__ */ 8513 8514 #endif 8515 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 8516 /***************************************************************************** 8517 * IEnumSTATSTG interface 8518 */ 8519 #ifndef __IEnumSTATSTG_INTERFACE_DEFINED__ 8520 #define __IEnumSTATSTG_INTERFACE_DEFINED__ 8521 8522 typedef IEnumSTATSTG *LPENUMSTATSTG; 8523 DEFINE_GUID(IID_IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 8524 #if defined(__cplusplus) && !defined(CINTERFACE) 8525 MIDL_INTERFACE("0000000d-0000-0000-c000-000000000046") 8526 IEnumSTATSTG : public IUnknown 8527 { 8528 virtual HRESULT STDMETHODCALLTYPE Next( 8529 ULONG celt, 8530 STATSTG *rgelt, 8531 ULONG *pceltFetched) = 0; 8532 8533 virtual HRESULT STDMETHODCALLTYPE Skip( 8534 ULONG celt) = 0; 8535 8536 virtual HRESULT STDMETHODCALLTYPE Reset( 8537 ) = 0; 8538 8539 virtual HRESULT STDMETHODCALLTYPE Clone( 8540 IEnumSTATSTG **ppenum) = 0; 8541 8542 }; 8543 #ifdef __CRT_UUID_DECL 8544 __CRT_UUID_DECL(IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 8545 #endif 8546 #else 8547 typedef struct IEnumSTATSTGVtbl { 8548 BEGIN_INTERFACE 8549 8550 /*** IUnknown methods ***/ 8551 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8552 IEnumSTATSTG *This, 8553 REFIID riid, 8554 void **ppvObject); 8555 8556 ULONG (STDMETHODCALLTYPE *AddRef)( 8557 IEnumSTATSTG *This); 8558 8559 ULONG (STDMETHODCALLTYPE *Release)( 8560 IEnumSTATSTG *This); 8561 8562 /*** IEnumSTATSTG methods ***/ 8563 HRESULT (STDMETHODCALLTYPE *Next)( 8564 IEnumSTATSTG *This, 8565 ULONG celt, 8566 STATSTG *rgelt, 8567 ULONG *pceltFetched); 8568 8569 HRESULT (STDMETHODCALLTYPE *Skip)( 8570 IEnumSTATSTG *This, 8571 ULONG celt); 8572 8573 HRESULT (STDMETHODCALLTYPE *Reset)( 8574 IEnumSTATSTG *This); 8575 8576 HRESULT (STDMETHODCALLTYPE *Clone)( 8577 IEnumSTATSTG *This, 8578 IEnumSTATSTG **ppenum); 8579 8580 END_INTERFACE 8581 } IEnumSTATSTGVtbl; 8582 8583 interface IEnumSTATSTG { 8584 CONST_VTBL IEnumSTATSTGVtbl* lpVtbl; 8585 }; 8586 8587 #ifdef COBJMACROS 8588 #ifndef WIDL_C_INLINE_WRAPPERS 8589 /*** IUnknown methods ***/ 8590 #define IEnumSTATSTG_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8591 #define IEnumSTATSTG_AddRef(This) (This)->lpVtbl->AddRef(This) 8592 #define IEnumSTATSTG_Release(This) (This)->lpVtbl->Release(This) 8593 /*** IEnumSTATSTG methods ***/ 8594 #define IEnumSTATSTG_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 8595 #define IEnumSTATSTG_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 8596 #define IEnumSTATSTG_Reset(This) (This)->lpVtbl->Reset(This) 8597 #define IEnumSTATSTG_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 8598 #else 8599 /*** IUnknown methods ***/ 8600 static FORCEINLINE HRESULT IEnumSTATSTG_QueryInterface(IEnumSTATSTG* This,REFIID riid,void **ppvObject) { 8601 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8602 } 8603 static FORCEINLINE ULONG IEnumSTATSTG_AddRef(IEnumSTATSTG* This) { 8604 return This->lpVtbl->AddRef(This); 8605 } 8606 static FORCEINLINE ULONG IEnumSTATSTG_Release(IEnumSTATSTG* This) { 8607 return This->lpVtbl->Release(This); 8608 } 8609 /*** IEnumSTATSTG methods ***/ 8610 static FORCEINLINE HRESULT IEnumSTATSTG_Next(IEnumSTATSTG* This,ULONG celt,STATSTG *rgelt,ULONG *pceltFetched) { 8611 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 8612 } 8613 static FORCEINLINE HRESULT IEnumSTATSTG_Skip(IEnumSTATSTG* This,ULONG celt) { 8614 return This->lpVtbl->Skip(This,celt); 8615 } 8616 static FORCEINLINE HRESULT IEnumSTATSTG_Reset(IEnumSTATSTG* This) { 8617 return This->lpVtbl->Reset(This); 8618 } 8619 static FORCEINLINE HRESULT IEnumSTATSTG_Clone(IEnumSTATSTG* This,IEnumSTATSTG **ppenum) { 8620 return This->lpVtbl->Clone(This,ppenum); 8621 } 8622 #endif 8623 #endif 8624 8625 #endif 8626 8627 HRESULT STDMETHODCALLTYPE IEnumSTATSTG_RemoteNext_Proxy( 8628 IEnumSTATSTG* This, 8629 ULONG celt, 8630 STATSTG *rgelt, 8631 ULONG *pceltFetched); 8632 void __RPC_STUB IEnumSTATSTG_RemoteNext_Stub( 8633 IRpcStubBuffer* This, 8634 IRpcChannelBuffer* pRpcChannelBuffer, 8635 PRPC_MESSAGE pRpcMessage, 8636 DWORD* pdwStubPhase); 8637 HRESULT CALLBACK IEnumSTATSTG_Next_Proxy( 8638 IEnumSTATSTG* This, 8639 ULONG celt, 8640 STATSTG *rgelt, 8641 ULONG *pceltFetched); 8642 HRESULT __RPC_STUB IEnumSTATSTG_Next_Stub( 8643 IEnumSTATSTG* This, 8644 ULONG celt, 8645 STATSTG *rgelt, 8646 ULONG *pceltFetched); 8647 8648 #endif /* __IEnumSTATSTG_INTERFACE_DEFINED__ */ 8649 8650 /***************************************************************************** 8651 * IStorage interface 8652 */ 8653 #ifndef __IStorage_INTERFACE_DEFINED__ 8654 #define __IStorage_INTERFACE_DEFINED__ 8655 8656 typedef IStorage *LPSTORAGE; 8657 typedef struct tagRemSNB { 8658 ULONG ulCntStr; 8659 ULONG ulCntChar; 8660 OLECHAR rgString[1]; 8661 } RemSNB; 8662 typedef RemSNB *wireSNB; 8663 typedef LPOLESTR *SNB; 8664 DEFINE_GUID(IID_IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 8665 #if defined(__cplusplus) && !defined(CINTERFACE) 8666 MIDL_INTERFACE("0000000b-0000-0000-c000-000000000046") 8667 IStorage : public IUnknown 8668 { 8669 virtual HRESULT STDMETHODCALLTYPE CreateStream( 8670 const OLECHAR *pwcsName, 8671 DWORD grfMode, 8672 DWORD reserved1, 8673 DWORD reserved2, 8674 IStream **ppstm) = 0; 8675 8676 virtual HRESULT STDMETHODCALLTYPE OpenStream( 8677 const OLECHAR *pwcsName, 8678 void *reserved1, 8679 DWORD grfMode, 8680 DWORD reserved2, 8681 IStream **ppstm) = 0; 8682 8683 virtual HRESULT STDMETHODCALLTYPE CreateStorage( 8684 const OLECHAR *pwcsName, 8685 DWORD grfMode, 8686 DWORD reserved1, 8687 DWORD reserved2, 8688 IStorage **ppstg) = 0; 8689 8690 virtual HRESULT STDMETHODCALLTYPE OpenStorage( 8691 const OLECHAR *pwcsName, 8692 IStorage *pstgPriority, 8693 DWORD grfMode, 8694 SNB snbExclude, 8695 DWORD reserved, 8696 IStorage **ppstg) = 0; 8697 8698 virtual HRESULT STDMETHODCALLTYPE CopyTo( 8699 DWORD ciidExclude, 8700 const IID *rgiidExclude, 8701 SNB snbExclude, 8702 IStorage *pstgDest) = 0; 8703 8704 virtual HRESULT STDMETHODCALLTYPE MoveElementTo( 8705 const OLECHAR *pwcsName, 8706 IStorage *pstgDest, 8707 const OLECHAR *pwcsNewName, 8708 DWORD grfFlags) = 0; 8709 8710 virtual HRESULT STDMETHODCALLTYPE Commit( 8711 DWORD grfCommitFlags) = 0; 8712 8713 virtual HRESULT STDMETHODCALLTYPE Revert( 8714 ) = 0; 8715 8716 virtual HRESULT STDMETHODCALLTYPE EnumElements( 8717 DWORD reserved1, 8718 void *reserved2, 8719 DWORD reserved3, 8720 IEnumSTATSTG **ppenum) = 0; 8721 8722 virtual HRESULT STDMETHODCALLTYPE DestroyElement( 8723 const OLECHAR *pwcsName) = 0; 8724 8725 virtual HRESULT STDMETHODCALLTYPE RenameElement( 8726 const OLECHAR *pwcsOldName, 8727 const OLECHAR *pwcsNewName) = 0; 8728 8729 virtual HRESULT STDMETHODCALLTYPE SetElementTimes( 8730 const OLECHAR *pwcsName, 8731 const FILETIME *pctime, 8732 const FILETIME *patime, 8733 const FILETIME *pmtime) = 0; 8734 8735 virtual HRESULT STDMETHODCALLTYPE SetClass( 8736 REFCLSID clsid) = 0; 8737 8738 virtual HRESULT STDMETHODCALLTYPE SetStateBits( 8739 DWORD grfStateBits, 8740 DWORD grfMask) = 0; 8741 8742 virtual HRESULT STDMETHODCALLTYPE Stat( 8743 STATSTG *pstatstg, 8744 DWORD grfStatFlag) = 0; 8745 8746 }; 8747 #ifdef __CRT_UUID_DECL 8748 __CRT_UUID_DECL(IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 8749 #endif 8750 #else 8751 typedef struct IStorageVtbl { 8752 BEGIN_INTERFACE 8753 8754 /*** IUnknown methods ***/ 8755 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8756 IStorage *This, 8757 REFIID riid, 8758 void **ppvObject); 8759 8760 ULONG (STDMETHODCALLTYPE *AddRef)( 8761 IStorage *This); 8762 8763 ULONG (STDMETHODCALLTYPE *Release)( 8764 IStorage *This); 8765 8766 /*** IStorage methods ***/ 8767 HRESULT (STDMETHODCALLTYPE *CreateStream)( 8768 IStorage *This, 8769 const OLECHAR *pwcsName, 8770 DWORD grfMode, 8771 DWORD reserved1, 8772 DWORD reserved2, 8773 IStream **ppstm); 8774 8775 HRESULT (STDMETHODCALLTYPE *OpenStream)( 8776 IStorage *This, 8777 const OLECHAR *pwcsName, 8778 void *reserved1, 8779 DWORD grfMode, 8780 DWORD reserved2, 8781 IStream **ppstm); 8782 8783 HRESULT (STDMETHODCALLTYPE *CreateStorage)( 8784 IStorage *This, 8785 const OLECHAR *pwcsName, 8786 DWORD grfMode, 8787 DWORD reserved1, 8788 DWORD reserved2, 8789 IStorage **ppstg); 8790 8791 HRESULT (STDMETHODCALLTYPE *OpenStorage)( 8792 IStorage *This, 8793 const OLECHAR *pwcsName, 8794 IStorage *pstgPriority, 8795 DWORD grfMode, 8796 SNB snbExclude, 8797 DWORD reserved, 8798 IStorage **ppstg); 8799 8800 HRESULT (STDMETHODCALLTYPE *CopyTo)( 8801 IStorage *This, 8802 DWORD ciidExclude, 8803 const IID *rgiidExclude, 8804 SNB snbExclude, 8805 IStorage *pstgDest); 8806 8807 HRESULT (STDMETHODCALLTYPE *MoveElementTo)( 8808 IStorage *This, 8809 const OLECHAR *pwcsName, 8810 IStorage *pstgDest, 8811 const OLECHAR *pwcsNewName, 8812 DWORD grfFlags); 8813 8814 HRESULT (STDMETHODCALLTYPE *Commit)( 8815 IStorage *This, 8816 DWORD grfCommitFlags); 8817 8818 HRESULT (STDMETHODCALLTYPE *Revert)( 8819 IStorage *This); 8820 8821 HRESULT (STDMETHODCALLTYPE *EnumElements)( 8822 IStorage *This, 8823 DWORD reserved1, 8824 void *reserved2, 8825 DWORD reserved3, 8826 IEnumSTATSTG **ppenum); 8827 8828 HRESULT (STDMETHODCALLTYPE *DestroyElement)( 8829 IStorage *This, 8830 const OLECHAR *pwcsName); 8831 8832 HRESULT (STDMETHODCALLTYPE *RenameElement)( 8833 IStorage *This, 8834 const OLECHAR *pwcsOldName, 8835 const OLECHAR *pwcsNewName); 8836 8837 HRESULT (STDMETHODCALLTYPE *SetElementTimes)( 8838 IStorage *This, 8839 const OLECHAR *pwcsName, 8840 const FILETIME *pctime, 8841 const FILETIME *patime, 8842 const FILETIME *pmtime); 8843 8844 HRESULT (STDMETHODCALLTYPE *SetClass)( 8845 IStorage *This, 8846 REFCLSID clsid); 8847 8848 HRESULT (STDMETHODCALLTYPE *SetStateBits)( 8849 IStorage *This, 8850 DWORD grfStateBits, 8851 DWORD grfMask); 8852 8853 HRESULT (STDMETHODCALLTYPE *Stat)( 8854 IStorage *This, 8855 STATSTG *pstatstg, 8856 DWORD grfStatFlag); 8857 8858 END_INTERFACE 8859 } IStorageVtbl; 8860 8861 interface IStorage { 8862 CONST_VTBL IStorageVtbl* lpVtbl; 8863 }; 8864 8865 #ifdef COBJMACROS 8866 #ifndef WIDL_C_INLINE_WRAPPERS 8867 /*** IUnknown methods ***/ 8868 #define IStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8869 #define IStorage_AddRef(This) (This)->lpVtbl->AddRef(This) 8870 #define IStorage_Release(This) (This)->lpVtbl->Release(This) 8871 /*** IStorage methods ***/ 8872 #define IStorage_CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm) (This)->lpVtbl->CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm) 8873 #define IStorage_OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm) (This)->lpVtbl->OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm) 8874 #define IStorage_CreateStorage(This,pwcsName,grfMode,reserved1,reserved2,ppstg) (This)->lpVtbl->CreateStorage(This,pwcsName,grfMode,reserved1,reserved2,ppstg) 8875 #define IStorage_OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg) (This)->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg) 8876 #define IStorage_CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest) (This)->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest) 8877 #define IStorage_MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags) (This)->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags) 8878 #define IStorage_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags) 8879 #define IStorage_Revert(This) (This)->lpVtbl->Revert(This) 8880 #define IStorage_EnumElements(This,reserved1,reserved2,reserved3,ppenum) (This)->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum) 8881 #define IStorage_DestroyElement(This,pwcsName) (This)->lpVtbl->DestroyElement(This,pwcsName) 8882 #define IStorage_RenameElement(This,pwcsOldName,pwcsNewName) (This)->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName) 8883 #define IStorage_SetElementTimes(This,pwcsName,pctime,patime,pmtime) (This)->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime) 8884 #define IStorage_SetClass(This,clsid) (This)->lpVtbl->SetClass(This,clsid) 8885 #define IStorage_SetStateBits(This,grfStateBits,grfMask) (This)->lpVtbl->SetStateBits(This,grfStateBits,grfMask) 8886 #define IStorage_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag) 8887 #else 8888 /*** IUnknown methods ***/ 8889 static FORCEINLINE HRESULT IStorage_QueryInterface(IStorage* This,REFIID riid,void **ppvObject) { 8890 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8891 } 8892 static FORCEINLINE ULONG IStorage_AddRef(IStorage* This) { 8893 return This->lpVtbl->AddRef(This); 8894 } 8895 static FORCEINLINE ULONG IStorage_Release(IStorage* This) { 8896 return This->lpVtbl->Release(This); 8897 } 8898 /*** IStorage methods ***/ 8899 static FORCEINLINE HRESULT IStorage_CreateStream(IStorage* This,const OLECHAR *pwcsName,DWORD grfMode,DWORD reserved1,DWORD reserved2,IStream **ppstm) { 8900 return This->lpVtbl->CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm); 8901 } 8902 static FORCEINLINE HRESULT IStorage_OpenStream(IStorage* This,const OLECHAR *pwcsName,void *reserved1,DWORD grfMode,DWORD reserved2,IStream **ppstm) { 8903 return This->lpVtbl->OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm); 8904 } 8905 static FORCEINLINE HRESULT IStorage_CreateStorage(IStorage* This,const OLECHAR *pwcsName,DWORD grfMode,DWORD reserved1,DWORD reserved2,IStorage **ppstg) { 8906 return This->lpVtbl->CreateStorage(This,pwcsName,grfMode,reserved1,reserved2,ppstg); 8907 } 8908 static FORCEINLINE HRESULT IStorage_OpenStorage(IStorage* This,const OLECHAR *pwcsName,IStorage *pstgPriority,DWORD grfMode,SNB snbExclude,DWORD reserved,IStorage **ppstg) { 8909 return This->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg); 8910 } 8911 static FORCEINLINE HRESULT IStorage_CopyTo(IStorage* This,DWORD ciidExclude,const IID *rgiidExclude,SNB snbExclude,IStorage *pstgDest) { 8912 return This->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest); 8913 } 8914 static FORCEINLINE HRESULT IStorage_MoveElementTo(IStorage* This,const OLECHAR *pwcsName,IStorage *pstgDest,const OLECHAR *pwcsNewName,DWORD grfFlags) { 8915 return This->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags); 8916 } 8917 static FORCEINLINE HRESULT IStorage_Commit(IStorage* This,DWORD grfCommitFlags) { 8918 return This->lpVtbl->Commit(This,grfCommitFlags); 8919 } 8920 static FORCEINLINE HRESULT IStorage_Revert(IStorage* This) { 8921 return This->lpVtbl->Revert(This); 8922 } 8923 static FORCEINLINE HRESULT IStorage_EnumElements(IStorage* This,DWORD reserved1,void *reserved2,DWORD reserved3,IEnumSTATSTG **ppenum) { 8924 return This->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum); 8925 } 8926 static FORCEINLINE HRESULT IStorage_DestroyElement(IStorage* This,const OLECHAR *pwcsName) { 8927 return This->lpVtbl->DestroyElement(This,pwcsName); 8928 } 8929 static FORCEINLINE HRESULT IStorage_RenameElement(IStorage* This,const OLECHAR *pwcsOldName,const OLECHAR *pwcsNewName) { 8930 return This->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName); 8931 } 8932 static FORCEINLINE HRESULT IStorage_SetElementTimes(IStorage* This,const OLECHAR *pwcsName,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime) { 8933 return This->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime); 8934 } 8935 static FORCEINLINE HRESULT IStorage_SetClass(IStorage* This,REFCLSID clsid) { 8936 return This->lpVtbl->SetClass(This,clsid); 8937 } 8938 static FORCEINLINE HRESULT IStorage_SetStateBits(IStorage* This,DWORD grfStateBits,DWORD grfMask) { 8939 return This->lpVtbl->SetStateBits(This,grfStateBits,grfMask); 8940 } 8941 static FORCEINLINE HRESULT IStorage_Stat(IStorage* This,STATSTG *pstatstg,DWORD grfStatFlag) { 8942 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag); 8943 } 8944 #endif 8945 #endif 8946 8947 #endif 8948 8949 HRESULT STDMETHODCALLTYPE IStorage_RemoteOpenStream_Proxy( 8950 IStorage* This, 8951 const OLECHAR *pwcsName, 8952 ULONG cbReserved1, 8953 byte *reserved1, 8954 DWORD grfMode, 8955 DWORD reserved2, 8956 IStream **ppstm); 8957 void __RPC_STUB IStorage_RemoteOpenStream_Stub( 8958 IRpcStubBuffer* This, 8959 IRpcChannelBuffer* pRpcChannelBuffer, 8960 PRPC_MESSAGE pRpcMessage, 8961 DWORD* pdwStubPhase); 8962 HRESULT STDMETHODCALLTYPE IStorage_RemoteCopyTo_Proxy( 8963 IStorage* This, 8964 DWORD ciidExclude, 8965 const IID *rgiidExclude, 8966 SNB snbExclude, 8967 IStorage *pstgDest); 8968 void __RPC_STUB IStorage_RemoteCopyTo_Stub( 8969 IRpcStubBuffer* This, 8970 IRpcChannelBuffer* pRpcChannelBuffer, 8971 PRPC_MESSAGE pRpcMessage, 8972 DWORD* pdwStubPhase); 8973 HRESULT STDMETHODCALLTYPE IStorage_RemoteEnumElements_Proxy( 8974 IStorage* This, 8975 DWORD reserved1, 8976 ULONG cbReserved2, 8977 byte *reserved2, 8978 DWORD reserved3, 8979 IEnumSTATSTG **ppenum); 8980 void __RPC_STUB IStorage_RemoteEnumElements_Stub( 8981 IRpcStubBuffer* This, 8982 IRpcChannelBuffer* pRpcChannelBuffer, 8983 PRPC_MESSAGE pRpcMessage, 8984 DWORD* pdwStubPhase); 8985 HRESULT CALLBACK IStorage_OpenStream_Proxy( 8986 IStorage* This, 8987 const OLECHAR *pwcsName, 8988 void *reserved1, 8989 DWORD grfMode, 8990 DWORD reserved2, 8991 IStream **ppstm); 8992 HRESULT __RPC_STUB IStorage_OpenStream_Stub( 8993 IStorage* This, 8994 const OLECHAR *pwcsName, 8995 ULONG cbReserved1, 8996 byte *reserved1, 8997 DWORD grfMode, 8998 DWORD reserved2, 8999 IStream **ppstm); 9000 HRESULT CALLBACK IStorage_CopyTo_Proxy( 9001 IStorage* This, 9002 DWORD ciidExclude, 9003 const IID *rgiidExclude, 9004 SNB snbExclude, 9005 IStorage *pstgDest); 9006 HRESULT __RPC_STUB IStorage_CopyTo_Stub( 9007 IStorage* This, 9008 DWORD ciidExclude, 9009 const IID *rgiidExclude, 9010 SNB snbExclude, 9011 IStorage *pstgDest); 9012 HRESULT CALLBACK IStorage_EnumElements_Proxy( 9013 IStorage* This, 9014 DWORD reserved1, 9015 void *reserved2, 9016 DWORD reserved3, 9017 IEnumSTATSTG **ppenum); 9018 HRESULT __RPC_STUB IStorage_EnumElements_Stub( 9019 IStorage* This, 9020 DWORD reserved1, 9021 ULONG cbReserved2, 9022 byte *reserved2, 9023 DWORD reserved3, 9024 IEnumSTATSTG **ppenum); 9025 9026 #endif /* __IStorage_INTERFACE_DEFINED__ */ 9027 9028 #endif 9029 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 9030 /***************************************************************************** 9031 * IPersistFile interface 9032 */ 9033 #ifndef __IPersistFile_INTERFACE_DEFINED__ 9034 #define __IPersistFile_INTERFACE_DEFINED__ 9035 9036 typedef IPersistFile *LPPERSISTFILE; 9037 DEFINE_GUID(IID_IPersistFile, 0x0000010b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 9038 #if defined(__cplusplus) && !defined(CINTERFACE) 9039 MIDL_INTERFACE("0000010b-0000-0000-c000-000000000046") 9040 IPersistFile : public IPersist 9041 { 9042 virtual HRESULT STDMETHODCALLTYPE IsDirty( 9043 ) = 0; 9044 9045 virtual HRESULT STDMETHODCALLTYPE Load( 9046 LPCOLESTR pszFileName, 9047 DWORD dwMode) = 0; 9048 9049 virtual HRESULT STDMETHODCALLTYPE Save( 9050 LPCOLESTR pszFileName, 9051 WINBOOL fRemember) = 0; 9052 9053 virtual HRESULT STDMETHODCALLTYPE SaveCompleted( 9054 LPCOLESTR pszFileName) = 0; 9055 9056 virtual HRESULT STDMETHODCALLTYPE GetCurFile( 9057 LPOLESTR *ppszFileName) = 0; 9058 9059 }; 9060 #ifdef __CRT_UUID_DECL 9061 __CRT_UUID_DECL(IPersistFile, 0x0000010b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 9062 #endif 9063 #else 9064 typedef struct IPersistFileVtbl { 9065 BEGIN_INTERFACE 9066 9067 /*** IUnknown methods ***/ 9068 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9069 IPersistFile *This, 9070 REFIID riid, 9071 void **ppvObject); 9072 9073 ULONG (STDMETHODCALLTYPE *AddRef)( 9074 IPersistFile *This); 9075 9076 ULONG (STDMETHODCALLTYPE *Release)( 9077 IPersistFile *This); 9078 9079 /*** IPersist methods ***/ 9080 HRESULT (STDMETHODCALLTYPE *GetClassID)( 9081 IPersistFile *This, 9082 CLSID *pClassID); 9083 9084 /*** IPersistFile methods ***/ 9085 HRESULT (STDMETHODCALLTYPE *IsDirty)( 9086 IPersistFile *This); 9087 9088 HRESULT (STDMETHODCALLTYPE *Load)( 9089 IPersistFile *This, 9090 LPCOLESTR pszFileName, 9091 DWORD dwMode); 9092 9093 HRESULT (STDMETHODCALLTYPE *Save)( 9094 IPersistFile *This, 9095 LPCOLESTR pszFileName, 9096 WINBOOL fRemember); 9097 9098 HRESULT (STDMETHODCALLTYPE *SaveCompleted)( 9099 IPersistFile *This, 9100 LPCOLESTR pszFileName); 9101 9102 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 9103 IPersistFile *This, 9104 LPOLESTR *ppszFileName); 9105 9106 END_INTERFACE 9107 } IPersistFileVtbl; 9108 9109 interface IPersistFile { 9110 CONST_VTBL IPersistFileVtbl* lpVtbl; 9111 }; 9112 9113 #ifdef COBJMACROS 9114 #ifndef WIDL_C_INLINE_WRAPPERS 9115 /*** IUnknown methods ***/ 9116 #define IPersistFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9117 #define IPersistFile_AddRef(This) (This)->lpVtbl->AddRef(This) 9118 #define IPersistFile_Release(This) (This)->lpVtbl->Release(This) 9119 /*** IPersist methods ***/ 9120 #define IPersistFile_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 9121 /*** IPersistFile methods ***/ 9122 #define IPersistFile_IsDirty(This) (This)->lpVtbl->IsDirty(This) 9123 #define IPersistFile_Load(This,pszFileName,dwMode) (This)->lpVtbl->Load(This,pszFileName,dwMode) 9124 #define IPersistFile_Save(This,pszFileName,fRemember) (This)->lpVtbl->Save(This,pszFileName,fRemember) 9125 #define IPersistFile_SaveCompleted(This,pszFileName) (This)->lpVtbl->SaveCompleted(This,pszFileName) 9126 #define IPersistFile_GetCurFile(This,ppszFileName) (This)->lpVtbl->GetCurFile(This,ppszFileName) 9127 #else 9128 /*** IUnknown methods ***/ 9129 static FORCEINLINE HRESULT IPersistFile_QueryInterface(IPersistFile* This,REFIID riid,void **ppvObject) { 9130 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9131 } 9132 static FORCEINLINE ULONG IPersistFile_AddRef(IPersistFile* This) { 9133 return This->lpVtbl->AddRef(This); 9134 } 9135 static FORCEINLINE ULONG IPersistFile_Release(IPersistFile* This) { 9136 return This->lpVtbl->Release(This); 9137 } 9138 /*** IPersist methods ***/ 9139 static FORCEINLINE HRESULT IPersistFile_GetClassID(IPersistFile* This,CLSID *pClassID) { 9140 return This->lpVtbl->GetClassID(This,pClassID); 9141 } 9142 /*** IPersistFile methods ***/ 9143 static FORCEINLINE HRESULT IPersistFile_IsDirty(IPersistFile* This) { 9144 return This->lpVtbl->IsDirty(This); 9145 } 9146 static FORCEINLINE HRESULT IPersistFile_Load(IPersistFile* This,LPCOLESTR pszFileName,DWORD dwMode) { 9147 return This->lpVtbl->Load(This,pszFileName,dwMode); 9148 } 9149 static FORCEINLINE HRESULT IPersistFile_Save(IPersistFile* This,LPCOLESTR pszFileName,WINBOOL fRemember) { 9150 return This->lpVtbl->Save(This,pszFileName,fRemember); 9151 } 9152 static FORCEINLINE HRESULT IPersistFile_SaveCompleted(IPersistFile* This,LPCOLESTR pszFileName) { 9153 return This->lpVtbl->SaveCompleted(This,pszFileName); 9154 } 9155 static FORCEINLINE HRESULT IPersistFile_GetCurFile(IPersistFile* This,LPOLESTR *ppszFileName) { 9156 return This->lpVtbl->GetCurFile(This,ppszFileName); 9157 } 9158 #endif 9159 #endif 9160 9161 #endif 9162 9163 9164 #endif /* __IPersistFile_INTERFACE_DEFINED__ */ 9165 9166 /***************************************************************************** 9167 * IPersistStorage interface 9168 */ 9169 #ifndef __IPersistStorage_INTERFACE_DEFINED__ 9170 #define __IPersistStorage_INTERFACE_DEFINED__ 9171 9172 typedef IPersistStorage *LPPERSISTSTORAGE; 9173 DEFINE_GUID(IID_IPersistStorage, 0x0000010a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 9174 #if defined(__cplusplus) && !defined(CINTERFACE) 9175 MIDL_INTERFACE("0000010a-0000-0000-c000-000000000046") 9176 IPersistStorage : public IPersist 9177 { 9178 virtual HRESULT STDMETHODCALLTYPE IsDirty( 9179 ) = 0; 9180 9181 virtual HRESULT STDMETHODCALLTYPE InitNew( 9182 IStorage *pStg) = 0; 9183 9184 virtual HRESULT STDMETHODCALLTYPE Load( 9185 IStorage *pStg) = 0; 9186 9187 virtual HRESULT STDMETHODCALLTYPE Save( 9188 IStorage *pStgSave, 9189 WINBOOL fSameAsLoad) = 0; 9190 9191 virtual HRESULT STDMETHODCALLTYPE SaveCompleted( 9192 IStorage *pStgNew) = 0; 9193 9194 virtual HRESULT STDMETHODCALLTYPE HandsOffStorage( 9195 ) = 0; 9196 9197 }; 9198 #ifdef __CRT_UUID_DECL 9199 __CRT_UUID_DECL(IPersistStorage, 0x0000010a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 9200 #endif 9201 #else 9202 typedef struct IPersistStorageVtbl { 9203 BEGIN_INTERFACE 9204 9205 /*** IUnknown methods ***/ 9206 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9207 IPersistStorage *This, 9208 REFIID riid, 9209 void **ppvObject); 9210 9211 ULONG (STDMETHODCALLTYPE *AddRef)( 9212 IPersistStorage *This); 9213 9214 ULONG (STDMETHODCALLTYPE *Release)( 9215 IPersistStorage *This); 9216 9217 /*** IPersist methods ***/ 9218 HRESULT (STDMETHODCALLTYPE *GetClassID)( 9219 IPersistStorage *This, 9220 CLSID *pClassID); 9221 9222 /*** IPersistStorage methods ***/ 9223 HRESULT (STDMETHODCALLTYPE *IsDirty)( 9224 IPersistStorage *This); 9225 9226 HRESULT (STDMETHODCALLTYPE *InitNew)( 9227 IPersistStorage *This, 9228 IStorage *pStg); 9229 9230 HRESULT (STDMETHODCALLTYPE *Load)( 9231 IPersistStorage *This, 9232 IStorage *pStg); 9233 9234 HRESULT (STDMETHODCALLTYPE *Save)( 9235 IPersistStorage *This, 9236 IStorage *pStgSave, 9237 WINBOOL fSameAsLoad); 9238 9239 HRESULT (STDMETHODCALLTYPE *SaveCompleted)( 9240 IPersistStorage *This, 9241 IStorage *pStgNew); 9242 9243 HRESULT (STDMETHODCALLTYPE *HandsOffStorage)( 9244 IPersistStorage *This); 9245 9246 END_INTERFACE 9247 } IPersistStorageVtbl; 9248 9249 interface IPersistStorage { 9250 CONST_VTBL IPersistStorageVtbl* lpVtbl; 9251 }; 9252 9253 #ifdef COBJMACROS 9254 #ifndef WIDL_C_INLINE_WRAPPERS 9255 /*** IUnknown methods ***/ 9256 #define IPersistStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9257 #define IPersistStorage_AddRef(This) (This)->lpVtbl->AddRef(This) 9258 #define IPersistStorage_Release(This) (This)->lpVtbl->Release(This) 9259 /*** IPersist methods ***/ 9260 #define IPersistStorage_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 9261 /*** IPersistStorage methods ***/ 9262 #define IPersistStorage_IsDirty(This) (This)->lpVtbl->IsDirty(This) 9263 #define IPersistStorage_InitNew(This,pStg) (This)->lpVtbl->InitNew(This,pStg) 9264 #define IPersistStorage_Load(This,pStg) (This)->lpVtbl->Load(This,pStg) 9265 #define IPersistStorage_Save(This,pStgSave,fSameAsLoad) (This)->lpVtbl->Save(This,pStgSave,fSameAsLoad) 9266 #define IPersistStorage_SaveCompleted(This,pStgNew) (This)->lpVtbl->SaveCompleted(This,pStgNew) 9267 #define IPersistStorage_HandsOffStorage(This) (This)->lpVtbl->HandsOffStorage(This) 9268 #else 9269 /*** IUnknown methods ***/ 9270 static FORCEINLINE HRESULT IPersistStorage_QueryInterface(IPersistStorage* This,REFIID riid,void **ppvObject) { 9271 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9272 } 9273 static FORCEINLINE ULONG IPersistStorage_AddRef(IPersistStorage* This) { 9274 return This->lpVtbl->AddRef(This); 9275 } 9276 static FORCEINLINE ULONG IPersistStorage_Release(IPersistStorage* This) { 9277 return This->lpVtbl->Release(This); 9278 } 9279 /*** IPersist methods ***/ 9280 static FORCEINLINE HRESULT IPersistStorage_GetClassID(IPersistStorage* This,CLSID *pClassID) { 9281 return This->lpVtbl->GetClassID(This,pClassID); 9282 } 9283 /*** IPersistStorage methods ***/ 9284 static FORCEINLINE HRESULT IPersistStorage_IsDirty(IPersistStorage* This) { 9285 return This->lpVtbl->IsDirty(This); 9286 } 9287 static FORCEINLINE HRESULT IPersistStorage_InitNew(IPersistStorage* This,IStorage *pStg) { 9288 return This->lpVtbl->InitNew(This,pStg); 9289 } 9290 static FORCEINLINE HRESULT IPersistStorage_Load(IPersistStorage* This,IStorage *pStg) { 9291 return This->lpVtbl->Load(This,pStg); 9292 } 9293 static FORCEINLINE HRESULT IPersistStorage_Save(IPersistStorage* This,IStorage *pStgSave,WINBOOL fSameAsLoad) { 9294 return This->lpVtbl->Save(This,pStgSave,fSameAsLoad); 9295 } 9296 static FORCEINLINE HRESULT IPersistStorage_SaveCompleted(IPersistStorage* This,IStorage *pStgNew) { 9297 return This->lpVtbl->SaveCompleted(This,pStgNew); 9298 } 9299 static FORCEINLINE HRESULT IPersistStorage_HandsOffStorage(IPersistStorage* This) { 9300 return This->lpVtbl->HandsOffStorage(This); 9301 } 9302 #endif 9303 #endif 9304 9305 #endif 9306 9307 9308 #endif /* __IPersistStorage_INTERFACE_DEFINED__ */ 9309 9310 #endif 9311 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 9312 /***************************************************************************** 9313 * ILockBytes interface 9314 */ 9315 #ifndef __ILockBytes_INTERFACE_DEFINED__ 9316 #define __ILockBytes_INTERFACE_DEFINED__ 9317 9318 typedef ILockBytes *LPLOCKBYTES; 9319 DEFINE_GUID(IID_ILockBytes, 0x0000000a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 9320 #if defined(__cplusplus) && !defined(CINTERFACE) 9321 MIDL_INTERFACE("0000000a-0000-0000-c000-000000000046") 9322 ILockBytes : public IUnknown 9323 { 9324 virtual HRESULT STDMETHODCALLTYPE ReadAt( 9325 ULARGE_INTEGER ulOffset, 9326 void *pv, 9327 ULONG cb, 9328 ULONG *pcbRead) = 0; 9329 9330 virtual HRESULT STDMETHODCALLTYPE WriteAt( 9331 ULARGE_INTEGER ulOffset, 9332 const void *pv, 9333 ULONG cb, 9334 ULONG *pcbWritten) = 0; 9335 9336 virtual HRESULT STDMETHODCALLTYPE Flush( 9337 ) = 0; 9338 9339 virtual HRESULT STDMETHODCALLTYPE SetSize( 9340 ULARGE_INTEGER cb) = 0; 9341 9342 virtual HRESULT STDMETHODCALLTYPE LockRegion( 9343 ULARGE_INTEGER libOffset, 9344 ULARGE_INTEGER cb, 9345 DWORD dwLockType) = 0; 9346 9347 virtual HRESULT STDMETHODCALLTYPE UnlockRegion( 9348 ULARGE_INTEGER libOffset, 9349 ULARGE_INTEGER cb, 9350 DWORD dwLockType) = 0; 9351 9352 virtual HRESULT STDMETHODCALLTYPE Stat( 9353 STATSTG *pstatstg, 9354 DWORD grfStatFlag) = 0; 9355 9356 }; 9357 #ifdef __CRT_UUID_DECL 9358 __CRT_UUID_DECL(ILockBytes, 0x0000000a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 9359 #endif 9360 #else 9361 typedef struct ILockBytesVtbl { 9362 BEGIN_INTERFACE 9363 9364 /*** IUnknown methods ***/ 9365 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9366 ILockBytes *This, 9367 REFIID riid, 9368 void **ppvObject); 9369 9370 ULONG (STDMETHODCALLTYPE *AddRef)( 9371 ILockBytes *This); 9372 9373 ULONG (STDMETHODCALLTYPE *Release)( 9374 ILockBytes *This); 9375 9376 /*** ILockBytes methods ***/ 9377 HRESULT (STDMETHODCALLTYPE *ReadAt)( 9378 ILockBytes *This, 9379 ULARGE_INTEGER ulOffset, 9380 void *pv, 9381 ULONG cb, 9382 ULONG *pcbRead); 9383 9384 HRESULT (STDMETHODCALLTYPE *WriteAt)( 9385 ILockBytes *This, 9386 ULARGE_INTEGER ulOffset, 9387 const void *pv, 9388 ULONG cb, 9389 ULONG *pcbWritten); 9390 9391 HRESULT (STDMETHODCALLTYPE *Flush)( 9392 ILockBytes *This); 9393 9394 HRESULT (STDMETHODCALLTYPE *SetSize)( 9395 ILockBytes *This, 9396 ULARGE_INTEGER cb); 9397 9398 HRESULT (STDMETHODCALLTYPE *LockRegion)( 9399 ILockBytes *This, 9400 ULARGE_INTEGER libOffset, 9401 ULARGE_INTEGER cb, 9402 DWORD dwLockType); 9403 9404 HRESULT (STDMETHODCALLTYPE *UnlockRegion)( 9405 ILockBytes *This, 9406 ULARGE_INTEGER libOffset, 9407 ULARGE_INTEGER cb, 9408 DWORD dwLockType); 9409 9410 HRESULT (STDMETHODCALLTYPE *Stat)( 9411 ILockBytes *This, 9412 STATSTG *pstatstg, 9413 DWORD grfStatFlag); 9414 9415 END_INTERFACE 9416 } ILockBytesVtbl; 9417 9418 interface ILockBytes { 9419 CONST_VTBL ILockBytesVtbl* lpVtbl; 9420 }; 9421 9422 #ifdef COBJMACROS 9423 #ifndef WIDL_C_INLINE_WRAPPERS 9424 /*** IUnknown methods ***/ 9425 #define ILockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9426 #define ILockBytes_AddRef(This) (This)->lpVtbl->AddRef(This) 9427 #define ILockBytes_Release(This) (This)->lpVtbl->Release(This) 9428 /*** ILockBytes methods ***/ 9429 #define ILockBytes_ReadAt(This,ulOffset,pv,cb,pcbRead) (This)->lpVtbl->ReadAt(This,ulOffset,pv,cb,pcbRead) 9430 #define ILockBytes_WriteAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->WriteAt(This,ulOffset,pv,cb,pcbWritten) 9431 #define ILockBytes_Flush(This) (This)->lpVtbl->Flush(This) 9432 #define ILockBytes_SetSize(This,cb) (This)->lpVtbl->SetSize(This,cb) 9433 #define ILockBytes_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType) 9434 #define ILockBytes_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType) 9435 #define ILockBytes_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag) 9436 #else 9437 /*** IUnknown methods ***/ 9438 static FORCEINLINE HRESULT ILockBytes_QueryInterface(ILockBytes* This,REFIID riid,void **ppvObject) { 9439 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9440 } 9441 static FORCEINLINE ULONG ILockBytes_AddRef(ILockBytes* This) { 9442 return This->lpVtbl->AddRef(This); 9443 } 9444 static FORCEINLINE ULONG ILockBytes_Release(ILockBytes* This) { 9445 return This->lpVtbl->Release(This); 9446 } 9447 /*** ILockBytes methods ***/ 9448 static FORCEINLINE HRESULT ILockBytes_ReadAt(ILockBytes* This,ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead) { 9449 return This->lpVtbl->ReadAt(This,ulOffset,pv,cb,pcbRead); 9450 } 9451 static FORCEINLINE HRESULT ILockBytes_WriteAt(ILockBytes* This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten) { 9452 return This->lpVtbl->WriteAt(This,ulOffset,pv,cb,pcbWritten); 9453 } 9454 static FORCEINLINE HRESULT ILockBytes_Flush(ILockBytes* This) { 9455 return This->lpVtbl->Flush(This); 9456 } 9457 static FORCEINLINE HRESULT ILockBytes_SetSize(ILockBytes* This,ULARGE_INTEGER cb) { 9458 return This->lpVtbl->SetSize(This,cb); 9459 } 9460 static FORCEINLINE HRESULT ILockBytes_LockRegion(ILockBytes* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { 9461 return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType); 9462 } 9463 static FORCEINLINE HRESULT ILockBytes_UnlockRegion(ILockBytes* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { 9464 return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType); 9465 } 9466 static FORCEINLINE HRESULT ILockBytes_Stat(ILockBytes* This,STATSTG *pstatstg,DWORD grfStatFlag) { 9467 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag); 9468 } 9469 #endif 9470 #endif 9471 9472 #endif 9473 9474 HRESULT __stdcall ILockBytes_RemoteReadAt_Proxy( 9475 ILockBytes* This, 9476 ULARGE_INTEGER ulOffset, 9477 byte *pv, 9478 ULONG cb, 9479 ULONG *pcbRead); 9480 void __RPC_STUB ILockBytes_RemoteReadAt_Stub( 9481 IRpcStubBuffer* This, 9482 IRpcChannelBuffer* pRpcChannelBuffer, 9483 PRPC_MESSAGE pRpcMessage, 9484 DWORD* pdwStubPhase); 9485 HRESULT STDMETHODCALLTYPE ILockBytes_RemoteWriteAt_Proxy( 9486 ILockBytes* This, 9487 ULARGE_INTEGER ulOffset, 9488 const byte *pv, 9489 ULONG cb, 9490 ULONG *pcbWritten); 9491 void __RPC_STUB ILockBytes_RemoteWriteAt_Stub( 9492 IRpcStubBuffer* This, 9493 IRpcChannelBuffer* pRpcChannelBuffer, 9494 PRPC_MESSAGE pRpcMessage, 9495 DWORD* pdwStubPhase); 9496 HRESULT CALLBACK ILockBytes_ReadAt_Proxy( 9497 ILockBytes* This, 9498 ULARGE_INTEGER ulOffset, 9499 void *pv, 9500 ULONG cb, 9501 ULONG *pcbRead); 9502 HRESULT __RPC_STUB ILockBytes_ReadAt_Stub( 9503 ILockBytes* This, 9504 ULARGE_INTEGER ulOffset, 9505 byte *pv, 9506 ULONG cb, 9507 ULONG *pcbRead); 9508 HRESULT CALLBACK ILockBytes_WriteAt_Proxy( 9509 ILockBytes* This, 9510 ULARGE_INTEGER ulOffset, 9511 const void *pv, 9512 ULONG cb, 9513 ULONG *pcbWritten); 9514 HRESULT __RPC_STUB ILockBytes_WriteAt_Stub( 9515 ILockBytes* This, 9516 ULARGE_INTEGER ulOffset, 9517 const byte *pv, 9518 ULONG cb, 9519 ULONG *pcbWritten); 9520 9521 #endif /* __ILockBytes_INTERFACE_DEFINED__ */ 9522 9523 /***************************************************************************** 9524 * IEnumFORMATETC interface 9525 */ 9526 #ifndef __IEnumFORMATETC_INTERFACE_DEFINED__ 9527 #define __IEnumFORMATETC_INTERFACE_DEFINED__ 9528 9529 typedef IEnumFORMATETC *LPENUMFORMATETC; 9530 typedef struct tagDVTARGETDEVICE { 9531 DWORD tdSize; 9532 WORD tdDriverNameOffset; 9533 WORD tdDeviceNameOffset; 9534 WORD tdPortNameOffset; 9535 WORD tdExtDevmodeOffset; 9536 BYTE tdData[1]; 9537 } DVTARGETDEVICE; 9538 typedef CLIPFORMAT *LPCLIPFORMAT; 9539 typedef struct tagFORMATETC { 9540 CLIPFORMAT cfFormat; 9541 DVTARGETDEVICE *ptd; 9542 DWORD dwAspect; 9543 LONG lindex; 9544 DWORD tymed; 9545 } FORMATETC; 9546 typedef struct tagFORMATETC *LPFORMATETC; 9547 DEFINE_GUID(IID_IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 9548 #if defined(__cplusplus) && !defined(CINTERFACE) 9549 MIDL_INTERFACE("00000103-0000-0000-c000-000000000046") 9550 IEnumFORMATETC : public IUnknown 9551 { 9552 virtual HRESULT STDMETHODCALLTYPE Next( 9553 ULONG celt, 9554 FORMATETC *rgelt, 9555 ULONG *pceltFetched) = 0; 9556 9557 virtual HRESULT STDMETHODCALLTYPE Skip( 9558 ULONG celt) = 0; 9559 9560 virtual HRESULT STDMETHODCALLTYPE Reset( 9561 ) = 0; 9562 9563 virtual HRESULT STDMETHODCALLTYPE Clone( 9564 IEnumFORMATETC **ppenum) = 0; 9565 9566 }; 9567 #ifdef __CRT_UUID_DECL 9568 __CRT_UUID_DECL(IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 9569 #endif 9570 #else 9571 typedef struct IEnumFORMATETCVtbl { 9572 BEGIN_INTERFACE 9573 9574 /*** IUnknown methods ***/ 9575 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9576 IEnumFORMATETC *This, 9577 REFIID riid, 9578 void **ppvObject); 9579 9580 ULONG (STDMETHODCALLTYPE *AddRef)( 9581 IEnumFORMATETC *This); 9582 9583 ULONG (STDMETHODCALLTYPE *Release)( 9584 IEnumFORMATETC *This); 9585 9586 /*** IEnumFORMATETC methods ***/ 9587 HRESULT (STDMETHODCALLTYPE *Next)( 9588 IEnumFORMATETC *This, 9589 ULONG celt, 9590 FORMATETC *rgelt, 9591 ULONG *pceltFetched); 9592 9593 HRESULT (STDMETHODCALLTYPE *Skip)( 9594 IEnumFORMATETC *This, 9595 ULONG celt); 9596 9597 HRESULT (STDMETHODCALLTYPE *Reset)( 9598 IEnumFORMATETC *This); 9599 9600 HRESULT (STDMETHODCALLTYPE *Clone)( 9601 IEnumFORMATETC *This, 9602 IEnumFORMATETC **ppenum); 9603 9604 END_INTERFACE 9605 } IEnumFORMATETCVtbl; 9606 9607 interface IEnumFORMATETC { 9608 CONST_VTBL IEnumFORMATETCVtbl* lpVtbl; 9609 }; 9610 9611 #ifdef COBJMACROS 9612 #ifndef WIDL_C_INLINE_WRAPPERS 9613 /*** IUnknown methods ***/ 9614 #define IEnumFORMATETC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9615 #define IEnumFORMATETC_AddRef(This) (This)->lpVtbl->AddRef(This) 9616 #define IEnumFORMATETC_Release(This) (This)->lpVtbl->Release(This) 9617 /*** IEnumFORMATETC methods ***/ 9618 #define IEnumFORMATETC_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 9619 #define IEnumFORMATETC_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 9620 #define IEnumFORMATETC_Reset(This) (This)->lpVtbl->Reset(This) 9621 #define IEnumFORMATETC_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 9622 #else 9623 /*** IUnknown methods ***/ 9624 static FORCEINLINE HRESULT IEnumFORMATETC_QueryInterface(IEnumFORMATETC* This,REFIID riid,void **ppvObject) { 9625 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9626 } 9627 static FORCEINLINE ULONG IEnumFORMATETC_AddRef(IEnumFORMATETC* This) { 9628 return This->lpVtbl->AddRef(This); 9629 } 9630 static FORCEINLINE ULONG IEnumFORMATETC_Release(IEnumFORMATETC* This) { 9631 return This->lpVtbl->Release(This); 9632 } 9633 /*** IEnumFORMATETC methods ***/ 9634 static FORCEINLINE HRESULT IEnumFORMATETC_Next(IEnumFORMATETC* This,ULONG celt,FORMATETC *rgelt,ULONG *pceltFetched) { 9635 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 9636 } 9637 static FORCEINLINE HRESULT IEnumFORMATETC_Skip(IEnumFORMATETC* This,ULONG celt) { 9638 return This->lpVtbl->Skip(This,celt); 9639 } 9640 static FORCEINLINE HRESULT IEnumFORMATETC_Reset(IEnumFORMATETC* This) { 9641 return This->lpVtbl->Reset(This); 9642 } 9643 static FORCEINLINE HRESULT IEnumFORMATETC_Clone(IEnumFORMATETC* This,IEnumFORMATETC **ppenum) { 9644 return This->lpVtbl->Clone(This,ppenum); 9645 } 9646 #endif 9647 #endif 9648 9649 #endif 9650 9651 HRESULT STDMETHODCALLTYPE IEnumFORMATETC_RemoteNext_Proxy( 9652 IEnumFORMATETC* This, 9653 ULONG celt, 9654 FORMATETC *rgelt, 9655 ULONG *pceltFetched); 9656 void __RPC_STUB IEnumFORMATETC_RemoteNext_Stub( 9657 IRpcStubBuffer* This, 9658 IRpcChannelBuffer* pRpcChannelBuffer, 9659 PRPC_MESSAGE pRpcMessage, 9660 DWORD* pdwStubPhase); 9661 HRESULT CALLBACK IEnumFORMATETC_Next_Proxy( 9662 IEnumFORMATETC* This, 9663 ULONG celt, 9664 FORMATETC *rgelt, 9665 ULONG *pceltFetched); 9666 HRESULT __RPC_STUB IEnumFORMATETC_Next_Stub( 9667 IEnumFORMATETC* This, 9668 ULONG celt, 9669 FORMATETC *rgelt, 9670 ULONG *pceltFetched); 9671 9672 #endif /* __IEnumFORMATETC_INTERFACE_DEFINED__ */ 9673 9674 /***************************************************************************** 9675 * IEnumSTATDATA interface 9676 */ 9677 #ifndef __IEnumSTATDATA_INTERFACE_DEFINED__ 9678 #define __IEnumSTATDATA_INTERFACE_DEFINED__ 9679 9680 typedef IEnumSTATDATA *LPENUMSTATDATA; 9681 typedef enum tagADVF { 9682 ADVF_NODATA = 1, 9683 ADVF_PRIMEFIRST = 2, 9684 ADVF_ONLYONCE = 4, 9685 ADVF_DATAONSTOP = 64, 9686 ADVFCACHE_NOHANDLER = 8, 9687 ADVFCACHE_FORCEBUILTIN = 16, 9688 ADVFCACHE_ONSAVE = 32 9689 } ADVF; 9690 typedef struct tagSTATDATA { 9691 FORMATETC formatetc; 9692 DWORD advf; 9693 IAdviseSink *pAdvSink; 9694 DWORD dwConnection; 9695 } STATDATA; 9696 typedef STATDATA *LPSTATDATA; 9697 DEFINE_GUID(IID_IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 9698 #if defined(__cplusplus) && !defined(CINTERFACE) 9699 MIDL_INTERFACE("00000105-0000-0000-c000-000000000046") 9700 IEnumSTATDATA : public IUnknown 9701 { 9702 virtual HRESULT STDMETHODCALLTYPE Next( 9703 ULONG celt, 9704 STATDATA *rgelt, 9705 ULONG *pceltFetched) = 0; 9706 9707 virtual HRESULT STDMETHODCALLTYPE Skip( 9708 ULONG celt) = 0; 9709 9710 virtual HRESULT STDMETHODCALLTYPE Reset( 9711 ) = 0; 9712 9713 virtual HRESULT STDMETHODCALLTYPE Clone( 9714 IEnumSTATDATA **ppenum) = 0; 9715 9716 }; 9717 #ifdef __CRT_UUID_DECL 9718 __CRT_UUID_DECL(IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 9719 #endif 9720 #else 9721 typedef struct IEnumSTATDATAVtbl { 9722 BEGIN_INTERFACE 9723 9724 /*** IUnknown methods ***/ 9725 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9726 IEnumSTATDATA *This, 9727 REFIID riid, 9728 void **ppvObject); 9729 9730 ULONG (STDMETHODCALLTYPE *AddRef)( 9731 IEnumSTATDATA *This); 9732 9733 ULONG (STDMETHODCALLTYPE *Release)( 9734 IEnumSTATDATA *This); 9735 9736 /*** IEnumSTATDATA methods ***/ 9737 HRESULT (STDMETHODCALLTYPE *Next)( 9738 IEnumSTATDATA *This, 9739 ULONG celt, 9740 STATDATA *rgelt, 9741 ULONG *pceltFetched); 9742 9743 HRESULT (STDMETHODCALLTYPE *Skip)( 9744 IEnumSTATDATA *This, 9745 ULONG celt); 9746 9747 HRESULT (STDMETHODCALLTYPE *Reset)( 9748 IEnumSTATDATA *This); 9749 9750 HRESULT (STDMETHODCALLTYPE *Clone)( 9751 IEnumSTATDATA *This, 9752 IEnumSTATDATA **ppenum); 9753 9754 END_INTERFACE 9755 } IEnumSTATDATAVtbl; 9756 9757 interface IEnumSTATDATA { 9758 CONST_VTBL IEnumSTATDATAVtbl* lpVtbl; 9759 }; 9760 9761 #ifdef COBJMACROS 9762 #ifndef WIDL_C_INLINE_WRAPPERS 9763 /*** IUnknown methods ***/ 9764 #define IEnumSTATDATA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9765 #define IEnumSTATDATA_AddRef(This) (This)->lpVtbl->AddRef(This) 9766 #define IEnumSTATDATA_Release(This) (This)->lpVtbl->Release(This) 9767 /*** IEnumSTATDATA methods ***/ 9768 #define IEnumSTATDATA_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 9769 #define IEnumSTATDATA_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 9770 #define IEnumSTATDATA_Reset(This) (This)->lpVtbl->Reset(This) 9771 #define IEnumSTATDATA_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 9772 #else 9773 /*** IUnknown methods ***/ 9774 static FORCEINLINE HRESULT IEnumSTATDATA_QueryInterface(IEnumSTATDATA* This,REFIID riid,void **ppvObject) { 9775 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9776 } 9777 static FORCEINLINE ULONG IEnumSTATDATA_AddRef(IEnumSTATDATA* This) { 9778 return This->lpVtbl->AddRef(This); 9779 } 9780 static FORCEINLINE ULONG IEnumSTATDATA_Release(IEnumSTATDATA* This) { 9781 return This->lpVtbl->Release(This); 9782 } 9783 /*** IEnumSTATDATA methods ***/ 9784 static FORCEINLINE HRESULT IEnumSTATDATA_Next(IEnumSTATDATA* This,ULONG celt,STATDATA *rgelt,ULONG *pceltFetched) { 9785 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 9786 } 9787 static FORCEINLINE HRESULT IEnumSTATDATA_Skip(IEnumSTATDATA* This,ULONG celt) { 9788 return This->lpVtbl->Skip(This,celt); 9789 } 9790 static FORCEINLINE HRESULT IEnumSTATDATA_Reset(IEnumSTATDATA* This) { 9791 return This->lpVtbl->Reset(This); 9792 } 9793 static FORCEINLINE HRESULT IEnumSTATDATA_Clone(IEnumSTATDATA* This,IEnumSTATDATA **ppenum) { 9794 return This->lpVtbl->Clone(This,ppenum); 9795 } 9796 #endif 9797 #endif 9798 9799 #endif 9800 9801 HRESULT STDMETHODCALLTYPE IEnumSTATDATA_RemoteNext_Proxy( 9802 IEnumSTATDATA* This, 9803 ULONG celt, 9804 STATDATA *rgelt, 9805 ULONG *pceltFetched); 9806 void __RPC_STUB IEnumSTATDATA_RemoteNext_Stub( 9807 IRpcStubBuffer* This, 9808 IRpcChannelBuffer* pRpcChannelBuffer, 9809 PRPC_MESSAGE pRpcMessage, 9810 DWORD* pdwStubPhase); 9811 HRESULT CALLBACK IEnumSTATDATA_Next_Proxy( 9812 IEnumSTATDATA* This, 9813 ULONG celt, 9814 STATDATA *rgelt, 9815 ULONG *pceltFetched); 9816 HRESULT __RPC_STUB IEnumSTATDATA_Next_Stub( 9817 IEnumSTATDATA* This, 9818 ULONG celt, 9819 STATDATA *rgelt, 9820 ULONG *pceltFetched); 9821 9822 #endif /* __IEnumSTATDATA_INTERFACE_DEFINED__ */ 9823 9824 /***************************************************************************** 9825 * IRootStorage interface 9826 */ 9827 #ifndef __IRootStorage_INTERFACE_DEFINED__ 9828 #define __IRootStorage_INTERFACE_DEFINED__ 9829 9830 typedef IRootStorage *LPROOTSTORAGE; 9831 DEFINE_GUID(IID_IRootStorage, 0x00000012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 9832 #if defined(__cplusplus) && !defined(CINTERFACE) 9833 MIDL_INTERFACE("00000012-0000-0000-c000-000000000046") 9834 IRootStorage : public IUnknown 9835 { 9836 virtual HRESULT STDMETHODCALLTYPE SwitchToFile( 9837 LPOLESTR pszFile) = 0; 9838 9839 }; 9840 #ifdef __CRT_UUID_DECL 9841 __CRT_UUID_DECL(IRootStorage, 0x00000012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 9842 #endif 9843 #else 9844 typedef struct IRootStorageVtbl { 9845 BEGIN_INTERFACE 9846 9847 /*** IUnknown methods ***/ 9848 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9849 IRootStorage *This, 9850 REFIID riid, 9851 void **ppvObject); 9852 9853 ULONG (STDMETHODCALLTYPE *AddRef)( 9854 IRootStorage *This); 9855 9856 ULONG (STDMETHODCALLTYPE *Release)( 9857 IRootStorage *This); 9858 9859 /*** IRootStorage methods ***/ 9860 HRESULT (STDMETHODCALLTYPE *SwitchToFile)( 9861 IRootStorage *This, 9862 LPOLESTR pszFile); 9863 9864 END_INTERFACE 9865 } IRootStorageVtbl; 9866 9867 interface IRootStorage { 9868 CONST_VTBL IRootStorageVtbl* lpVtbl; 9869 }; 9870 9871 #ifdef COBJMACROS 9872 #ifndef WIDL_C_INLINE_WRAPPERS 9873 /*** IUnknown methods ***/ 9874 #define IRootStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9875 #define IRootStorage_AddRef(This) (This)->lpVtbl->AddRef(This) 9876 #define IRootStorage_Release(This) (This)->lpVtbl->Release(This) 9877 /*** IRootStorage methods ***/ 9878 #define IRootStorage_SwitchToFile(This,pszFile) (This)->lpVtbl->SwitchToFile(This,pszFile) 9879 #else 9880 /*** IUnknown methods ***/ 9881 static FORCEINLINE HRESULT IRootStorage_QueryInterface(IRootStorage* This,REFIID riid,void **ppvObject) { 9882 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9883 } 9884 static FORCEINLINE ULONG IRootStorage_AddRef(IRootStorage* This) { 9885 return This->lpVtbl->AddRef(This); 9886 } 9887 static FORCEINLINE ULONG IRootStorage_Release(IRootStorage* This) { 9888 return This->lpVtbl->Release(This); 9889 } 9890 /*** IRootStorage methods ***/ 9891 static FORCEINLINE HRESULT IRootStorage_SwitchToFile(IRootStorage* This,LPOLESTR pszFile) { 9892 return This->lpVtbl->SwitchToFile(This,pszFile); 9893 } 9894 #endif 9895 #endif 9896 9897 #endif 9898 9899 9900 #endif /* __IRootStorage_INTERFACE_DEFINED__ */ 9901 9902 /***************************************************************************** 9903 * IAdviseSink interface 9904 */ 9905 #ifndef __IAdviseSink_INTERFACE_DEFINED__ 9906 #define __IAdviseSink_INTERFACE_DEFINED__ 9907 9908 typedef IAdviseSink *LPADVISESINK; 9909 typedef enum tagTYMED { 9910 TYMED_HGLOBAL = 1, 9911 TYMED_FILE = 2, 9912 TYMED_ISTREAM = 4, 9913 TYMED_ISTORAGE = 8, 9914 TYMED_GDI = 16, 9915 TYMED_MFPICT = 32, 9916 TYMED_ENHMF = 64, 9917 TYMED_NULL = 0 9918 } TYMED; 9919 typedef struct tagRemSTGMEDIUM { 9920 DWORD tymed; 9921 DWORD dwHandleType; 9922 ULONG pData; 9923 ULONG pUnkForRelease; 9924 ULONG cbData; 9925 byte data[1]; 9926 } RemSTGMEDIUM; 9927 #ifdef NONAMELESSUNION 9928 typedef struct tagSTGMEDIUM { 9929 DWORD tymed; 9930 union { 9931 HBITMAP hBitmap; 9932 HMETAFILEPICT hMetaFilePict; 9933 HENHMETAFILE hEnhMetaFile; 9934 HGLOBAL hGlobal; 9935 LPOLESTR lpszFileName; 9936 IStream *pstm; 9937 IStorage *pstg; 9938 } u; 9939 IUnknown *pUnkForRelease; 9940 }uSTGMEDIUM; 9941 #else 9942 typedef struct tagSTGMEDIUM { 9943 DWORD tymed; 9944 union { 9945 HBITMAP hBitmap; 9946 HMETAFILEPICT hMetaFilePict; 9947 HENHMETAFILE hEnhMetaFile; 9948 HGLOBAL hGlobal; 9949 LPOLESTR lpszFileName; 9950 IStream *pstm; 9951 IStorage *pstg; 9952 } DUMMYUNIONNAME; 9953 IUnknown *pUnkForRelease; 9954 } uSTGMEDIUM; 9955 #endif 9956 typedef struct _GDI_OBJECT { 9957 DWORD ObjectType; 9958 union __WIDL_objidl_generated_name_0000000C { 9959 wireHBITMAP hBitmap; 9960 wireHPALETTE hPalette; 9961 wireHGLOBAL hGeneric; 9962 } u; 9963 } GDI_OBJECT; 9964 typedef struct _userSTGMEDIUM { 9965 struct _STGMEDIUM_UNION { 9966 DWORD tymed; 9967 union __WIDL_objidl_generated_name_0000000D { 9968 wireHMETAFILEPICT hMetaFilePict; 9969 wireHENHMETAFILE hHEnhMetaFile; 9970 GDI_OBJECT *hGdiHandle; 9971 wireHGLOBAL hGlobal; 9972 LPOLESTR lpszFileName; 9973 BYTE_BLOB *pstm; 9974 BYTE_BLOB *pstg; 9975 } u; 9976 } DUMMYUNIONNAME; 9977 IUnknown *pUnkForRelease; 9978 } userSTGMEDIUM; 9979 typedef userSTGMEDIUM *wireSTGMEDIUM; 9980 typedef uSTGMEDIUM STGMEDIUM; 9981 typedef userSTGMEDIUM *wireASYNC_STGMEDIUM; 9982 typedef STGMEDIUM ASYNC_STGMEDIUM; 9983 typedef STGMEDIUM *LPSTGMEDIUM; 9984 typedef struct _userFLAG_STGMEDIUM { 9985 LONG ContextFlags; 9986 LONG fPassOwnership; 9987 userSTGMEDIUM Stgmed; 9988 } userFLAG_STGMEDIUM; 9989 typedef userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM; 9990 typedef struct _FLAG_STGMEDIUM { 9991 LONG ContextFlags; 9992 LONG fPassOwnership; 9993 STGMEDIUM Stgmed; 9994 } FLAG_STGMEDIUM; 9995 DEFINE_GUID(IID_IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 9996 #if defined(__cplusplus) && !defined(CINTERFACE) 9997 MIDL_INTERFACE("0000010f-0000-0000-c000-000000000046") 9998 IAdviseSink : public IUnknown 9999 { 10000 virtual void STDMETHODCALLTYPE OnDataChange( 10001 FORMATETC *pFormatetc, 10002 STGMEDIUM *pStgmed) = 0; 10003 10004 virtual void STDMETHODCALLTYPE OnViewChange( 10005 DWORD dwAspect, 10006 LONG lindex) = 0; 10007 10008 virtual void STDMETHODCALLTYPE OnRename( 10009 IMoniker *pmk) = 0; 10010 10011 virtual void STDMETHODCALLTYPE OnSave( 10012 ) = 0; 10013 10014 virtual void STDMETHODCALLTYPE OnClose( 10015 ) = 0; 10016 10017 }; 10018 #ifdef __CRT_UUID_DECL 10019 __CRT_UUID_DECL(IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 10020 #endif 10021 #else 10022 typedef struct IAdviseSinkVtbl { 10023 BEGIN_INTERFACE 10024 10025 /*** IUnknown methods ***/ 10026 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10027 IAdviseSink *This, 10028 REFIID riid, 10029 void **ppvObject); 10030 10031 ULONG (STDMETHODCALLTYPE *AddRef)( 10032 IAdviseSink *This); 10033 10034 ULONG (STDMETHODCALLTYPE *Release)( 10035 IAdviseSink *This); 10036 10037 /*** IAdviseSink methods ***/ 10038 void (STDMETHODCALLTYPE *OnDataChange)( 10039 IAdviseSink *This, 10040 FORMATETC *pFormatetc, 10041 STGMEDIUM *pStgmed); 10042 10043 void (STDMETHODCALLTYPE *OnViewChange)( 10044 IAdviseSink *This, 10045 DWORD dwAspect, 10046 LONG lindex); 10047 10048 void (STDMETHODCALLTYPE *OnRename)( 10049 IAdviseSink *This, 10050 IMoniker *pmk); 10051 10052 void (STDMETHODCALLTYPE *OnSave)( 10053 IAdviseSink *This); 10054 10055 void (STDMETHODCALLTYPE *OnClose)( 10056 IAdviseSink *This); 10057 10058 END_INTERFACE 10059 } IAdviseSinkVtbl; 10060 10061 interface IAdviseSink { 10062 CONST_VTBL IAdviseSinkVtbl* lpVtbl; 10063 }; 10064 10065 #ifdef COBJMACROS 10066 #ifndef WIDL_C_INLINE_WRAPPERS 10067 /*** IUnknown methods ***/ 10068 #define IAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10069 #define IAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This) 10070 #define IAdviseSink_Release(This) (This)->lpVtbl->Release(This) 10071 /*** IAdviseSink methods ***/ 10072 #define IAdviseSink_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed) 10073 #define IAdviseSink_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex) 10074 #define IAdviseSink_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk) 10075 #define IAdviseSink_OnSave(This) (This)->lpVtbl->OnSave(This) 10076 #define IAdviseSink_OnClose(This) (This)->lpVtbl->OnClose(This) 10077 #else 10078 /*** IUnknown methods ***/ 10079 static FORCEINLINE HRESULT IAdviseSink_QueryInterface(IAdviseSink* This,REFIID riid,void **ppvObject) { 10080 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10081 } 10082 static FORCEINLINE ULONG IAdviseSink_AddRef(IAdviseSink* This) { 10083 return This->lpVtbl->AddRef(This); 10084 } 10085 static FORCEINLINE ULONG IAdviseSink_Release(IAdviseSink* This) { 10086 return This->lpVtbl->Release(This); 10087 } 10088 /*** IAdviseSink methods ***/ 10089 static FORCEINLINE void IAdviseSink_OnDataChange(IAdviseSink* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) { 10090 This->lpVtbl->OnDataChange(This,pFormatetc,pStgmed); 10091 } 10092 static FORCEINLINE void IAdviseSink_OnViewChange(IAdviseSink* This,DWORD dwAspect,LONG lindex) { 10093 This->lpVtbl->OnViewChange(This,dwAspect,lindex); 10094 } 10095 static FORCEINLINE void IAdviseSink_OnRename(IAdviseSink* This,IMoniker *pmk) { 10096 This->lpVtbl->OnRename(This,pmk); 10097 } 10098 static FORCEINLINE void IAdviseSink_OnSave(IAdviseSink* This) { 10099 This->lpVtbl->OnSave(This); 10100 } 10101 static FORCEINLINE void IAdviseSink_OnClose(IAdviseSink* This) { 10102 This->lpVtbl->OnClose(This); 10103 } 10104 #endif 10105 #endif 10106 10107 #endif 10108 10109 HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnDataChange_Proxy( 10110 IAdviseSink* This, 10111 FORMATETC *pFormatetc, 10112 ASYNC_STGMEDIUM *pStgmed); 10113 void __RPC_STUB IAdviseSink_RemoteOnDataChange_Stub( 10114 IRpcStubBuffer* This, 10115 IRpcChannelBuffer* pRpcChannelBuffer, 10116 PRPC_MESSAGE pRpcMessage, 10117 DWORD* pdwStubPhase); 10118 HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnViewChange_Proxy( 10119 IAdviseSink* This, 10120 DWORD dwAspect, 10121 LONG lindex); 10122 void __RPC_STUB IAdviseSink_RemoteOnViewChange_Stub( 10123 IRpcStubBuffer* This, 10124 IRpcChannelBuffer* pRpcChannelBuffer, 10125 PRPC_MESSAGE pRpcMessage, 10126 DWORD* pdwStubPhase); 10127 HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnRename_Proxy( 10128 IAdviseSink* This, 10129 IMoniker *pmk); 10130 void __RPC_STUB IAdviseSink_RemoteOnRename_Stub( 10131 IRpcStubBuffer* This, 10132 IRpcChannelBuffer* pRpcChannelBuffer, 10133 PRPC_MESSAGE pRpcMessage, 10134 DWORD* pdwStubPhase); 10135 HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnSave_Proxy( 10136 IAdviseSink* This); 10137 void __RPC_STUB IAdviseSink_RemoteOnSave_Stub( 10138 IRpcStubBuffer* This, 10139 IRpcChannelBuffer* pRpcChannelBuffer, 10140 PRPC_MESSAGE pRpcMessage, 10141 DWORD* pdwStubPhase); 10142 HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnClose_Proxy( 10143 IAdviseSink* This); 10144 void __RPC_STUB IAdviseSink_RemoteOnClose_Stub( 10145 IRpcStubBuffer* This, 10146 IRpcChannelBuffer* pRpcChannelBuffer, 10147 PRPC_MESSAGE pRpcMessage, 10148 DWORD* pdwStubPhase); 10149 void CALLBACK IAdviseSink_OnDataChange_Proxy( 10150 IAdviseSink* This, 10151 FORMATETC *pFormatetc, 10152 STGMEDIUM *pStgmed); 10153 HRESULT __RPC_STUB IAdviseSink_OnDataChange_Stub( 10154 IAdviseSink* This, 10155 FORMATETC *pFormatetc, 10156 ASYNC_STGMEDIUM *pStgmed); 10157 void CALLBACK IAdviseSink_OnViewChange_Proxy( 10158 IAdviseSink* This, 10159 DWORD dwAspect, 10160 LONG lindex); 10161 HRESULT __RPC_STUB IAdviseSink_OnViewChange_Stub( 10162 IAdviseSink* This, 10163 DWORD dwAspect, 10164 LONG lindex); 10165 void CALLBACK IAdviseSink_OnRename_Proxy( 10166 IAdviseSink* This, 10167 IMoniker *pmk); 10168 HRESULT __RPC_STUB IAdviseSink_OnRename_Stub( 10169 IAdviseSink* This, 10170 IMoniker *pmk); 10171 void CALLBACK IAdviseSink_OnSave_Proxy( 10172 IAdviseSink* This); 10173 HRESULT __RPC_STUB IAdviseSink_OnSave_Stub( 10174 IAdviseSink* This); 10175 void CALLBACK IAdviseSink_OnClose_Proxy( 10176 IAdviseSink* This); 10177 HRESULT __RPC_STUB IAdviseSink_OnClose_Stub( 10178 IAdviseSink* This); 10179 10180 #endif /* __IAdviseSink_INTERFACE_DEFINED__ */ 10181 10182 /***************************************************************************** 10183 * AsyncIAdviseSink interface 10184 */ 10185 #ifndef __AsyncIAdviseSink_INTERFACE_DEFINED__ 10186 #define __AsyncIAdviseSink_INTERFACE_DEFINED__ 10187 10188 DEFINE_GUID(IID_AsyncIAdviseSink, 0x00000150, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 10189 #if defined(__cplusplus) && !defined(CINTERFACE) 10190 MIDL_INTERFACE("00000150-0000-0000-c000-000000000046") 10191 AsyncIAdviseSink : public IUnknown 10192 { 10193 virtual void STDMETHODCALLTYPE Begin_OnDataChange( 10194 FORMATETC *pFormatetc, 10195 STGMEDIUM *pStgmed) = 0; 10196 10197 virtual void STDMETHODCALLTYPE Finish_OnDataChange( 10198 ) = 0; 10199 10200 virtual void STDMETHODCALLTYPE Begin_OnViewChange( 10201 DWORD dwAspect, 10202 LONG lindex) = 0; 10203 10204 virtual void STDMETHODCALLTYPE Finish_OnViewChange( 10205 ) = 0; 10206 10207 virtual void STDMETHODCALLTYPE Begin_OnRename( 10208 IMoniker *pmk) = 0; 10209 10210 virtual void STDMETHODCALLTYPE Finish_OnRename( 10211 ) = 0; 10212 10213 virtual void STDMETHODCALLTYPE Begin_OnSave( 10214 ) = 0; 10215 10216 virtual void STDMETHODCALLTYPE Finish_OnSave( 10217 ) = 0; 10218 10219 virtual void STDMETHODCALLTYPE Begin_OnClose( 10220 ) = 0; 10221 10222 virtual void STDMETHODCALLTYPE Finish_OnClose( 10223 ) = 0; 10224 10225 }; 10226 #ifdef __CRT_UUID_DECL 10227 __CRT_UUID_DECL(AsyncIAdviseSink, 0x00000150, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 10228 #endif 10229 #else 10230 typedef struct AsyncIAdviseSinkVtbl { 10231 BEGIN_INTERFACE 10232 10233 /*** IUnknown methods ***/ 10234 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10235 AsyncIAdviseSink *This, 10236 REFIID riid, 10237 void **ppvObject); 10238 10239 ULONG (STDMETHODCALLTYPE *AddRef)( 10240 AsyncIAdviseSink *This); 10241 10242 ULONG (STDMETHODCALLTYPE *Release)( 10243 AsyncIAdviseSink *This); 10244 10245 /*** AsyncIAdviseSink methods ***/ 10246 void (STDMETHODCALLTYPE *Begin_OnDataChange)( 10247 AsyncIAdviseSink *This, 10248 FORMATETC *pFormatetc, 10249 STGMEDIUM *pStgmed); 10250 10251 void (STDMETHODCALLTYPE *Finish_OnDataChange)( 10252 AsyncIAdviseSink *This); 10253 10254 void (STDMETHODCALLTYPE *Begin_OnViewChange)( 10255 AsyncIAdviseSink *This, 10256 DWORD dwAspect, 10257 LONG lindex); 10258 10259 void (STDMETHODCALLTYPE *Finish_OnViewChange)( 10260 AsyncIAdviseSink *This); 10261 10262 void (STDMETHODCALLTYPE *Begin_OnRename)( 10263 AsyncIAdviseSink *This, 10264 IMoniker *pmk); 10265 10266 void (STDMETHODCALLTYPE *Finish_OnRename)( 10267 AsyncIAdviseSink *This); 10268 10269 void (STDMETHODCALLTYPE *Begin_OnSave)( 10270 AsyncIAdviseSink *This); 10271 10272 void (STDMETHODCALLTYPE *Finish_OnSave)( 10273 AsyncIAdviseSink *This); 10274 10275 void (STDMETHODCALLTYPE *Begin_OnClose)( 10276 AsyncIAdviseSink *This); 10277 10278 void (STDMETHODCALLTYPE *Finish_OnClose)( 10279 AsyncIAdviseSink *This); 10280 10281 END_INTERFACE 10282 } AsyncIAdviseSinkVtbl; 10283 10284 interface AsyncIAdviseSink { 10285 CONST_VTBL AsyncIAdviseSinkVtbl* lpVtbl; 10286 }; 10287 10288 #ifdef COBJMACROS 10289 #ifndef WIDL_C_INLINE_WRAPPERS 10290 /*** IUnknown methods ***/ 10291 #define AsyncIAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10292 #define AsyncIAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This) 10293 #define AsyncIAdviseSink_Release(This) (This)->lpVtbl->Release(This) 10294 /*** AsyncIAdviseSink methods ***/ 10295 #define AsyncIAdviseSink_Begin_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed) 10296 #define AsyncIAdviseSink_Finish_OnDataChange(This) (This)->lpVtbl->Finish_OnDataChange(This) 10297 #define AsyncIAdviseSink_Begin_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex) 10298 #define AsyncIAdviseSink_Finish_OnViewChange(This) (This)->lpVtbl->Finish_OnViewChange(This) 10299 #define AsyncIAdviseSink_Begin_OnRename(This,pmk) (This)->lpVtbl->Begin_OnRename(This,pmk) 10300 #define AsyncIAdviseSink_Finish_OnRename(This) (This)->lpVtbl->Finish_OnRename(This) 10301 #define AsyncIAdviseSink_Begin_OnSave(This) (This)->lpVtbl->Begin_OnSave(This) 10302 #define AsyncIAdviseSink_Finish_OnSave(This) (This)->lpVtbl->Finish_OnSave(This) 10303 #define AsyncIAdviseSink_Begin_OnClose(This) (This)->lpVtbl->Begin_OnClose(This) 10304 #define AsyncIAdviseSink_Finish_OnClose(This) (This)->lpVtbl->Finish_OnClose(This) 10305 #else 10306 /*** IUnknown methods ***/ 10307 static FORCEINLINE HRESULT AsyncIAdviseSink_QueryInterface(AsyncIAdviseSink* This,REFIID riid,void **ppvObject) { 10308 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10309 } 10310 static FORCEINLINE ULONG AsyncIAdviseSink_AddRef(AsyncIAdviseSink* This) { 10311 return This->lpVtbl->AddRef(This); 10312 } 10313 static FORCEINLINE ULONG AsyncIAdviseSink_Release(AsyncIAdviseSink* This) { 10314 return This->lpVtbl->Release(This); 10315 } 10316 /*** AsyncIAdviseSink methods ***/ 10317 static FORCEINLINE void AsyncIAdviseSink_Begin_OnDataChange(AsyncIAdviseSink* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) { 10318 This->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed); 10319 } 10320 static FORCEINLINE void AsyncIAdviseSink_Finish_OnDataChange(AsyncIAdviseSink* This) { 10321 This->lpVtbl->Finish_OnDataChange(This); 10322 } 10323 static FORCEINLINE void AsyncIAdviseSink_Begin_OnViewChange(AsyncIAdviseSink* This,DWORD dwAspect,LONG lindex) { 10324 This->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex); 10325 } 10326 static FORCEINLINE void AsyncIAdviseSink_Finish_OnViewChange(AsyncIAdviseSink* This) { 10327 This->lpVtbl->Finish_OnViewChange(This); 10328 } 10329 static FORCEINLINE void AsyncIAdviseSink_Begin_OnRename(AsyncIAdviseSink* This,IMoniker *pmk) { 10330 This->lpVtbl->Begin_OnRename(This,pmk); 10331 } 10332 static FORCEINLINE void AsyncIAdviseSink_Finish_OnRename(AsyncIAdviseSink* This) { 10333 This->lpVtbl->Finish_OnRename(This); 10334 } 10335 static FORCEINLINE void AsyncIAdviseSink_Begin_OnSave(AsyncIAdviseSink* This) { 10336 This->lpVtbl->Begin_OnSave(This); 10337 } 10338 static FORCEINLINE void AsyncIAdviseSink_Finish_OnSave(AsyncIAdviseSink* This) { 10339 This->lpVtbl->Finish_OnSave(This); 10340 } 10341 static FORCEINLINE void AsyncIAdviseSink_Begin_OnClose(AsyncIAdviseSink* This) { 10342 This->lpVtbl->Begin_OnClose(This); 10343 } 10344 static FORCEINLINE void AsyncIAdviseSink_Finish_OnClose(AsyncIAdviseSink* This) { 10345 This->lpVtbl->Finish_OnClose(This); 10346 } 10347 #endif 10348 #endif 10349 10350 #endif 10351 10352 10353 #endif /* __AsyncIAdviseSink_INTERFACE_DEFINED__ */ 10354 10355 #endif 10356 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 10357 /***************************************************************************** 10358 * IAdviseSink2 interface 10359 */ 10360 #ifndef __IAdviseSink2_INTERFACE_DEFINED__ 10361 #define __IAdviseSink2_INTERFACE_DEFINED__ 10362 10363 typedef IAdviseSink2 *LPADVISESINK2; 10364 DEFINE_GUID(IID_IAdviseSink2, 0x00000125, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 10365 #if defined(__cplusplus) && !defined(CINTERFACE) 10366 MIDL_INTERFACE("00000125-0000-0000-c000-000000000046") 10367 IAdviseSink2 : public IAdviseSink 10368 { 10369 virtual void STDMETHODCALLTYPE OnLinkSrcChange( 10370 IMoniker *pmk) = 0; 10371 10372 }; 10373 #ifdef __CRT_UUID_DECL 10374 __CRT_UUID_DECL(IAdviseSink2, 0x00000125, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 10375 #endif 10376 #else 10377 typedef struct IAdviseSink2Vtbl { 10378 BEGIN_INTERFACE 10379 10380 /*** IUnknown methods ***/ 10381 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10382 IAdviseSink2 *This, 10383 REFIID riid, 10384 void **ppvObject); 10385 10386 ULONG (STDMETHODCALLTYPE *AddRef)( 10387 IAdviseSink2 *This); 10388 10389 ULONG (STDMETHODCALLTYPE *Release)( 10390 IAdviseSink2 *This); 10391 10392 /*** IAdviseSink methods ***/ 10393 void (STDMETHODCALLTYPE *OnDataChange)( 10394 IAdviseSink2 *This, 10395 FORMATETC *pFormatetc, 10396 STGMEDIUM *pStgmed); 10397 10398 void (STDMETHODCALLTYPE *OnViewChange)( 10399 IAdviseSink2 *This, 10400 DWORD dwAspect, 10401 LONG lindex); 10402 10403 void (STDMETHODCALLTYPE *OnRename)( 10404 IAdviseSink2 *This, 10405 IMoniker *pmk); 10406 10407 void (STDMETHODCALLTYPE *OnSave)( 10408 IAdviseSink2 *This); 10409 10410 void (STDMETHODCALLTYPE *OnClose)( 10411 IAdviseSink2 *This); 10412 10413 /*** IAdviseSink2 methods ***/ 10414 void (STDMETHODCALLTYPE *OnLinkSrcChange)( 10415 IAdviseSink2 *This, 10416 IMoniker *pmk); 10417 10418 END_INTERFACE 10419 } IAdviseSink2Vtbl; 10420 10421 interface IAdviseSink2 { 10422 CONST_VTBL IAdviseSink2Vtbl* lpVtbl; 10423 }; 10424 10425 #ifdef COBJMACROS 10426 #ifndef WIDL_C_INLINE_WRAPPERS 10427 /*** IUnknown methods ***/ 10428 #define IAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10429 #define IAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This) 10430 #define IAdviseSink2_Release(This) (This)->lpVtbl->Release(This) 10431 /*** IAdviseSink methods ***/ 10432 #define IAdviseSink2_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed) 10433 #define IAdviseSink2_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex) 10434 #define IAdviseSink2_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk) 10435 #define IAdviseSink2_OnSave(This) (This)->lpVtbl->OnSave(This) 10436 #define IAdviseSink2_OnClose(This) (This)->lpVtbl->OnClose(This) 10437 /*** IAdviseSink2 methods ***/ 10438 #define IAdviseSink2_OnLinkSrcChange(This,pmk) (This)->lpVtbl->OnLinkSrcChange(This,pmk) 10439 #else 10440 /*** IUnknown methods ***/ 10441 static FORCEINLINE HRESULT IAdviseSink2_QueryInterface(IAdviseSink2* This,REFIID riid,void **ppvObject) { 10442 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10443 } 10444 static FORCEINLINE ULONG IAdviseSink2_AddRef(IAdviseSink2* This) { 10445 return This->lpVtbl->AddRef(This); 10446 } 10447 static FORCEINLINE ULONG IAdviseSink2_Release(IAdviseSink2* This) { 10448 return This->lpVtbl->Release(This); 10449 } 10450 /*** IAdviseSink methods ***/ 10451 static FORCEINLINE void IAdviseSink2_OnDataChange(IAdviseSink2* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) { 10452 This->lpVtbl->OnDataChange(This,pFormatetc,pStgmed); 10453 } 10454 static FORCEINLINE void IAdviseSink2_OnViewChange(IAdviseSink2* This,DWORD dwAspect,LONG lindex) { 10455 This->lpVtbl->OnViewChange(This,dwAspect,lindex); 10456 } 10457 static FORCEINLINE void IAdviseSink2_OnRename(IAdviseSink2* This,IMoniker *pmk) { 10458 This->lpVtbl->OnRename(This,pmk); 10459 } 10460 static FORCEINLINE void IAdviseSink2_OnSave(IAdviseSink2* This) { 10461 This->lpVtbl->OnSave(This); 10462 } 10463 static FORCEINLINE void IAdviseSink2_OnClose(IAdviseSink2* This) { 10464 This->lpVtbl->OnClose(This); 10465 } 10466 /*** IAdviseSink2 methods ***/ 10467 static FORCEINLINE void IAdviseSink2_OnLinkSrcChange(IAdviseSink2* This,IMoniker *pmk) { 10468 This->lpVtbl->OnLinkSrcChange(This,pmk); 10469 } 10470 #endif 10471 #endif 10472 10473 #endif 10474 10475 HRESULT STDMETHODCALLTYPE IAdviseSink2_RemoteOnLinkSrcChange_Proxy( 10476 IAdviseSink2* This, 10477 IMoniker *pmk); 10478 void __RPC_STUB IAdviseSink2_RemoteOnLinkSrcChange_Stub( 10479 IRpcStubBuffer* This, 10480 IRpcChannelBuffer* pRpcChannelBuffer, 10481 PRPC_MESSAGE pRpcMessage, 10482 DWORD* pdwStubPhase); 10483 void CALLBACK IAdviseSink2_OnLinkSrcChange_Proxy( 10484 IAdviseSink2* This, 10485 IMoniker *pmk); 10486 HRESULT __RPC_STUB IAdviseSink2_OnLinkSrcChange_Stub( 10487 IAdviseSink2* This, 10488 IMoniker *pmk); 10489 10490 #endif /* __IAdviseSink2_INTERFACE_DEFINED__ */ 10491 10492 /***************************************************************************** 10493 * AsyncIAdviseSink2 interface 10494 */ 10495 #ifndef __AsyncIAdviseSink2_INTERFACE_DEFINED__ 10496 #define __AsyncIAdviseSink2_INTERFACE_DEFINED__ 10497 10498 DEFINE_GUID(IID_AsyncIAdviseSink2, 0x00000151, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 10499 #if defined(__cplusplus) && !defined(CINTERFACE) 10500 MIDL_INTERFACE("00000151-0000-0000-c000-000000000046") 10501 AsyncIAdviseSink2 : public AsyncIAdviseSink 10502 { 10503 virtual void STDMETHODCALLTYPE Begin_OnLinkSrcChange( 10504 IMoniker *pmk) = 0; 10505 10506 virtual void STDMETHODCALLTYPE Finish_OnLinkSrcChange( 10507 ) = 0; 10508 10509 }; 10510 #ifdef __CRT_UUID_DECL 10511 __CRT_UUID_DECL(AsyncIAdviseSink2, 0x00000151, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 10512 #endif 10513 #else 10514 typedef struct AsyncIAdviseSink2Vtbl { 10515 BEGIN_INTERFACE 10516 10517 /*** IUnknown methods ***/ 10518 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10519 AsyncIAdviseSink2 *This, 10520 REFIID riid, 10521 void **ppvObject); 10522 10523 ULONG (STDMETHODCALLTYPE *AddRef)( 10524 AsyncIAdviseSink2 *This); 10525 10526 ULONG (STDMETHODCALLTYPE *Release)( 10527 AsyncIAdviseSink2 *This); 10528 10529 /*** AsyncIAdviseSink methods ***/ 10530 void (STDMETHODCALLTYPE *Begin_OnDataChange)( 10531 AsyncIAdviseSink2 *This, 10532 FORMATETC *pFormatetc, 10533 STGMEDIUM *pStgmed); 10534 10535 void (STDMETHODCALLTYPE *Finish_OnDataChange)( 10536 AsyncIAdviseSink2 *This); 10537 10538 void (STDMETHODCALLTYPE *Begin_OnViewChange)( 10539 AsyncIAdviseSink2 *This, 10540 DWORD dwAspect, 10541 LONG lindex); 10542 10543 void (STDMETHODCALLTYPE *Finish_OnViewChange)( 10544 AsyncIAdviseSink2 *This); 10545 10546 void (STDMETHODCALLTYPE *Begin_OnRename)( 10547 AsyncIAdviseSink2 *This, 10548 IMoniker *pmk); 10549 10550 void (STDMETHODCALLTYPE *Finish_OnRename)( 10551 AsyncIAdviseSink2 *This); 10552 10553 void (STDMETHODCALLTYPE *Begin_OnSave)( 10554 AsyncIAdviseSink2 *This); 10555 10556 void (STDMETHODCALLTYPE *Finish_OnSave)( 10557 AsyncIAdviseSink2 *This); 10558 10559 void (STDMETHODCALLTYPE *Begin_OnClose)( 10560 AsyncIAdviseSink2 *This); 10561 10562 void (STDMETHODCALLTYPE *Finish_OnClose)( 10563 AsyncIAdviseSink2 *This); 10564 10565 /*** AsyncIAdviseSink2 methods ***/ 10566 void (STDMETHODCALLTYPE *Begin_OnLinkSrcChange)( 10567 AsyncIAdviseSink2 *This, 10568 IMoniker *pmk); 10569 10570 void (STDMETHODCALLTYPE *Finish_OnLinkSrcChange)( 10571 AsyncIAdviseSink2 *This); 10572 10573 END_INTERFACE 10574 } AsyncIAdviseSink2Vtbl; 10575 10576 interface AsyncIAdviseSink2 { 10577 CONST_VTBL AsyncIAdviseSink2Vtbl* lpVtbl; 10578 }; 10579 10580 #ifdef COBJMACROS 10581 #ifndef WIDL_C_INLINE_WRAPPERS 10582 /*** IUnknown methods ***/ 10583 #define AsyncIAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10584 #define AsyncIAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This) 10585 #define AsyncIAdviseSink2_Release(This) (This)->lpVtbl->Release(This) 10586 /*** AsyncIAdviseSink methods ***/ 10587 #define AsyncIAdviseSink2_Begin_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed) 10588 #define AsyncIAdviseSink2_Finish_OnDataChange(This) (This)->lpVtbl->Finish_OnDataChange(This) 10589 #define AsyncIAdviseSink2_Begin_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex) 10590 #define AsyncIAdviseSink2_Finish_OnViewChange(This) (This)->lpVtbl->Finish_OnViewChange(This) 10591 #define AsyncIAdviseSink2_Begin_OnRename(This,pmk) (This)->lpVtbl->Begin_OnRename(This,pmk) 10592 #define AsyncIAdviseSink2_Finish_OnRename(This) (This)->lpVtbl->Finish_OnRename(This) 10593 #define AsyncIAdviseSink2_Begin_OnSave(This) (This)->lpVtbl->Begin_OnSave(This) 10594 #define AsyncIAdviseSink2_Finish_OnSave(This) (This)->lpVtbl->Finish_OnSave(This) 10595 #define AsyncIAdviseSink2_Begin_OnClose(This) (This)->lpVtbl->Begin_OnClose(This) 10596 #define AsyncIAdviseSink2_Finish_OnClose(This) (This)->lpVtbl->Finish_OnClose(This) 10597 /*** AsyncIAdviseSink2 methods ***/ 10598 #define AsyncIAdviseSink2_Begin_OnLinkSrcChange(This,pmk) (This)->lpVtbl->Begin_OnLinkSrcChange(This,pmk) 10599 #define AsyncIAdviseSink2_Finish_OnLinkSrcChange(This) (This)->lpVtbl->Finish_OnLinkSrcChange(This) 10600 #else 10601 /*** IUnknown methods ***/ 10602 static FORCEINLINE HRESULT AsyncIAdviseSink2_QueryInterface(AsyncIAdviseSink2* This,REFIID riid,void **ppvObject) { 10603 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10604 } 10605 static FORCEINLINE ULONG AsyncIAdviseSink2_AddRef(AsyncIAdviseSink2* This) { 10606 return This->lpVtbl->AddRef(This); 10607 } 10608 static FORCEINLINE ULONG AsyncIAdviseSink2_Release(AsyncIAdviseSink2* This) { 10609 return This->lpVtbl->Release(This); 10610 } 10611 /*** AsyncIAdviseSink methods ***/ 10612 static FORCEINLINE void AsyncIAdviseSink2_Begin_OnDataChange(AsyncIAdviseSink2* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) { 10613 This->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed); 10614 } 10615 static FORCEINLINE void AsyncIAdviseSink2_Finish_OnDataChange(AsyncIAdviseSink2* This) { 10616 This->lpVtbl->Finish_OnDataChange(This); 10617 } 10618 static FORCEINLINE void AsyncIAdviseSink2_Begin_OnViewChange(AsyncIAdviseSink2* This,DWORD dwAspect,LONG lindex) { 10619 This->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex); 10620 } 10621 static FORCEINLINE void AsyncIAdviseSink2_Finish_OnViewChange(AsyncIAdviseSink2* This) { 10622 This->lpVtbl->Finish_OnViewChange(This); 10623 } 10624 static FORCEINLINE void AsyncIAdviseSink2_Begin_OnRename(AsyncIAdviseSink2* This,IMoniker *pmk) { 10625 This->lpVtbl->Begin_OnRename(This,pmk); 10626 } 10627 static FORCEINLINE void AsyncIAdviseSink2_Finish_OnRename(AsyncIAdviseSink2* This) { 10628 This->lpVtbl->Finish_OnRename(This); 10629 } 10630 static FORCEINLINE void AsyncIAdviseSink2_Begin_OnSave(AsyncIAdviseSink2* This) { 10631 This->lpVtbl->Begin_OnSave(This); 10632 } 10633 static FORCEINLINE void AsyncIAdviseSink2_Finish_OnSave(AsyncIAdviseSink2* This) { 10634 This->lpVtbl->Finish_OnSave(This); 10635 } 10636 static FORCEINLINE void AsyncIAdviseSink2_Begin_OnClose(AsyncIAdviseSink2* This) { 10637 This->lpVtbl->Begin_OnClose(This); 10638 } 10639 static FORCEINLINE void AsyncIAdviseSink2_Finish_OnClose(AsyncIAdviseSink2* This) { 10640 This->lpVtbl->Finish_OnClose(This); 10641 } 10642 /*** AsyncIAdviseSink2 methods ***/ 10643 static FORCEINLINE void AsyncIAdviseSink2_Begin_OnLinkSrcChange(AsyncIAdviseSink2* This,IMoniker *pmk) { 10644 This->lpVtbl->Begin_OnLinkSrcChange(This,pmk); 10645 } 10646 static FORCEINLINE void AsyncIAdviseSink2_Finish_OnLinkSrcChange(AsyncIAdviseSink2* This) { 10647 This->lpVtbl->Finish_OnLinkSrcChange(This); 10648 } 10649 #endif 10650 #endif 10651 10652 #endif 10653 10654 10655 #endif /* __AsyncIAdviseSink2_INTERFACE_DEFINED__ */ 10656 10657 #endif 10658 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 10659 /***************************************************************************** 10660 * IDataObject interface 10661 */ 10662 #ifndef __IDataObject_INTERFACE_DEFINED__ 10663 #define __IDataObject_INTERFACE_DEFINED__ 10664 10665 typedef IDataObject *LPDATAOBJECT; 10666 typedef enum tagDATADIR { 10667 DATADIR_GET = 1, 10668 DATADIR_SET = 2 10669 } DATADIR; 10670 DEFINE_GUID(IID_IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 10671 #if defined(__cplusplus) && !defined(CINTERFACE) 10672 MIDL_INTERFACE("0000010e-0000-0000-c000-000000000046") 10673 IDataObject : public IUnknown 10674 { 10675 virtual HRESULT STDMETHODCALLTYPE GetData( 10676 FORMATETC *pformatetcIn, 10677 STGMEDIUM *pmedium) = 0; 10678 10679 virtual HRESULT STDMETHODCALLTYPE GetDataHere( 10680 FORMATETC *pformatetc, 10681 STGMEDIUM *pmedium) = 0; 10682 10683 virtual HRESULT STDMETHODCALLTYPE QueryGetData( 10684 FORMATETC *pformatetc) = 0; 10685 10686 virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc( 10687 FORMATETC *pformatectIn, 10688 FORMATETC *pformatetcOut) = 0; 10689 10690 virtual HRESULT STDMETHODCALLTYPE SetData( 10691 FORMATETC *pformatetc, 10692 STGMEDIUM *pmedium, 10693 WINBOOL fRelease) = 0; 10694 10695 virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc( 10696 DWORD dwDirection, 10697 IEnumFORMATETC **ppenumFormatEtc) = 0; 10698 10699 virtual HRESULT STDMETHODCALLTYPE DAdvise( 10700 FORMATETC *pformatetc, 10701 DWORD advf, 10702 IAdviseSink *pAdvSink, 10703 DWORD *pdwConnection) = 0; 10704 10705 virtual HRESULT STDMETHODCALLTYPE DUnadvise( 10706 DWORD dwConnection) = 0; 10707 10708 virtual HRESULT STDMETHODCALLTYPE EnumDAdvise( 10709 IEnumSTATDATA **ppenumAdvise) = 0; 10710 10711 }; 10712 #ifdef __CRT_UUID_DECL 10713 __CRT_UUID_DECL(IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 10714 #endif 10715 #else 10716 typedef struct IDataObjectVtbl { 10717 BEGIN_INTERFACE 10718 10719 /*** IUnknown methods ***/ 10720 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10721 IDataObject *This, 10722 REFIID riid, 10723 void **ppvObject); 10724 10725 ULONG (STDMETHODCALLTYPE *AddRef)( 10726 IDataObject *This); 10727 10728 ULONG (STDMETHODCALLTYPE *Release)( 10729 IDataObject *This); 10730 10731 /*** IDataObject methods ***/ 10732 HRESULT (STDMETHODCALLTYPE *GetData)( 10733 IDataObject *This, 10734 FORMATETC *pformatetcIn, 10735 STGMEDIUM *pmedium); 10736 10737 HRESULT (STDMETHODCALLTYPE *GetDataHere)( 10738 IDataObject *This, 10739 FORMATETC *pformatetc, 10740 STGMEDIUM *pmedium); 10741 10742 HRESULT (STDMETHODCALLTYPE *QueryGetData)( 10743 IDataObject *This, 10744 FORMATETC *pformatetc); 10745 10746 HRESULT (STDMETHODCALLTYPE *GetCanonicalFormatEtc)( 10747 IDataObject *This, 10748 FORMATETC *pformatectIn, 10749 FORMATETC *pformatetcOut); 10750 10751 HRESULT (STDMETHODCALLTYPE *SetData)( 10752 IDataObject *This, 10753 FORMATETC *pformatetc, 10754 STGMEDIUM *pmedium, 10755 WINBOOL fRelease); 10756 10757 HRESULT (STDMETHODCALLTYPE *EnumFormatEtc)( 10758 IDataObject *This, 10759 DWORD dwDirection, 10760 IEnumFORMATETC **ppenumFormatEtc); 10761 10762 HRESULT (STDMETHODCALLTYPE *DAdvise)( 10763 IDataObject *This, 10764 FORMATETC *pformatetc, 10765 DWORD advf, 10766 IAdviseSink *pAdvSink, 10767 DWORD *pdwConnection); 10768 10769 HRESULT (STDMETHODCALLTYPE *DUnadvise)( 10770 IDataObject *This, 10771 DWORD dwConnection); 10772 10773 HRESULT (STDMETHODCALLTYPE *EnumDAdvise)( 10774 IDataObject *This, 10775 IEnumSTATDATA **ppenumAdvise); 10776 10777 END_INTERFACE 10778 } IDataObjectVtbl; 10779 10780 interface IDataObject { 10781 CONST_VTBL IDataObjectVtbl* lpVtbl; 10782 }; 10783 10784 #ifdef COBJMACROS 10785 #ifndef WIDL_C_INLINE_WRAPPERS 10786 /*** IUnknown methods ***/ 10787 #define IDataObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10788 #define IDataObject_AddRef(This) (This)->lpVtbl->AddRef(This) 10789 #define IDataObject_Release(This) (This)->lpVtbl->Release(This) 10790 /*** IDataObject methods ***/ 10791 #define IDataObject_GetData(This,pformatetcIn,pmedium) (This)->lpVtbl->GetData(This,pformatetcIn,pmedium) 10792 #define IDataObject_GetDataHere(This,pformatetc,pmedium) (This)->lpVtbl->GetDataHere(This,pformatetc,pmedium) 10793 #define IDataObject_QueryGetData(This,pformatetc) (This)->lpVtbl->QueryGetData(This,pformatetc) 10794 #define IDataObject_GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut) (This)->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut) 10795 #define IDataObject_SetData(This,pformatetc,pmedium,fRelease) (This)->lpVtbl->SetData(This,pformatetc,pmedium,fRelease) 10796 #define IDataObject_EnumFormatEtc(This,dwDirection,ppenumFormatEtc) (This)->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc) 10797 #define IDataObject_DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection) (This)->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection) 10798 #define IDataObject_DUnadvise(This,dwConnection) (This)->lpVtbl->DUnadvise(This,dwConnection) 10799 #define IDataObject_EnumDAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumDAdvise(This,ppenumAdvise) 10800 #else 10801 /*** IUnknown methods ***/ 10802 static FORCEINLINE HRESULT IDataObject_QueryInterface(IDataObject* This,REFIID riid,void **ppvObject) { 10803 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10804 } 10805 static FORCEINLINE ULONG IDataObject_AddRef(IDataObject* This) { 10806 return This->lpVtbl->AddRef(This); 10807 } 10808 static FORCEINLINE ULONG IDataObject_Release(IDataObject* This) { 10809 return This->lpVtbl->Release(This); 10810 } 10811 /*** IDataObject methods ***/ 10812 static FORCEINLINE HRESULT IDataObject_GetData(IDataObject* This,FORMATETC *pformatetcIn,STGMEDIUM *pmedium) { 10813 return This->lpVtbl->GetData(This,pformatetcIn,pmedium); 10814 } 10815 static FORCEINLINE HRESULT IDataObject_GetDataHere(IDataObject* This,FORMATETC *pformatetc,STGMEDIUM *pmedium) { 10816 return This->lpVtbl->GetDataHere(This,pformatetc,pmedium); 10817 } 10818 static FORCEINLINE HRESULT IDataObject_QueryGetData(IDataObject* This,FORMATETC *pformatetc) { 10819 return This->lpVtbl->QueryGetData(This,pformatetc); 10820 } 10821 static FORCEINLINE HRESULT IDataObject_GetCanonicalFormatEtc(IDataObject* This,FORMATETC *pformatectIn,FORMATETC *pformatetcOut) { 10822 return This->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut); 10823 } 10824 static FORCEINLINE HRESULT IDataObject_SetData(IDataObject* This,FORMATETC *pformatetc,STGMEDIUM *pmedium,WINBOOL fRelease) { 10825 return This->lpVtbl->SetData(This,pformatetc,pmedium,fRelease); 10826 } 10827 static FORCEINLINE HRESULT IDataObject_EnumFormatEtc(IDataObject* This,DWORD dwDirection,IEnumFORMATETC **ppenumFormatEtc) { 10828 return This->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc); 10829 } 10830 static FORCEINLINE HRESULT IDataObject_DAdvise(IDataObject* This,FORMATETC *pformatetc,DWORD advf,IAdviseSink *pAdvSink,DWORD *pdwConnection) { 10831 return This->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection); 10832 } 10833 static FORCEINLINE HRESULT IDataObject_DUnadvise(IDataObject* This,DWORD dwConnection) { 10834 return This->lpVtbl->DUnadvise(This,dwConnection); 10835 } 10836 static FORCEINLINE HRESULT IDataObject_EnumDAdvise(IDataObject* This,IEnumSTATDATA **ppenumAdvise) { 10837 return This->lpVtbl->EnumDAdvise(This,ppenumAdvise); 10838 } 10839 #endif 10840 #endif 10841 10842 #endif 10843 10844 HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetData_Proxy( 10845 IDataObject* This, 10846 FORMATETC *pformatetcIn, 10847 STGMEDIUM *pRemoteMedium); 10848 void __RPC_STUB IDataObject_RemoteGetData_Stub( 10849 IRpcStubBuffer* This, 10850 IRpcChannelBuffer* pRpcChannelBuffer, 10851 PRPC_MESSAGE pRpcMessage, 10852 DWORD* pdwStubPhase); 10853 HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Proxy( 10854 IDataObject* This, 10855 FORMATETC *pformatetc, 10856 STGMEDIUM *pRemoteMedium); 10857 void __RPC_STUB IDataObject_RemoteGetDataHere_Stub( 10858 IRpcStubBuffer* This, 10859 IRpcChannelBuffer* pRpcChannelBuffer, 10860 PRPC_MESSAGE pRpcMessage, 10861 DWORD* pdwStubPhase); 10862 HRESULT STDMETHODCALLTYPE IDataObject_RemoteSetData_Proxy( 10863 IDataObject* This, 10864 FORMATETC *pformatetc, 10865 FLAG_STGMEDIUM *pmedium, 10866 WINBOOL fRelease); 10867 void __RPC_STUB IDataObject_RemoteSetData_Stub( 10868 IRpcStubBuffer* This, 10869 IRpcChannelBuffer* pRpcChannelBuffer, 10870 PRPC_MESSAGE pRpcMessage, 10871 DWORD* pdwStubPhase); 10872 HRESULT CALLBACK IDataObject_GetData_Proxy( 10873 IDataObject* This, 10874 FORMATETC *pformatetcIn, 10875 STGMEDIUM *pmedium); 10876 HRESULT __RPC_STUB IDataObject_GetData_Stub( 10877 IDataObject* This, 10878 FORMATETC *pformatetcIn, 10879 STGMEDIUM *pRemoteMedium); 10880 HRESULT CALLBACK IDataObject_GetDataHere_Proxy( 10881 IDataObject* This, 10882 FORMATETC *pformatetc, 10883 STGMEDIUM *pmedium); 10884 HRESULT __RPC_STUB IDataObject_GetDataHere_Stub( 10885 IDataObject* This, 10886 FORMATETC *pformatetc, 10887 STGMEDIUM *pRemoteMedium); 10888 HRESULT CALLBACK IDataObject_SetData_Proxy( 10889 IDataObject* This, 10890 FORMATETC *pformatetc, 10891 STGMEDIUM *pmedium, 10892 WINBOOL fRelease); 10893 HRESULT __RPC_STUB IDataObject_SetData_Stub( 10894 IDataObject* This, 10895 FORMATETC *pformatetc, 10896 FLAG_STGMEDIUM *pmedium, 10897 WINBOOL fRelease); 10898 10899 #endif /* __IDataObject_INTERFACE_DEFINED__ */ 10900 10901 #endif 10902 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 10903 /***************************************************************************** 10904 * IDataAdviseHolder interface 10905 */ 10906 #ifndef __IDataAdviseHolder_INTERFACE_DEFINED__ 10907 #define __IDataAdviseHolder_INTERFACE_DEFINED__ 10908 10909 typedef IDataAdviseHolder *LPDATAADVISEHOLDER; 10910 DEFINE_GUID(IID_IDataAdviseHolder, 0x00000110, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 10911 #if defined(__cplusplus) && !defined(CINTERFACE) 10912 MIDL_INTERFACE("00000110-0000-0000-c000-000000000046") 10913 IDataAdviseHolder : public IUnknown 10914 { 10915 virtual HRESULT STDMETHODCALLTYPE Advise( 10916 IDataObject *pDataObject, 10917 FORMATETC *pFetc, 10918 DWORD advf, 10919 IAdviseSink *pAdvise, 10920 DWORD *pdwConnection) = 0; 10921 10922 virtual HRESULT STDMETHODCALLTYPE Unadvise( 10923 DWORD dwConnection) = 0; 10924 10925 virtual HRESULT STDMETHODCALLTYPE EnumAdvise( 10926 IEnumSTATDATA **ppenumAdvise) = 0; 10927 10928 virtual HRESULT STDMETHODCALLTYPE SendOnDataChange( 10929 IDataObject *pDataObject, 10930 DWORD dwReserved, 10931 DWORD advf) = 0; 10932 10933 }; 10934 #ifdef __CRT_UUID_DECL 10935 __CRT_UUID_DECL(IDataAdviseHolder, 0x00000110, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 10936 #endif 10937 #else 10938 typedef struct IDataAdviseHolderVtbl { 10939 BEGIN_INTERFACE 10940 10941 /*** IUnknown methods ***/ 10942 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10943 IDataAdviseHolder *This, 10944 REFIID riid, 10945 void **ppvObject); 10946 10947 ULONG (STDMETHODCALLTYPE *AddRef)( 10948 IDataAdviseHolder *This); 10949 10950 ULONG (STDMETHODCALLTYPE *Release)( 10951 IDataAdviseHolder *This); 10952 10953 /*** IDataAdviseHolder methods ***/ 10954 HRESULT (STDMETHODCALLTYPE *Advise)( 10955 IDataAdviseHolder *This, 10956 IDataObject *pDataObject, 10957 FORMATETC *pFetc, 10958 DWORD advf, 10959 IAdviseSink *pAdvise, 10960 DWORD *pdwConnection); 10961 10962 HRESULT (STDMETHODCALLTYPE *Unadvise)( 10963 IDataAdviseHolder *This, 10964 DWORD dwConnection); 10965 10966 HRESULT (STDMETHODCALLTYPE *EnumAdvise)( 10967 IDataAdviseHolder *This, 10968 IEnumSTATDATA **ppenumAdvise); 10969 10970 HRESULT (STDMETHODCALLTYPE *SendOnDataChange)( 10971 IDataAdviseHolder *This, 10972 IDataObject *pDataObject, 10973 DWORD dwReserved, 10974 DWORD advf); 10975 10976 END_INTERFACE 10977 } IDataAdviseHolderVtbl; 10978 10979 interface IDataAdviseHolder { 10980 CONST_VTBL IDataAdviseHolderVtbl* lpVtbl; 10981 }; 10982 10983 #ifdef COBJMACROS 10984 #ifndef WIDL_C_INLINE_WRAPPERS 10985 /*** IUnknown methods ***/ 10986 #define IDataAdviseHolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10987 #define IDataAdviseHolder_AddRef(This) (This)->lpVtbl->AddRef(This) 10988 #define IDataAdviseHolder_Release(This) (This)->lpVtbl->Release(This) 10989 /*** IDataAdviseHolder methods ***/ 10990 #define IDataAdviseHolder_Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection) (This)->lpVtbl->Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection) 10991 #define IDataAdviseHolder_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection) 10992 #define IDataAdviseHolder_EnumAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumAdvise(This,ppenumAdvise) 10993 #define IDataAdviseHolder_SendOnDataChange(This,pDataObject,dwReserved,advf) (This)->lpVtbl->SendOnDataChange(This,pDataObject,dwReserved,advf) 10994 #else 10995 /*** IUnknown methods ***/ 10996 static FORCEINLINE HRESULT IDataAdviseHolder_QueryInterface(IDataAdviseHolder* This,REFIID riid,void **ppvObject) { 10997 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10998 } 10999 static FORCEINLINE ULONG IDataAdviseHolder_AddRef(IDataAdviseHolder* This) { 11000 return This->lpVtbl->AddRef(This); 11001 } 11002 static FORCEINLINE ULONG IDataAdviseHolder_Release(IDataAdviseHolder* This) { 11003 return This->lpVtbl->Release(This); 11004 } 11005 /*** IDataAdviseHolder methods ***/ 11006 static FORCEINLINE HRESULT IDataAdviseHolder_Advise(IDataAdviseHolder* This,IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection) { 11007 return This->lpVtbl->Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection); 11008 } 11009 static FORCEINLINE HRESULT IDataAdviseHolder_Unadvise(IDataAdviseHolder* This,DWORD dwConnection) { 11010 return This->lpVtbl->Unadvise(This,dwConnection); 11011 } 11012 static FORCEINLINE HRESULT IDataAdviseHolder_EnumAdvise(IDataAdviseHolder* This,IEnumSTATDATA **ppenumAdvise) { 11013 return This->lpVtbl->EnumAdvise(This,ppenumAdvise); 11014 } 11015 static FORCEINLINE HRESULT IDataAdviseHolder_SendOnDataChange(IDataAdviseHolder* This,IDataObject *pDataObject,DWORD dwReserved,DWORD advf) { 11016 return This->lpVtbl->SendOnDataChange(This,pDataObject,dwReserved,advf); 11017 } 11018 #endif 11019 #endif 11020 11021 #endif 11022 11023 11024 #endif /* __IDataAdviseHolder_INTERFACE_DEFINED__ */ 11025 11026 /***************************************************************************** 11027 * IMessageFilter interface 11028 */ 11029 #ifndef __IMessageFilter_INTERFACE_DEFINED__ 11030 #define __IMessageFilter_INTERFACE_DEFINED__ 11031 11032 typedef IMessageFilter *LPMESSAGEFILTER; 11033 typedef enum tagCALLTYPE { 11034 CALLTYPE_TOPLEVEL = 1, 11035 CALLTYPE_NESTED = 2, 11036 CALLTYPE_ASYNC = 3, 11037 CALLTYPE_TOPLEVEL_CALLPENDING = 4, 11038 CALLTYPE_ASYNC_CALLPENDING = 5 11039 } CALLTYPE; 11040 typedef enum tagSERVERCALL { 11041 SERVERCALL_ISHANDLED = 0, 11042 SERVERCALL_REJECTED = 1, 11043 SERVERCALL_RETRYLATER = 2 11044 } SERVERCALL; 11045 typedef enum tagPENDINGTYPE { 11046 PENDINGTYPE_TOPLEVEL = 1, 11047 PENDINGTYPE_NESTED = 2 11048 } PENDINGTYPE; 11049 typedef enum tagPENDINGMSG { 11050 PENDINGMSG_CANCELCALL = 0, 11051 PENDINGMSG_WAITNOPROCESS = 1, 11052 PENDINGMSG_WAITDEFPROCESS = 2 11053 } PENDINGMSG; 11054 typedef struct tagINTERFACEINFO { 11055 IUnknown *pUnk; 11056 IID iid; 11057 WORD wMethod; 11058 } INTERFACEINFO; 11059 typedef struct tagINTERFACEINFO *LPINTERFACEINFO; 11060 DEFINE_GUID(IID_IMessageFilter, 0x00000016, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 11061 #if defined(__cplusplus) && !defined(CINTERFACE) 11062 MIDL_INTERFACE("00000016-0000-0000-c000-000000000046") 11063 IMessageFilter : public IUnknown 11064 { 11065 virtual DWORD STDMETHODCALLTYPE HandleInComingCall( 11066 DWORD dwCallType, 11067 HTASK htaskCaller, 11068 DWORD dwTickCount, 11069 LPINTERFACEINFO lpInterfaceInfo) = 0; 11070 11071 virtual DWORD STDMETHODCALLTYPE RetryRejectedCall( 11072 HTASK htaskCallee, 11073 DWORD dwTickCount, 11074 DWORD dwRejectType) = 0; 11075 11076 virtual DWORD STDMETHODCALLTYPE MessagePending( 11077 HTASK htaskCallee, 11078 DWORD dwTickCount, 11079 DWORD dwPendingType) = 0; 11080 11081 }; 11082 #ifdef __CRT_UUID_DECL 11083 __CRT_UUID_DECL(IMessageFilter, 0x00000016, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 11084 #endif 11085 #else 11086 typedef struct IMessageFilterVtbl { 11087 BEGIN_INTERFACE 11088 11089 /*** IUnknown methods ***/ 11090 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11091 IMessageFilter *This, 11092 REFIID riid, 11093 void **ppvObject); 11094 11095 ULONG (STDMETHODCALLTYPE *AddRef)( 11096 IMessageFilter *This); 11097 11098 ULONG (STDMETHODCALLTYPE *Release)( 11099 IMessageFilter *This); 11100 11101 /*** IMessageFilter methods ***/ 11102 DWORD (STDMETHODCALLTYPE *HandleInComingCall)( 11103 IMessageFilter *This, 11104 DWORD dwCallType, 11105 HTASK htaskCaller, 11106 DWORD dwTickCount, 11107 LPINTERFACEINFO lpInterfaceInfo); 11108 11109 DWORD (STDMETHODCALLTYPE *RetryRejectedCall)( 11110 IMessageFilter *This, 11111 HTASK htaskCallee, 11112 DWORD dwTickCount, 11113 DWORD dwRejectType); 11114 11115 DWORD (STDMETHODCALLTYPE *MessagePending)( 11116 IMessageFilter *This, 11117 HTASK htaskCallee, 11118 DWORD dwTickCount, 11119 DWORD dwPendingType); 11120 11121 END_INTERFACE 11122 } IMessageFilterVtbl; 11123 11124 interface IMessageFilter { 11125 CONST_VTBL IMessageFilterVtbl* lpVtbl; 11126 }; 11127 11128 #ifdef COBJMACROS 11129 #ifndef WIDL_C_INLINE_WRAPPERS 11130 /*** IUnknown methods ***/ 11131 #define IMessageFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11132 #define IMessageFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 11133 #define IMessageFilter_Release(This) (This)->lpVtbl->Release(This) 11134 /*** IMessageFilter methods ***/ 11135 #define IMessageFilter_HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo) (This)->lpVtbl->HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo) 11136 #define IMessageFilter_RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType) (This)->lpVtbl->RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType) 11137 #define IMessageFilter_MessagePending(This,htaskCallee,dwTickCount,dwPendingType) (This)->lpVtbl->MessagePending(This,htaskCallee,dwTickCount,dwPendingType) 11138 #else 11139 /*** IUnknown methods ***/ 11140 static FORCEINLINE HRESULT IMessageFilter_QueryInterface(IMessageFilter* This,REFIID riid,void **ppvObject) { 11141 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11142 } 11143 static FORCEINLINE ULONG IMessageFilter_AddRef(IMessageFilter* This) { 11144 return This->lpVtbl->AddRef(This); 11145 } 11146 static FORCEINLINE ULONG IMessageFilter_Release(IMessageFilter* This) { 11147 return This->lpVtbl->Release(This); 11148 } 11149 /*** IMessageFilter methods ***/ 11150 static FORCEINLINE DWORD IMessageFilter_HandleInComingCall(IMessageFilter* This,DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo) { 11151 return This->lpVtbl->HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo); 11152 } 11153 static FORCEINLINE DWORD IMessageFilter_RetryRejectedCall(IMessageFilter* This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType) { 11154 return This->lpVtbl->RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType); 11155 } 11156 static FORCEINLINE DWORD IMessageFilter_MessagePending(IMessageFilter* This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType) { 11157 return This->lpVtbl->MessagePending(This,htaskCallee,dwTickCount,dwPendingType); 11158 } 11159 #endif 11160 #endif 11161 11162 #endif 11163 11164 11165 #endif /* __IMessageFilter_INTERFACE_DEFINED__ */ 11166 11167 11168 extern const FMTID FMTID_SummaryInformation; 11169 11170 extern const FMTID FMTID_DocSummaryInformation; 11171 11172 extern const FMTID FMTID_UserDefinedProperties; 11173 11174 extern const FMTID FMTID_DiscardableInformation; 11175 11176 extern const FMTID FMTID_ImageSummaryInformation; 11177 11178 extern const FMTID FMTID_AudioSummaryInformation; 11179 11180 extern const FMTID FMTID_VideoSummaryInformation; 11181 11182 extern const FMTID FMTID_MediaFileSummaryInformation; 11183 11184 /***************************************************************************** 11185 * IClassActivator interface 11186 */ 11187 #ifndef __IClassActivator_INTERFACE_DEFINED__ 11188 #define __IClassActivator_INTERFACE_DEFINED__ 11189 11190 DEFINE_GUID(IID_IClassActivator, 0x00000140, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 11191 #if defined(__cplusplus) && !defined(CINTERFACE) 11192 MIDL_INTERFACE("00000140-0000-0000-c000-000000000046") 11193 IClassActivator : public IUnknown 11194 { 11195 virtual HRESULT STDMETHODCALLTYPE GetClassObject( 11196 REFCLSID rclsid, 11197 DWORD dwClassContext, 11198 LCID locale, 11199 REFIID riid, 11200 void **ppv) = 0; 11201 11202 }; 11203 #ifdef __CRT_UUID_DECL 11204 __CRT_UUID_DECL(IClassActivator, 0x00000140, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 11205 #endif 11206 #else 11207 typedef struct IClassActivatorVtbl { 11208 BEGIN_INTERFACE 11209 11210 /*** IUnknown methods ***/ 11211 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11212 IClassActivator *This, 11213 REFIID riid, 11214 void **ppvObject); 11215 11216 ULONG (STDMETHODCALLTYPE *AddRef)( 11217 IClassActivator *This); 11218 11219 ULONG (STDMETHODCALLTYPE *Release)( 11220 IClassActivator *This); 11221 11222 /*** IClassActivator methods ***/ 11223 HRESULT (STDMETHODCALLTYPE *GetClassObject)( 11224 IClassActivator *This, 11225 REFCLSID rclsid, 11226 DWORD dwClassContext, 11227 LCID locale, 11228 REFIID riid, 11229 void **ppv); 11230 11231 END_INTERFACE 11232 } IClassActivatorVtbl; 11233 11234 interface IClassActivator { 11235 CONST_VTBL IClassActivatorVtbl* lpVtbl; 11236 }; 11237 11238 #ifdef COBJMACROS 11239 #ifndef WIDL_C_INLINE_WRAPPERS 11240 /*** IUnknown methods ***/ 11241 #define IClassActivator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11242 #define IClassActivator_AddRef(This) (This)->lpVtbl->AddRef(This) 11243 #define IClassActivator_Release(This) (This)->lpVtbl->Release(This) 11244 /*** IClassActivator methods ***/ 11245 #define IClassActivator_GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv) (This)->lpVtbl->GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv) 11246 #else 11247 /*** IUnknown methods ***/ 11248 static FORCEINLINE HRESULT IClassActivator_QueryInterface(IClassActivator* This,REFIID riid,void **ppvObject) { 11249 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11250 } 11251 static FORCEINLINE ULONG IClassActivator_AddRef(IClassActivator* This) { 11252 return This->lpVtbl->AddRef(This); 11253 } 11254 static FORCEINLINE ULONG IClassActivator_Release(IClassActivator* This) { 11255 return This->lpVtbl->Release(This); 11256 } 11257 /*** IClassActivator methods ***/ 11258 static FORCEINLINE HRESULT IClassActivator_GetClassObject(IClassActivator* This,REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv) { 11259 return This->lpVtbl->GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv); 11260 } 11261 #endif 11262 #endif 11263 11264 #endif 11265 11266 11267 #endif /* __IClassActivator_INTERFACE_DEFINED__ */ 11268 11269 #endif 11270 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 11271 /***************************************************************************** 11272 * IFillLockBytes interface 11273 */ 11274 #ifndef __IFillLockBytes_INTERFACE_DEFINED__ 11275 #define __IFillLockBytes_INTERFACE_DEFINED__ 11276 11277 DEFINE_GUID(IID_IFillLockBytes, 0x99caf010, 0x415e, 0x11cf, 0x88,0x14, 0x00,0xaa,0x00,0xb5,0x69,0xf5); 11278 #if defined(__cplusplus) && !defined(CINTERFACE) 11279 MIDL_INTERFACE("99caf010-415e-11cf-8814-00aa00b569f5") 11280 IFillLockBytes : public IUnknown 11281 { 11282 virtual HRESULT STDMETHODCALLTYPE FillAppend( 11283 const void *pv, 11284 ULONG cb, 11285 ULONG *pcbWritten) = 0; 11286 11287 virtual HRESULT STDMETHODCALLTYPE FillAt( 11288 ULARGE_INTEGER ulOffset, 11289 const void *pv, 11290 ULONG cb, 11291 ULONG *pcbWritten) = 0; 11292 11293 virtual HRESULT STDMETHODCALLTYPE SetFillSize( 11294 ULARGE_INTEGER ulSize) = 0; 11295 11296 virtual HRESULT STDMETHODCALLTYPE Terminate( 11297 WINBOOL bCanceled) = 0; 11298 11299 }; 11300 #ifdef __CRT_UUID_DECL 11301 __CRT_UUID_DECL(IFillLockBytes, 0x99caf010, 0x415e, 0x11cf, 0x88,0x14, 0x00,0xaa,0x00,0xb5,0x69,0xf5) 11302 #endif 11303 #else 11304 typedef struct IFillLockBytesVtbl { 11305 BEGIN_INTERFACE 11306 11307 /*** IUnknown methods ***/ 11308 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11309 IFillLockBytes *This, 11310 REFIID riid, 11311 void **ppvObject); 11312 11313 ULONG (STDMETHODCALLTYPE *AddRef)( 11314 IFillLockBytes *This); 11315 11316 ULONG (STDMETHODCALLTYPE *Release)( 11317 IFillLockBytes *This); 11318 11319 /*** IFillLockBytes methods ***/ 11320 HRESULT (STDMETHODCALLTYPE *FillAppend)( 11321 IFillLockBytes *This, 11322 const void *pv, 11323 ULONG cb, 11324 ULONG *pcbWritten); 11325 11326 HRESULT (STDMETHODCALLTYPE *FillAt)( 11327 IFillLockBytes *This, 11328 ULARGE_INTEGER ulOffset, 11329 const void *pv, 11330 ULONG cb, 11331 ULONG *pcbWritten); 11332 11333 HRESULT (STDMETHODCALLTYPE *SetFillSize)( 11334 IFillLockBytes *This, 11335 ULARGE_INTEGER ulSize); 11336 11337 HRESULT (STDMETHODCALLTYPE *Terminate)( 11338 IFillLockBytes *This, 11339 WINBOOL bCanceled); 11340 11341 END_INTERFACE 11342 } IFillLockBytesVtbl; 11343 11344 interface IFillLockBytes { 11345 CONST_VTBL IFillLockBytesVtbl* lpVtbl; 11346 }; 11347 11348 #ifdef COBJMACROS 11349 #ifndef WIDL_C_INLINE_WRAPPERS 11350 /*** IUnknown methods ***/ 11351 #define IFillLockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11352 #define IFillLockBytes_AddRef(This) (This)->lpVtbl->AddRef(This) 11353 #define IFillLockBytes_Release(This) (This)->lpVtbl->Release(This) 11354 /*** IFillLockBytes methods ***/ 11355 #define IFillLockBytes_FillAppend(This,pv,cb,pcbWritten) (This)->lpVtbl->FillAppend(This,pv,cb,pcbWritten) 11356 #define IFillLockBytes_FillAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->FillAt(This,ulOffset,pv,cb,pcbWritten) 11357 #define IFillLockBytes_SetFillSize(This,ulSize) (This)->lpVtbl->SetFillSize(This,ulSize) 11358 #define IFillLockBytes_Terminate(This,bCanceled) (This)->lpVtbl->Terminate(This,bCanceled) 11359 #else 11360 /*** IUnknown methods ***/ 11361 static FORCEINLINE HRESULT IFillLockBytes_QueryInterface(IFillLockBytes* This,REFIID riid,void **ppvObject) { 11362 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11363 } 11364 static FORCEINLINE ULONG IFillLockBytes_AddRef(IFillLockBytes* This) { 11365 return This->lpVtbl->AddRef(This); 11366 } 11367 static FORCEINLINE ULONG IFillLockBytes_Release(IFillLockBytes* This) { 11368 return This->lpVtbl->Release(This); 11369 } 11370 /*** IFillLockBytes methods ***/ 11371 static FORCEINLINE HRESULT IFillLockBytes_FillAppend(IFillLockBytes* This,const void *pv,ULONG cb,ULONG *pcbWritten) { 11372 return This->lpVtbl->FillAppend(This,pv,cb,pcbWritten); 11373 } 11374 static FORCEINLINE HRESULT IFillLockBytes_FillAt(IFillLockBytes* This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten) { 11375 return This->lpVtbl->FillAt(This,ulOffset,pv,cb,pcbWritten); 11376 } 11377 static FORCEINLINE HRESULT IFillLockBytes_SetFillSize(IFillLockBytes* This,ULARGE_INTEGER ulSize) { 11378 return This->lpVtbl->SetFillSize(This,ulSize); 11379 } 11380 static FORCEINLINE HRESULT IFillLockBytes_Terminate(IFillLockBytes* This,WINBOOL bCanceled) { 11381 return This->lpVtbl->Terminate(This,bCanceled); 11382 } 11383 #endif 11384 #endif 11385 11386 #endif 11387 11388 HRESULT __stdcall IFillLockBytes_RemoteFillAppend_Proxy( 11389 IFillLockBytes* This, 11390 const byte *pv, 11391 ULONG cb, 11392 ULONG *pcbWritten); 11393 void __RPC_STUB IFillLockBytes_RemoteFillAppend_Stub( 11394 IRpcStubBuffer* This, 11395 IRpcChannelBuffer* pRpcChannelBuffer, 11396 PRPC_MESSAGE pRpcMessage, 11397 DWORD* pdwStubPhase); 11398 HRESULT __stdcall IFillLockBytes_RemoteFillAt_Proxy( 11399 IFillLockBytes* This, 11400 ULARGE_INTEGER ulOffset, 11401 const byte *pv, 11402 ULONG cb, 11403 ULONG *pcbWritten); 11404 void __RPC_STUB IFillLockBytes_RemoteFillAt_Stub( 11405 IRpcStubBuffer* This, 11406 IRpcChannelBuffer* pRpcChannelBuffer, 11407 PRPC_MESSAGE pRpcMessage, 11408 DWORD* pdwStubPhase); 11409 HRESULT CALLBACK IFillLockBytes_FillAppend_Proxy( 11410 IFillLockBytes* This, 11411 const void *pv, 11412 ULONG cb, 11413 ULONG *pcbWritten); 11414 HRESULT __RPC_STUB IFillLockBytes_FillAppend_Stub( 11415 IFillLockBytes* This, 11416 const byte *pv, 11417 ULONG cb, 11418 ULONG *pcbWritten); 11419 HRESULT CALLBACK IFillLockBytes_FillAt_Proxy( 11420 IFillLockBytes* This, 11421 ULARGE_INTEGER ulOffset, 11422 const void *pv, 11423 ULONG cb, 11424 ULONG *pcbWritten); 11425 HRESULT __RPC_STUB IFillLockBytes_FillAt_Stub( 11426 IFillLockBytes* This, 11427 ULARGE_INTEGER ulOffset, 11428 const byte *pv, 11429 ULONG cb, 11430 ULONG *pcbWritten); 11431 11432 #endif /* __IFillLockBytes_INTERFACE_DEFINED__ */ 11433 11434 #endif 11435 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 11436 /***************************************************************************** 11437 * IProgressNotify interface 11438 */ 11439 #ifndef __IProgressNotify_INTERFACE_DEFINED__ 11440 #define __IProgressNotify_INTERFACE_DEFINED__ 11441 11442 DEFINE_GUID(IID_IProgressNotify, 0xa9d758a0, 0x4617, 0x11cf, 0x95,0xfc, 0x00,0xaa,0x00,0x68,0x0d,0xb4); 11443 #if defined(__cplusplus) && !defined(CINTERFACE) 11444 MIDL_INTERFACE("a9d758a0-4617-11cf-95fc-00aa00680db4") 11445 IProgressNotify : public IUnknown 11446 { 11447 virtual HRESULT STDMETHODCALLTYPE OnProgress( 11448 DWORD dwProgressCurrent, 11449 DWORD dwProgressMaximum, 11450 WINBOOL fAccurate, 11451 WINBOOL fOwner) = 0; 11452 11453 }; 11454 #ifdef __CRT_UUID_DECL 11455 __CRT_UUID_DECL(IProgressNotify, 0xa9d758a0, 0x4617, 0x11cf, 0x95,0xfc, 0x00,0xaa,0x00,0x68,0x0d,0xb4) 11456 #endif 11457 #else 11458 typedef struct IProgressNotifyVtbl { 11459 BEGIN_INTERFACE 11460 11461 /*** IUnknown methods ***/ 11462 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11463 IProgressNotify *This, 11464 REFIID riid, 11465 void **ppvObject); 11466 11467 ULONG (STDMETHODCALLTYPE *AddRef)( 11468 IProgressNotify *This); 11469 11470 ULONG (STDMETHODCALLTYPE *Release)( 11471 IProgressNotify *This); 11472 11473 /*** IProgressNotify methods ***/ 11474 HRESULT (STDMETHODCALLTYPE *OnProgress)( 11475 IProgressNotify *This, 11476 DWORD dwProgressCurrent, 11477 DWORD dwProgressMaximum, 11478 WINBOOL fAccurate, 11479 WINBOOL fOwner); 11480 11481 END_INTERFACE 11482 } IProgressNotifyVtbl; 11483 11484 interface IProgressNotify { 11485 CONST_VTBL IProgressNotifyVtbl* lpVtbl; 11486 }; 11487 11488 #ifdef COBJMACROS 11489 #ifndef WIDL_C_INLINE_WRAPPERS 11490 /*** IUnknown methods ***/ 11491 #define IProgressNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11492 #define IProgressNotify_AddRef(This) (This)->lpVtbl->AddRef(This) 11493 #define IProgressNotify_Release(This) (This)->lpVtbl->Release(This) 11494 /*** IProgressNotify methods ***/ 11495 #define IProgressNotify_OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner) (This)->lpVtbl->OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner) 11496 #else 11497 /*** IUnknown methods ***/ 11498 static FORCEINLINE HRESULT IProgressNotify_QueryInterface(IProgressNotify* This,REFIID riid,void **ppvObject) { 11499 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11500 } 11501 static FORCEINLINE ULONG IProgressNotify_AddRef(IProgressNotify* This) { 11502 return This->lpVtbl->AddRef(This); 11503 } 11504 static FORCEINLINE ULONG IProgressNotify_Release(IProgressNotify* This) { 11505 return This->lpVtbl->Release(This); 11506 } 11507 /*** IProgressNotify methods ***/ 11508 static FORCEINLINE HRESULT IProgressNotify_OnProgress(IProgressNotify* This,DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner) { 11509 return This->lpVtbl->OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner); 11510 } 11511 #endif 11512 #endif 11513 11514 #endif 11515 11516 11517 #endif /* __IProgressNotify_INTERFACE_DEFINED__ */ 11518 11519 #endif 11520 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 11521 /***************************************************************************** 11522 * ILayoutStorage interface 11523 */ 11524 #ifndef __ILayoutStorage_INTERFACE_DEFINED__ 11525 #define __ILayoutStorage_INTERFACE_DEFINED__ 11526 11527 typedef struct tagStorageLayout { 11528 DWORD LayoutType; 11529 OLECHAR *pwcsElementName; 11530 LARGE_INTEGER cOffset; 11531 LARGE_INTEGER cBytes; 11532 } StorageLayout; 11533 DEFINE_GUID(IID_ILayoutStorage, 0x0e6d4d90, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4); 11534 #if defined(__cplusplus) && !defined(CINTERFACE) 11535 MIDL_INTERFACE("0e6d4d90-6738-11cf-9608-00aa00680db4") 11536 ILayoutStorage : public IUnknown 11537 { 11538 virtual HRESULT __stdcall LayoutScript( 11539 StorageLayout *pStorageLayout, 11540 DWORD nEntries, 11541 DWORD glfInterleavedFlag) = 0; 11542 11543 virtual HRESULT __stdcall BeginMonitor( 11544 ) = 0; 11545 11546 virtual HRESULT __stdcall EndMonitor( 11547 ) = 0; 11548 11549 virtual HRESULT __stdcall ReLayoutDocfile( 11550 OLECHAR *pwcsNewDfName) = 0; 11551 11552 virtual HRESULT __stdcall ReLayoutDocfileOnILockBytes( 11553 ILockBytes *pILockBytes) = 0; 11554 11555 }; 11556 #ifdef __CRT_UUID_DECL 11557 __CRT_UUID_DECL(ILayoutStorage, 0x0e6d4d90, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4) 11558 #endif 11559 #else 11560 typedef struct ILayoutStorageVtbl { 11561 BEGIN_INTERFACE 11562 11563 /*** IUnknown methods ***/ 11564 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11565 ILayoutStorage *This, 11566 REFIID riid, 11567 void **ppvObject); 11568 11569 ULONG (STDMETHODCALLTYPE *AddRef)( 11570 ILayoutStorage *This); 11571 11572 ULONG (STDMETHODCALLTYPE *Release)( 11573 ILayoutStorage *This); 11574 11575 /*** ILayoutStorage methods ***/ 11576 HRESULT (__stdcall *LayoutScript)( 11577 ILayoutStorage *This, 11578 StorageLayout *pStorageLayout, 11579 DWORD nEntries, 11580 DWORD glfInterleavedFlag); 11581 11582 HRESULT (__stdcall *BeginMonitor)( 11583 ILayoutStorage *This); 11584 11585 HRESULT (__stdcall *EndMonitor)( 11586 ILayoutStorage *This); 11587 11588 HRESULT (__stdcall *ReLayoutDocfile)( 11589 ILayoutStorage *This, 11590 OLECHAR *pwcsNewDfName); 11591 11592 HRESULT (__stdcall *ReLayoutDocfileOnILockBytes)( 11593 ILayoutStorage *This, 11594 ILockBytes *pILockBytes); 11595 11596 END_INTERFACE 11597 } ILayoutStorageVtbl; 11598 11599 interface ILayoutStorage { 11600 CONST_VTBL ILayoutStorageVtbl* lpVtbl; 11601 }; 11602 11603 #ifdef COBJMACROS 11604 #ifndef WIDL_C_INLINE_WRAPPERS 11605 /*** IUnknown methods ***/ 11606 #define ILayoutStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11607 #define ILayoutStorage_AddRef(This) (This)->lpVtbl->AddRef(This) 11608 #define ILayoutStorage_Release(This) (This)->lpVtbl->Release(This) 11609 /*** ILayoutStorage methods ***/ 11610 #define ILayoutStorage_LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag) (This)->lpVtbl->LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag) 11611 #define ILayoutStorage_BeginMonitor(This) (This)->lpVtbl->BeginMonitor(This) 11612 #define ILayoutStorage_EndMonitor(This) (This)->lpVtbl->EndMonitor(This) 11613 #define ILayoutStorage_ReLayoutDocfile(This,pwcsNewDfName) (This)->lpVtbl->ReLayoutDocfile(This,pwcsNewDfName) 11614 #define ILayoutStorage_ReLayoutDocfileOnILockBytes(This,pILockBytes) (This)->lpVtbl->ReLayoutDocfileOnILockBytes(This,pILockBytes) 11615 #else 11616 /*** IUnknown methods ***/ 11617 static FORCEINLINE HRESULT ILayoutStorage_QueryInterface(ILayoutStorage* This,REFIID riid,void **ppvObject) { 11618 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11619 } 11620 static FORCEINLINE ULONG ILayoutStorage_AddRef(ILayoutStorage* This) { 11621 return This->lpVtbl->AddRef(This); 11622 } 11623 static FORCEINLINE ULONG ILayoutStorage_Release(ILayoutStorage* This) { 11624 return This->lpVtbl->Release(This); 11625 } 11626 /*** ILayoutStorage methods ***/ 11627 static FORCEINLINE HRESULT ILayoutStorage_LayoutScript(ILayoutStorage* This,StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag) { 11628 return This->lpVtbl->LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag); 11629 } 11630 static FORCEINLINE HRESULT ILayoutStorage_BeginMonitor(ILayoutStorage* This) { 11631 return This->lpVtbl->BeginMonitor(This); 11632 } 11633 static FORCEINLINE HRESULT ILayoutStorage_EndMonitor(ILayoutStorage* This) { 11634 return This->lpVtbl->EndMonitor(This); 11635 } 11636 static FORCEINLINE HRESULT ILayoutStorage_ReLayoutDocfile(ILayoutStorage* This,OLECHAR *pwcsNewDfName) { 11637 return This->lpVtbl->ReLayoutDocfile(This,pwcsNewDfName); 11638 } 11639 static FORCEINLINE HRESULT ILayoutStorage_ReLayoutDocfileOnILockBytes(ILayoutStorage* This,ILockBytes *pILockBytes) { 11640 return This->lpVtbl->ReLayoutDocfileOnILockBytes(This,pILockBytes); 11641 } 11642 #endif 11643 #endif 11644 11645 #endif 11646 11647 11648 #endif /* __ILayoutStorage_INTERFACE_DEFINED__ */ 11649 11650 #endif 11651 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 11652 /***************************************************************************** 11653 * IBlockingLock interface 11654 */ 11655 #ifndef __IBlockingLock_INTERFACE_DEFINED__ 11656 #define __IBlockingLock_INTERFACE_DEFINED__ 11657 11658 DEFINE_GUID(IID_IBlockingLock, 0x30f3d47a, 0x6447, 0x11d1, 0x8e,0x3c, 0x00,0xc0,0x4f,0xb9,0x38,0x6d); 11659 #if defined(__cplusplus) && !defined(CINTERFACE) 11660 MIDL_INTERFACE("30f3d47a-6447-11d1-8e3c-00c04fb9386d") 11661 IBlockingLock : public IUnknown 11662 { 11663 virtual HRESULT STDMETHODCALLTYPE Lock( 11664 DWORD dwTimeout) = 0; 11665 11666 virtual HRESULT STDMETHODCALLTYPE Unlock( 11667 ) = 0; 11668 11669 }; 11670 #ifdef __CRT_UUID_DECL 11671 __CRT_UUID_DECL(IBlockingLock, 0x30f3d47a, 0x6447, 0x11d1, 0x8e,0x3c, 0x00,0xc0,0x4f,0xb9,0x38,0x6d) 11672 #endif 11673 #else 11674 typedef struct IBlockingLockVtbl { 11675 BEGIN_INTERFACE 11676 11677 /*** IUnknown methods ***/ 11678 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11679 IBlockingLock *This, 11680 REFIID riid, 11681 void **ppvObject); 11682 11683 ULONG (STDMETHODCALLTYPE *AddRef)( 11684 IBlockingLock *This); 11685 11686 ULONG (STDMETHODCALLTYPE *Release)( 11687 IBlockingLock *This); 11688 11689 /*** IBlockingLock methods ***/ 11690 HRESULT (STDMETHODCALLTYPE *Lock)( 11691 IBlockingLock *This, 11692 DWORD dwTimeout); 11693 11694 HRESULT (STDMETHODCALLTYPE *Unlock)( 11695 IBlockingLock *This); 11696 11697 END_INTERFACE 11698 } IBlockingLockVtbl; 11699 11700 interface IBlockingLock { 11701 CONST_VTBL IBlockingLockVtbl* lpVtbl; 11702 }; 11703 11704 #ifdef COBJMACROS 11705 #ifndef WIDL_C_INLINE_WRAPPERS 11706 /*** IUnknown methods ***/ 11707 #define IBlockingLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11708 #define IBlockingLock_AddRef(This) (This)->lpVtbl->AddRef(This) 11709 #define IBlockingLock_Release(This) (This)->lpVtbl->Release(This) 11710 /*** IBlockingLock methods ***/ 11711 #define IBlockingLock_Lock(This,dwTimeout) (This)->lpVtbl->Lock(This,dwTimeout) 11712 #define IBlockingLock_Unlock(This) (This)->lpVtbl->Unlock(This) 11713 #else 11714 /*** IUnknown methods ***/ 11715 static FORCEINLINE HRESULT IBlockingLock_QueryInterface(IBlockingLock* This,REFIID riid,void **ppvObject) { 11716 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11717 } 11718 static FORCEINLINE ULONG IBlockingLock_AddRef(IBlockingLock* This) { 11719 return This->lpVtbl->AddRef(This); 11720 } 11721 static FORCEINLINE ULONG IBlockingLock_Release(IBlockingLock* This) { 11722 return This->lpVtbl->Release(This); 11723 } 11724 /*** IBlockingLock methods ***/ 11725 static FORCEINLINE HRESULT IBlockingLock_Lock(IBlockingLock* This,DWORD dwTimeout) { 11726 return This->lpVtbl->Lock(This,dwTimeout); 11727 } 11728 static FORCEINLINE HRESULT IBlockingLock_Unlock(IBlockingLock* This) { 11729 return This->lpVtbl->Unlock(This); 11730 } 11731 #endif 11732 #endif 11733 11734 #endif 11735 11736 11737 #endif /* __IBlockingLock_INTERFACE_DEFINED__ */ 11738 11739 /***************************************************************************** 11740 * ITimeAndNoticeControl interface 11741 */ 11742 #ifndef __ITimeAndNoticeControl_INTERFACE_DEFINED__ 11743 #define __ITimeAndNoticeControl_INTERFACE_DEFINED__ 11744 11745 DEFINE_GUID(IID_ITimeAndNoticeControl, 0xbc0bf6ae, 0x8878, 0x11d1, 0x83,0xe9, 0x00,0xc0,0x4f,0xc2,0xc6,0xd4); 11746 #if defined(__cplusplus) && !defined(CINTERFACE) 11747 MIDL_INTERFACE("bc0bf6ae-8878-11d1-83e9-00c04fc2c6d4") 11748 ITimeAndNoticeControl : public IUnknown 11749 { 11750 virtual HRESULT STDMETHODCALLTYPE SuppressChanges( 11751 DWORD res1, 11752 DWORD res2) = 0; 11753 11754 }; 11755 #ifdef __CRT_UUID_DECL 11756 __CRT_UUID_DECL(ITimeAndNoticeControl, 0xbc0bf6ae, 0x8878, 0x11d1, 0x83,0xe9, 0x00,0xc0,0x4f,0xc2,0xc6,0xd4) 11757 #endif 11758 #else 11759 typedef struct ITimeAndNoticeControlVtbl { 11760 BEGIN_INTERFACE 11761 11762 /*** IUnknown methods ***/ 11763 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11764 ITimeAndNoticeControl *This, 11765 REFIID riid, 11766 void **ppvObject); 11767 11768 ULONG (STDMETHODCALLTYPE *AddRef)( 11769 ITimeAndNoticeControl *This); 11770 11771 ULONG (STDMETHODCALLTYPE *Release)( 11772 ITimeAndNoticeControl *This); 11773 11774 /*** ITimeAndNoticeControl methods ***/ 11775 HRESULT (STDMETHODCALLTYPE *SuppressChanges)( 11776 ITimeAndNoticeControl *This, 11777 DWORD res1, 11778 DWORD res2); 11779 11780 END_INTERFACE 11781 } ITimeAndNoticeControlVtbl; 11782 11783 interface ITimeAndNoticeControl { 11784 CONST_VTBL ITimeAndNoticeControlVtbl* lpVtbl; 11785 }; 11786 11787 #ifdef COBJMACROS 11788 #ifndef WIDL_C_INLINE_WRAPPERS 11789 /*** IUnknown methods ***/ 11790 #define ITimeAndNoticeControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11791 #define ITimeAndNoticeControl_AddRef(This) (This)->lpVtbl->AddRef(This) 11792 #define ITimeAndNoticeControl_Release(This) (This)->lpVtbl->Release(This) 11793 /*** ITimeAndNoticeControl methods ***/ 11794 #define ITimeAndNoticeControl_SuppressChanges(This,res1,res2) (This)->lpVtbl->SuppressChanges(This,res1,res2) 11795 #else 11796 /*** IUnknown methods ***/ 11797 static FORCEINLINE HRESULT ITimeAndNoticeControl_QueryInterface(ITimeAndNoticeControl* This,REFIID riid,void **ppvObject) { 11798 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11799 } 11800 static FORCEINLINE ULONG ITimeAndNoticeControl_AddRef(ITimeAndNoticeControl* This) { 11801 return This->lpVtbl->AddRef(This); 11802 } 11803 static FORCEINLINE ULONG ITimeAndNoticeControl_Release(ITimeAndNoticeControl* This) { 11804 return This->lpVtbl->Release(This); 11805 } 11806 /*** ITimeAndNoticeControl methods ***/ 11807 static FORCEINLINE HRESULT ITimeAndNoticeControl_SuppressChanges(ITimeAndNoticeControl* This,DWORD res1,DWORD res2) { 11808 return This->lpVtbl->SuppressChanges(This,res1,res2); 11809 } 11810 #endif 11811 #endif 11812 11813 #endif 11814 11815 11816 #endif /* __ITimeAndNoticeControl_INTERFACE_DEFINED__ */ 11817 11818 /***************************************************************************** 11819 * IOplockStorage interface 11820 */ 11821 #ifndef __IOplockStorage_INTERFACE_DEFINED__ 11822 #define __IOplockStorage_INTERFACE_DEFINED__ 11823 11824 DEFINE_GUID(IID_IOplockStorage, 0x8d19c834, 0x8879, 0x11d1, 0x83,0xe9, 0x00,0xc0,0x4f,0xc2,0xc6,0xd4); 11825 #if defined(__cplusplus) && !defined(CINTERFACE) 11826 MIDL_INTERFACE("8d19c834-8879-11d1-83e9-00c04fc2c6d4") 11827 IOplockStorage : public IUnknown 11828 { 11829 virtual HRESULT STDMETHODCALLTYPE CreateStorageEx( 11830 LPCWSTR pwcsName, 11831 DWORD grfMode, 11832 DWORD stgfmt, 11833 DWORD grfAttrs, 11834 REFIID riid, 11835 void **ppstgOpen) = 0; 11836 11837 virtual HRESULT STDMETHODCALLTYPE OpenStorageEx( 11838 LPCWSTR pwcsName, 11839 DWORD grfMode, 11840 DWORD stgfmt, 11841 DWORD grfAttrs, 11842 REFIID riid, 11843 void **ppstgOpen) = 0; 11844 11845 }; 11846 #ifdef __CRT_UUID_DECL 11847 __CRT_UUID_DECL(IOplockStorage, 0x8d19c834, 0x8879, 0x11d1, 0x83,0xe9, 0x00,0xc0,0x4f,0xc2,0xc6,0xd4) 11848 #endif 11849 #else 11850 typedef struct IOplockStorageVtbl { 11851 BEGIN_INTERFACE 11852 11853 /*** IUnknown methods ***/ 11854 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11855 IOplockStorage *This, 11856 REFIID riid, 11857 void **ppvObject); 11858 11859 ULONG (STDMETHODCALLTYPE *AddRef)( 11860 IOplockStorage *This); 11861 11862 ULONG (STDMETHODCALLTYPE *Release)( 11863 IOplockStorage *This); 11864 11865 /*** IOplockStorage methods ***/ 11866 HRESULT (STDMETHODCALLTYPE *CreateStorageEx)( 11867 IOplockStorage *This, 11868 LPCWSTR pwcsName, 11869 DWORD grfMode, 11870 DWORD stgfmt, 11871 DWORD grfAttrs, 11872 REFIID riid, 11873 void **ppstgOpen); 11874 11875 HRESULT (STDMETHODCALLTYPE *OpenStorageEx)( 11876 IOplockStorage *This, 11877 LPCWSTR pwcsName, 11878 DWORD grfMode, 11879 DWORD stgfmt, 11880 DWORD grfAttrs, 11881 REFIID riid, 11882 void **ppstgOpen); 11883 11884 END_INTERFACE 11885 } IOplockStorageVtbl; 11886 11887 interface IOplockStorage { 11888 CONST_VTBL IOplockStorageVtbl* lpVtbl; 11889 }; 11890 11891 #ifdef COBJMACROS 11892 #ifndef WIDL_C_INLINE_WRAPPERS 11893 /*** IUnknown methods ***/ 11894 #define IOplockStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11895 #define IOplockStorage_AddRef(This) (This)->lpVtbl->AddRef(This) 11896 #define IOplockStorage_Release(This) (This)->lpVtbl->Release(This) 11897 /*** IOplockStorage methods ***/ 11898 #define IOplockStorage_CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) (This)->lpVtbl->CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) 11899 #define IOplockStorage_OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) (This)->lpVtbl->OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) 11900 #else 11901 /*** IUnknown methods ***/ 11902 static FORCEINLINE HRESULT IOplockStorage_QueryInterface(IOplockStorage* This,REFIID riid,void **ppvObject) { 11903 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11904 } 11905 static FORCEINLINE ULONG IOplockStorage_AddRef(IOplockStorage* This) { 11906 return This->lpVtbl->AddRef(This); 11907 } 11908 static FORCEINLINE ULONG IOplockStorage_Release(IOplockStorage* This) { 11909 return This->lpVtbl->Release(This); 11910 } 11911 /*** IOplockStorage methods ***/ 11912 static FORCEINLINE HRESULT IOplockStorage_CreateStorageEx(IOplockStorage* This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen) { 11913 return This->lpVtbl->CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen); 11914 } 11915 static FORCEINLINE HRESULT IOplockStorage_OpenStorageEx(IOplockStorage* This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen) { 11916 return This->lpVtbl->OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen); 11917 } 11918 #endif 11919 #endif 11920 11921 #endif 11922 11923 11924 #endif /* __IOplockStorage_INTERFACE_DEFINED__ */ 11925 11926 #endif 11927 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 11928 /***************************************************************************** 11929 * IDirectWriterLock interface 11930 */ 11931 #ifndef __IDirectWriterLock_INTERFACE_DEFINED__ 11932 #define __IDirectWriterLock_INTERFACE_DEFINED__ 11933 11934 DEFINE_GUID(IID_IDirectWriterLock, 0x0e6d4d92, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4); 11935 #if defined(__cplusplus) && !defined(CINTERFACE) 11936 MIDL_INTERFACE("0e6d4d92-6738-11cf-9608-00aa00680db4") 11937 IDirectWriterLock : public IUnknown 11938 { 11939 virtual HRESULT STDMETHODCALLTYPE WaitForWriteAccess( 11940 DWORD dwTimeout) = 0; 11941 11942 virtual HRESULT STDMETHODCALLTYPE ReleaseWriteAccess( 11943 ) = 0; 11944 11945 virtual HRESULT STDMETHODCALLTYPE HaveWriteAccess( 11946 ) = 0; 11947 11948 }; 11949 #ifdef __CRT_UUID_DECL 11950 __CRT_UUID_DECL(IDirectWriterLock, 0x0e6d4d92, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4) 11951 #endif 11952 #else 11953 typedef struct IDirectWriterLockVtbl { 11954 BEGIN_INTERFACE 11955 11956 /*** IUnknown methods ***/ 11957 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11958 IDirectWriterLock *This, 11959 REFIID riid, 11960 void **ppvObject); 11961 11962 ULONG (STDMETHODCALLTYPE *AddRef)( 11963 IDirectWriterLock *This); 11964 11965 ULONG (STDMETHODCALLTYPE *Release)( 11966 IDirectWriterLock *This); 11967 11968 /*** IDirectWriterLock methods ***/ 11969 HRESULT (STDMETHODCALLTYPE *WaitForWriteAccess)( 11970 IDirectWriterLock *This, 11971 DWORD dwTimeout); 11972 11973 HRESULT (STDMETHODCALLTYPE *ReleaseWriteAccess)( 11974 IDirectWriterLock *This); 11975 11976 HRESULT (STDMETHODCALLTYPE *HaveWriteAccess)( 11977 IDirectWriterLock *This); 11978 11979 END_INTERFACE 11980 } IDirectWriterLockVtbl; 11981 11982 interface IDirectWriterLock { 11983 CONST_VTBL IDirectWriterLockVtbl* lpVtbl; 11984 }; 11985 11986 #ifdef COBJMACROS 11987 #ifndef WIDL_C_INLINE_WRAPPERS 11988 /*** IUnknown methods ***/ 11989 #define IDirectWriterLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11990 #define IDirectWriterLock_AddRef(This) (This)->lpVtbl->AddRef(This) 11991 #define IDirectWriterLock_Release(This) (This)->lpVtbl->Release(This) 11992 /*** IDirectWriterLock methods ***/ 11993 #define IDirectWriterLock_WaitForWriteAccess(This,dwTimeout) (This)->lpVtbl->WaitForWriteAccess(This,dwTimeout) 11994 #define IDirectWriterLock_ReleaseWriteAccess(This) (This)->lpVtbl->ReleaseWriteAccess(This) 11995 #define IDirectWriterLock_HaveWriteAccess(This) (This)->lpVtbl->HaveWriteAccess(This) 11996 #else 11997 /*** IUnknown methods ***/ 11998 static FORCEINLINE HRESULT IDirectWriterLock_QueryInterface(IDirectWriterLock* This,REFIID riid,void **ppvObject) { 11999 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12000 } 12001 static FORCEINLINE ULONG IDirectWriterLock_AddRef(IDirectWriterLock* This) { 12002 return This->lpVtbl->AddRef(This); 12003 } 12004 static FORCEINLINE ULONG IDirectWriterLock_Release(IDirectWriterLock* This) { 12005 return This->lpVtbl->Release(This); 12006 } 12007 /*** IDirectWriterLock methods ***/ 12008 static FORCEINLINE HRESULT IDirectWriterLock_WaitForWriteAccess(IDirectWriterLock* This,DWORD dwTimeout) { 12009 return This->lpVtbl->WaitForWriteAccess(This,dwTimeout); 12010 } 12011 static FORCEINLINE HRESULT IDirectWriterLock_ReleaseWriteAccess(IDirectWriterLock* This) { 12012 return This->lpVtbl->ReleaseWriteAccess(This); 12013 } 12014 static FORCEINLINE HRESULT IDirectWriterLock_HaveWriteAccess(IDirectWriterLock* This) { 12015 return This->lpVtbl->HaveWriteAccess(This); 12016 } 12017 #endif 12018 #endif 12019 12020 #endif 12021 12022 12023 #endif /* __IDirectWriterLock_INTERFACE_DEFINED__ */ 12024 12025 #endif 12026 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 12027 /***************************************************************************** 12028 * IUrlMon interface 12029 */ 12030 #ifndef __IUrlMon_INTERFACE_DEFINED__ 12031 #define __IUrlMon_INTERFACE_DEFINED__ 12032 12033 DEFINE_GUID(IID_IUrlMon, 0x00000026, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 12034 #if defined(__cplusplus) && !defined(CINTERFACE) 12035 MIDL_INTERFACE("00000026-0000-0000-c000-000000000046") 12036 IUrlMon : public IUnknown 12037 { 12038 virtual HRESULT STDMETHODCALLTYPE AsyncGetClassBits( 12039 REFCLSID rclsid, 12040 LPCWSTR pszTYPE, 12041 LPCWSTR pszExt, 12042 DWORD dwFileVersionMS, 12043 DWORD dwFileVersionLS, 12044 LPCWSTR pszCodeBase, 12045 IBindCtx *pbc, 12046 DWORD dwClassContext, 12047 REFIID riid, 12048 DWORD flags) = 0; 12049 12050 }; 12051 #ifdef __CRT_UUID_DECL 12052 __CRT_UUID_DECL(IUrlMon, 0x00000026, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 12053 #endif 12054 #else 12055 typedef struct IUrlMonVtbl { 12056 BEGIN_INTERFACE 12057 12058 /*** IUnknown methods ***/ 12059 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12060 IUrlMon *This, 12061 REFIID riid, 12062 void **ppvObject); 12063 12064 ULONG (STDMETHODCALLTYPE *AddRef)( 12065 IUrlMon *This); 12066 12067 ULONG (STDMETHODCALLTYPE *Release)( 12068 IUrlMon *This); 12069 12070 /*** IUrlMon methods ***/ 12071 HRESULT (STDMETHODCALLTYPE *AsyncGetClassBits)( 12072 IUrlMon *This, 12073 REFCLSID rclsid, 12074 LPCWSTR pszTYPE, 12075 LPCWSTR pszExt, 12076 DWORD dwFileVersionMS, 12077 DWORD dwFileVersionLS, 12078 LPCWSTR pszCodeBase, 12079 IBindCtx *pbc, 12080 DWORD dwClassContext, 12081 REFIID riid, 12082 DWORD flags); 12083 12084 END_INTERFACE 12085 } IUrlMonVtbl; 12086 12087 interface IUrlMon { 12088 CONST_VTBL IUrlMonVtbl* lpVtbl; 12089 }; 12090 12091 #ifdef COBJMACROS 12092 #ifndef WIDL_C_INLINE_WRAPPERS 12093 /*** IUnknown methods ***/ 12094 #define IUrlMon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12095 #define IUrlMon_AddRef(This) (This)->lpVtbl->AddRef(This) 12096 #define IUrlMon_Release(This) (This)->lpVtbl->Release(This) 12097 /*** IUrlMon methods ***/ 12098 #define IUrlMon_AsyncGetClassBits(This,rclsid,pszTYPE,pszExt,dwFileVersionMS,dwFileVersionLS,pszCodeBase,pbc,dwClassContext,riid,flags) (This)->lpVtbl->AsyncGetClassBits(This,rclsid,pszTYPE,pszExt,dwFileVersionMS,dwFileVersionLS,pszCodeBase,pbc,dwClassContext,riid,flags) 12099 #else 12100 /*** IUnknown methods ***/ 12101 static FORCEINLINE HRESULT IUrlMon_QueryInterface(IUrlMon* This,REFIID riid,void **ppvObject) { 12102 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12103 } 12104 static FORCEINLINE ULONG IUrlMon_AddRef(IUrlMon* This) { 12105 return This->lpVtbl->AddRef(This); 12106 } 12107 static FORCEINLINE ULONG IUrlMon_Release(IUrlMon* This) { 12108 return This->lpVtbl->Release(This); 12109 } 12110 /*** IUrlMon methods ***/ 12111 static FORCEINLINE HRESULT IUrlMon_AsyncGetClassBits(IUrlMon* This,REFCLSID rclsid,LPCWSTR pszTYPE,LPCWSTR pszExt,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR pszCodeBase,IBindCtx *pbc,DWORD dwClassContext,REFIID riid,DWORD flags) { 12112 return This->lpVtbl->AsyncGetClassBits(This,rclsid,pszTYPE,pszExt,dwFileVersionMS,dwFileVersionLS,pszCodeBase,pbc,dwClassContext,riid,flags); 12113 } 12114 #endif 12115 #endif 12116 12117 #endif 12118 12119 12120 #endif /* __IUrlMon_INTERFACE_DEFINED__ */ 12121 12122 /***************************************************************************** 12123 * IForegroundTransfer interface 12124 */ 12125 #ifndef __IForegroundTransfer_INTERFACE_DEFINED__ 12126 #define __IForegroundTransfer_INTERFACE_DEFINED__ 12127 12128 DEFINE_GUID(IID_IForegroundTransfer, 0x00000145, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 12129 #if defined(__cplusplus) && !defined(CINTERFACE) 12130 MIDL_INTERFACE("00000145-0000-0000-c000-000000000046") 12131 IForegroundTransfer : public IUnknown 12132 { 12133 virtual HRESULT STDMETHODCALLTYPE AllowForegroundTransfer( 12134 void *lpvReserved) = 0; 12135 12136 }; 12137 #ifdef __CRT_UUID_DECL 12138 __CRT_UUID_DECL(IForegroundTransfer, 0x00000145, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 12139 #endif 12140 #else 12141 typedef struct IForegroundTransferVtbl { 12142 BEGIN_INTERFACE 12143 12144 /*** IUnknown methods ***/ 12145 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12146 IForegroundTransfer *This, 12147 REFIID riid, 12148 void **ppvObject); 12149 12150 ULONG (STDMETHODCALLTYPE *AddRef)( 12151 IForegroundTransfer *This); 12152 12153 ULONG (STDMETHODCALLTYPE *Release)( 12154 IForegroundTransfer *This); 12155 12156 /*** IForegroundTransfer methods ***/ 12157 HRESULT (STDMETHODCALLTYPE *AllowForegroundTransfer)( 12158 IForegroundTransfer *This, 12159 void *lpvReserved); 12160 12161 END_INTERFACE 12162 } IForegroundTransferVtbl; 12163 12164 interface IForegroundTransfer { 12165 CONST_VTBL IForegroundTransferVtbl* lpVtbl; 12166 }; 12167 12168 #ifdef COBJMACROS 12169 #ifndef WIDL_C_INLINE_WRAPPERS 12170 /*** IUnknown methods ***/ 12171 #define IForegroundTransfer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12172 #define IForegroundTransfer_AddRef(This) (This)->lpVtbl->AddRef(This) 12173 #define IForegroundTransfer_Release(This) (This)->lpVtbl->Release(This) 12174 /*** IForegroundTransfer methods ***/ 12175 #define IForegroundTransfer_AllowForegroundTransfer(This,lpvReserved) (This)->lpVtbl->AllowForegroundTransfer(This,lpvReserved) 12176 #else 12177 /*** IUnknown methods ***/ 12178 static FORCEINLINE HRESULT IForegroundTransfer_QueryInterface(IForegroundTransfer* This,REFIID riid,void **ppvObject) { 12179 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12180 } 12181 static FORCEINLINE ULONG IForegroundTransfer_AddRef(IForegroundTransfer* This) { 12182 return This->lpVtbl->AddRef(This); 12183 } 12184 static FORCEINLINE ULONG IForegroundTransfer_Release(IForegroundTransfer* This) { 12185 return This->lpVtbl->Release(This); 12186 } 12187 /*** IForegroundTransfer methods ***/ 12188 static FORCEINLINE HRESULT IForegroundTransfer_AllowForegroundTransfer(IForegroundTransfer* This,void *lpvReserved) { 12189 return This->lpVtbl->AllowForegroundTransfer(This,lpvReserved); 12190 } 12191 #endif 12192 #endif 12193 12194 #endif 12195 12196 12197 #endif /* __IForegroundTransfer_INTERFACE_DEFINED__ */ 12198 12199 /***************************************************************************** 12200 * IThumbnailExtractor interface 12201 */ 12202 #ifndef __IThumbnailExtractor_INTERFACE_DEFINED__ 12203 #define __IThumbnailExtractor_INTERFACE_DEFINED__ 12204 12205 DEFINE_GUID(IID_IThumbnailExtractor, 0x969dc708, 0x5c76, 0x11d1, 0x8d,0x86, 0x00,0x00,0xf8,0x04,0xb0,0x57); 12206 #if defined(__cplusplus) && !defined(CINTERFACE) 12207 MIDL_INTERFACE("969dc708-5c76-11d1-8d86-0000f804b057") 12208 IThumbnailExtractor : public IUnknown 12209 { 12210 virtual HRESULT STDMETHODCALLTYPE ExtractThumbnail( 12211 IStorage *pStg, 12212 ULONG ulLength, 12213 ULONG ulHeight, 12214 ULONG *pulOutputLength, 12215 ULONG *pulOutputHeight, 12216 HBITMAP *phOutputBitmap) = 0; 12217 12218 virtual HRESULT STDMETHODCALLTYPE OnFileUpdated( 12219 IStorage *pStg) = 0; 12220 12221 }; 12222 #ifdef __CRT_UUID_DECL 12223 __CRT_UUID_DECL(IThumbnailExtractor, 0x969dc708, 0x5c76, 0x11d1, 0x8d,0x86, 0x00,0x00,0xf8,0x04,0xb0,0x57) 12224 #endif 12225 #else 12226 typedef struct IThumbnailExtractorVtbl { 12227 BEGIN_INTERFACE 12228 12229 /*** IUnknown methods ***/ 12230 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12231 IThumbnailExtractor *This, 12232 REFIID riid, 12233 void **ppvObject); 12234 12235 ULONG (STDMETHODCALLTYPE *AddRef)( 12236 IThumbnailExtractor *This); 12237 12238 ULONG (STDMETHODCALLTYPE *Release)( 12239 IThumbnailExtractor *This); 12240 12241 /*** IThumbnailExtractor methods ***/ 12242 HRESULT (STDMETHODCALLTYPE *ExtractThumbnail)( 12243 IThumbnailExtractor *This, 12244 IStorage *pStg, 12245 ULONG ulLength, 12246 ULONG ulHeight, 12247 ULONG *pulOutputLength, 12248 ULONG *pulOutputHeight, 12249 HBITMAP *phOutputBitmap); 12250 12251 HRESULT (STDMETHODCALLTYPE *OnFileUpdated)( 12252 IThumbnailExtractor *This, 12253 IStorage *pStg); 12254 12255 END_INTERFACE 12256 } IThumbnailExtractorVtbl; 12257 12258 interface IThumbnailExtractor { 12259 CONST_VTBL IThumbnailExtractorVtbl* lpVtbl; 12260 }; 12261 12262 #ifdef COBJMACROS 12263 #ifndef WIDL_C_INLINE_WRAPPERS 12264 /*** IUnknown methods ***/ 12265 #define IThumbnailExtractor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12266 #define IThumbnailExtractor_AddRef(This) (This)->lpVtbl->AddRef(This) 12267 #define IThumbnailExtractor_Release(This) (This)->lpVtbl->Release(This) 12268 /*** IThumbnailExtractor methods ***/ 12269 #define IThumbnailExtractor_ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap) (This)->lpVtbl->ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap) 12270 #define IThumbnailExtractor_OnFileUpdated(This,pStg) (This)->lpVtbl->OnFileUpdated(This,pStg) 12271 #else 12272 /*** IUnknown methods ***/ 12273 static FORCEINLINE HRESULT IThumbnailExtractor_QueryInterface(IThumbnailExtractor* This,REFIID riid,void **ppvObject) { 12274 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12275 } 12276 static FORCEINLINE ULONG IThumbnailExtractor_AddRef(IThumbnailExtractor* This) { 12277 return This->lpVtbl->AddRef(This); 12278 } 12279 static FORCEINLINE ULONG IThumbnailExtractor_Release(IThumbnailExtractor* This) { 12280 return This->lpVtbl->Release(This); 12281 } 12282 /*** IThumbnailExtractor methods ***/ 12283 static FORCEINLINE HRESULT IThumbnailExtractor_ExtractThumbnail(IThumbnailExtractor* This,IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap) { 12284 return This->lpVtbl->ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap); 12285 } 12286 static FORCEINLINE HRESULT IThumbnailExtractor_OnFileUpdated(IThumbnailExtractor* This,IStorage *pStg) { 12287 return This->lpVtbl->OnFileUpdated(This,pStg); 12288 } 12289 #endif 12290 #endif 12291 12292 #endif 12293 12294 12295 #endif /* __IThumbnailExtractor_INTERFACE_DEFINED__ */ 12296 12297 /***************************************************************************** 12298 * IDummyHICONIncluder interface 12299 */ 12300 #ifndef __IDummyHICONIncluder_INTERFACE_DEFINED__ 12301 #define __IDummyHICONIncluder_INTERFACE_DEFINED__ 12302 12303 DEFINE_GUID(IID_IDummyHICONIncluder, 0x947990de, 0xcc28, 0x11d2, 0xa0,0xf7, 0x00,0x80,0x5f,0x85,0x8f,0xb1); 12304 #if defined(__cplusplus) && !defined(CINTERFACE) 12305 MIDL_INTERFACE("947990de-cc28-11d2-a0f7-00805f858fb1") 12306 IDummyHICONIncluder : public IUnknown 12307 { 12308 virtual HRESULT STDMETHODCALLTYPE Dummy( 12309 HICON h1, 12310 HDC h2) = 0; 12311 12312 }; 12313 #ifdef __CRT_UUID_DECL 12314 __CRT_UUID_DECL(IDummyHICONIncluder, 0x947990de, 0xcc28, 0x11d2, 0xa0,0xf7, 0x00,0x80,0x5f,0x85,0x8f,0xb1) 12315 #endif 12316 #else 12317 typedef struct IDummyHICONIncluderVtbl { 12318 BEGIN_INTERFACE 12319 12320 /*** IUnknown methods ***/ 12321 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12322 IDummyHICONIncluder *This, 12323 REFIID riid, 12324 void **ppvObject); 12325 12326 ULONG (STDMETHODCALLTYPE *AddRef)( 12327 IDummyHICONIncluder *This); 12328 12329 ULONG (STDMETHODCALLTYPE *Release)( 12330 IDummyHICONIncluder *This); 12331 12332 /*** IDummyHICONIncluder methods ***/ 12333 HRESULT (STDMETHODCALLTYPE *Dummy)( 12334 IDummyHICONIncluder *This, 12335 HICON h1, 12336 HDC h2); 12337 12338 END_INTERFACE 12339 } IDummyHICONIncluderVtbl; 12340 12341 interface IDummyHICONIncluder { 12342 CONST_VTBL IDummyHICONIncluderVtbl* lpVtbl; 12343 }; 12344 12345 #ifdef COBJMACROS 12346 #ifndef WIDL_C_INLINE_WRAPPERS 12347 /*** IUnknown methods ***/ 12348 #define IDummyHICONIncluder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12349 #define IDummyHICONIncluder_AddRef(This) (This)->lpVtbl->AddRef(This) 12350 #define IDummyHICONIncluder_Release(This) (This)->lpVtbl->Release(This) 12351 /*** IDummyHICONIncluder methods ***/ 12352 #define IDummyHICONIncluder_Dummy(This,h1,h2) (This)->lpVtbl->Dummy(This,h1,h2) 12353 #else 12354 /*** IUnknown methods ***/ 12355 static FORCEINLINE HRESULT IDummyHICONIncluder_QueryInterface(IDummyHICONIncluder* This,REFIID riid,void **ppvObject) { 12356 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12357 } 12358 static FORCEINLINE ULONG IDummyHICONIncluder_AddRef(IDummyHICONIncluder* This) { 12359 return This->lpVtbl->AddRef(This); 12360 } 12361 static FORCEINLINE ULONG IDummyHICONIncluder_Release(IDummyHICONIncluder* This) { 12362 return This->lpVtbl->Release(This); 12363 } 12364 /*** IDummyHICONIncluder methods ***/ 12365 static FORCEINLINE HRESULT IDummyHICONIncluder_Dummy(IDummyHICONIncluder* This,HICON h1,HDC h2) { 12366 return This->lpVtbl->Dummy(This,h1,h2); 12367 } 12368 #endif 12369 #endif 12370 12371 #endif 12372 12373 12374 #endif /* __IDummyHICONIncluder_INTERFACE_DEFINED__ */ 12375 12376 typedef enum tagApplicationType { 12377 ServerApplication = 0, 12378 LibraryApplication = 1 12379 } ApplicationType; 12380 typedef enum tagShutdownType { 12381 IdleShutdown = 0, 12382 ForcedShutdown = 1 12383 } ShutdownType; 12384 /***************************************************************************** 12385 * IProcessLock interface 12386 */ 12387 #ifndef __IProcessLock_INTERFACE_DEFINED__ 12388 #define __IProcessLock_INTERFACE_DEFINED__ 12389 12390 DEFINE_GUID(IID_IProcessLock, 0x000001d5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 12391 #if defined(__cplusplus) && !defined(CINTERFACE) 12392 MIDL_INTERFACE("000001d5-0000-0000-c000-000000000046") 12393 IProcessLock : public IUnknown 12394 { 12395 virtual ULONG STDMETHODCALLTYPE AddRefOnProcess( 12396 ) = 0; 12397 12398 virtual ULONG STDMETHODCALLTYPE ReleaseRefOnProcess( 12399 ) = 0; 12400 12401 }; 12402 #ifdef __CRT_UUID_DECL 12403 __CRT_UUID_DECL(IProcessLock, 0x000001d5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 12404 #endif 12405 #else 12406 typedef struct IProcessLockVtbl { 12407 BEGIN_INTERFACE 12408 12409 /*** IUnknown methods ***/ 12410 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12411 IProcessLock *This, 12412 REFIID riid, 12413 void **ppvObject); 12414 12415 ULONG (STDMETHODCALLTYPE *AddRef)( 12416 IProcessLock *This); 12417 12418 ULONG (STDMETHODCALLTYPE *Release)( 12419 IProcessLock *This); 12420 12421 /*** IProcessLock methods ***/ 12422 ULONG (STDMETHODCALLTYPE *AddRefOnProcess)( 12423 IProcessLock *This); 12424 12425 ULONG (STDMETHODCALLTYPE *ReleaseRefOnProcess)( 12426 IProcessLock *This); 12427 12428 END_INTERFACE 12429 } IProcessLockVtbl; 12430 12431 interface IProcessLock { 12432 CONST_VTBL IProcessLockVtbl* lpVtbl; 12433 }; 12434 12435 #ifdef COBJMACROS 12436 #ifndef WIDL_C_INLINE_WRAPPERS 12437 /*** IUnknown methods ***/ 12438 #define IProcessLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12439 #define IProcessLock_AddRef(This) (This)->lpVtbl->AddRef(This) 12440 #define IProcessLock_Release(This) (This)->lpVtbl->Release(This) 12441 /*** IProcessLock methods ***/ 12442 #define IProcessLock_AddRefOnProcess(This) (This)->lpVtbl->AddRefOnProcess(This) 12443 #define IProcessLock_ReleaseRefOnProcess(This) (This)->lpVtbl->ReleaseRefOnProcess(This) 12444 #else 12445 /*** IUnknown methods ***/ 12446 static FORCEINLINE HRESULT IProcessLock_QueryInterface(IProcessLock* This,REFIID riid,void **ppvObject) { 12447 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12448 } 12449 static FORCEINLINE ULONG IProcessLock_AddRef(IProcessLock* This) { 12450 return This->lpVtbl->AddRef(This); 12451 } 12452 static FORCEINLINE ULONG IProcessLock_Release(IProcessLock* This) { 12453 return This->lpVtbl->Release(This); 12454 } 12455 /*** IProcessLock methods ***/ 12456 static FORCEINLINE ULONG IProcessLock_AddRefOnProcess(IProcessLock* This) { 12457 return This->lpVtbl->AddRefOnProcess(This); 12458 } 12459 static FORCEINLINE ULONG IProcessLock_ReleaseRefOnProcess(IProcessLock* This) { 12460 return This->lpVtbl->ReleaseRefOnProcess(This); 12461 } 12462 #endif 12463 #endif 12464 12465 #endif 12466 12467 12468 #endif /* __IProcessLock_INTERFACE_DEFINED__ */ 12469 12470 /***************************************************************************** 12471 * ISurrogateService interface 12472 */ 12473 #ifndef __ISurrogateService_INTERFACE_DEFINED__ 12474 #define __ISurrogateService_INTERFACE_DEFINED__ 12475 12476 DEFINE_GUID(IID_ISurrogateService, 0x000001d4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 12477 #if defined(__cplusplus) && !defined(CINTERFACE) 12478 MIDL_INTERFACE("000001d4-0000-0000-c000-000000000046") 12479 ISurrogateService : public IUnknown 12480 { 12481 virtual HRESULT STDMETHODCALLTYPE Init( 12482 REFGUID rguidProcessID, 12483 IProcessLock *pProcessLock, 12484 WINBOOL *pfApplicationAware) = 0; 12485 12486 virtual HRESULT STDMETHODCALLTYPE ApplicationLaunch( 12487 REFGUID rguidApplID, 12488 ApplicationType appType) = 0; 12489 12490 virtual HRESULT STDMETHODCALLTYPE ApplicationFree( 12491 REFGUID rguidApplID) = 0; 12492 12493 virtual HRESULT STDMETHODCALLTYPE CatalogRefresh( 12494 ULONG ulReserved) = 0; 12495 12496 virtual HRESULT STDMETHODCALLTYPE ProcessShutdown( 12497 ShutdownType shutdownType) = 0; 12498 12499 }; 12500 #ifdef __CRT_UUID_DECL 12501 __CRT_UUID_DECL(ISurrogateService, 0x000001d4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 12502 #endif 12503 #else 12504 typedef struct ISurrogateServiceVtbl { 12505 BEGIN_INTERFACE 12506 12507 /*** IUnknown methods ***/ 12508 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12509 ISurrogateService *This, 12510 REFIID riid, 12511 void **ppvObject); 12512 12513 ULONG (STDMETHODCALLTYPE *AddRef)( 12514 ISurrogateService *This); 12515 12516 ULONG (STDMETHODCALLTYPE *Release)( 12517 ISurrogateService *This); 12518 12519 /*** ISurrogateService methods ***/ 12520 HRESULT (STDMETHODCALLTYPE *Init)( 12521 ISurrogateService *This, 12522 REFGUID rguidProcessID, 12523 IProcessLock *pProcessLock, 12524 WINBOOL *pfApplicationAware); 12525 12526 HRESULT (STDMETHODCALLTYPE *ApplicationLaunch)( 12527 ISurrogateService *This, 12528 REFGUID rguidApplID, 12529 ApplicationType appType); 12530 12531 HRESULT (STDMETHODCALLTYPE *ApplicationFree)( 12532 ISurrogateService *This, 12533 REFGUID rguidApplID); 12534 12535 HRESULT (STDMETHODCALLTYPE *CatalogRefresh)( 12536 ISurrogateService *This, 12537 ULONG ulReserved); 12538 12539 HRESULT (STDMETHODCALLTYPE *ProcessShutdown)( 12540 ISurrogateService *This, 12541 ShutdownType shutdownType); 12542 12543 END_INTERFACE 12544 } ISurrogateServiceVtbl; 12545 12546 interface ISurrogateService { 12547 CONST_VTBL ISurrogateServiceVtbl* lpVtbl; 12548 }; 12549 12550 #ifdef COBJMACROS 12551 #ifndef WIDL_C_INLINE_WRAPPERS 12552 /*** IUnknown methods ***/ 12553 #define ISurrogateService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12554 #define ISurrogateService_AddRef(This) (This)->lpVtbl->AddRef(This) 12555 #define ISurrogateService_Release(This) (This)->lpVtbl->Release(This) 12556 /*** ISurrogateService methods ***/ 12557 #define ISurrogateService_Init(This,rguidProcessID,pProcessLock,pfApplicationAware) (This)->lpVtbl->Init(This,rguidProcessID,pProcessLock,pfApplicationAware) 12558 #define ISurrogateService_ApplicationLaunch(This,rguidApplID,appType) (This)->lpVtbl->ApplicationLaunch(This,rguidApplID,appType) 12559 #define ISurrogateService_ApplicationFree(This,rguidApplID) (This)->lpVtbl->ApplicationFree(This,rguidApplID) 12560 #define ISurrogateService_CatalogRefresh(This,ulReserved) (This)->lpVtbl->CatalogRefresh(This,ulReserved) 12561 #define ISurrogateService_ProcessShutdown(This,shutdownType) (This)->lpVtbl->ProcessShutdown(This,shutdownType) 12562 #else 12563 /*** IUnknown methods ***/ 12564 static FORCEINLINE HRESULT ISurrogateService_QueryInterface(ISurrogateService* This,REFIID riid,void **ppvObject) { 12565 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12566 } 12567 static FORCEINLINE ULONG ISurrogateService_AddRef(ISurrogateService* This) { 12568 return This->lpVtbl->AddRef(This); 12569 } 12570 static FORCEINLINE ULONG ISurrogateService_Release(ISurrogateService* This) { 12571 return This->lpVtbl->Release(This); 12572 } 12573 /*** ISurrogateService methods ***/ 12574 static FORCEINLINE HRESULT ISurrogateService_Init(ISurrogateService* This,REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware) { 12575 return This->lpVtbl->Init(This,rguidProcessID,pProcessLock,pfApplicationAware); 12576 } 12577 static FORCEINLINE HRESULT ISurrogateService_ApplicationLaunch(ISurrogateService* This,REFGUID rguidApplID,ApplicationType appType) { 12578 return This->lpVtbl->ApplicationLaunch(This,rguidApplID,appType); 12579 } 12580 static FORCEINLINE HRESULT ISurrogateService_ApplicationFree(ISurrogateService* This,REFGUID rguidApplID) { 12581 return This->lpVtbl->ApplicationFree(This,rguidApplID); 12582 } 12583 static FORCEINLINE HRESULT ISurrogateService_CatalogRefresh(ISurrogateService* This,ULONG ulReserved) { 12584 return This->lpVtbl->CatalogRefresh(This,ulReserved); 12585 } 12586 static FORCEINLINE HRESULT ISurrogateService_ProcessShutdown(ISurrogateService* This,ShutdownType shutdownType) { 12587 return This->lpVtbl->ProcessShutdown(This,shutdownType); 12588 } 12589 #endif 12590 #endif 12591 12592 #endif 12593 12594 12595 #endif /* __ISurrogateService_INTERFACE_DEFINED__ */ 12596 12597 /***************************************************************************** 12598 * IInitializeSpy interface 12599 */ 12600 #ifndef __IInitializeSpy_INTERFACE_DEFINED__ 12601 #define __IInitializeSpy_INTERFACE_DEFINED__ 12602 12603 typedef IInitializeSpy *LPINITIALIZESPY; 12604 DEFINE_GUID(IID_IInitializeSpy, 0x00000034, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 12605 #if defined(__cplusplus) && !defined(CINTERFACE) 12606 MIDL_INTERFACE("00000034-0000-0000-c000-000000000046") 12607 IInitializeSpy : public IUnknown 12608 { 12609 virtual HRESULT STDMETHODCALLTYPE PreInitialize( 12610 DWORD dwCoInit, 12611 DWORD dwCurThreadAptRefs) = 0; 12612 12613 virtual HRESULT STDMETHODCALLTYPE PostInitialize( 12614 HRESULT hrCoInit, 12615 DWORD dwCoInit, 12616 DWORD dwNewThreadAptRefs) = 0; 12617 12618 virtual HRESULT STDMETHODCALLTYPE PreUninitialize( 12619 DWORD dwCurThreadAptRefs) = 0; 12620 12621 virtual HRESULT STDMETHODCALLTYPE PostUninitialize( 12622 DWORD dwNewThreadAptRefs) = 0; 12623 12624 }; 12625 #ifdef __CRT_UUID_DECL 12626 __CRT_UUID_DECL(IInitializeSpy, 0x00000034, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 12627 #endif 12628 #else 12629 typedef struct IInitializeSpyVtbl { 12630 BEGIN_INTERFACE 12631 12632 /*** IUnknown methods ***/ 12633 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12634 IInitializeSpy *This, 12635 REFIID riid, 12636 void **ppvObject); 12637 12638 ULONG (STDMETHODCALLTYPE *AddRef)( 12639 IInitializeSpy *This); 12640 12641 ULONG (STDMETHODCALLTYPE *Release)( 12642 IInitializeSpy *This); 12643 12644 /*** IInitializeSpy methods ***/ 12645 HRESULT (STDMETHODCALLTYPE *PreInitialize)( 12646 IInitializeSpy *This, 12647 DWORD dwCoInit, 12648 DWORD dwCurThreadAptRefs); 12649 12650 HRESULT (STDMETHODCALLTYPE *PostInitialize)( 12651 IInitializeSpy *This, 12652 HRESULT hrCoInit, 12653 DWORD dwCoInit, 12654 DWORD dwNewThreadAptRefs); 12655 12656 HRESULT (STDMETHODCALLTYPE *PreUninitialize)( 12657 IInitializeSpy *This, 12658 DWORD dwCurThreadAptRefs); 12659 12660 HRESULT (STDMETHODCALLTYPE *PostUninitialize)( 12661 IInitializeSpy *This, 12662 DWORD dwNewThreadAptRefs); 12663 12664 END_INTERFACE 12665 } IInitializeSpyVtbl; 12666 12667 interface IInitializeSpy { 12668 CONST_VTBL IInitializeSpyVtbl* lpVtbl; 12669 }; 12670 12671 #ifdef COBJMACROS 12672 #ifndef WIDL_C_INLINE_WRAPPERS 12673 /*** IUnknown methods ***/ 12674 #define IInitializeSpy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12675 #define IInitializeSpy_AddRef(This) (This)->lpVtbl->AddRef(This) 12676 #define IInitializeSpy_Release(This) (This)->lpVtbl->Release(This) 12677 /*** IInitializeSpy methods ***/ 12678 #define IInitializeSpy_PreInitialize(This,dwCoInit,dwCurThreadAptRefs) (This)->lpVtbl->PreInitialize(This,dwCoInit,dwCurThreadAptRefs) 12679 #define IInitializeSpy_PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs) (This)->lpVtbl->PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs) 12680 #define IInitializeSpy_PreUninitialize(This,dwCurThreadAptRefs) (This)->lpVtbl->PreUninitialize(This,dwCurThreadAptRefs) 12681 #define IInitializeSpy_PostUninitialize(This,dwNewThreadAptRefs) (This)->lpVtbl->PostUninitialize(This,dwNewThreadAptRefs) 12682 #else 12683 /*** IUnknown methods ***/ 12684 static FORCEINLINE HRESULT IInitializeSpy_QueryInterface(IInitializeSpy* This,REFIID riid,void **ppvObject) { 12685 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12686 } 12687 static FORCEINLINE ULONG IInitializeSpy_AddRef(IInitializeSpy* This) { 12688 return This->lpVtbl->AddRef(This); 12689 } 12690 static FORCEINLINE ULONG IInitializeSpy_Release(IInitializeSpy* This) { 12691 return This->lpVtbl->Release(This); 12692 } 12693 /*** IInitializeSpy methods ***/ 12694 static FORCEINLINE HRESULT IInitializeSpy_PreInitialize(IInitializeSpy* This,DWORD dwCoInit,DWORD dwCurThreadAptRefs) { 12695 return This->lpVtbl->PreInitialize(This,dwCoInit,dwCurThreadAptRefs); 12696 } 12697 static FORCEINLINE HRESULT IInitializeSpy_PostInitialize(IInitializeSpy* This,HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs) { 12698 return This->lpVtbl->PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs); 12699 } 12700 static FORCEINLINE HRESULT IInitializeSpy_PreUninitialize(IInitializeSpy* This,DWORD dwCurThreadAptRefs) { 12701 return This->lpVtbl->PreUninitialize(This,dwCurThreadAptRefs); 12702 } 12703 static FORCEINLINE HRESULT IInitializeSpy_PostUninitialize(IInitializeSpy* This,DWORD dwNewThreadAptRefs) { 12704 return This->lpVtbl->PostUninitialize(This,dwNewThreadAptRefs); 12705 } 12706 #endif 12707 #endif 12708 12709 #endif 12710 12711 12712 #endif /* __IInitializeSpy_INTERFACE_DEFINED__ */ 12713 12714 #endif 12715 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 12716 /***************************************************************************** 12717 * IApartmentShutdown interface 12718 */ 12719 #ifndef __IApartmentShutdown_INTERFACE_DEFINED__ 12720 #define __IApartmentShutdown_INTERFACE_DEFINED__ 12721 12722 DEFINE_GUID(IID_IApartmentShutdown, 0xa2f05a09, 0x27a2, 0x42b5, 0xbc,0x0e, 0xac,0x16,0x3e,0xf4,0x9d,0x9b); 12723 #if defined(__cplusplus) && !defined(CINTERFACE) 12724 MIDL_INTERFACE("a2f05a09-27a2-42b5-bc0e-ac163ef49d9b") 12725 IApartmentShutdown : public IUnknown 12726 { 12727 virtual void STDMETHODCALLTYPE OnUninitialize( 12728 UINT64 ui64ApartmentIdentifier) = 0; 12729 12730 }; 12731 #ifdef __CRT_UUID_DECL 12732 __CRT_UUID_DECL(IApartmentShutdown, 0xa2f05a09, 0x27a2, 0x42b5, 0xbc,0x0e, 0xac,0x16,0x3e,0xf4,0x9d,0x9b) 12733 #endif 12734 #else 12735 typedef struct IApartmentShutdownVtbl { 12736 BEGIN_INTERFACE 12737 12738 /*** IUnknown methods ***/ 12739 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 12740 IApartmentShutdown *This, 12741 REFIID riid, 12742 void **ppvObject); 12743 12744 ULONG (STDMETHODCALLTYPE *AddRef)( 12745 IApartmentShutdown *This); 12746 12747 ULONG (STDMETHODCALLTYPE *Release)( 12748 IApartmentShutdown *This); 12749 12750 /*** IApartmentShutdown methods ***/ 12751 void (STDMETHODCALLTYPE *OnUninitialize)( 12752 IApartmentShutdown *This, 12753 UINT64 ui64ApartmentIdentifier); 12754 12755 END_INTERFACE 12756 } IApartmentShutdownVtbl; 12757 12758 interface IApartmentShutdown { 12759 CONST_VTBL IApartmentShutdownVtbl* lpVtbl; 12760 }; 12761 12762 #ifdef COBJMACROS 12763 #ifndef WIDL_C_INLINE_WRAPPERS 12764 /*** IUnknown methods ***/ 12765 #define IApartmentShutdown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12766 #define IApartmentShutdown_AddRef(This) (This)->lpVtbl->AddRef(This) 12767 #define IApartmentShutdown_Release(This) (This)->lpVtbl->Release(This) 12768 /*** IApartmentShutdown methods ***/ 12769 #define IApartmentShutdown_OnUninitialize(This,ui64ApartmentIdentifier) (This)->lpVtbl->OnUninitialize(This,ui64ApartmentIdentifier) 12770 #else 12771 /*** IUnknown methods ***/ 12772 static FORCEINLINE HRESULT IApartmentShutdown_QueryInterface(IApartmentShutdown* This,REFIID riid,void **ppvObject) { 12773 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 12774 } 12775 static FORCEINLINE ULONG IApartmentShutdown_AddRef(IApartmentShutdown* This) { 12776 return This->lpVtbl->AddRef(This); 12777 } 12778 static FORCEINLINE ULONG IApartmentShutdown_Release(IApartmentShutdown* This) { 12779 return This->lpVtbl->Release(This); 12780 } 12781 /*** IApartmentShutdown methods ***/ 12782 static FORCEINLINE void IApartmentShutdown_OnUninitialize(IApartmentShutdown* This,UINT64 ui64ApartmentIdentifier) { 12783 This->lpVtbl->OnUninitialize(This,ui64ApartmentIdentifier); 12784 } 12785 #endif 12786 #endif 12787 12788 #endif 12789 12790 12791 #endif /* __IApartmentShutdown_INTERFACE_DEFINED__ */ 12792 12793 #endif 12794 /* Begin additional prototypes for all interfaces */ 12795 12796 ULONG __RPC_USER SNB_UserSize (ULONG *, ULONG, SNB *); 12797 unsigned char * __RPC_USER SNB_UserMarshal (ULONG *, unsigned char *, SNB *); 12798 unsigned char * __RPC_USER SNB_UserUnmarshal(ULONG *, unsigned char *, SNB *); 12799 void __RPC_USER SNB_UserFree (ULONG *, SNB *); 12800 ULONG __RPC_USER CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *); 12801 unsigned char * __RPC_USER CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *); 12802 unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *); 12803 void __RPC_USER CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *); 12804 ULONG __RPC_USER STGMEDIUM_UserSize (ULONG *, ULONG, STGMEDIUM *); 12805 unsigned char * __RPC_USER STGMEDIUM_UserMarshal (ULONG *, unsigned char *, STGMEDIUM *); 12806 unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, STGMEDIUM *); 12807 void __RPC_USER STGMEDIUM_UserFree (ULONG *, STGMEDIUM *); 12808 ULONG __RPC_USER ASYNC_STGMEDIUM_UserSize (ULONG *, ULONG, ASYNC_STGMEDIUM *); 12809 unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserMarshal (ULONG *, unsigned char *, ASYNC_STGMEDIUM *); 12810 unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, ASYNC_STGMEDIUM *); 12811 void __RPC_USER ASYNC_STGMEDIUM_UserFree (ULONG *, ASYNC_STGMEDIUM *); 12812 ULONG __RPC_USER FLAG_STGMEDIUM_UserSize (ULONG *, ULONG, FLAG_STGMEDIUM *); 12813 unsigned char * __RPC_USER FLAG_STGMEDIUM_UserMarshal (ULONG *, unsigned char *, FLAG_STGMEDIUM *); 12814 unsigned char * __RPC_USER FLAG_STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, FLAG_STGMEDIUM *); 12815 void __RPC_USER FLAG_STGMEDIUM_UserFree (ULONG *, FLAG_STGMEDIUM *); 12816 ULONG __RPC_USER HBITMAP_UserSize (ULONG *, ULONG, HBITMAP *); 12817 unsigned char * __RPC_USER HBITMAP_UserMarshal (ULONG *, unsigned char *, HBITMAP *); 12818 unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *); 12819 void __RPC_USER HBITMAP_UserFree (ULONG *, HBITMAP *); 12820 ULONG __RPC_USER HICON_UserSize (ULONG *, ULONG, HICON *); 12821 unsigned char * __RPC_USER HICON_UserMarshal (ULONG *, unsigned char *, HICON *); 12822 unsigned char * __RPC_USER HICON_UserUnmarshal(ULONG *, unsigned char *, HICON *); 12823 void __RPC_USER HICON_UserFree (ULONG *, HICON *); 12824 ULONG __RPC_USER HDC_UserSize (ULONG *, ULONG, HDC *); 12825 unsigned char * __RPC_USER HDC_UserMarshal (ULONG *, unsigned char *, HDC *); 12826 unsigned char * __RPC_USER HDC_UserUnmarshal(ULONG *, unsigned char *, HDC *); 12827 void __RPC_USER HDC_UserFree (ULONG *, HDC *); 12828 12829 /* End additional prototypes */ 12830 12831 #ifdef __cplusplus 12832 } 12833 #endif 12834 12835 #endif /* __objidl_h__ */ 12836