1 /*** Autogenerated by WIDL 4.12.1 from include/objidlbase.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 __objidlbase_h__ 17 #define __objidlbase_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 /* Headers for imported files */ 438 439 #include <unknwnbase.h> 440 #include <wtypesbase.h> 441 442 #ifdef __cplusplus 443 extern "C" { 444 #endif 445 446 /** 447 * This file is part of the mingw-w64 runtime package. 448 * No warranty is given; refer to the file DISCLAIMER within this package. 449 */ 450 451 #include <winapifamily.h> 452 453 #if (NTDDI_VERSION >= NTDDI_VISTA && !defined(_WIN32_WINNT)) 454 #define _WIN32_WINNT 0x0600 455 #endif 456 457 #if (NTDDI_VERSION >= NTDDI_WS03 && !defined(_WIN32_WINNT)) 458 #define _WIN32_WINNT 0x0502 459 #endif 460 461 #if (NTDDI_VERSION >= NTDDI_WINXP && !defined(_WIN32_WINNT)) 462 #define _WIN32_WINNT 0x0501 463 #endif 464 465 466 #ifndef _OBJIDLBASE_ 467 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 468 #ifndef __IStream_FWD_DEFINED__ 469 #define __IStream_FWD_DEFINED__ 470 typedef interface IStream IStream; 471 #ifdef __cplusplus 472 interface IStream; 473 #endif /* __cplusplus */ 474 #endif 475 476 #ifndef __IEnumString_FWD_DEFINED__ 477 #define __IEnumString_FWD_DEFINED__ 478 typedef interface IEnumString IEnumString; 479 #ifdef __cplusplus 480 interface IEnumString; 481 #endif /* __cplusplus */ 482 #endif 483 484 #ifndef __IMultiQI_FWD_DEFINED__ 485 #define __IMultiQI_FWD_DEFINED__ 486 typedef interface IMultiQI IMultiQI; 487 #ifdef __cplusplus 488 interface IMultiQI; 489 #endif /* __cplusplus */ 490 #endif 491 492 #endif 493 494 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 495 #ifndef __IAsyncManager_FWD_DEFINED__ 496 #define __IAsyncManager_FWD_DEFINED__ 497 typedef interface IAsyncManager IAsyncManager; 498 #ifdef __cplusplus 499 interface IAsyncManager; 500 #endif /* __cplusplus */ 501 #endif 502 503 #ifndef __ICallFactory_FWD_DEFINED__ 504 #define __ICallFactory_FWD_DEFINED__ 505 typedef interface ICallFactory ICallFactory; 506 #ifdef __cplusplus 507 interface ICallFactory; 508 #endif /* __cplusplus */ 509 #endif 510 511 #ifndef __ISynchronize_FWD_DEFINED__ 512 #define __ISynchronize_FWD_DEFINED__ 513 typedef interface ISynchronize ISynchronize; 514 #ifdef __cplusplus 515 interface ISynchronize; 516 #endif /* __cplusplus */ 517 #endif 518 519 #endif 520 521 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 522 typedef struct _COSERVERINFO { 523 DWORD dwReserved1; 524 LPWSTR pwszName; 525 COAUTHINFO *pAuthInfo; 526 DWORD dwReserved2; 527 } COSERVERINFO; 528 529 /***************************************************************************** 530 * IMarshal interface 531 */ 532 #ifndef __IMarshal_INTERFACE_DEFINED__ 533 #define __IMarshal_INTERFACE_DEFINED__ 534 535 typedef IMarshal *LPMARSHAL; 536 DEFINE_GUID(IID_IMarshal, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 537 #if defined(__cplusplus) && !defined(CINTERFACE) 538 MIDL_INTERFACE("00000003-0000-0000-c000-000000000046") 539 IMarshal : public IUnknown 540 { 541 virtual HRESULT STDMETHODCALLTYPE GetUnmarshalClass( 542 REFIID riid, 543 void *pv, 544 DWORD dwDestContext, 545 void *pvDestContext, 546 DWORD mshlflags, 547 CLSID *pCid) = 0; 548 549 virtual HRESULT STDMETHODCALLTYPE GetMarshalSizeMax( 550 REFIID riid, 551 void *pv, 552 DWORD dwDestContext, 553 void *pvDestContext, 554 DWORD mshlflags, 555 DWORD *pSize) = 0; 556 557 virtual HRESULT STDMETHODCALLTYPE MarshalInterface( 558 IStream *pStm, 559 REFIID riid, 560 void *pv, 561 DWORD dwDestContext, 562 void *pvDestContext, 563 DWORD mshlflags) = 0; 564 565 virtual HRESULT STDMETHODCALLTYPE UnmarshalInterface( 566 IStream *pStm, 567 REFIID riid, 568 void **ppv) = 0; 569 570 virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalData( 571 IStream *pStm) = 0; 572 573 virtual HRESULT STDMETHODCALLTYPE DisconnectObject( 574 DWORD dwReserved) = 0; 575 576 }; 577 #ifdef __CRT_UUID_DECL 578 __CRT_UUID_DECL(IMarshal, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 579 #endif 580 #else 581 typedef struct IMarshalVtbl { 582 BEGIN_INTERFACE 583 584 /*** IUnknown methods ***/ 585 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 586 IMarshal *This, 587 REFIID riid, 588 void **ppvObject); 589 590 ULONG (STDMETHODCALLTYPE *AddRef)( 591 IMarshal *This); 592 593 ULONG (STDMETHODCALLTYPE *Release)( 594 IMarshal *This); 595 596 /*** IMarshal methods ***/ 597 HRESULT (STDMETHODCALLTYPE *GetUnmarshalClass)( 598 IMarshal *This, 599 REFIID riid, 600 void *pv, 601 DWORD dwDestContext, 602 void *pvDestContext, 603 DWORD mshlflags, 604 CLSID *pCid); 605 606 HRESULT (STDMETHODCALLTYPE *GetMarshalSizeMax)( 607 IMarshal *This, 608 REFIID riid, 609 void *pv, 610 DWORD dwDestContext, 611 void *pvDestContext, 612 DWORD mshlflags, 613 DWORD *pSize); 614 615 HRESULT (STDMETHODCALLTYPE *MarshalInterface)( 616 IMarshal *This, 617 IStream *pStm, 618 REFIID riid, 619 void *pv, 620 DWORD dwDestContext, 621 void *pvDestContext, 622 DWORD mshlflags); 623 624 HRESULT (STDMETHODCALLTYPE *UnmarshalInterface)( 625 IMarshal *This, 626 IStream *pStm, 627 REFIID riid, 628 void **ppv); 629 630 HRESULT (STDMETHODCALLTYPE *ReleaseMarshalData)( 631 IMarshal *This, 632 IStream *pStm); 633 634 HRESULT (STDMETHODCALLTYPE *DisconnectObject)( 635 IMarshal *This, 636 DWORD dwReserved); 637 638 END_INTERFACE 639 } IMarshalVtbl; 640 641 interface IMarshal { 642 CONST_VTBL IMarshalVtbl* lpVtbl; 643 }; 644 645 #ifdef COBJMACROS 646 #ifndef WIDL_C_INLINE_WRAPPERS 647 /*** IUnknown methods ***/ 648 #define IMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 649 #define IMarshal_AddRef(This) (This)->lpVtbl->AddRef(This) 650 #define IMarshal_Release(This) (This)->lpVtbl->Release(This) 651 /*** IMarshal methods ***/ 652 #define IMarshal_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) 653 #define IMarshal_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) 654 #define IMarshal_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) 655 #define IMarshal_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv) 656 #define IMarshal_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm) 657 #define IMarshal_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved) 658 #else 659 /*** IUnknown methods ***/ 660 static FORCEINLINE HRESULT IMarshal_QueryInterface(IMarshal* This,REFIID riid,void **ppvObject) { 661 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 662 } 663 static FORCEINLINE ULONG IMarshal_AddRef(IMarshal* This) { 664 return This->lpVtbl->AddRef(This); 665 } 666 static FORCEINLINE ULONG IMarshal_Release(IMarshal* This) { 667 return This->lpVtbl->Release(This); 668 } 669 /*** IMarshal methods ***/ 670 static FORCEINLINE HRESULT IMarshal_GetUnmarshalClass(IMarshal* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid) { 671 return This->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid); 672 } 673 static FORCEINLINE HRESULT IMarshal_GetMarshalSizeMax(IMarshal* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize) { 674 return This->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize); 675 } 676 static FORCEINLINE HRESULT IMarshal_MarshalInterface(IMarshal* This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags) { 677 return This->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags); 678 } 679 static FORCEINLINE HRESULT IMarshal_UnmarshalInterface(IMarshal* This,IStream *pStm,REFIID riid,void **ppv) { 680 return This->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv); 681 } 682 static FORCEINLINE HRESULT IMarshal_ReleaseMarshalData(IMarshal* This,IStream *pStm) { 683 return This->lpVtbl->ReleaseMarshalData(This,pStm); 684 } 685 static FORCEINLINE HRESULT IMarshal_DisconnectObject(IMarshal* This,DWORD dwReserved) { 686 return This->lpVtbl->DisconnectObject(This,dwReserved); 687 } 688 #endif 689 #endif 690 691 #endif 692 693 694 #endif /* __IMarshal_INTERFACE_DEFINED__ */ 695 696 697 /***************************************************************************** 698 * INoMarshal interface 699 */ 700 #ifndef __INoMarshal_INTERFACE_DEFINED__ 701 #define __INoMarshal_INTERFACE_DEFINED__ 702 703 DEFINE_GUID(IID_INoMarshal, 0xecc8691b, 0xc1db, 0x4dc0, 0x85,0x5e, 0x65,0xf6,0xc5,0x51,0xaf,0x49); 704 #if defined(__cplusplus) && !defined(CINTERFACE) 705 MIDL_INTERFACE("ecc8691b-c1db-4dc0-855e-65f6c551af49") 706 INoMarshal : public IUnknown 707 { 708 }; 709 #ifdef __CRT_UUID_DECL 710 __CRT_UUID_DECL(INoMarshal, 0xecc8691b, 0xc1db, 0x4dc0, 0x85,0x5e, 0x65,0xf6,0xc5,0x51,0xaf,0x49) 711 #endif 712 #else 713 typedef struct INoMarshalVtbl { 714 BEGIN_INTERFACE 715 716 /*** IUnknown methods ***/ 717 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 718 INoMarshal *This, 719 REFIID riid, 720 void **ppvObject); 721 722 ULONG (STDMETHODCALLTYPE *AddRef)( 723 INoMarshal *This); 724 725 ULONG (STDMETHODCALLTYPE *Release)( 726 INoMarshal *This); 727 728 END_INTERFACE 729 } INoMarshalVtbl; 730 731 interface INoMarshal { 732 CONST_VTBL INoMarshalVtbl* lpVtbl; 733 }; 734 735 #ifdef COBJMACROS 736 #ifndef WIDL_C_INLINE_WRAPPERS 737 /*** IUnknown methods ***/ 738 #define INoMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 739 #define INoMarshal_AddRef(This) (This)->lpVtbl->AddRef(This) 740 #define INoMarshal_Release(This) (This)->lpVtbl->Release(This) 741 #else 742 /*** IUnknown methods ***/ 743 static FORCEINLINE HRESULT INoMarshal_QueryInterface(INoMarshal* This,REFIID riid,void **ppvObject) { 744 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 745 } 746 static FORCEINLINE ULONG INoMarshal_AddRef(INoMarshal* This) { 747 return This->lpVtbl->AddRef(This); 748 } 749 static FORCEINLINE ULONG INoMarshal_Release(INoMarshal* This) { 750 return This->lpVtbl->Release(This); 751 } 752 #endif 753 #endif 754 755 #endif 756 757 758 #endif /* __INoMarshal_INTERFACE_DEFINED__ */ 759 760 761 /***************************************************************************** 762 * IAgileObject interface 763 */ 764 #ifndef __IAgileObject_INTERFACE_DEFINED__ 765 #define __IAgileObject_INTERFACE_DEFINED__ 766 767 DEFINE_GUID(IID_IAgileObject, 0x94ea2b94, 0xe9cc, 0x49e0, 0xc0,0xff, 0xee,0x64,0xca,0x8f,0x5b,0x90); 768 #if defined(__cplusplus) && !defined(CINTERFACE) 769 MIDL_INTERFACE("94ea2b94-e9cc-49e0-c0ff-ee64ca8f5b90") 770 IAgileObject : public IUnknown 771 { 772 }; 773 #ifdef __CRT_UUID_DECL 774 __CRT_UUID_DECL(IAgileObject, 0x94ea2b94, 0xe9cc, 0x49e0, 0xc0,0xff, 0xee,0x64,0xca,0x8f,0x5b,0x90) 775 #endif 776 #else 777 typedef struct IAgileObjectVtbl { 778 BEGIN_INTERFACE 779 780 /*** IUnknown methods ***/ 781 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 782 IAgileObject *This, 783 REFIID riid, 784 void **ppvObject); 785 786 ULONG (STDMETHODCALLTYPE *AddRef)( 787 IAgileObject *This); 788 789 ULONG (STDMETHODCALLTYPE *Release)( 790 IAgileObject *This); 791 792 END_INTERFACE 793 } IAgileObjectVtbl; 794 795 interface IAgileObject { 796 CONST_VTBL IAgileObjectVtbl* lpVtbl; 797 }; 798 799 #ifdef COBJMACROS 800 #ifndef WIDL_C_INLINE_WRAPPERS 801 /*** IUnknown methods ***/ 802 #define IAgileObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 803 #define IAgileObject_AddRef(This) (This)->lpVtbl->AddRef(This) 804 #define IAgileObject_Release(This) (This)->lpVtbl->Release(This) 805 #else 806 /*** IUnknown methods ***/ 807 static FORCEINLINE HRESULT IAgileObject_QueryInterface(IAgileObject* This,REFIID riid,void **ppvObject) { 808 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 809 } 810 static FORCEINLINE ULONG IAgileObject_AddRef(IAgileObject* This) { 811 return This->lpVtbl->AddRef(This); 812 } 813 static FORCEINLINE ULONG IAgileObject_Release(IAgileObject* This) { 814 return This->lpVtbl->Release(This); 815 } 816 #endif 817 #endif 818 819 #endif 820 821 822 #endif /* __IAgileObject_INTERFACE_DEFINED__ */ 823 824 /***************************************************************************** 825 * IAgileReference interface 826 */ 827 #ifndef __IAgileReference_INTERFACE_DEFINED__ 828 #define __IAgileReference_INTERFACE_DEFINED__ 829 830 DEFINE_GUID(IID_IAgileReference, 0xc03f6a43, 0x65a4, 0x9818, 0x98,0x7e, 0xe0,0xb8,0x10,0xd2,0xa6,0xf2); 831 #if defined(__cplusplus) && !defined(CINTERFACE) 832 MIDL_INTERFACE("c03f6a43-65a4-9818-987e-e0b810d2a6f2") 833 IAgileReference : public IUnknown 834 { 835 virtual HRESULT STDMETHODCALLTYPE Resolve( 836 REFIID riid, 837 void **ppv) = 0; 838 839 }; 840 #ifdef __CRT_UUID_DECL 841 __CRT_UUID_DECL(IAgileReference, 0xc03f6a43, 0x65a4, 0x9818, 0x98,0x7e, 0xe0,0xb8,0x10,0xd2,0xa6,0xf2) 842 #endif 843 #else 844 typedef struct IAgileReferenceVtbl { 845 BEGIN_INTERFACE 846 847 /*** IUnknown methods ***/ 848 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 849 IAgileReference *This, 850 REFIID riid, 851 void **ppvObject); 852 853 ULONG (STDMETHODCALLTYPE *AddRef)( 854 IAgileReference *This); 855 856 ULONG (STDMETHODCALLTYPE *Release)( 857 IAgileReference *This); 858 859 /*** IAgileReference methods ***/ 860 HRESULT (STDMETHODCALLTYPE *Resolve)( 861 IAgileReference *This, 862 REFIID riid, 863 void **ppv); 864 865 END_INTERFACE 866 } IAgileReferenceVtbl; 867 868 interface IAgileReference { 869 CONST_VTBL IAgileReferenceVtbl* lpVtbl; 870 }; 871 872 #ifdef COBJMACROS 873 #ifndef WIDL_C_INLINE_WRAPPERS 874 /*** IUnknown methods ***/ 875 #define IAgileReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 876 #define IAgileReference_AddRef(This) (This)->lpVtbl->AddRef(This) 877 #define IAgileReference_Release(This) (This)->lpVtbl->Release(This) 878 /*** IAgileReference methods ***/ 879 #define IAgileReference_Resolve(This,riid,ppv) (This)->lpVtbl->Resolve(This,riid,ppv) 880 #else 881 /*** IUnknown methods ***/ 882 static FORCEINLINE HRESULT IAgileReference_QueryInterface(IAgileReference* This,REFIID riid,void **ppvObject) { 883 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 884 } 885 static FORCEINLINE ULONG IAgileReference_AddRef(IAgileReference* This) { 886 return This->lpVtbl->AddRef(This); 887 } 888 static FORCEINLINE ULONG IAgileReference_Release(IAgileReference* This) { 889 return This->lpVtbl->Release(This); 890 } 891 /*** IAgileReference methods ***/ 892 static FORCEINLINE HRESULT IAgileReference_Resolve(IAgileReference* This,REFIID riid,void **ppv) { 893 return This->lpVtbl->Resolve(This,riid,ppv); 894 } 895 #endif 896 #endif 897 898 #endif 899 900 901 #endif /* __IAgileReference_INTERFACE_DEFINED__ */ 902 903 #endif 904 905 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 906 /***************************************************************************** 907 * IMarshal2 interface 908 */ 909 #ifndef __IMarshal2_INTERFACE_DEFINED__ 910 #define __IMarshal2_INTERFACE_DEFINED__ 911 912 typedef IMarshal2 *LPMARSHAL2; 913 DEFINE_GUID(IID_IMarshal2, 0x000001cf, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 914 #if defined(__cplusplus) && !defined(CINTERFACE) 915 MIDL_INTERFACE("000001cf-0000-0000-c000-000000000046") 916 IMarshal2 : public IMarshal 917 { 918 }; 919 #ifdef __CRT_UUID_DECL 920 __CRT_UUID_DECL(IMarshal2, 0x000001cf, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 921 #endif 922 #else 923 typedef struct IMarshal2Vtbl { 924 BEGIN_INTERFACE 925 926 /*** IUnknown methods ***/ 927 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 928 IMarshal2 *This, 929 REFIID riid, 930 void **ppvObject); 931 932 ULONG (STDMETHODCALLTYPE *AddRef)( 933 IMarshal2 *This); 934 935 ULONG (STDMETHODCALLTYPE *Release)( 936 IMarshal2 *This); 937 938 /*** IMarshal methods ***/ 939 HRESULT (STDMETHODCALLTYPE *GetUnmarshalClass)( 940 IMarshal2 *This, 941 REFIID riid, 942 void *pv, 943 DWORD dwDestContext, 944 void *pvDestContext, 945 DWORD mshlflags, 946 CLSID *pCid); 947 948 HRESULT (STDMETHODCALLTYPE *GetMarshalSizeMax)( 949 IMarshal2 *This, 950 REFIID riid, 951 void *pv, 952 DWORD dwDestContext, 953 void *pvDestContext, 954 DWORD mshlflags, 955 DWORD *pSize); 956 957 HRESULT (STDMETHODCALLTYPE *MarshalInterface)( 958 IMarshal2 *This, 959 IStream *pStm, 960 REFIID riid, 961 void *pv, 962 DWORD dwDestContext, 963 void *pvDestContext, 964 DWORD mshlflags); 965 966 HRESULT (STDMETHODCALLTYPE *UnmarshalInterface)( 967 IMarshal2 *This, 968 IStream *pStm, 969 REFIID riid, 970 void **ppv); 971 972 HRESULT (STDMETHODCALLTYPE *ReleaseMarshalData)( 973 IMarshal2 *This, 974 IStream *pStm); 975 976 HRESULT (STDMETHODCALLTYPE *DisconnectObject)( 977 IMarshal2 *This, 978 DWORD dwReserved); 979 980 END_INTERFACE 981 } IMarshal2Vtbl; 982 983 interface IMarshal2 { 984 CONST_VTBL IMarshal2Vtbl* lpVtbl; 985 }; 986 987 #ifdef COBJMACROS 988 #ifndef WIDL_C_INLINE_WRAPPERS 989 /*** IUnknown methods ***/ 990 #define IMarshal2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 991 #define IMarshal2_AddRef(This) (This)->lpVtbl->AddRef(This) 992 #define IMarshal2_Release(This) (This)->lpVtbl->Release(This) 993 /*** IMarshal methods ***/ 994 #define IMarshal2_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) 995 #define IMarshal2_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) 996 #define IMarshal2_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) 997 #define IMarshal2_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv) 998 #define IMarshal2_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm) 999 #define IMarshal2_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved) 1000 #else 1001 /*** IUnknown methods ***/ 1002 static FORCEINLINE HRESULT IMarshal2_QueryInterface(IMarshal2* This,REFIID riid,void **ppvObject) { 1003 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1004 } 1005 static FORCEINLINE ULONG IMarshal2_AddRef(IMarshal2* This) { 1006 return This->lpVtbl->AddRef(This); 1007 } 1008 static FORCEINLINE ULONG IMarshal2_Release(IMarshal2* This) { 1009 return This->lpVtbl->Release(This); 1010 } 1011 /*** IMarshal methods ***/ 1012 static FORCEINLINE HRESULT IMarshal2_GetUnmarshalClass(IMarshal2* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid) { 1013 return This->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid); 1014 } 1015 static FORCEINLINE HRESULT IMarshal2_GetMarshalSizeMax(IMarshal2* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize) { 1016 return This->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize); 1017 } 1018 static FORCEINLINE HRESULT IMarshal2_MarshalInterface(IMarshal2* This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags) { 1019 return This->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags); 1020 } 1021 static FORCEINLINE HRESULT IMarshal2_UnmarshalInterface(IMarshal2* This,IStream *pStm,REFIID riid,void **ppv) { 1022 return This->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv); 1023 } 1024 static FORCEINLINE HRESULT IMarshal2_ReleaseMarshalData(IMarshal2* This,IStream *pStm) { 1025 return This->lpVtbl->ReleaseMarshalData(This,pStm); 1026 } 1027 static FORCEINLINE HRESULT IMarshal2_DisconnectObject(IMarshal2* This,DWORD dwReserved) { 1028 return This->lpVtbl->DisconnectObject(This,dwReserved); 1029 } 1030 #endif 1031 #endif 1032 1033 #endif 1034 1035 1036 #endif /* __IMarshal2_INTERFACE_DEFINED__ */ 1037 1038 1039 /***************************************************************************** 1040 * IMalloc interface 1041 */ 1042 #ifndef __IMalloc_INTERFACE_DEFINED__ 1043 #define __IMalloc_INTERFACE_DEFINED__ 1044 1045 typedef IMalloc *LPMALLOC; 1046 1047 DEFINE_GUID(IID_IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1048 #if defined(__cplusplus) && !defined(CINTERFACE) 1049 MIDL_INTERFACE("00000002-0000-0000-c000-000000000046") 1050 IMalloc : public IUnknown 1051 { 1052 virtual void * STDMETHODCALLTYPE Alloc( 1053 SIZE_T cb) = 0; 1054 1055 virtual void * STDMETHODCALLTYPE Realloc( 1056 void *pv, 1057 SIZE_T cb) = 0; 1058 1059 virtual void STDMETHODCALLTYPE Free( 1060 void *pv) = 0; 1061 1062 virtual SIZE_T STDMETHODCALLTYPE GetSize( 1063 void *pv) = 0; 1064 1065 virtual int STDMETHODCALLTYPE DidAlloc( 1066 void *pv) = 0; 1067 1068 virtual void STDMETHODCALLTYPE HeapMinimize( 1069 ) = 0; 1070 1071 }; 1072 #ifdef __CRT_UUID_DECL 1073 __CRT_UUID_DECL(IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1074 #endif 1075 #else 1076 typedef struct IMallocVtbl { 1077 BEGIN_INTERFACE 1078 1079 /*** IUnknown methods ***/ 1080 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1081 IMalloc *This, 1082 REFIID riid, 1083 void **ppvObject); 1084 1085 ULONG (STDMETHODCALLTYPE *AddRef)( 1086 IMalloc *This); 1087 1088 ULONG (STDMETHODCALLTYPE *Release)( 1089 IMalloc *This); 1090 1091 /*** IMalloc methods ***/ 1092 void * (STDMETHODCALLTYPE *Alloc)( 1093 IMalloc *This, 1094 SIZE_T cb); 1095 1096 void * (STDMETHODCALLTYPE *Realloc)( 1097 IMalloc *This, 1098 void *pv, 1099 SIZE_T cb); 1100 1101 void (STDMETHODCALLTYPE *Free)( 1102 IMalloc *This, 1103 void *pv); 1104 1105 SIZE_T (STDMETHODCALLTYPE *GetSize)( 1106 IMalloc *This, 1107 void *pv); 1108 1109 int (STDMETHODCALLTYPE *DidAlloc)( 1110 IMalloc *This, 1111 void *pv); 1112 1113 void (STDMETHODCALLTYPE *HeapMinimize)( 1114 IMalloc *This); 1115 1116 END_INTERFACE 1117 } IMallocVtbl; 1118 1119 interface IMalloc { 1120 CONST_VTBL IMallocVtbl* lpVtbl; 1121 }; 1122 1123 #ifdef COBJMACROS 1124 #ifndef WIDL_C_INLINE_WRAPPERS 1125 /*** IUnknown methods ***/ 1126 #define IMalloc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1127 #define IMalloc_AddRef(This) (This)->lpVtbl->AddRef(This) 1128 #define IMalloc_Release(This) (This)->lpVtbl->Release(This) 1129 /*** IMalloc methods ***/ 1130 #define IMalloc_Alloc(This,cb) (This)->lpVtbl->Alloc(This,cb) 1131 #define IMalloc_Realloc(This,pv,cb) (This)->lpVtbl->Realloc(This,pv,cb) 1132 #define IMalloc_Free(This,pv) (This)->lpVtbl->Free(This,pv) 1133 #define IMalloc_GetSize(This,pv) (This)->lpVtbl->GetSize(This,pv) 1134 #define IMalloc_DidAlloc(This,pv) (This)->lpVtbl->DidAlloc(This,pv) 1135 #define IMalloc_HeapMinimize(This) (This)->lpVtbl->HeapMinimize(This) 1136 #else 1137 /*** IUnknown methods ***/ 1138 static FORCEINLINE HRESULT IMalloc_QueryInterface(IMalloc* This,REFIID riid,void **ppvObject) { 1139 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1140 } 1141 static FORCEINLINE ULONG IMalloc_AddRef(IMalloc* This) { 1142 return This->lpVtbl->AddRef(This); 1143 } 1144 static FORCEINLINE ULONG IMalloc_Release(IMalloc* This) { 1145 return This->lpVtbl->Release(This); 1146 } 1147 /*** IMalloc methods ***/ 1148 static FORCEINLINE void * IMalloc_Alloc(IMalloc* This,SIZE_T cb) { 1149 return This->lpVtbl->Alloc(This,cb); 1150 } 1151 static FORCEINLINE void * IMalloc_Realloc(IMalloc* This,void *pv,SIZE_T cb) { 1152 return This->lpVtbl->Realloc(This,pv,cb); 1153 } 1154 static FORCEINLINE void IMalloc_Free(IMalloc* This,void *pv) { 1155 This->lpVtbl->Free(This,pv); 1156 } 1157 static FORCEINLINE SIZE_T IMalloc_GetSize(IMalloc* This,void *pv) { 1158 return This->lpVtbl->GetSize(This,pv); 1159 } 1160 static FORCEINLINE int IMalloc_DidAlloc(IMalloc* This,void *pv) { 1161 return This->lpVtbl->DidAlloc(This,pv); 1162 } 1163 static FORCEINLINE void IMalloc_HeapMinimize(IMalloc* This) { 1164 This->lpVtbl->HeapMinimize(This); 1165 } 1166 #endif 1167 #endif 1168 1169 #endif 1170 1171 1172 #endif /* __IMalloc_INTERFACE_DEFINED__ */ 1173 1174 1175 /***************************************************************************** 1176 * IStdMarshalInfo interface 1177 */ 1178 #ifndef __IStdMarshalInfo_INTERFACE_DEFINED__ 1179 #define __IStdMarshalInfo_INTERFACE_DEFINED__ 1180 1181 typedef IStdMarshalInfo *LPSTDMARSHALINFO; 1182 1183 DEFINE_GUID(IID_IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1184 #if defined(__cplusplus) && !defined(CINTERFACE) 1185 MIDL_INTERFACE("00000018-0000-0000-c000-000000000046") 1186 IStdMarshalInfo : public IUnknown 1187 { 1188 virtual HRESULT STDMETHODCALLTYPE GetClassForHandler( 1189 DWORD dwDestContext, 1190 void *pvDestContext, 1191 CLSID *pClsid) = 0; 1192 1193 }; 1194 #ifdef __CRT_UUID_DECL 1195 __CRT_UUID_DECL(IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1196 #endif 1197 #else 1198 typedef struct IStdMarshalInfoVtbl { 1199 BEGIN_INTERFACE 1200 1201 /*** IUnknown methods ***/ 1202 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1203 IStdMarshalInfo *This, 1204 REFIID riid, 1205 void **ppvObject); 1206 1207 ULONG (STDMETHODCALLTYPE *AddRef)( 1208 IStdMarshalInfo *This); 1209 1210 ULONG (STDMETHODCALLTYPE *Release)( 1211 IStdMarshalInfo *This); 1212 1213 /*** IStdMarshalInfo methods ***/ 1214 HRESULT (STDMETHODCALLTYPE *GetClassForHandler)( 1215 IStdMarshalInfo *This, 1216 DWORD dwDestContext, 1217 void *pvDestContext, 1218 CLSID *pClsid); 1219 1220 END_INTERFACE 1221 } IStdMarshalInfoVtbl; 1222 1223 interface IStdMarshalInfo { 1224 CONST_VTBL IStdMarshalInfoVtbl* lpVtbl; 1225 }; 1226 1227 #ifdef COBJMACROS 1228 #ifndef WIDL_C_INLINE_WRAPPERS 1229 /*** IUnknown methods ***/ 1230 #define IStdMarshalInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1231 #define IStdMarshalInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 1232 #define IStdMarshalInfo_Release(This) (This)->lpVtbl->Release(This) 1233 /*** IStdMarshalInfo methods ***/ 1234 #define IStdMarshalInfo_GetClassForHandler(This,dwDestContext,pvDestContext,pClsid) (This)->lpVtbl->GetClassForHandler(This,dwDestContext,pvDestContext,pClsid) 1235 #else 1236 /*** IUnknown methods ***/ 1237 static FORCEINLINE HRESULT IStdMarshalInfo_QueryInterface(IStdMarshalInfo* This,REFIID riid,void **ppvObject) { 1238 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1239 } 1240 static FORCEINLINE ULONG IStdMarshalInfo_AddRef(IStdMarshalInfo* This) { 1241 return This->lpVtbl->AddRef(This); 1242 } 1243 static FORCEINLINE ULONG IStdMarshalInfo_Release(IStdMarshalInfo* This) { 1244 return This->lpVtbl->Release(This); 1245 } 1246 /*** IStdMarshalInfo methods ***/ 1247 static FORCEINLINE HRESULT IStdMarshalInfo_GetClassForHandler(IStdMarshalInfo* This,DWORD dwDestContext,void *pvDestContext,CLSID *pClsid) { 1248 return This->lpVtbl->GetClassForHandler(This,dwDestContext,pvDestContext,pClsid); 1249 } 1250 #endif 1251 #endif 1252 1253 #endif 1254 1255 1256 #endif /* __IStdMarshalInfo_INTERFACE_DEFINED__ */ 1257 1258 1259 /***************************************************************************** 1260 * IExternalConnection interface 1261 */ 1262 #ifndef __IExternalConnection_INTERFACE_DEFINED__ 1263 #define __IExternalConnection_INTERFACE_DEFINED__ 1264 1265 typedef IExternalConnection *LPEXTERNALCONNECTION; 1266 1267 typedef enum tagEXTCONN { 1268 EXTCONN_STRONG = 0x1, 1269 EXTCONN_WEAK = 0x2, 1270 EXTCONN_CALLABLE = 0x4 1271 } EXTCONN; 1272 1273 DEFINE_GUID(IID_IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1274 #if defined(__cplusplus) && !defined(CINTERFACE) 1275 MIDL_INTERFACE("00000019-0000-0000-c000-000000000046") 1276 IExternalConnection : public IUnknown 1277 { 1278 virtual DWORD STDMETHODCALLTYPE AddConnection( 1279 DWORD extconn, 1280 DWORD reserved) = 0; 1281 1282 virtual DWORD STDMETHODCALLTYPE ReleaseConnection( 1283 DWORD extconn, 1284 DWORD reserved, 1285 WINBOOL fLastReleaseCloses) = 0; 1286 1287 }; 1288 #ifdef __CRT_UUID_DECL 1289 __CRT_UUID_DECL(IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1290 #endif 1291 #else 1292 typedef struct IExternalConnectionVtbl { 1293 BEGIN_INTERFACE 1294 1295 /*** IUnknown methods ***/ 1296 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1297 IExternalConnection *This, 1298 REFIID riid, 1299 void **ppvObject); 1300 1301 ULONG (STDMETHODCALLTYPE *AddRef)( 1302 IExternalConnection *This); 1303 1304 ULONG (STDMETHODCALLTYPE *Release)( 1305 IExternalConnection *This); 1306 1307 /*** IExternalConnection methods ***/ 1308 DWORD (STDMETHODCALLTYPE *AddConnection)( 1309 IExternalConnection *This, 1310 DWORD extconn, 1311 DWORD reserved); 1312 1313 DWORD (STDMETHODCALLTYPE *ReleaseConnection)( 1314 IExternalConnection *This, 1315 DWORD extconn, 1316 DWORD reserved, 1317 WINBOOL fLastReleaseCloses); 1318 1319 END_INTERFACE 1320 } IExternalConnectionVtbl; 1321 1322 interface IExternalConnection { 1323 CONST_VTBL IExternalConnectionVtbl* lpVtbl; 1324 }; 1325 1326 #ifdef COBJMACROS 1327 #ifndef WIDL_C_INLINE_WRAPPERS 1328 /*** IUnknown methods ***/ 1329 #define IExternalConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1330 #define IExternalConnection_AddRef(This) (This)->lpVtbl->AddRef(This) 1331 #define IExternalConnection_Release(This) (This)->lpVtbl->Release(This) 1332 /*** IExternalConnection methods ***/ 1333 #define IExternalConnection_AddConnection(This,extconn,reserved) (This)->lpVtbl->AddConnection(This,extconn,reserved) 1334 #define IExternalConnection_ReleaseConnection(This,extconn,reserved,fLastReleaseCloses) (This)->lpVtbl->ReleaseConnection(This,extconn,reserved,fLastReleaseCloses) 1335 #else 1336 /*** IUnknown methods ***/ 1337 static FORCEINLINE HRESULT IExternalConnection_QueryInterface(IExternalConnection* This,REFIID riid,void **ppvObject) { 1338 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1339 } 1340 static FORCEINLINE ULONG IExternalConnection_AddRef(IExternalConnection* This) { 1341 return This->lpVtbl->AddRef(This); 1342 } 1343 static FORCEINLINE ULONG IExternalConnection_Release(IExternalConnection* This) { 1344 return This->lpVtbl->Release(This); 1345 } 1346 /*** IExternalConnection methods ***/ 1347 static FORCEINLINE DWORD IExternalConnection_AddConnection(IExternalConnection* This,DWORD extconn,DWORD reserved) { 1348 return This->lpVtbl->AddConnection(This,extconn,reserved); 1349 } 1350 static FORCEINLINE DWORD IExternalConnection_ReleaseConnection(IExternalConnection* This,DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses) { 1351 return This->lpVtbl->ReleaseConnection(This,extconn,reserved,fLastReleaseCloses); 1352 } 1353 #endif 1354 #endif 1355 1356 #endif 1357 1358 1359 #endif /* __IExternalConnection_INTERFACE_DEFINED__ */ 1360 1361 1362 typedef IMultiQI *LPMULTIQI; 1363 #endif 1364 1365 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 1366 typedef struct tagMULTI_QI { 1367 const IID *pIID; 1368 IUnknown *pItf; 1369 HRESULT hr; 1370 } MULTI_QI; 1371 1372 /***************************************************************************** 1373 * IMultiQI interface 1374 */ 1375 #ifndef __IMultiQI_INTERFACE_DEFINED__ 1376 #define __IMultiQI_INTERFACE_DEFINED__ 1377 1378 DEFINE_GUID(IID_IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1379 #if defined(__cplusplus) && !defined(CINTERFACE) 1380 MIDL_INTERFACE("00000020-0000-0000-c000-000000000046") 1381 IMultiQI : public IUnknown 1382 { 1383 virtual HRESULT STDMETHODCALLTYPE QueryMultipleInterfaces( 1384 ULONG cMQIs, 1385 MULTI_QI *pMQIs) = 0; 1386 1387 }; 1388 #ifdef __CRT_UUID_DECL 1389 __CRT_UUID_DECL(IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1390 #endif 1391 #else 1392 typedef struct IMultiQIVtbl { 1393 BEGIN_INTERFACE 1394 1395 /*** IUnknown methods ***/ 1396 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1397 IMultiQI *This, 1398 REFIID riid, 1399 void **ppvObject); 1400 1401 ULONG (STDMETHODCALLTYPE *AddRef)( 1402 IMultiQI *This); 1403 1404 ULONG (STDMETHODCALLTYPE *Release)( 1405 IMultiQI *This); 1406 1407 /*** IMultiQI methods ***/ 1408 HRESULT (STDMETHODCALLTYPE *QueryMultipleInterfaces)( 1409 IMultiQI *This, 1410 ULONG cMQIs, 1411 MULTI_QI *pMQIs); 1412 1413 END_INTERFACE 1414 } IMultiQIVtbl; 1415 1416 interface IMultiQI { 1417 CONST_VTBL IMultiQIVtbl* lpVtbl; 1418 }; 1419 1420 #ifdef COBJMACROS 1421 #ifndef WIDL_C_INLINE_WRAPPERS 1422 /*** IUnknown methods ***/ 1423 #define IMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1424 #define IMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This) 1425 #define IMultiQI_Release(This) (This)->lpVtbl->Release(This) 1426 /*** IMultiQI methods ***/ 1427 #define IMultiQI_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs) 1428 #else 1429 /*** IUnknown methods ***/ 1430 static FORCEINLINE HRESULT IMultiQI_QueryInterface(IMultiQI* This,REFIID riid,void **ppvObject) { 1431 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1432 } 1433 static FORCEINLINE ULONG IMultiQI_AddRef(IMultiQI* This) { 1434 return This->lpVtbl->AddRef(This); 1435 } 1436 static FORCEINLINE ULONG IMultiQI_Release(IMultiQI* This) { 1437 return This->lpVtbl->Release(This); 1438 } 1439 /*** IMultiQI methods ***/ 1440 static FORCEINLINE HRESULT IMultiQI_QueryMultipleInterfaces(IMultiQI* This,ULONG cMQIs,MULTI_QI *pMQIs) { 1441 return This->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs); 1442 } 1443 #endif 1444 #endif 1445 1446 #endif 1447 1448 1449 #endif /* __IMultiQI_INTERFACE_DEFINED__ */ 1450 1451 /***************************************************************************** 1452 * AsyncIMultiQI interface 1453 */ 1454 #ifndef __AsyncIMultiQI_INTERFACE_DEFINED__ 1455 #define __AsyncIMultiQI_INTERFACE_DEFINED__ 1456 1457 DEFINE_GUID(IID_AsyncIMultiQI, 0x000e0020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1458 #if defined(__cplusplus) && !defined(CINTERFACE) 1459 MIDL_INTERFACE("000e0020-0000-0000-c000-000000000046") 1460 AsyncIMultiQI : public IUnknown 1461 { 1462 virtual HRESULT STDMETHODCALLTYPE Begin_QueryMultipleInterfaces( 1463 ULONG cMQIs, 1464 MULTI_QI *pMQIs) = 0; 1465 1466 virtual HRESULT STDMETHODCALLTYPE Finish_QueryMultipleInterfaces( 1467 MULTI_QI *pMQIs) = 0; 1468 1469 }; 1470 #ifdef __CRT_UUID_DECL 1471 __CRT_UUID_DECL(AsyncIMultiQI, 0x000e0020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1472 #endif 1473 #else 1474 typedef struct AsyncIMultiQIVtbl { 1475 BEGIN_INTERFACE 1476 1477 /*** IUnknown methods ***/ 1478 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1479 AsyncIMultiQI *This, 1480 REFIID riid, 1481 void **ppvObject); 1482 1483 ULONG (STDMETHODCALLTYPE *AddRef)( 1484 AsyncIMultiQI *This); 1485 1486 ULONG (STDMETHODCALLTYPE *Release)( 1487 AsyncIMultiQI *This); 1488 1489 /*** AsyncIMultiQI methods ***/ 1490 HRESULT (STDMETHODCALLTYPE *Begin_QueryMultipleInterfaces)( 1491 AsyncIMultiQI *This, 1492 ULONG cMQIs, 1493 MULTI_QI *pMQIs); 1494 1495 HRESULT (STDMETHODCALLTYPE *Finish_QueryMultipleInterfaces)( 1496 AsyncIMultiQI *This, 1497 MULTI_QI *pMQIs); 1498 1499 END_INTERFACE 1500 } AsyncIMultiQIVtbl; 1501 1502 interface AsyncIMultiQI { 1503 CONST_VTBL AsyncIMultiQIVtbl* lpVtbl; 1504 }; 1505 1506 #ifdef COBJMACROS 1507 #ifndef WIDL_C_INLINE_WRAPPERS 1508 /*** IUnknown methods ***/ 1509 #define AsyncIMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1510 #define AsyncIMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This) 1511 #define AsyncIMultiQI_Release(This) (This)->lpVtbl->Release(This) 1512 /*** AsyncIMultiQI methods ***/ 1513 #define AsyncIMultiQI_Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs) 1514 #define AsyncIMultiQI_Finish_QueryMultipleInterfaces(This,pMQIs) (This)->lpVtbl->Finish_QueryMultipleInterfaces(This,pMQIs) 1515 #else 1516 /*** IUnknown methods ***/ 1517 static FORCEINLINE HRESULT AsyncIMultiQI_QueryInterface(AsyncIMultiQI* This,REFIID riid,void **ppvObject) { 1518 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1519 } 1520 static FORCEINLINE ULONG AsyncIMultiQI_AddRef(AsyncIMultiQI* This) { 1521 return This->lpVtbl->AddRef(This); 1522 } 1523 static FORCEINLINE ULONG AsyncIMultiQI_Release(AsyncIMultiQI* This) { 1524 return This->lpVtbl->Release(This); 1525 } 1526 /*** AsyncIMultiQI methods ***/ 1527 static FORCEINLINE HRESULT AsyncIMultiQI_Begin_QueryMultipleInterfaces(AsyncIMultiQI* This,ULONG cMQIs,MULTI_QI *pMQIs) { 1528 return This->lpVtbl->Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs); 1529 } 1530 static FORCEINLINE HRESULT AsyncIMultiQI_Finish_QueryMultipleInterfaces(AsyncIMultiQI* This,MULTI_QI *pMQIs) { 1531 return This->lpVtbl->Finish_QueryMultipleInterfaces(This,pMQIs); 1532 } 1533 #endif 1534 #endif 1535 1536 #endif 1537 1538 1539 #endif /* __AsyncIMultiQI_INTERFACE_DEFINED__ */ 1540 1541 #endif 1542 1543 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 1544 /***************************************************************************** 1545 * IInternalUnknown interface 1546 */ 1547 #ifndef __IInternalUnknown_INTERFACE_DEFINED__ 1548 #define __IInternalUnknown_INTERFACE_DEFINED__ 1549 1550 DEFINE_GUID(IID_IInternalUnknown, 0x00000021, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1551 #if defined(__cplusplus) && !defined(CINTERFACE) 1552 MIDL_INTERFACE("00000021-0000-0000-c000-000000000046") 1553 IInternalUnknown : public IUnknown 1554 { 1555 virtual HRESULT STDMETHODCALLTYPE QueryInternalInterface( 1556 REFIID riid, 1557 void **ppv) = 0; 1558 1559 }; 1560 #ifdef __CRT_UUID_DECL 1561 __CRT_UUID_DECL(IInternalUnknown, 0x00000021, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1562 #endif 1563 #else 1564 typedef struct IInternalUnknownVtbl { 1565 BEGIN_INTERFACE 1566 1567 /*** IUnknown methods ***/ 1568 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1569 IInternalUnknown *This, 1570 REFIID riid, 1571 void **ppvObject); 1572 1573 ULONG (STDMETHODCALLTYPE *AddRef)( 1574 IInternalUnknown *This); 1575 1576 ULONG (STDMETHODCALLTYPE *Release)( 1577 IInternalUnknown *This); 1578 1579 /*** IInternalUnknown methods ***/ 1580 HRESULT (STDMETHODCALLTYPE *QueryInternalInterface)( 1581 IInternalUnknown *This, 1582 REFIID riid, 1583 void **ppv); 1584 1585 END_INTERFACE 1586 } IInternalUnknownVtbl; 1587 1588 interface IInternalUnknown { 1589 CONST_VTBL IInternalUnknownVtbl* lpVtbl; 1590 }; 1591 1592 #ifdef COBJMACROS 1593 #ifndef WIDL_C_INLINE_WRAPPERS 1594 /*** IUnknown methods ***/ 1595 #define IInternalUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1596 #define IInternalUnknown_AddRef(This) (This)->lpVtbl->AddRef(This) 1597 #define IInternalUnknown_Release(This) (This)->lpVtbl->Release(This) 1598 /*** IInternalUnknown methods ***/ 1599 #define IInternalUnknown_QueryInternalInterface(This,riid,ppv) (This)->lpVtbl->QueryInternalInterface(This,riid,ppv) 1600 #else 1601 /*** IUnknown methods ***/ 1602 static FORCEINLINE HRESULT IInternalUnknown_QueryInterface(IInternalUnknown* This,REFIID riid,void **ppvObject) { 1603 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1604 } 1605 static FORCEINLINE ULONG IInternalUnknown_AddRef(IInternalUnknown* This) { 1606 return This->lpVtbl->AddRef(This); 1607 } 1608 static FORCEINLINE ULONG IInternalUnknown_Release(IInternalUnknown* This) { 1609 return This->lpVtbl->Release(This); 1610 } 1611 /*** IInternalUnknown methods ***/ 1612 static FORCEINLINE HRESULT IInternalUnknown_QueryInternalInterface(IInternalUnknown* This,REFIID riid,void **ppv) { 1613 return This->lpVtbl->QueryInternalInterface(This,riid,ppv); 1614 } 1615 #endif 1616 #endif 1617 1618 #endif 1619 1620 1621 #endif /* __IInternalUnknown_INTERFACE_DEFINED__ */ 1622 1623 #endif 1624 1625 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 1626 /***************************************************************************** 1627 * IEnumUnknown interface 1628 */ 1629 #ifndef __IEnumUnknown_INTERFACE_DEFINED__ 1630 #define __IEnumUnknown_INTERFACE_DEFINED__ 1631 1632 typedef IEnumUnknown *LPENUMUNKNOWN; 1633 1634 DEFINE_GUID(IID_IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1635 #if defined(__cplusplus) && !defined(CINTERFACE) 1636 MIDL_INTERFACE("00000100-0000-0000-c000-000000000046") 1637 IEnumUnknown : public IUnknown 1638 { 1639 virtual HRESULT STDMETHODCALLTYPE Next( 1640 ULONG celt, 1641 IUnknown **rgelt, 1642 ULONG *pceltFetched) = 0; 1643 1644 virtual HRESULT STDMETHODCALLTYPE Skip( 1645 ULONG celt) = 0; 1646 1647 virtual HRESULT STDMETHODCALLTYPE Reset( 1648 ) = 0; 1649 1650 virtual HRESULT STDMETHODCALLTYPE Clone( 1651 IEnumUnknown **ppenum) = 0; 1652 1653 }; 1654 #ifdef __CRT_UUID_DECL 1655 __CRT_UUID_DECL(IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1656 #endif 1657 #else 1658 typedef struct IEnumUnknownVtbl { 1659 BEGIN_INTERFACE 1660 1661 /*** IUnknown methods ***/ 1662 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1663 IEnumUnknown *This, 1664 REFIID riid, 1665 void **ppvObject); 1666 1667 ULONG (STDMETHODCALLTYPE *AddRef)( 1668 IEnumUnknown *This); 1669 1670 ULONG (STDMETHODCALLTYPE *Release)( 1671 IEnumUnknown *This); 1672 1673 /*** IEnumUnknown methods ***/ 1674 HRESULT (STDMETHODCALLTYPE *Next)( 1675 IEnumUnknown *This, 1676 ULONG celt, 1677 IUnknown **rgelt, 1678 ULONG *pceltFetched); 1679 1680 HRESULT (STDMETHODCALLTYPE *Skip)( 1681 IEnumUnknown *This, 1682 ULONG celt); 1683 1684 HRESULT (STDMETHODCALLTYPE *Reset)( 1685 IEnumUnknown *This); 1686 1687 HRESULT (STDMETHODCALLTYPE *Clone)( 1688 IEnumUnknown *This, 1689 IEnumUnknown **ppenum); 1690 1691 END_INTERFACE 1692 } IEnumUnknownVtbl; 1693 1694 interface IEnumUnknown { 1695 CONST_VTBL IEnumUnknownVtbl* lpVtbl; 1696 }; 1697 1698 #ifdef COBJMACROS 1699 #ifndef WIDL_C_INLINE_WRAPPERS 1700 /*** IUnknown methods ***/ 1701 #define IEnumUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1702 #define IEnumUnknown_AddRef(This) (This)->lpVtbl->AddRef(This) 1703 #define IEnumUnknown_Release(This) (This)->lpVtbl->Release(This) 1704 /*** IEnumUnknown methods ***/ 1705 #define IEnumUnknown_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 1706 #define IEnumUnknown_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 1707 #define IEnumUnknown_Reset(This) (This)->lpVtbl->Reset(This) 1708 #define IEnumUnknown_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 1709 #else 1710 /*** IUnknown methods ***/ 1711 static FORCEINLINE HRESULT IEnumUnknown_QueryInterface(IEnumUnknown* This,REFIID riid,void **ppvObject) { 1712 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1713 } 1714 static FORCEINLINE ULONG IEnumUnknown_AddRef(IEnumUnknown* This) { 1715 return This->lpVtbl->AddRef(This); 1716 } 1717 static FORCEINLINE ULONG IEnumUnknown_Release(IEnumUnknown* This) { 1718 return This->lpVtbl->Release(This); 1719 } 1720 /*** IEnumUnknown methods ***/ 1721 static FORCEINLINE HRESULT IEnumUnknown_Next(IEnumUnknown* This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched) { 1722 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 1723 } 1724 static FORCEINLINE HRESULT IEnumUnknown_Skip(IEnumUnknown* This,ULONG celt) { 1725 return This->lpVtbl->Skip(This,celt); 1726 } 1727 static FORCEINLINE HRESULT IEnumUnknown_Reset(IEnumUnknown* This) { 1728 return This->lpVtbl->Reset(This); 1729 } 1730 static FORCEINLINE HRESULT IEnumUnknown_Clone(IEnumUnknown* This,IEnumUnknown **ppenum) { 1731 return This->lpVtbl->Clone(This,ppenum); 1732 } 1733 #endif 1734 #endif 1735 1736 #endif 1737 1738 HRESULT STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Proxy( 1739 IEnumUnknown* This, 1740 ULONG celt, 1741 IUnknown **rgelt, 1742 ULONG *pceltFetched); 1743 void __RPC_STUB IEnumUnknown_RemoteNext_Stub( 1744 IRpcStubBuffer* This, 1745 IRpcChannelBuffer* pRpcChannelBuffer, 1746 PRPC_MESSAGE pRpcMessage, 1747 DWORD* pdwStubPhase); 1748 HRESULT CALLBACK IEnumUnknown_Next_Proxy( 1749 IEnumUnknown* This, 1750 ULONG celt, 1751 IUnknown **rgelt, 1752 ULONG *pceltFetched); 1753 HRESULT __RPC_STUB IEnumUnknown_Next_Stub( 1754 IEnumUnknown* This, 1755 ULONG celt, 1756 IUnknown **rgelt, 1757 ULONG *pceltFetched); 1758 1759 #endif /* __IEnumUnknown_INTERFACE_DEFINED__ */ 1760 1761 1762 /***************************************************************************** 1763 * IEnumString interface 1764 */ 1765 #ifndef __IEnumString_INTERFACE_DEFINED__ 1766 #define __IEnumString_INTERFACE_DEFINED__ 1767 1768 typedef IEnumString *LPENUMSTRING; 1769 1770 DEFINE_GUID(IID_IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 1771 #if defined(__cplusplus) && !defined(CINTERFACE) 1772 MIDL_INTERFACE("00000101-0000-0000-c000-000000000046") 1773 IEnumString : public IUnknown 1774 { 1775 virtual HRESULT STDMETHODCALLTYPE Next( 1776 ULONG celt, 1777 LPOLESTR *rgelt, 1778 ULONG *pceltFetched) = 0; 1779 1780 virtual HRESULT STDMETHODCALLTYPE Skip( 1781 ULONG celt) = 0; 1782 1783 virtual HRESULT STDMETHODCALLTYPE Reset( 1784 ) = 0; 1785 1786 virtual HRESULT STDMETHODCALLTYPE Clone( 1787 IEnumString **ppenum) = 0; 1788 1789 }; 1790 #ifdef __CRT_UUID_DECL 1791 __CRT_UUID_DECL(IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 1792 #endif 1793 #else 1794 typedef struct IEnumStringVtbl { 1795 BEGIN_INTERFACE 1796 1797 /*** IUnknown methods ***/ 1798 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1799 IEnumString *This, 1800 REFIID riid, 1801 void **ppvObject); 1802 1803 ULONG (STDMETHODCALLTYPE *AddRef)( 1804 IEnumString *This); 1805 1806 ULONG (STDMETHODCALLTYPE *Release)( 1807 IEnumString *This); 1808 1809 /*** IEnumString methods ***/ 1810 HRESULT (STDMETHODCALLTYPE *Next)( 1811 IEnumString *This, 1812 ULONG celt, 1813 LPOLESTR *rgelt, 1814 ULONG *pceltFetched); 1815 1816 HRESULT (STDMETHODCALLTYPE *Skip)( 1817 IEnumString *This, 1818 ULONG celt); 1819 1820 HRESULT (STDMETHODCALLTYPE *Reset)( 1821 IEnumString *This); 1822 1823 HRESULT (STDMETHODCALLTYPE *Clone)( 1824 IEnumString *This, 1825 IEnumString **ppenum); 1826 1827 END_INTERFACE 1828 } IEnumStringVtbl; 1829 1830 interface IEnumString { 1831 CONST_VTBL IEnumStringVtbl* lpVtbl; 1832 }; 1833 1834 #ifdef COBJMACROS 1835 #ifndef WIDL_C_INLINE_WRAPPERS 1836 /*** IUnknown methods ***/ 1837 #define IEnumString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1838 #define IEnumString_AddRef(This) (This)->lpVtbl->AddRef(This) 1839 #define IEnumString_Release(This) (This)->lpVtbl->Release(This) 1840 /*** IEnumString methods ***/ 1841 #define IEnumString_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) 1842 #define IEnumString_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 1843 #define IEnumString_Reset(This) (This)->lpVtbl->Reset(This) 1844 #define IEnumString_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) 1845 #else 1846 /*** IUnknown methods ***/ 1847 static FORCEINLINE HRESULT IEnumString_QueryInterface(IEnumString* This,REFIID riid,void **ppvObject) { 1848 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1849 } 1850 static FORCEINLINE ULONG IEnumString_AddRef(IEnumString* This) { 1851 return This->lpVtbl->AddRef(This); 1852 } 1853 static FORCEINLINE ULONG IEnumString_Release(IEnumString* This) { 1854 return This->lpVtbl->Release(This); 1855 } 1856 /*** IEnumString methods ***/ 1857 static FORCEINLINE HRESULT IEnumString_Next(IEnumString* This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched) { 1858 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); 1859 } 1860 static FORCEINLINE HRESULT IEnumString_Skip(IEnumString* This,ULONG celt) { 1861 return This->lpVtbl->Skip(This,celt); 1862 } 1863 static FORCEINLINE HRESULT IEnumString_Reset(IEnumString* This) { 1864 return This->lpVtbl->Reset(This); 1865 } 1866 static FORCEINLINE HRESULT IEnumString_Clone(IEnumString* This,IEnumString **ppenum) { 1867 return This->lpVtbl->Clone(This,ppenum); 1868 } 1869 #endif 1870 #endif 1871 1872 #endif 1873 1874 HRESULT STDMETHODCALLTYPE IEnumString_RemoteNext_Proxy( 1875 IEnumString* This, 1876 ULONG celt, 1877 LPOLESTR *rgelt, 1878 ULONG *pceltFetched); 1879 void __RPC_STUB IEnumString_RemoteNext_Stub( 1880 IRpcStubBuffer* This, 1881 IRpcChannelBuffer* pRpcChannelBuffer, 1882 PRPC_MESSAGE pRpcMessage, 1883 DWORD* pdwStubPhase); 1884 HRESULT CALLBACK IEnumString_Next_Proxy( 1885 IEnumString* This, 1886 ULONG celt, 1887 LPOLESTR *rgelt, 1888 ULONG *pceltFetched); 1889 HRESULT __RPC_STUB IEnumString_Next_Stub( 1890 IEnumString* This, 1891 ULONG celt, 1892 LPOLESTR *rgelt, 1893 ULONG *pceltFetched); 1894 1895 #endif /* __IEnumString_INTERFACE_DEFINED__ */ 1896 1897 1898 /***************************************************************************** 1899 * ISequentialStream interface 1900 */ 1901 #ifndef __ISequentialStream_INTERFACE_DEFINED__ 1902 #define __ISequentialStream_INTERFACE_DEFINED__ 1903 1904 DEFINE_GUID(IID_ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d); 1905 #if defined(__cplusplus) && !defined(CINTERFACE) 1906 MIDL_INTERFACE("0c733a30-2a1c-11ce-ade5-00aa0044773d") 1907 ISequentialStream : public IUnknown 1908 { 1909 virtual HRESULT STDMETHODCALLTYPE Read( 1910 void *pv, 1911 ULONG cb, 1912 ULONG *pcbRead) = 0; 1913 1914 virtual HRESULT STDMETHODCALLTYPE Write( 1915 const void *pv, 1916 ULONG cb, 1917 ULONG *pcbWritten) = 0; 1918 1919 }; 1920 #ifdef __CRT_UUID_DECL 1921 __CRT_UUID_DECL(ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d) 1922 #endif 1923 #else 1924 typedef struct ISequentialStreamVtbl { 1925 BEGIN_INTERFACE 1926 1927 /*** IUnknown methods ***/ 1928 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1929 ISequentialStream *This, 1930 REFIID riid, 1931 void **ppvObject); 1932 1933 ULONG (STDMETHODCALLTYPE *AddRef)( 1934 ISequentialStream *This); 1935 1936 ULONG (STDMETHODCALLTYPE *Release)( 1937 ISequentialStream *This); 1938 1939 /*** ISequentialStream methods ***/ 1940 HRESULT (STDMETHODCALLTYPE *Read)( 1941 ISequentialStream *This, 1942 void *pv, 1943 ULONG cb, 1944 ULONG *pcbRead); 1945 1946 HRESULT (STDMETHODCALLTYPE *Write)( 1947 ISequentialStream *This, 1948 const void *pv, 1949 ULONG cb, 1950 ULONG *pcbWritten); 1951 1952 END_INTERFACE 1953 } ISequentialStreamVtbl; 1954 1955 interface ISequentialStream { 1956 CONST_VTBL ISequentialStreamVtbl* lpVtbl; 1957 }; 1958 1959 #ifdef COBJMACROS 1960 #ifndef WIDL_C_INLINE_WRAPPERS 1961 /*** IUnknown methods ***/ 1962 #define ISequentialStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1963 #define ISequentialStream_AddRef(This) (This)->lpVtbl->AddRef(This) 1964 #define ISequentialStream_Release(This) (This)->lpVtbl->Release(This) 1965 /*** ISequentialStream methods ***/ 1966 #define ISequentialStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) 1967 #define ISequentialStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten) 1968 #else 1969 /*** IUnknown methods ***/ 1970 static FORCEINLINE HRESULT ISequentialStream_QueryInterface(ISequentialStream* This,REFIID riid,void **ppvObject) { 1971 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1972 } 1973 static FORCEINLINE ULONG ISequentialStream_AddRef(ISequentialStream* This) { 1974 return This->lpVtbl->AddRef(This); 1975 } 1976 static FORCEINLINE ULONG ISequentialStream_Release(ISequentialStream* This) { 1977 return This->lpVtbl->Release(This); 1978 } 1979 /*** ISequentialStream methods ***/ 1980 static FORCEINLINE HRESULT ISequentialStream_Read(ISequentialStream* This,void *pv,ULONG cb,ULONG *pcbRead) { 1981 return This->lpVtbl->Read(This,pv,cb,pcbRead); 1982 } 1983 static FORCEINLINE HRESULT ISequentialStream_Write(ISequentialStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) { 1984 return This->lpVtbl->Write(This,pv,cb,pcbWritten); 1985 } 1986 #endif 1987 #endif 1988 1989 #endif 1990 1991 HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteRead_Proxy( 1992 ISequentialStream* This, 1993 byte *pv, 1994 ULONG cb, 1995 ULONG *pcbRead); 1996 void __RPC_STUB ISequentialStream_RemoteRead_Stub( 1997 IRpcStubBuffer* This, 1998 IRpcChannelBuffer* pRpcChannelBuffer, 1999 PRPC_MESSAGE pRpcMessage, 2000 DWORD* pdwStubPhase); 2001 HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteWrite_Proxy( 2002 ISequentialStream* This, 2003 const byte *pv, 2004 ULONG cb, 2005 ULONG *pcbWritten); 2006 void __RPC_STUB ISequentialStream_RemoteWrite_Stub( 2007 IRpcStubBuffer* This, 2008 IRpcChannelBuffer* pRpcChannelBuffer, 2009 PRPC_MESSAGE pRpcMessage, 2010 DWORD* pdwStubPhase); 2011 HRESULT CALLBACK ISequentialStream_Read_Proxy( 2012 ISequentialStream* This, 2013 void *pv, 2014 ULONG cb, 2015 ULONG *pcbRead); 2016 HRESULT __RPC_STUB ISequentialStream_Read_Stub( 2017 ISequentialStream* This, 2018 byte *pv, 2019 ULONG cb, 2020 ULONG *pcbRead); 2021 HRESULT CALLBACK ISequentialStream_Write_Proxy( 2022 ISequentialStream* This, 2023 const void *pv, 2024 ULONG cb, 2025 ULONG *pcbWritten); 2026 HRESULT __RPC_STUB ISequentialStream_Write_Stub( 2027 ISequentialStream* This, 2028 const byte *pv, 2029 ULONG cb, 2030 ULONG *pcbWritten); 2031 2032 #endif /* __ISequentialStream_INTERFACE_DEFINED__ */ 2033 2034 2035 /***************************************************************************** 2036 * IStream interface 2037 */ 2038 #ifndef __IStream_INTERFACE_DEFINED__ 2039 #define __IStream_INTERFACE_DEFINED__ 2040 2041 typedef IStream *LPSTREAM; 2042 2043 typedef struct tagSTATSTG { 2044 LPOLESTR pwcsName; 2045 DWORD type; 2046 ULARGE_INTEGER cbSize; 2047 FILETIME mtime; 2048 FILETIME ctime; 2049 FILETIME atime; 2050 DWORD grfMode; 2051 DWORD grfLocksSupported; 2052 CLSID clsid; 2053 DWORD grfStateBits; 2054 DWORD reserved; 2055 } STATSTG; 2056 2057 typedef enum tagSTGTY { 2058 STGTY_STORAGE = 1, 2059 STGTY_STREAM = 2, 2060 STGTY_LOCKBYTES = 3, 2061 STGTY_PROPERTY = 4 2062 } STGTY; 2063 2064 typedef enum tagSTREAM_SEEK { 2065 STREAM_SEEK_SET = 0, 2066 STREAM_SEEK_CUR = 1, 2067 STREAM_SEEK_END = 2 2068 } STREAM_SEEK; 2069 2070 typedef enum tagLOCKTYPE { 2071 LOCK_WRITE = 1, 2072 LOCK_EXCLUSIVE = 2, 2073 LOCK_ONLYONCE = 4 2074 } LOCKTYPE; 2075 2076 DEFINE_GUID(IID_IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 2077 #if defined(__cplusplus) && !defined(CINTERFACE) 2078 MIDL_INTERFACE("0000000c-0000-0000-c000-000000000046") 2079 IStream : public ISequentialStream 2080 { 2081 virtual HRESULT STDMETHODCALLTYPE Seek( 2082 LARGE_INTEGER dlibMove, 2083 DWORD dwOrigin, 2084 ULARGE_INTEGER *plibNewPosition) = 0; 2085 2086 virtual HRESULT STDMETHODCALLTYPE SetSize( 2087 ULARGE_INTEGER libNewSize) = 0; 2088 2089 virtual HRESULT STDMETHODCALLTYPE CopyTo( 2090 IStream *pstm, 2091 ULARGE_INTEGER cb, 2092 ULARGE_INTEGER *pcbRead, 2093 ULARGE_INTEGER *pcbWritten) = 0; 2094 2095 virtual HRESULT STDMETHODCALLTYPE Commit( 2096 DWORD grfCommitFlags) = 0; 2097 2098 virtual HRESULT STDMETHODCALLTYPE Revert( 2099 ) = 0; 2100 2101 virtual HRESULT STDMETHODCALLTYPE LockRegion( 2102 ULARGE_INTEGER libOffset, 2103 ULARGE_INTEGER cb, 2104 DWORD dwLockType) = 0; 2105 2106 virtual HRESULT STDMETHODCALLTYPE UnlockRegion( 2107 ULARGE_INTEGER libOffset, 2108 ULARGE_INTEGER cb, 2109 DWORD dwLockType) = 0; 2110 2111 virtual HRESULT STDMETHODCALLTYPE Stat( 2112 STATSTG *pstatstg, 2113 DWORD grfStatFlag) = 0; 2114 2115 virtual HRESULT STDMETHODCALLTYPE Clone( 2116 IStream **ppstm) = 0; 2117 2118 }; 2119 #ifdef __CRT_UUID_DECL 2120 __CRT_UUID_DECL(IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 2121 #endif 2122 #else 2123 typedef struct IStreamVtbl { 2124 BEGIN_INTERFACE 2125 2126 /*** IUnknown methods ***/ 2127 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2128 IStream *This, 2129 REFIID riid, 2130 void **ppvObject); 2131 2132 ULONG (STDMETHODCALLTYPE *AddRef)( 2133 IStream *This); 2134 2135 ULONG (STDMETHODCALLTYPE *Release)( 2136 IStream *This); 2137 2138 /*** ISequentialStream methods ***/ 2139 HRESULT (STDMETHODCALLTYPE *Read)( 2140 IStream *This, 2141 void *pv, 2142 ULONG cb, 2143 ULONG *pcbRead); 2144 2145 HRESULT (STDMETHODCALLTYPE *Write)( 2146 IStream *This, 2147 const void *pv, 2148 ULONG cb, 2149 ULONG *pcbWritten); 2150 2151 /*** IStream methods ***/ 2152 HRESULT (STDMETHODCALLTYPE *Seek)( 2153 IStream *This, 2154 LARGE_INTEGER dlibMove, 2155 DWORD dwOrigin, 2156 ULARGE_INTEGER *plibNewPosition); 2157 2158 HRESULT (STDMETHODCALLTYPE *SetSize)( 2159 IStream *This, 2160 ULARGE_INTEGER libNewSize); 2161 2162 HRESULT (STDMETHODCALLTYPE *CopyTo)( 2163 IStream *This, 2164 IStream *pstm, 2165 ULARGE_INTEGER cb, 2166 ULARGE_INTEGER *pcbRead, 2167 ULARGE_INTEGER *pcbWritten); 2168 2169 HRESULT (STDMETHODCALLTYPE *Commit)( 2170 IStream *This, 2171 DWORD grfCommitFlags); 2172 2173 HRESULT (STDMETHODCALLTYPE *Revert)( 2174 IStream *This); 2175 2176 HRESULT (STDMETHODCALLTYPE *LockRegion)( 2177 IStream *This, 2178 ULARGE_INTEGER libOffset, 2179 ULARGE_INTEGER cb, 2180 DWORD dwLockType); 2181 2182 HRESULT (STDMETHODCALLTYPE *UnlockRegion)( 2183 IStream *This, 2184 ULARGE_INTEGER libOffset, 2185 ULARGE_INTEGER cb, 2186 DWORD dwLockType); 2187 2188 HRESULT (STDMETHODCALLTYPE *Stat)( 2189 IStream *This, 2190 STATSTG *pstatstg, 2191 DWORD grfStatFlag); 2192 2193 HRESULT (STDMETHODCALLTYPE *Clone)( 2194 IStream *This, 2195 IStream **ppstm); 2196 2197 END_INTERFACE 2198 } IStreamVtbl; 2199 2200 interface IStream { 2201 CONST_VTBL IStreamVtbl* lpVtbl; 2202 }; 2203 2204 #ifdef COBJMACROS 2205 #ifndef WIDL_C_INLINE_WRAPPERS 2206 /*** IUnknown methods ***/ 2207 #define IStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2208 #define IStream_AddRef(This) (This)->lpVtbl->AddRef(This) 2209 #define IStream_Release(This) (This)->lpVtbl->Release(This) 2210 /*** ISequentialStream methods ***/ 2211 #define IStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) 2212 #define IStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten) 2213 /*** IStream methods ***/ 2214 #define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition) 2215 #define IStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize) 2216 #define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten) 2217 #define IStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags) 2218 #define IStream_Revert(This) (This)->lpVtbl->Revert(This) 2219 #define IStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType) 2220 #define IStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType) 2221 #define IStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag) 2222 #define IStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm) 2223 #else 2224 /*** IUnknown methods ***/ 2225 static FORCEINLINE HRESULT IStream_QueryInterface(IStream* This,REFIID riid,void **ppvObject) { 2226 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2227 } 2228 static FORCEINLINE ULONG IStream_AddRef(IStream* This) { 2229 return This->lpVtbl->AddRef(This); 2230 } 2231 static FORCEINLINE ULONG IStream_Release(IStream* This) { 2232 return This->lpVtbl->Release(This); 2233 } 2234 /*** ISequentialStream methods ***/ 2235 static FORCEINLINE HRESULT IStream_Read(IStream* This,void *pv,ULONG cb,ULONG *pcbRead) { 2236 return This->lpVtbl->Read(This,pv,cb,pcbRead); 2237 } 2238 static FORCEINLINE HRESULT IStream_Write(IStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) { 2239 return This->lpVtbl->Write(This,pv,cb,pcbWritten); 2240 } 2241 /*** IStream methods ***/ 2242 static FORCEINLINE HRESULT IStream_Seek(IStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) { 2243 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition); 2244 } 2245 static FORCEINLINE HRESULT IStream_SetSize(IStream* This,ULARGE_INTEGER libNewSize) { 2246 return This->lpVtbl->SetSize(This,libNewSize); 2247 } 2248 static FORCEINLINE HRESULT IStream_CopyTo(IStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) { 2249 return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten); 2250 } 2251 static FORCEINLINE HRESULT IStream_Commit(IStream* This,DWORD grfCommitFlags) { 2252 return This->lpVtbl->Commit(This,grfCommitFlags); 2253 } 2254 static FORCEINLINE HRESULT IStream_Revert(IStream* This) { 2255 return This->lpVtbl->Revert(This); 2256 } 2257 static FORCEINLINE HRESULT IStream_LockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { 2258 return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType); 2259 } 2260 static FORCEINLINE HRESULT IStream_UnlockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { 2261 return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType); 2262 } 2263 static FORCEINLINE HRESULT IStream_Stat(IStream* This,STATSTG *pstatstg,DWORD grfStatFlag) { 2264 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag); 2265 } 2266 static FORCEINLINE HRESULT IStream_Clone(IStream* This,IStream **ppstm) { 2267 return This->lpVtbl->Clone(This,ppstm); 2268 } 2269 #endif 2270 #endif 2271 2272 #endif 2273 2274 HRESULT STDMETHODCALLTYPE IStream_RemoteSeek_Proxy( 2275 IStream* This, 2276 LARGE_INTEGER dlibMove, 2277 DWORD dwOrigin, 2278 ULARGE_INTEGER *plibNewPosition); 2279 void __RPC_STUB IStream_RemoteSeek_Stub( 2280 IRpcStubBuffer* This, 2281 IRpcChannelBuffer* pRpcChannelBuffer, 2282 PRPC_MESSAGE pRpcMessage, 2283 DWORD* pdwStubPhase); 2284 HRESULT STDMETHODCALLTYPE IStream_RemoteCopyTo_Proxy( 2285 IStream* This, 2286 IStream *pstm, 2287 ULARGE_INTEGER cb, 2288 ULARGE_INTEGER *pcbRead, 2289 ULARGE_INTEGER *pcbWritten); 2290 void __RPC_STUB IStream_RemoteCopyTo_Stub( 2291 IRpcStubBuffer* This, 2292 IRpcChannelBuffer* pRpcChannelBuffer, 2293 PRPC_MESSAGE pRpcMessage, 2294 DWORD* pdwStubPhase); 2295 HRESULT CALLBACK IStream_Seek_Proxy( 2296 IStream* This, 2297 LARGE_INTEGER dlibMove, 2298 DWORD dwOrigin, 2299 ULARGE_INTEGER *plibNewPosition); 2300 HRESULT __RPC_STUB IStream_Seek_Stub( 2301 IStream* This, 2302 LARGE_INTEGER dlibMove, 2303 DWORD dwOrigin, 2304 ULARGE_INTEGER *plibNewPosition); 2305 HRESULT CALLBACK IStream_CopyTo_Proxy( 2306 IStream* This, 2307 IStream *pstm, 2308 ULARGE_INTEGER cb, 2309 ULARGE_INTEGER *pcbRead, 2310 ULARGE_INTEGER *pcbWritten); 2311 HRESULT __RPC_STUB IStream_CopyTo_Stub( 2312 IStream* This, 2313 IStream *pstm, 2314 ULARGE_INTEGER cb, 2315 ULARGE_INTEGER *pcbRead, 2316 ULARGE_INTEGER *pcbWritten); 2317 2318 #endif /* __IStream_INTERFACE_DEFINED__ */ 2319 2320 2321 /***************************************************************************** 2322 * IRpcChannelBuffer interface 2323 */ 2324 #ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__ 2325 #define __IRpcChannelBuffer_INTERFACE_DEFINED__ 2326 2327 typedef ULONG RPCOLEDATAREP; 2328 2329 typedef struct tagRPCOLEMESSAGE { 2330 void *reserved1; 2331 RPCOLEDATAREP dataRepresentation; 2332 void *Buffer; 2333 ULONG cbBuffer; 2334 ULONG iMethod; 2335 void * reserved2[5]; 2336 ULONG rpcFlags; 2337 } RPCOLEMESSAGE; 2338 2339 typedef RPCOLEMESSAGE *PRPCOLEMESSAGE; 2340 2341 DEFINE_GUID(IID_IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); 2342 #if defined(__cplusplus) && !defined(CINTERFACE) 2343 MIDL_INTERFACE("d5f56b60-593b-101a-b569-08002b2dbf7a") 2344 IRpcChannelBuffer : public IUnknown 2345 { 2346 virtual HRESULT STDMETHODCALLTYPE GetBuffer( 2347 RPCOLEMESSAGE *pMessage, 2348 REFIID riid) = 0; 2349 2350 virtual HRESULT STDMETHODCALLTYPE SendReceive( 2351 RPCOLEMESSAGE *pMessage, 2352 ULONG *pStatus) = 0; 2353 2354 virtual HRESULT STDMETHODCALLTYPE FreeBuffer( 2355 RPCOLEMESSAGE *pMessage) = 0; 2356 2357 virtual HRESULT STDMETHODCALLTYPE GetDestCtx( 2358 DWORD *pdwDestContext, 2359 void **ppvDestContext) = 0; 2360 2361 virtual HRESULT STDMETHODCALLTYPE IsConnected( 2362 ) = 0; 2363 2364 }; 2365 #ifdef __CRT_UUID_DECL 2366 __CRT_UUID_DECL(IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a) 2367 #endif 2368 #else 2369 typedef struct IRpcChannelBufferVtbl { 2370 BEGIN_INTERFACE 2371 2372 /*** IUnknown methods ***/ 2373 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2374 IRpcChannelBuffer *This, 2375 REFIID riid, 2376 void **ppvObject); 2377 2378 ULONG (STDMETHODCALLTYPE *AddRef)( 2379 IRpcChannelBuffer *This); 2380 2381 ULONG (STDMETHODCALLTYPE *Release)( 2382 IRpcChannelBuffer *This); 2383 2384 /*** IRpcChannelBuffer methods ***/ 2385 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 2386 IRpcChannelBuffer *This, 2387 RPCOLEMESSAGE *pMessage, 2388 REFIID riid); 2389 2390 HRESULT (STDMETHODCALLTYPE *SendReceive)( 2391 IRpcChannelBuffer *This, 2392 RPCOLEMESSAGE *pMessage, 2393 ULONG *pStatus); 2394 2395 HRESULT (STDMETHODCALLTYPE *FreeBuffer)( 2396 IRpcChannelBuffer *This, 2397 RPCOLEMESSAGE *pMessage); 2398 2399 HRESULT (STDMETHODCALLTYPE *GetDestCtx)( 2400 IRpcChannelBuffer *This, 2401 DWORD *pdwDestContext, 2402 void **ppvDestContext); 2403 2404 HRESULT (STDMETHODCALLTYPE *IsConnected)( 2405 IRpcChannelBuffer *This); 2406 2407 END_INTERFACE 2408 } IRpcChannelBufferVtbl; 2409 2410 interface IRpcChannelBuffer { 2411 CONST_VTBL IRpcChannelBufferVtbl* lpVtbl; 2412 }; 2413 2414 #ifdef COBJMACROS 2415 #ifndef WIDL_C_INLINE_WRAPPERS 2416 /*** IUnknown methods ***/ 2417 #define IRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2418 #define IRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 2419 #define IRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This) 2420 /*** IRpcChannelBuffer methods ***/ 2421 #define IRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid) 2422 #define IRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus) 2423 #define IRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage) 2424 #define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext) 2425 #define IRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This) 2426 #else 2427 /*** IUnknown methods ***/ 2428 static FORCEINLINE HRESULT IRpcChannelBuffer_QueryInterface(IRpcChannelBuffer* This,REFIID riid,void **ppvObject) { 2429 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2430 } 2431 static FORCEINLINE ULONG IRpcChannelBuffer_AddRef(IRpcChannelBuffer* This) { 2432 return This->lpVtbl->AddRef(This); 2433 } 2434 static FORCEINLINE ULONG IRpcChannelBuffer_Release(IRpcChannelBuffer* This) { 2435 return This->lpVtbl->Release(This); 2436 } 2437 /*** IRpcChannelBuffer methods ***/ 2438 static FORCEINLINE HRESULT IRpcChannelBuffer_GetBuffer(IRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,REFIID riid) { 2439 return This->lpVtbl->GetBuffer(This,pMessage,riid); 2440 } 2441 static FORCEINLINE HRESULT IRpcChannelBuffer_SendReceive(IRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) { 2442 return This->lpVtbl->SendReceive(This,pMessage,pStatus); 2443 } 2444 static FORCEINLINE HRESULT IRpcChannelBuffer_FreeBuffer(IRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage) { 2445 return This->lpVtbl->FreeBuffer(This,pMessage); 2446 } 2447 static FORCEINLINE HRESULT IRpcChannelBuffer_GetDestCtx(IRpcChannelBuffer* This,DWORD *pdwDestContext,void **ppvDestContext) { 2448 return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext); 2449 } 2450 static FORCEINLINE HRESULT IRpcChannelBuffer_IsConnected(IRpcChannelBuffer* This) { 2451 return This->lpVtbl->IsConnected(This); 2452 } 2453 #endif 2454 #endif 2455 2456 #endif 2457 2458 2459 #endif /* __IRpcChannelBuffer_INTERFACE_DEFINED__ */ 2460 2461 #endif 2462 2463 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 2464 /***************************************************************************** 2465 * IRpcChannelBuffer2 interface 2466 */ 2467 #ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__ 2468 #define __IRpcChannelBuffer2_INTERFACE_DEFINED__ 2469 2470 DEFINE_GUID(IID_IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf); 2471 #if defined(__cplusplus) && !defined(CINTERFACE) 2472 MIDL_INTERFACE("594f31d0-7f19-11d0-b194-00a0c90dc8bf") 2473 IRpcChannelBuffer2 : public IRpcChannelBuffer 2474 { 2475 virtual HRESULT STDMETHODCALLTYPE GetProtocolVersion( 2476 DWORD *pdwVersion) = 0; 2477 2478 }; 2479 #ifdef __CRT_UUID_DECL 2480 __CRT_UUID_DECL(IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf) 2481 #endif 2482 #else 2483 typedef struct IRpcChannelBuffer2Vtbl { 2484 BEGIN_INTERFACE 2485 2486 /*** IUnknown methods ***/ 2487 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2488 IRpcChannelBuffer2 *This, 2489 REFIID riid, 2490 void **ppvObject); 2491 2492 ULONG (STDMETHODCALLTYPE *AddRef)( 2493 IRpcChannelBuffer2 *This); 2494 2495 ULONG (STDMETHODCALLTYPE *Release)( 2496 IRpcChannelBuffer2 *This); 2497 2498 /*** IRpcChannelBuffer methods ***/ 2499 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 2500 IRpcChannelBuffer2 *This, 2501 RPCOLEMESSAGE *pMessage, 2502 REFIID riid); 2503 2504 HRESULT (STDMETHODCALLTYPE *SendReceive)( 2505 IRpcChannelBuffer2 *This, 2506 RPCOLEMESSAGE *pMessage, 2507 ULONG *pStatus); 2508 2509 HRESULT (STDMETHODCALLTYPE *FreeBuffer)( 2510 IRpcChannelBuffer2 *This, 2511 RPCOLEMESSAGE *pMessage); 2512 2513 HRESULT (STDMETHODCALLTYPE *GetDestCtx)( 2514 IRpcChannelBuffer2 *This, 2515 DWORD *pdwDestContext, 2516 void **ppvDestContext); 2517 2518 HRESULT (STDMETHODCALLTYPE *IsConnected)( 2519 IRpcChannelBuffer2 *This); 2520 2521 /*** IRpcChannelBuffer2 methods ***/ 2522 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)( 2523 IRpcChannelBuffer2 *This, 2524 DWORD *pdwVersion); 2525 2526 END_INTERFACE 2527 } IRpcChannelBuffer2Vtbl; 2528 2529 interface IRpcChannelBuffer2 { 2530 CONST_VTBL IRpcChannelBuffer2Vtbl* lpVtbl; 2531 }; 2532 2533 #ifdef COBJMACROS 2534 #ifndef WIDL_C_INLINE_WRAPPERS 2535 /*** IUnknown methods ***/ 2536 #define IRpcChannelBuffer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2537 #define IRpcChannelBuffer2_AddRef(This) (This)->lpVtbl->AddRef(This) 2538 #define IRpcChannelBuffer2_Release(This) (This)->lpVtbl->Release(This) 2539 /*** IRpcChannelBuffer methods ***/ 2540 #define IRpcChannelBuffer2_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid) 2541 #define IRpcChannelBuffer2_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus) 2542 #define IRpcChannelBuffer2_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage) 2543 #define IRpcChannelBuffer2_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext) 2544 #define IRpcChannelBuffer2_IsConnected(This) (This)->lpVtbl->IsConnected(This) 2545 /*** IRpcChannelBuffer2 methods ***/ 2546 #define IRpcChannelBuffer2_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion) 2547 #else 2548 /*** IUnknown methods ***/ 2549 static FORCEINLINE HRESULT IRpcChannelBuffer2_QueryInterface(IRpcChannelBuffer2* This,REFIID riid,void **ppvObject) { 2550 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2551 } 2552 static FORCEINLINE ULONG IRpcChannelBuffer2_AddRef(IRpcChannelBuffer2* This) { 2553 return This->lpVtbl->AddRef(This); 2554 } 2555 static FORCEINLINE ULONG IRpcChannelBuffer2_Release(IRpcChannelBuffer2* This) { 2556 return This->lpVtbl->Release(This); 2557 } 2558 /*** IRpcChannelBuffer methods ***/ 2559 static FORCEINLINE HRESULT IRpcChannelBuffer2_GetBuffer(IRpcChannelBuffer2* This,RPCOLEMESSAGE *pMessage,REFIID riid) { 2560 return This->lpVtbl->GetBuffer(This,pMessage,riid); 2561 } 2562 static FORCEINLINE HRESULT IRpcChannelBuffer2_SendReceive(IRpcChannelBuffer2* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) { 2563 return This->lpVtbl->SendReceive(This,pMessage,pStatus); 2564 } 2565 static FORCEINLINE HRESULT IRpcChannelBuffer2_FreeBuffer(IRpcChannelBuffer2* This,RPCOLEMESSAGE *pMessage) { 2566 return This->lpVtbl->FreeBuffer(This,pMessage); 2567 } 2568 static FORCEINLINE HRESULT IRpcChannelBuffer2_GetDestCtx(IRpcChannelBuffer2* This,DWORD *pdwDestContext,void **ppvDestContext) { 2569 return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext); 2570 } 2571 static FORCEINLINE HRESULT IRpcChannelBuffer2_IsConnected(IRpcChannelBuffer2* This) { 2572 return This->lpVtbl->IsConnected(This); 2573 } 2574 /*** IRpcChannelBuffer2 methods ***/ 2575 static FORCEINLINE HRESULT IRpcChannelBuffer2_GetProtocolVersion(IRpcChannelBuffer2* This,DWORD *pdwVersion) { 2576 return This->lpVtbl->GetProtocolVersion(This,pdwVersion); 2577 } 2578 #endif 2579 #endif 2580 2581 #endif 2582 2583 2584 #endif /* __IRpcChannelBuffer2_INTERFACE_DEFINED__ */ 2585 2586 2587 /***************************************************************************** 2588 * IAsyncRpcChannelBuffer interface 2589 */ 2590 #ifndef __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__ 2591 #define __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__ 2592 2593 DEFINE_GUID(IID_IAsyncRpcChannelBuffer, 0xa5029fb6, 0x3c34, 0x11d1, 0x9c,0x99, 0x00,0xc0,0x4f,0xb9,0x98,0xaa); 2594 #if defined(__cplusplus) && !defined(CINTERFACE) 2595 MIDL_INTERFACE("a5029fb6-3c34-11d1-9c99-00c04fb998aa") 2596 IAsyncRpcChannelBuffer : public IRpcChannelBuffer2 2597 { 2598 virtual HRESULT STDMETHODCALLTYPE Send( 2599 RPCOLEMESSAGE *pMsg, 2600 ISynchronize *pSync, 2601 ULONG *pulStatus) = 0; 2602 2603 virtual HRESULT STDMETHODCALLTYPE Receive( 2604 RPCOLEMESSAGE *pMsg, 2605 ULONG *pulStatus) = 0; 2606 2607 virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx( 2608 RPCOLEMESSAGE *pMsg, 2609 DWORD *pdwDestContext, 2610 void **ppvDestContext) = 0; 2611 2612 }; 2613 #ifdef __CRT_UUID_DECL 2614 __CRT_UUID_DECL(IAsyncRpcChannelBuffer, 0xa5029fb6, 0x3c34, 0x11d1, 0x9c,0x99, 0x00,0xc0,0x4f,0xb9,0x98,0xaa) 2615 #endif 2616 #else 2617 typedef struct IAsyncRpcChannelBufferVtbl { 2618 BEGIN_INTERFACE 2619 2620 /*** IUnknown methods ***/ 2621 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2622 IAsyncRpcChannelBuffer *This, 2623 REFIID riid, 2624 void **ppvObject); 2625 2626 ULONG (STDMETHODCALLTYPE *AddRef)( 2627 IAsyncRpcChannelBuffer *This); 2628 2629 ULONG (STDMETHODCALLTYPE *Release)( 2630 IAsyncRpcChannelBuffer *This); 2631 2632 /*** IRpcChannelBuffer methods ***/ 2633 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 2634 IAsyncRpcChannelBuffer *This, 2635 RPCOLEMESSAGE *pMessage, 2636 REFIID riid); 2637 2638 HRESULT (STDMETHODCALLTYPE *SendReceive)( 2639 IAsyncRpcChannelBuffer *This, 2640 RPCOLEMESSAGE *pMessage, 2641 ULONG *pStatus); 2642 2643 HRESULT (STDMETHODCALLTYPE *FreeBuffer)( 2644 IAsyncRpcChannelBuffer *This, 2645 RPCOLEMESSAGE *pMessage); 2646 2647 HRESULT (STDMETHODCALLTYPE *GetDestCtx)( 2648 IAsyncRpcChannelBuffer *This, 2649 DWORD *pdwDestContext, 2650 void **ppvDestContext); 2651 2652 HRESULT (STDMETHODCALLTYPE *IsConnected)( 2653 IAsyncRpcChannelBuffer *This); 2654 2655 /*** IRpcChannelBuffer2 methods ***/ 2656 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)( 2657 IAsyncRpcChannelBuffer *This, 2658 DWORD *pdwVersion); 2659 2660 /*** IAsyncRpcChannelBuffer methods ***/ 2661 HRESULT (STDMETHODCALLTYPE *Send)( 2662 IAsyncRpcChannelBuffer *This, 2663 RPCOLEMESSAGE *pMsg, 2664 ISynchronize *pSync, 2665 ULONG *pulStatus); 2666 2667 HRESULT (STDMETHODCALLTYPE *Receive)( 2668 IAsyncRpcChannelBuffer *This, 2669 RPCOLEMESSAGE *pMsg, 2670 ULONG *pulStatus); 2671 2672 HRESULT (STDMETHODCALLTYPE *GetDestCtxEx)( 2673 IAsyncRpcChannelBuffer *This, 2674 RPCOLEMESSAGE *pMsg, 2675 DWORD *pdwDestContext, 2676 void **ppvDestContext); 2677 2678 END_INTERFACE 2679 } IAsyncRpcChannelBufferVtbl; 2680 2681 interface IAsyncRpcChannelBuffer { 2682 CONST_VTBL IAsyncRpcChannelBufferVtbl* lpVtbl; 2683 }; 2684 2685 #ifdef COBJMACROS 2686 #ifndef WIDL_C_INLINE_WRAPPERS 2687 /*** IUnknown methods ***/ 2688 #define IAsyncRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2689 #define IAsyncRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 2690 #define IAsyncRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This) 2691 /*** IRpcChannelBuffer methods ***/ 2692 #define IAsyncRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid) 2693 #define IAsyncRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus) 2694 #define IAsyncRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage) 2695 #define IAsyncRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext) 2696 #define IAsyncRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This) 2697 /*** IRpcChannelBuffer2 methods ***/ 2698 #define IAsyncRpcChannelBuffer_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion) 2699 /*** IAsyncRpcChannelBuffer methods ***/ 2700 #define IAsyncRpcChannelBuffer_Send(This,pMsg,pSync,pulStatus) (This)->lpVtbl->Send(This,pMsg,pSync,pulStatus) 2701 #define IAsyncRpcChannelBuffer_Receive(This,pMsg,pulStatus) (This)->lpVtbl->Receive(This,pMsg,pulStatus) 2702 #define IAsyncRpcChannelBuffer_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) 2703 #else 2704 /*** IUnknown methods ***/ 2705 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_QueryInterface(IAsyncRpcChannelBuffer* This,REFIID riid,void **ppvObject) { 2706 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2707 } 2708 static FORCEINLINE ULONG IAsyncRpcChannelBuffer_AddRef(IAsyncRpcChannelBuffer* This) { 2709 return This->lpVtbl->AddRef(This); 2710 } 2711 static FORCEINLINE ULONG IAsyncRpcChannelBuffer_Release(IAsyncRpcChannelBuffer* This) { 2712 return This->lpVtbl->Release(This); 2713 } 2714 /*** IRpcChannelBuffer methods ***/ 2715 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_GetBuffer(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,REFIID riid) { 2716 return This->lpVtbl->GetBuffer(This,pMessage,riid); 2717 } 2718 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_SendReceive(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) { 2719 return This->lpVtbl->SendReceive(This,pMessage,pStatus); 2720 } 2721 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_FreeBuffer(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage) { 2722 return This->lpVtbl->FreeBuffer(This,pMessage); 2723 } 2724 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_GetDestCtx(IAsyncRpcChannelBuffer* This,DWORD *pdwDestContext,void **ppvDestContext) { 2725 return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext); 2726 } 2727 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_IsConnected(IAsyncRpcChannelBuffer* This) { 2728 return This->lpVtbl->IsConnected(This); 2729 } 2730 /*** IRpcChannelBuffer2 methods ***/ 2731 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_GetProtocolVersion(IAsyncRpcChannelBuffer* This,DWORD *pdwVersion) { 2732 return This->lpVtbl->GetProtocolVersion(This,pdwVersion); 2733 } 2734 /*** IAsyncRpcChannelBuffer methods ***/ 2735 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_Send(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus) { 2736 return This->lpVtbl->Send(This,pMsg,pSync,pulStatus); 2737 } 2738 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_Receive(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus) { 2739 return This->lpVtbl->Receive(This,pMsg,pulStatus); 2740 } 2741 static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_GetDestCtxEx(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) { 2742 return This->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext); 2743 } 2744 #endif 2745 #endif 2746 2747 #endif 2748 2749 2750 #endif /* __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__ */ 2751 2752 2753 /***************************************************************************** 2754 * IRpcChannelBuffer3 interface 2755 */ 2756 #ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__ 2757 #define __IRpcChannelBuffer3_INTERFACE_DEFINED__ 2758 2759 DEFINE_GUID(IID_IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2); 2760 #if defined(__cplusplus) && !defined(CINTERFACE) 2761 MIDL_INTERFACE("25b15600-0115-11d0-bf0d-00aa00b8dfd2") 2762 IRpcChannelBuffer3 : public IRpcChannelBuffer2 2763 { 2764 virtual HRESULT STDMETHODCALLTYPE Send( 2765 RPCOLEMESSAGE *pMsg, 2766 ULONG *pulStatus) = 0; 2767 2768 virtual HRESULT STDMETHODCALLTYPE Receive( 2769 RPCOLEMESSAGE *pMsg, 2770 ULONG ulSize, 2771 ULONG *pulStatus) = 0; 2772 2773 virtual HRESULT STDMETHODCALLTYPE Cancel( 2774 RPCOLEMESSAGE *pMsg) = 0; 2775 2776 virtual HRESULT STDMETHODCALLTYPE GetCallContext( 2777 RPCOLEMESSAGE *pMsg, 2778 REFIID riid, 2779 void **pInterface) = 0; 2780 2781 virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx( 2782 RPCOLEMESSAGE *pMsg, 2783 DWORD *pdwDestContext, 2784 void **ppvDestContext) = 0; 2785 2786 virtual HRESULT STDMETHODCALLTYPE GetState( 2787 RPCOLEMESSAGE *pMsg, 2788 DWORD *pState) = 0; 2789 2790 virtual HRESULT STDMETHODCALLTYPE RegisterAsync( 2791 RPCOLEMESSAGE *pMsg, 2792 IAsyncManager *pAsyncMgr) = 0; 2793 2794 }; 2795 #ifdef __CRT_UUID_DECL 2796 __CRT_UUID_DECL(IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2) 2797 #endif 2798 #else 2799 typedef struct IRpcChannelBuffer3Vtbl { 2800 BEGIN_INTERFACE 2801 2802 /*** IUnknown methods ***/ 2803 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2804 IRpcChannelBuffer3 *This, 2805 REFIID riid, 2806 void **ppvObject); 2807 2808 ULONG (STDMETHODCALLTYPE *AddRef)( 2809 IRpcChannelBuffer3 *This); 2810 2811 ULONG (STDMETHODCALLTYPE *Release)( 2812 IRpcChannelBuffer3 *This); 2813 2814 /*** IRpcChannelBuffer methods ***/ 2815 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 2816 IRpcChannelBuffer3 *This, 2817 RPCOLEMESSAGE *pMessage, 2818 REFIID riid); 2819 2820 HRESULT (STDMETHODCALLTYPE *SendReceive)( 2821 IRpcChannelBuffer3 *This, 2822 RPCOLEMESSAGE *pMessage, 2823 ULONG *pStatus); 2824 2825 HRESULT (STDMETHODCALLTYPE *FreeBuffer)( 2826 IRpcChannelBuffer3 *This, 2827 RPCOLEMESSAGE *pMessage); 2828 2829 HRESULT (STDMETHODCALLTYPE *GetDestCtx)( 2830 IRpcChannelBuffer3 *This, 2831 DWORD *pdwDestContext, 2832 void **ppvDestContext); 2833 2834 HRESULT (STDMETHODCALLTYPE *IsConnected)( 2835 IRpcChannelBuffer3 *This); 2836 2837 /*** IRpcChannelBuffer2 methods ***/ 2838 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)( 2839 IRpcChannelBuffer3 *This, 2840 DWORD *pdwVersion); 2841 2842 /*** IRpcChannelBuffer3 methods ***/ 2843 HRESULT (STDMETHODCALLTYPE *Send)( 2844 IRpcChannelBuffer3 *This, 2845 RPCOLEMESSAGE *pMsg, 2846 ULONG *pulStatus); 2847 2848 HRESULT (STDMETHODCALLTYPE *Receive)( 2849 IRpcChannelBuffer3 *This, 2850 RPCOLEMESSAGE *pMsg, 2851 ULONG ulSize, 2852 ULONG *pulStatus); 2853 2854 HRESULT (STDMETHODCALLTYPE *Cancel)( 2855 IRpcChannelBuffer3 *This, 2856 RPCOLEMESSAGE *pMsg); 2857 2858 HRESULT (STDMETHODCALLTYPE *GetCallContext)( 2859 IRpcChannelBuffer3 *This, 2860 RPCOLEMESSAGE *pMsg, 2861 REFIID riid, 2862 void **pInterface); 2863 2864 HRESULT (STDMETHODCALLTYPE *GetDestCtxEx)( 2865 IRpcChannelBuffer3 *This, 2866 RPCOLEMESSAGE *pMsg, 2867 DWORD *pdwDestContext, 2868 void **ppvDestContext); 2869 2870 HRESULT (STDMETHODCALLTYPE *GetState)( 2871 IRpcChannelBuffer3 *This, 2872 RPCOLEMESSAGE *pMsg, 2873 DWORD *pState); 2874 2875 HRESULT (STDMETHODCALLTYPE *RegisterAsync)( 2876 IRpcChannelBuffer3 *This, 2877 RPCOLEMESSAGE *pMsg, 2878 IAsyncManager *pAsyncMgr); 2879 2880 END_INTERFACE 2881 } IRpcChannelBuffer3Vtbl; 2882 2883 interface IRpcChannelBuffer3 { 2884 CONST_VTBL IRpcChannelBuffer3Vtbl* lpVtbl; 2885 }; 2886 2887 #ifdef COBJMACROS 2888 #ifndef WIDL_C_INLINE_WRAPPERS 2889 /*** IUnknown methods ***/ 2890 #define IRpcChannelBuffer3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2891 #define IRpcChannelBuffer3_AddRef(This) (This)->lpVtbl->AddRef(This) 2892 #define IRpcChannelBuffer3_Release(This) (This)->lpVtbl->Release(This) 2893 /*** IRpcChannelBuffer methods ***/ 2894 #define IRpcChannelBuffer3_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid) 2895 #define IRpcChannelBuffer3_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus) 2896 #define IRpcChannelBuffer3_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage) 2897 #define IRpcChannelBuffer3_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext) 2898 #define IRpcChannelBuffer3_IsConnected(This) (This)->lpVtbl->IsConnected(This) 2899 /*** IRpcChannelBuffer2 methods ***/ 2900 #define IRpcChannelBuffer3_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion) 2901 /*** IRpcChannelBuffer3 methods ***/ 2902 #define IRpcChannelBuffer3_Send(This,pMsg,pulStatus) (This)->lpVtbl->Send(This,pMsg,pulStatus) 2903 #define IRpcChannelBuffer3_Receive(This,pMsg,ulSize,pulStatus) (This)->lpVtbl->Receive(This,pMsg,ulSize,pulStatus) 2904 #define IRpcChannelBuffer3_Cancel(This,pMsg) (This)->lpVtbl->Cancel(This,pMsg) 2905 #define IRpcChannelBuffer3_GetCallContext(This,pMsg,riid,pInterface) (This)->lpVtbl->GetCallContext(This,pMsg,riid,pInterface) 2906 #define IRpcChannelBuffer3_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) 2907 #define IRpcChannelBuffer3_GetState(This,pMsg,pState) (This)->lpVtbl->GetState(This,pMsg,pState) 2908 #define IRpcChannelBuffer3_RegisterAsync(This,pMsg,pAsyncMgr) (This)->lpVtbl->RegisterAsync(This,pMsg,pAsyncMgr) 2909 #else 2910 /*** IUnknown methods ***/ 2911 static FORCEINLINE HRESULT IRpcChannelBuffer3_QueryInterface(IRpcChannelBuffer3* This,REFIID riid,void **ppvObject) { 2912 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2913 } 2914 static FORCEINLINE ULONG IRpcChannelBuffer3_AddRef(IRpcChannelBuffer3* This) { 2915 return This->lpVtbl->AddRef(This); 2916 } 2917 static FORCEINLINE ULONG IRpcChannelBuffer3_Release(IRpcChannelBuffer3* This) { 2918 return This->lpVtbl->Release(This); 2919 } 2920 /*** IRpcChannelBuffer methods ***/ 2921 static FORCEINLINE HRESULT IRpcChannelBuffer3_GetBuffer(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMessage,REFIID riid) { 2922 return This->lpVtbl->GetBuffer(This,pMessage,riid); 2923 } 2924 static FORCEINLINE HRESULT IRpcChannelBuffer3_SendReceive(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) { 2925 return This->lpVtbl->SendReceive(This,pMessage,pStatus); 2926 } 2927 static FORCEINLINE HRESULT IRpcChannelBuffer3_FreeBuffer(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMessage) { 2928 return This->lpVtbl->FreeBuffer(This,pMessage); 2929 } 2930 static FORCEINLINE HRESULT IRpcChannelBuffer3_GetDestCtx(IRpcChannelBuffer3* This,DWORD *pdwDestContext,void **ppvDestContext) { 2931 return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext); 2932 } 2933 static FORCEINLINE HRESULT IRpcChannelBuffer3_IsConnected(IRpcChannelBuffer3* This) { 2934 return This->lpVtbl->IsConnected(This); 2935 } 2936 /*** IRpcChannelBuffer2 methods ***/ 2937 static FORCEINLINE HRESULT IRpcChannelBuffer3_GetProtocolVersion(IRpcChannelBuffer3* This,DWORD *pdwVersion) { 2938 return This->lpVtbl->GetProtocolVersion(This,pdwVersion); 2939 } 2940 /*** IRpcChannelBuffer3 methods ***/ 2941 static FORCEINLINE HRESULT IRpcChannelBuffer3_Send(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus) { 2942 return This->lpVtbl->Send(This,pMsg,pulStatus); 2943 } 2944 static FORCEINLINE HRESULT IRpcChannelBuffer3_Receive(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus) { 2945 return This->lpVtbl->Receive(This,pMsg,ulSize,pulStatus); 2946 } 2947 static FORCEINLINE HRESULT IRpcChannelBuffer3_Cancel(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg) { 2948 return This->lpVtbl->Cancel(This,pMsg); 2949 } 2950 static FORCEINLINE HRESULT IRpcChannelBuffer3_GetCallContext(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface) { 2951 return This->lpVtbl->GetCallContext(This,pMsg,riid,pInterface); 2952 } 2953 static FORCEINLINE HRESULT IRpcChannelBuffer3_GetDestCtxEx(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) { 2954 return This->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext); 2955 } 2956 static FORCEINLINE HRESULT IRpcChannelBuffer3_GetState(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,DWORD *pState) { 2957 return This->lpVtbl->GetState(This,pMsg,pState); 2958 } 2959 static FORCEINLINE HRESULT IRpcChannelBuffer3_RegisterAsync(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr) { 2960 return This->lpVtbl->RegisterAsync(This,pMsg,pAsyncMgr); 2961 } 2962 #endif 2963 #endif 2964 2965 #endif 2966 2967 2968 #endif /* __IRpcChannelBuffer3_INTERFACE_DEFINED__ */ 2969 2970 2971 /***************************************************************************** 2972 * IRpcSyntaxNegotiate interface 2973 */ 2974 #ifndef __IRpcSyntaxNegotiate_INTERFACE_DEFINED__ 2975 #define __IRpcSyntaxNegotiate_INTERFACE_DEFINED__ 2976 2977 DEFINE_GUID(IID_IRpcSyntaxNegotiate, 0x58a08519, 0x24c8, 0x4935, 0xb4,0x82, 0x3f,0xd8,0x23,0x33,0x3a,0x4f); 2978 #if defined(__cplusplus) && !defined(CINTERFACE) 2979 MIDL_INTERFACE("58a08519-24c8-4935-b482-3fd823333a4f") 2980 IRpcSyntaxNegotiate : public IUnknown 2981 { 2982 virtual HRESULT STDMETHODCALLTYPE NegotiateSyntax( 2983 RPCOLEMESSAGE *pMsg) = 0; 2984 2985 }; 2986 #ifdef __CRT_UUID_DECL 2987 __CRT_UUID_DECL(IRpcSyntaxNegotiate, 0x58a08519, 0x24c8, 0x4935, 0xb4,0x82, 0x3f,0xd8,0x23,0x33,0x3a,0x4f) 2988 #endif 2989 #else 2990 typedef struct IRpcSyntaxNegotiateVtbl { 2991 BEGIN_INTERFACE 2992 2993 /*** IUnknown methods ***/ 2994 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2995 IRpcSyntaxNegotiate *This, 2996 REFIID riid, 2997 void **ppvObject); 2998 2999 ULONG (STDMETHODCALLTYPE *AddRef)( 3000 IRpcSyntaxNegotiate *This); 3001 3002 ULONG (STDMETHODCALLTYPE *Release)( 3003 IRpcSyntaxNegotiate *This); 3004 3005 /*** IRpcSyntaxNegotiate methods ***/ 3006 HRESULT (STDMETHODCALLTYPE *NegotiateSyntax)( 3007 IRpcSyntaxNegotiate *This, 3008 RPCOLEMESSAGE *pMsg); 3009 3010 END_INTERFACE 3011 } IRpcSyntaxNegotiateVtbl; 3012 3013 interface IRpcSyntaxNegotiate { 3014 CONST_VTBL IRpcSyntaxNegotiateVtbl* lpVtbl; 3015 }; 3016 3017 #ifdef COBJMACROS 3018 #ifndef WIDL_C_INLINE_WRAPPERS 3019 /*** IUnknown methods ***/ 3020 #define IRpcSyntaxNegotiate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3021 #define IRpcSyntaxNegotiate_AddRef(This) (This)->lpVtbl->AddRef(This) 3022 #define IRpcSyntaxNegotiate_Release(This) (This)->lpVtbl->Release(This) 3023 /*** IRpcSyntaxNegotiate methods ***/ 3024 #define IRpcSyntaxNegotiate_NegotiateSyntax(This,pMsg) (This)->lpVtbl->NegotiateSyntax(This,pMsg) 3025 #else 3026 /*** IUnknown methods ***/ 3027 static FORCEINLINE HRESULT IRpcSyntaxNegotiate_QueryInterface(IRpcSyntaxNegotiate* This,REFIID riid,void **ppvObject) { 3028 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3029 } 3030 static FORCEINLINE ULONG IRpcSyntaxNegotiate_AddRef(IRpcSyntaxNegotiate* This) { 3031 return This->lpVtbl->AddRef(This); 3032 } 3033 static FORCEINLINE ULONG IRpcSyntaxNegotiate_Release(IRpcSyntaxNegotiate* This) { 3034 return This->lpVtbl->Release(This); 3035 } 3036 /*** IRpcSyntaxNegotiate methods ***/ 3037 static FORCEINLINE HRESULT IRpcSyntaxNegotiate_NegotiateSyntax(IRpcSyntaxNegotiate* This,RPCOLEMESSAGE *pMsg) { 3038 return This->lpVtbl->NegotiateSyntax(This,pMsg); 3039 } 3040 #endif 3041 #endif 3042 3043 #endif 3044 3045 3046 #endif /* __IRpcSyntaxNegotiate_INTERFACE_DEFINED__ */ 3047 3048 3049 /***************************************************************************** 3050 * IRpcProxyBuffer interface 3051 */ 3052 #ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__ 3053 #define __IRpcProxyBuffer_INTERFACE_DEFINED__ 3054 3055 DEFINE_GUID(IID_IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); 3056 #if defined(__cplusplus) && !defined(CINTERFACE) 3057 MIDL_INTERFACE("d5f56a34-593b-101a-b569-08002b2dbf7a") 3058 IRpcProxyBuffer : public IUnknown 3059 { 3060 virtual HRESULT STDMETHODCALLTYPE Connect( 3061 IRpcChannelBuffer *pRpcChannelBuffer) = 0; 3062 3063 virtual void STDMETHODCALLTYPE Disconnect( 3064 ) = 0; 3065 3066 }; 3067 #ifdef __CRT_UUID_DECL 3068 __CRT_UUID_DECL(IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a) 3069 #endif 3070 #else 3071 typedef struct IRpcProxyBufferVtbl { 3072 BEGIN_INTERFACE 3073 3074 /*** IUnknown methods ***/ 3075 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3076 IRpcProxyBuffer *This, 3077 REFIID riid, 3078 void **ppvObject); 3079 3080 ULONG (STDMETHODCALLTYPE *AddRef)( 3081 IRpcProxyBuffer *This); 3082 3083 ULONG (STDMETHODCALLTYPE *Release)( 3084 IRpcProxyBuffer *This); 3085 3086 /*** IRpcProxyBuffer methods ***/ 3087 HRESULT (STDMETHODCALLTYPE *Connect)( 3088 IRpcProxyBuffer *This, 3089 IRpcChannelBuffer *pRpcChannelBuffer); 3090 3091 void (STDMETHODCALLTYPE *Disconnect)( 3092 IRpcProxyBuffer *This); 3093 3094 END_INTERFACE 3095 } IRpcProxyBufferVtbl; 3096 3097 interface IRpcProxyBuffer { 3098 CONST_VTBL IRpcProxyBufferVtbl* lpVtbl; 3099 }; 3100 3101 #ifdef COBJMACROS 3102 #ifndef WIDL_C_INLINE_WRAPPERS 3103 /*** IUnknown methods ***/ 3104 #define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3105 #define IRpcProxyBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 3106 #define IRpcProxyBuffer_Release(This) (This)->lpVtbl->Release(This) 3107 /*** IRpcProxyBuffer methods ***/ 3108 #define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer) (This)->lpVtbl->Connect(This,pRpcChannelBuffer) 3109 #define IRpcProxyBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This) 3110 #else 3111 /*** IUnknown methods ***/ 3112 static FORCEINLINE HRESULT IRpcProxyBuffer_QueryInterface(IRpcProxyBuffer* This,REFIID riid,void **ppvObject) { 3113 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3114 } 3115 static FORCEINLINE ULONG IRpcProxyBuffer_AddRef(IRpcProxyBuffer* This) { 3116 return This->lpVtbl->AddRef(This); 3117 } 3118 static FORCEINLINE ULONG IRpcProxyBuffer_Release(IRpcProxyBuffer* This) { 3119 return This->lpVtbl->Release(This); 3120 } 3121 /*** IRpcProxyBuffer methods ***/ 3122 static FORCEINLINE HRESULT IRpcProxyBuffer_Connect(IRpcProxyBuffer* This,IRpcChannelBuffer *pRpcChannelBuffer) { 3123 return This->lpVtbl->Connect(This,pRpcChannelBuffer); 3124 } 3125 static FORCEINLINE void IRpcProxyBuffer_Disconnect(IRpcProxyBuffer* This) { 3126 This->lpVtbl->Disconnect(This); 3127 } 3128 #endif 3129 #endif 3130 3131 #endif 3132 3133 3134 #endif /* __IRpcProxyBuffer_INTERFACE_DEFINED__ */ 3135 3136 #endif 3137 3138 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 3139 /***************************************************************************** 3140 * IRpcStubBuffer interface 3141 */ 3142 #ifndef __IRpcStubBuffer_INTERFACE_DEFINED__ 3143 #define __IRpcStubBuffer_INTERFACE_DEFINED__ 3144 3145 DEFINE_GUID(IID_IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); 3146 #if defined(__cplusplus) && !defined(CINTERFACE) 3147 MIDL_INTERFACE("d5f56afc-593b-101a-b569-08002b2dbf7a") 3148 IRpcStubBuffer : public IUnknown 3149 { 3150 virtual HRESULT STDMETHODCALLTYPE Connect( 3151 IUnknown *pUnkServer) = 0; 3152 3153 virtual void STDMETHODCALLTYPE Disconnect( 3154 ) = 0; 3155 3156 virtual HRESULT STDMETHODCALLTYPE Invoke( 3157 RPCOLEMESSAGE *_prpcmsg, 3158 IRpcChannelBuffer *_pRpcChannelBuffer) = 0; 3159 3160 virtual IRpcStubBuffer * STDMETHODCALLTYPE IsIIDSupported( 3161 REFIID riid) = 0; 3162 3163 virtual ULONG STDMETHODCALLTYPE CountRefs( 3164 ) = 0; 3165 3166 virtual HRESULT STDMETHODCALLTYPE DebugServerQueryInterface( 3167 void **ppv) = 0; 3168 3169 virtual void STDMETHODCALLTYPE DebugServerRelease( 3170 void *pv) = 0; 3171 3172 }; 3173 #ifdef __CRT_UUID_DECL 3174 __CRT_UUID_DECL(IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a) 3175 #endif 3176 #else 3177 typedef struct IRpcStubBufferVtbl { 3178 BEGIN_INTERFACE 3179 3180 /*** IUnknown methods ***/ 3181 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3182 IRpcStubBuffer *This, 3183 REFIID riid, 3184 void **ppvObject); 3185 3186 ULONG (STDMETHODCALLTYPE *AddRef)( 3187 IRpcStubBuffer *This); 3188 3189 ULONG (STDMETHODCALLTYPE *Release)( 3190 IRpcStubBuffer *This); 3191 3192 /*** IRpcStubBuffer methods ***/ 3193 HRESULT (STDMETHODCALLTYPE *Connect)( 3194 IRpcStubBuffer *This, 3195 IUnknown *pUnkServer); 3196 3197 void (STDMETHODCALLTYPE *Disconnect)( 3198 IRpcStubBuffer *This); 3199 3200 HRESULT (STDMETHODCALLTYPE *Invoke)( 3201 IRpcStubBuffer *This, 3202 RPCOLEMESSAGE *_prpcmsg, 3203 IRpcChannelBuffer *_pRpcChannelBuffer); 3204 3205 IRpcStubBuffer * (STDMETHODCALLTYPE *IsIIDSupported)( 3206 IRpcStubBuffer *This, 3207 REFIID riid); 3208 3209 ULONG (STDMETHODCALLTYPE *CountRefs)( 3210 IRpcStubBuffer *This); 3211 3212 HRESULT (STDMETHODCALLTYPE *DebugServerQueryInterface)( 3213 IRpcStubBuffer *This, 3214 void **ppv); 3215 3216 void (STDMETHODCALLTYPE *DebugServerRelease)( 3217 IRpcStubBuffer *This, 3218 void *pv); 3219 3220 END_INTERFACE 3221 } IRpcStubBufferVtbl; 3222 3223 interface IRpcStubBuffer { 3224 CONST_VTBL IRpcStubBufferVtbl* lpVtbl; 3225 }; 3226 3227 #ifdef COBJMACROS 3228 #ifndef WIDL_C_INLINE_WRAPPERS 3229 /*** IUnknown methods ***/ 3230 #define IRpcStubBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3231 #define IRpcStubBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 3232 #define IRpcStubBuffer_Release(This) (This)->lpVtbl->Release(This) 3233 /*** IRpcStubBuffer methods ***/ 3234 #define IRpcStubBuffer_Connect(This,pUnkServer) (This)->lpVtbl->Connect(This,pUnkServer) 3235 #define IRpcStubBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This) 3236 #define IRpcStubBuffer_Invoke(This,_prpcmsg,_pRpcChannelBuffer) (This)->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer) 3237 #define IRpcStubBuffer_IsIIDSupported(This,riid) (This)->lpVtbl->IsIIDSupported(This,riid) 3238 #define IRpcStubBuffer_CountRefs(This) (This)->lpVtbl->CountRefs(This) 3239 #define IRpcStubBuffer_DebugServerQueryInterface(This,ppv) (This)->lpVtbl->DebugServerQueryInterface(This,ppv) 3240 #define IRpcStubBuffer_DebugServerRelease(This,pv) (This)->lpVtbl->DebugServerRelease(This,pv) 3241 #else 3242 /*** IUnknown methods ***/ 3243 static FORCEINLINE HRESULT IRpcStubBuffer_QueryInterface(IRpcStubBuffer* This,REFIID riid,void **ppvObject) { 3244 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3245 } 3246 static FORCEINLINE ULONG IRpcStubBuffer_AddRef(IRpcStubBuffer* This) { 3247 return This->lpVtbl->AddRef(This); 3248 } 3249 static FORCEINLINE ULONG IRpcStubBuffer_Release(IRpcStubBuffer* This) { 3250 return This->lpVtbl->Release(This); 3251 } 3252 /*** IRpcStubBuffer methods ***/ 3253 static FORCEINLINE HRESULT IRpcStubBuffer_Connect(IRpcStubBuffer* This,IUnknown *pUnkServer) { 3254 return This->lpVtbl->Connect(This,pUnkServer); 3255 } 3256 static FORCEINLINE void IRpcStubBuffer_Disconnect(IRpcStubBuffer* This) { 3257 This->lpVtbl->Disconnect(This); 3258 } 3259 static FORCEINLINE HRESULT IRpcStubBuffer_Invoke(IRpcStubBuffer* This,RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer) { 3260 return This->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer); 3261 } 3262 static FORCEINLINE IRpcStubBuffer * IRpcStubBuffer_IsIIDSupported(IRpcStubBuffer* This,REFIID riid) { 3263 return This->lpVtbl->IsIIDSupported(This,riid); 3264 } 3265 static FORCEINLINE ULONG IRpcStubBuffer_CountRefs(IRpcStubBuffer* This) { 3266 return This->lpVtbl->CountRefs(This); 3267 } 3268 static FORCEINLINE HRESULT IRpcStubBuffer_DebugServerQueryInterface(IRpcStubBuffer* This,void **ppv) { 3269 return This->lpVtbl->DebugServerQueryInterface(This,ppv); 3270 } 3271 static FORCEINLINE void IRpcStubBuffer_DebugServerRelease(IRpcStubBuffer* This,void *pv) { 3272 This->lpVtbl->DebugServerRelease(This,pv); 3273 } 3274 #endif 3275 #endif 3276 3277 #endif 3278 3279 3280 #endif /* __IRpcStubBuffer_INTERFACE_DEFINED__ */ 3281 3282 3283 /***************************************************************************** 3284 * IPSFactoryBuffer interface 3285 */ 3286 #ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__ 3287 #define __IPSFactoryBuffer_INTERFACE_DEFINED__ 3288 3289 DEFINE_GUID(IID_IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); 3290 #if defined(__cplusplus) && !defined(CINTERFACE) 3291 MIDL_INTERFACE("d5f569d0-593b-101a-b569-08002b2dbf7a") 3292 IPSFactoryBuffer : public IUnknown 3293 { 3294 virtual HRESULT STDMETHODCALLTYPE CreateProxy( 3295 IUnknown *pUnkOuter, 3296 REFIID riid, 3297 IRpcProxyBuffer **ppProxy, 3298 void **ppv) = 0; 3299 3300 virtual HRESULT STDMETHODCALLTYPE CreateStub( 3301 REFIID riid, 3302 IUnknown *pUnkServer, 3303 IRpcStubBuffer **ppStub) = 0; 3304 3305 }; 3306 #ifdef __CRT_UUID_DECL 3307 __CRT_UUID_DECL(IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a) 3308 #endif 3309 #else 3310 typedef struct IPSFactoryBufferVtbl { 3311 BEGIN_INTERFACE 3312 3313 /*** IUnknown methods ***/ 3314 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3315 IPSFactoryBuffer *This, 3316 REFIID riid, 3317 void **ppvObject); 3318 3319 ULONG (STDMETHODCALLTYPE *AddRef)( 3320 IPSFactoryBuffer *This); 3321 3322 ULONG (STDMETHODCALLTYPE *Release)( 3323 IPSFactoryBuffer *This); 3324 3325 /*** IPSFactoryBuffer methods ***/ 3326 HRESULT (STDMETHODCALLTYPE *CreateProxy)( 3327 IPSFactoryBuffer *This, 3328 IUnknown *pUnkOuter, 3329 REFIID riid, 3330 IRpcProxyBuffer **ppProxy, 3331 void **ppv); 3332 3333 HRESULT (STDMETHODCALLTYPE *CreateStub)( 3334 IPSFactoryBuffer *This, 3335 REFIID riid, 3336 IUnknown *pUnkServer, 3337 IRpcStubBuffer **ppStub); 3338 3339 END_INTERFACE 3340 } IPSFactoryBufferVtbl; 3341 3342 interface IPSFactoryBuffer { 3343 CONST_VTBL IPSFactoryBufferVtbl* lpVtbl; 3344 }; 3345 3346 #ifdef COBJMACROS 3347 #ifndef WIDL_C_INLINE_WRAPPERS 3348 /*** IUnknown methods ***/ 3349 #define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3350 #define IPSFactoryBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 3351 #define IPSFactoryBuffer_Release(This) (This)->lpVtbl->Release(This) 3352 /*** IPSFactoryBuffer methods ***/ 3353 #define IPSFactoryBuffer_CreateProxy(This,pUnkOuter,riid,ppProxy,ppv) (This)->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,ppv) 3354 #define IPSFactoryBuffer_CreateStub(This,riid,pUnkServer,ppStub) (This)->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub) 3355 #else 3356 /*** IUnknown methods ***/ 3357 static FORCEINLINE HRESULT IPSFactoryBuffer_QueryInterface(IPSFactoryBuffer* This,REFIID riid,void **ppvObject) { 3358 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3359 } 3360 static FORCEINLINE ULONG IPSFactoryBuffer_AddRef(IPSFactoryBuffer* This) { 3361 return This->lpVtbl->AddRef(This); 3362 } 3363 static FORCEINLINE ULONG IPSFactoryBuffer_Release(IPSFactoryBuffer* This) { 3364 return This->lpVtbl->Release(This); 3365 } 3366 /*** IPSFactoryBuffer methods ***/ 3367 static FORCEINLINE HRESULT IPSFactoryBuffer_CreateProxy(IPSFactoryBuffer* This,IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv) { 3368 return This->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,ppv); 3369 } 3370 static FORCEINLINE HRESULT IPSFactoryBuffer_CreateStub(IPSFactoryBuffer* This,REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub) { 3371 return This->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub); 3372 } 3373 #endif 3374 #endif 3375 3376 #endif 3377 3378 3379 #endif /* __IPSFactoryBuffer_INTERFACE_DEFINED__ */ 3380 3381 #endif 3382 3383 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 3384 #if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) 3385 typedef struct SChannelHookCallInfo { 3386 IID iid; 3387 DWORD cbSize; 3388 GUID uCausality; 3389 DWORD dwServerPid; 3390 DWORD iMethod; 3391 void *pObject; 3392 } SChannelHookCallInfo; 3393 3394 /***************************************************************************** 3395 * IChannelHook interface 3396 */ 3397 #ifndef __IChannelHook_INTERFACE_DEFINED__ 3398 #define __IChannelHook_INTERFACE_DEFINED__ 3399 3400 DEFINE_GUID(IID_IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4); 3401 #if defined(__cplusplus) && !defined(CINTERFACE) 3402 MIDL_INTERFACE("1008c4a0-7613-11cf-9af1-0020af6e72f4") 3403 IChannelHook : public IUnknown 3404 { 3405 virtual void STDMETHODCALLTYPE ClientGetSize( 3406 REFGUID uExtent, 3407 REFIID riid, 3408 ULONG *pDataSize) = 0; 3409 3410 virtual void STDMETHODCALLTYPE ClientFillBuffer( 3411 REFGUID uExtent, 3412 REFIID riid, 3413 ULONG *pDataSize, 3414 void *pDataBuffer) = 0; 3415 3416 virtual void STDMETHODCALLTYPE ClientNotify( 3417 REFGUID uExtent, 3418 REFIID riid, 3419 ULONG cbDataSize, 3420 void *pDataBuffer, 3421 DWORD lDataRep, 3422 HRESULT hrFault) = 0; 3423 3424 virtual void STDMETHODCALLTYPE ServerNotify( 3425 REFGUID uExtent, 3426 REFIID riid, 3427 ULONG cbDataSize, 3428 void *pDataBuffer, 3429 DWORD lDataRep) = 0; 3430 3431 virtual void STDMETHODCALLTYPE ServerGetSize( 3432 REFGUID uExtent, 3433 REFIID riid, 3434 HRESULT hrFault, 3435 ULONG *pDataSize) = 0; 3436 3437 virtual void STDMETHODCALLTYPE ServerFillBuffer( 3438 REFGUID uExtent, 3439 REFIID riid, 3440 ULONG *pDataSize, 3441 void *pDataBuffer, 3442 HRESULT hrFault) = 0; 3443 3444 }; 3445 #ifdef __CRT_UUID_DECL 3446 __CRT_UUID_DECL(IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4) 3447 #endif 3448 #else 3449 typedef struct IChannelHookVtbl { 3450 BEGIN_INTERFACE 3451 3452 /*** IUnknown methods ***/ 3453 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3454 IChannelHook *This, 3455 REFIID riid, 3456 void **ppvObject); 3457 3458 ULONG (STDMETHODCALLTYPE *AddRef)( 3459 IChannelHook *This); 3460 3461 ULONG (STDMETHODCALLTYPE *Release)( 3462 IChannelHook *This); 3463 3464 /*** IChannelHook methods ***/ 3465 void (STDMETHODCALLTYPE *ClientGetSize)( 3466 IChannelHook *This, 3467 REFGUID uExtent, 3468 REFIID riid, 3469 ULONG *pDataSize); 3470 3471 void (STDMETHODCALLTYPE *ClientFillBuffer)( 3472 IChannelHook *This, 3473 REFGUID uExtent, 3474 REFIID riid, 3475 ULONG *pDataSize, 3476 void *pDataBuffer); 3477 3478 void (STDMETHODCALLTYPE *ClientNotify)( 3479 IChannelHook *This, 3480 REFGUID uExtent, 3481 REFIID riid, 3482 ULONG cbDataSize, 3483 void *pDataBuffer, 3484 DWORD lDataRep, 3485 HRESULT hrFault); 3486 3487 void (STDMETHODCALLTYPE *ServerNotify)( 3488 IChannelHook *This, 3489 REFGUID uExtent, 3490 REFIID riid, 3491 ULONG cbDataSize, 3492 void *pDataBuffer, 3493 DWORD lDataRep); 3494 3495 void (STDMETHODCALLTYPE *ServerGetSize)( 3496 IChannelHook *This, 3497 REFGUID uExtent, 3498 REFIID riid, 3499 HRESULT hrFault, 3500 ULONG *pDataSize); 3501 3502 void (STDMETHODCALLTYPE *ServerFillBuffer)( 3503 IChannelHook *This, 3504 REFGUID uExtent, 3505 REFIID riid, 3506 ULONG *pDataSize, 3507 void *pDataBuffer, 3508 HRESULT hrFault); 3509 3510 END_INTERFACE 3511 } IChannelHookVtbl; 3512 3513 interface IChannelHook { 3514 CONST_VTBL IChannelHookVtbl* lpVtbl; 3515 }; 3516 3517 #ifdef COBJMACROS 3518 #ifndef WIDL_C_INLINE_WRAPPERS 3519 /*** IUnknown methods ***/ 3520 #define IChannelHook_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3521 #define IChannelHook_AddRef(This) (This)->lpVtbl->AddRef(This) 3522 #define IChannelHook_Release(This) (This)->lpVtbl->Release(This) 3523 /*** IChannelHook methods ***/ 3524 #define IChannelHook_ClientGetSize(This,uExtent,riid,pDataSize) (This)->lpVtbl->ClientGetSize(This,uExtent,riid,pDataSize) 3525 #define IChannelHook_ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer) (This)->lpVtbl->ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer) 3526 #define IChannelHook_ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault) (This)->lpVtbl->ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault) 3527 #define IChannelHook_ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep) (This)->lpVtbl->ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep) 3528 #define IChannelHook_ServerGetSize(This,uExtent,riid,hrFault,pDataSize) (This)->lpVtbl->ServerGetSize(This,uExtent,riid,hrFault,pDataSize) 3529 #define IChannelHook_ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault) (This)->lpVtbl->ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault) 3530 #else 3531 /*** IUnknown methods ***/ 3532 static FORCEINLINE HRESULT IChannelHook_QueryInterface(IChannelHook* This,REFIID riid,void **ppvObject) { 3533 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3534 } 3535 static FORCEINLINE ULONG IChannelHook_AddRef(IChannelHook* This) { 3536 return This->lpVtbl->AddRef(This); 3537 } 3538 static FORCEINLINE ULONG IChannelHook_Release(IChannelHook* This) { 3539 return This->lpVtbl->Release(This); 3540 } 3541 /*** IChannelHook methods ***/ 3542 static FORCEINLINE void IChannelHook_ClientGetSize(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG *pDataSize) { 3543 This->lpVtbl->ClientGetSize(This,uExtent,riid,pDataSize); 3544 } 3545 static FORCEINLINE void IChannelHook_ClientFillBuffer(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer) { 3546 This->lpVtbl->ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer); 3547 } 3548 static FORCEINLINE void IChannelHook_ClientNotify(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault) { 3549 This->lpVtbl->ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault); 3550 } 3551 static FORCEINLINE void IChannelHook_ServerNotify(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep) { 3552 This->lpVtbl->ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep); 3553 } 3554 static FORCEINLINE void IChannelHook_ServerGetSize(IChannelHook* This,REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize) { 3555 This->lpVtbl->ServerGetSize(This,uExtent,riid,hrFault,pDataSize); 3556 } 3557 static FORCEINLINE void IChannelHook_ServerFillBuffer(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault) { 3558 This->lpVtbl->ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault); 3559 } 3560 #endif 3561 #endif 3562 3563 #endif 3564 3565 3566 #endif /* __IChannelHook_INTERFACE_DEFINED__ */ 3567 3568 #endif 3569 #endif 3570 3571 #if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) 3572 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 3573 /***************************************************************************** 3574 * IClientSecurity interface 3575 */ 3576 #ifndef __IClientSecurity_INTERFACE_DEFINED__ 3577 #define __IClientSecurity_INTERFACE_DEFINED__ 3578 3579 typedef struct tagSOLE_AUTHENTICATION_SERVICE { 3580 DWORD dwAuthnSvc; 3581 DWORD dwAuthzSvc; 3582 OLECHAR *pPrincipalName; 3583 HRESULT hr; 3584 } SOLE_AUTHENTICATION_SERVICE; 3585 3586 typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE; 3587 3588 typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES { 3589 EOAC_NONE = 0x0, 3590 EOAC_MUTUAL_AUTH = 0x1, 3591 EOAC_STATIC_CLOAKING = 0x20, 3592 EOAC_DYNAMIC_CLOAKING = 0x40, 3593 EOAC_ANY_AUTHORITY = 0x80, 3594 EOAC_MAKE_FULLSIC = 0x100, 3595 EOAC_DEFAULT = 0x800, 3596 EOAC_SECURE_REFS = 0x2, 3597 EOAC_ACCESS_CONTROL = 0x4, 3598 EOAC_APPID = 0x8, 3599 EOAC_DYNAMIC = 0x10, 3600 EOAC_REQUIRE_FULLSIC = 0x200, 3601 EOAC_AUTO_IMPERSONATE = 0x400, 3602 EOAC_NO_CUSTOM_MARSHAL = 0x2000, 3603 EOAC_DISABLE_AAA = 0x1000 3604 } EOLE_AUTHENTICATION_CAPABILITIES; 3605 3606 #define COLE_DEFAULT_PRINCIPAL ((OLECHAR *)(INT_PTR)-1) 3607 3608 #define COLE_DEFAULT_AUTHINFO ((void *)(INT_PTR)-1) 3609 3610 3611 typedef struct tagSOLE_AUTHENTICATION_INFO { 3612 DWORD dwAuthnSvc; 3613 DWORD dwAuthzSvc; 3614 void *pAuthInfo; 3615 } SOLE_AUTHENTICATION_INFO; 3616 typedef struct tagSOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO; 3617 3618 typedef struct tagSOLE_AUTHENTICATION_LIST { 3619 DWORD cAuthInfo; 3620 SOLE_AUTHENTICATION_INFO *aAuthInfo; 3621 } SOLE_AUTHENTICATION_LIST; 3622 typedef struct tagSOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST; 3623 3624 DEFINE_GUID(IID_IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 3625 #if defined(__cplusplus) && !defined(CINTERFACE) 3626 MIDL_INTERFACE("0000013d-0000-0000-c000-000000000046") 3627 IClientSecurity : public IUnknown 3628 { 3629 virtual HRESULT STDMETHODCALLTYPE QueryBlanket( 3630 IUnknown *pProxy, 3631 DWORD *pAuthnSvc, 3632 DWORD *pAuthzSvc, 3633 OLECHAR **pServerPrincName, 3634 DWORD *pAuthnLevel, 3635 DWORD *pImpLevel, 3636 void **pAuthInfo, 3637 DWORD *pCapabilites) = 0; 3638 3639 virtual HRESULT STDMETHODCALLTYPE SetBlanket( 3640 IUnknown *pProxy, 3641 DWORD dwAuthnSvc, 3642 DWORD dwAuthzSvc, 3643 OLECHAR *pServerPrincName, 3644 DWORD dwAuthnLevel, 3645 DWORD dwImpLevel, 3646 void *pAuthInfo, 3647 DWORD dwCapabilities) = 0; 3648 3649 virtual HRESULT STDMETHODCALLTYPE CopyProxy( 3650 IUnknown *pProxy, 3651 IUnknown **ppCopy) = 0; 3652 3653 }; 3654 #ifdef __CRT_UUID_DECL 3655 __CRT_UUID_DECL(IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 3656 #endif 3657 #else 3658 typedef struct IClientSecurityVtbl { 3659 BEGIN_INTERFACE 3660 3661 /*** IUnknown methods ***/ 3662 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3663 IClientSecurity *This, 3664 REFIID riid, 3665 void **ppvObject); 3666 3667 ULONG (STDMETHODCALLTYPE *AddRef)( 3668 IClientSecurity *This); 3669 3670 ULONG (STDMETHODCALLTYPE *Release)( 3671 IClientSecurity *This); 3672 3673 /*** IClientSecurity methods ***/ 3674 HRESULT (STDMETHODCALLTYPE *QueryBlanket)( 3675 IClientSecurity *This, 3676 IUnknown *pProxy, 3677 DWORD *pAuthnSvc, 3678 DWORD *pAuthzSvc, 3679 OLECHAR **pServerPrincName, 3680 DWORD *pAuthnLevel, 3681 DWORD *pImpLevel, 3682 void **pAuthInfo, 3683 DWORD *pCapabilites); 3684 3685 HRESULT (STDMETHODCALLTYPE *SetBlanket)( 3686 IClientSecurity *This, 3687 IUnknown *pProxy, 3688 DWORD dwAuthnSvc, 3689 DWORD dwAuthzSvc, 3690 OLECHAR *pServerPrincName, 3691 DWORD dwAuthnLevel, 3692 DWORD dwImpLevel, 3693 void *pAuthInfo, 3694 DWORD dwCapabilities); 3695 3696 HRESULT (STDMETHODCALLTYPE *CopyProxy)( 3697 IClientSecurity *This, 3698 IUnknown *pProxy, 3699 IUnknown **ppCopy); 3700 3701 END_INTERFACE 3702 } IClientSecurityVtbl; 3703 3704 interface IClientSecurity { 3705 CONST_VTBL IClientSecurityVtbl* lpVtbl; 3706 }; 3707 3708 #ifdef COBJMACROS 3709 #ifndef WIDL_C_INLINE_WRAPPERS 3710 /*** IUnknown methods ***/ 3711 #define IClientSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3712 #define IClientSecurity_AddRef(This) (This)->lpVtbl->AddRef(This) 3713 #define IClientSecurity_Release(This) (This)->lpVtbl->Release(This) 3714 /*** IClientSecurity methods ***/ 3715 #define IClientSecurity_QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites) (This)->lpVtbl->QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites) 3716 #define IClientSecurity_SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities) (This)->lpVtbl->SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities) 3717 #define IClientSecurity_CopyProxy(This,pProxy,ppCopy) (This)->lpVtbl->CopyProxy(This,pProxy,ppCopy) 3718 #else 3719 /*** IUnknown methods ***/ 3720 static FORCEINLINE HRESULT IClientSecurity_QueryInterface(IClientSecurity* This,REFIID riid,void **ppvObject) { 3721 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3722 } 3723 static FORCEINLINE ULONG IClientSecurity_AddRef(IClientSecurity* This) { 3724 return This->lpVtbl->AddRef(This); 3725 } 3726 static FORCEINLINE ULONG IClientSecurity_Release(IClientSecurity* This) { 3727 return This->lpVtbl->Release(This); 3728 } 3729 /*** IClientSecurity methods ***/ 3730 static FORCEINLINE HRESULT IClientSecurity_QueryBlanket(IClientSecurity* This,IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites) { 3731 return This->lpVtbl->QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites); 3732 } 3733 static FORCEINLINE HRESULT IClientSecurity_SetBlanket(IClientSecurity* This,IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities) { 3734 return This->lpVtbl->SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities); 3735 } 3736 static FORCEINLINE HRESULT IClientSecurity_CopyProxy(IClientSecurity* This,IUnknown *pProxy,IUnknown **ppCopy) { 3737 return This->lpVtbl->CopyProxy(This,pProxy,ppCopy); 3738 } 3739 #endif 3740 #endif 3741 3742 #endif 3743 3744 3745 #endif /* __IClientSecurity_INTERFACE_DEFINED__ */ 3746 3747 #endif 3748 3749 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 3750 /***************************************************************************** 3751 * IServerSecurity interface 3752 */ 3753 #ifndef __IServerSecurity_INTERFACE_DEFINED__ 3754 #define __IServerSecurity_INTERFACE_DEFINED__ 3755 3756 DEFINE_GUID(IID_IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 3757 #if defined(__cplusplus) && !defined(CINTERFACE) 3758 MIDL_INTERFACE("0000013e-0000-0000-c000-000000000046") 3759 IServerSecurity : public IUnknown 3760 { 3761 virtual HRESULT STDMETHODCALLTYPE QueryBlanket( 3762 DWORD *pAuthnSvc, 3763 DWORD *pAuthzSvc, 3764 OLECHAR **pServerPrincName, 3765 DWORD *pAuthnLevel, 3766 DWORD *pImpLevel, 3767 void **pPrivs, 3768 DWORD *pCapabilities) = 0; 3769 3770 virtual HRESULT STDMETHODCALLTYPE ImpersonateClient( 3771 ) = 0; 3772 3773 virtual HRESULT STDMETHODCALLTYPE RevertToSelf( 3774 ) = 0; 3775 3776 virtual WINBOOL STDMETHODCALLTYPE IsImpersonating( 3777 ) = 0; 3778 3779 }; 3780 #ifdef __CRT_UUID_DECL 3781 __CRT_UUID_DECL(IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 3782 #endif 3783 #else 3784 typedef struct IServerSecurityVtbl { 3785 BEGIN_INTERFACE 3786 3787 /*** IUnknown methods ***/ 3788 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3789 IServerSecurity *This, 3790 REFIID riid, 3791 void **ppvObject); 3792 3793 ULONG (STDMETHODCALLTYPE *AddRef)( 3794 IServerSecurity *This); 3795 3796 ULONG (STDMETHODCALLTYPE *Release)( 3797 IServerSecurity *This); 3798 3799 /*** IServerSecurity methods ***/ 3800 HRESULT (STDMETHODCALLTYPE *QueryBlanket)( 3801 IServerSecurity *This, 3802 DWORD *pAuthnSvc, 3803 DWORD *pAuthzSvc, 3804 OLECHAR **pServerPrincName, 3805 DWORD *pAuthnLevel, 3806 DWORD *pImpLevel, 3807 void **pPrivs, 3808 DWORD *pCapabilities); 3809 3810 HRESULT (STDMETHODCALLTYPE *ImpersonateClient)( 3811 IServerSecurity *This); 3812 3813 HRESULT (STDMETHODCALLTYPE *RevertToSelf)( 3814 IServerSecurity *This); 3815 3816 WINBOOL (STDMETHODCALLTYPE *IsImpersonating)( 3817 IServerSecurity *This); 3818 3819 END_INTERFACE 3820 } IServerSecurityVtbl; 3821 3822 interface IServerSecurity { 3823 CONST_VTBL IServerSecurityVtbl* lpVtbl; 3824 }; 3825 3826 #ifdef COBJMACROS 3827 #ifndef WIDL_C_INLINE_WRAPPERS 3828 /*** IUnknown methods ***/ 3829 #define IServerSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3830 #define IServerSecurity_AddRef(This) (This)->lpVtbl->AddRef(This) 3831 #define IServerSecurity_Release(This) (This)->lpVtbl->Release(This) 3832 /*** IServerSecurity methods ***/ 3833 #define IServerSecurity_QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities) (This)->lpVtbl->QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities) 3834 #define IServerSecurity_ImpersonateClient(This) (This)->lpVtbl->ImpersonateClient(This) 3835 #define IServerSecurity_RevertToSelf(This) (This)->lpVtbl->RevertToSelf(This) 3836 #define IServerSecurity_IsImpersonating(This) (This)->lpVtbl->IsImpersonating(This) 3837 #else 3838 /*** IUnknown methods ***/ 3839 static FORCEINLINE HRESULT IServerSecurity_QueryInterface(IServerSecurity* This,REFIID riid,void **ppvObject) { 3840 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3841 } 3842 static FORCEINLINE ULONG IServerSecurity_AddRef(IServerSecurity* This) { 3843 return This->lpVtbl->AddRef(This); 3844 } 3845 static FORCEINLINE ULONG IServerSecurity_Release(IServerSecurity* This) { 3846 return This->lpVtbl->Release(This); 3847 } 3848 /*** IServerSecurity methods ***/ 3849 static FORCEINLINE HRESULT IServerSecurity_QueryBlanket(IServerSecurity* This,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities) { 3850 return This->lpVtbl->QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities); 3851 } 3852 static FORCEINLINE HRESULT IServerSecurity_ImpersonateClient(IServerSecurity* This) { 3853 return This->lpVtbl->ImpersonateClient(This); 3854 } 3855 static FORCEINLINE HRESULT IServerSecurity_RevertToSelf(IServerSecurity* This) { 3856 return This->lpVtbl->RevertToSelf(This); 3857 } 3858 static FORCEINLINE WINBOOL IServerSecurity_IsImpersonating(IServerSecurity* This) { 3859 return This->lpVtbl->IsImpersonating(This); 3860 } 3861 #endif 3862 #endif 3863 3864 #endif 3865 3866 3867 #endif /* __IServerSecurity_INTERFACE_DEFINED__ */ 3868 3869 3870 typedef enum tagRPCOPT_PROPERTIES { 3871 COMBND_RPCTIMEOUT = 0x1, 3872 COMBND_SERVER_LOCALITY = 0x2, 3873 COMBND_RESERVED1 = 0x4 3874 } RPCOPT_PROPERTIES; 3875 3876 typedef enum tagRPCOPT_SERVER_LOCALITY_VALUES { 3877 SERVER_LOCALITY_PROCESS_LOCAL = 0, 3878 SERVER_LOCALITY_MACHINE_LOCAL = 1, 3879 SERVER_LOCALITY_REMOTE = 2 3880 } RPCOPT_SERVER_LOCALITY_VALUES; 3881 3882 /***************************************************************************** 3883 * IRpcOptions interface 3884 */ 3885 #ifndef __IRpcOptions_INTERFACE_DEFINED__ 3886 #define __IRpcOptions_INTERFACE_DEFINED__ 3887 3888 DEFINE_GUID(IID_IRpcOptions, 0x00000144, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 3889 #if defined(__cplusplus) && !defined(CINTERFACE) 3890 MIDL_INTERFACE("00000144-0000-0000-c000-000000000046") 3891 IRpcOptions : public IUnknown 3892 { 3893 virtual HRESULT STDMETHODCALLTYPE Set( 3894 IUnknown *pPrx, 3895 RPCOPT_PROPERTIES dwProperty, 3896 ULONG_PTR dwValue) = 0; 3897 3898 virtual HRESULT STDMETHODCALLTYPE Query( 3899 IUnknown *pPrx, 3900 RPCOPT_PROPERTIES dwProperty, 3901 ULONG_PTR *pdwValue) = 0; 3902 3903 }; 3904 #ifdef __CRT_UUID_DECL 3905 __CRT_UUID_DECL(IRpcOptions, 0x00000144, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 3906 #endif 3907 #else 3908 typedef struct IRpcOptionsVtbl { 3909 BEGIN_INTERFACE 3910 3911 /*** IUnknown methods ***/ 3912 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3913 IRpcOptions *This, 3914 REFIID riid, 3915 void **ppvObject); 3916 3917 ULONG (STDMETHODCALLTYPE *AddRef)( 3918 IRpcOptions *This); 3919 3920 ULONG (STDMETHODCALLTYPE *Release)( 3921 IRpcOptions *This); 3922 3923 /*** IRpcOptions methods ***/ 3924 HRESULT (STDMETHODCALLTYPE *Set)( 3925 IRpcOptions *This, 3926 IUnknown *pPrx, 3927 RPCOPT_PROPERTIES dwProperty, 3928 ULONG_PTR dwValue); 3929 3930 HRESULT (STDMETHODCALLTYPE *Query)( 3931 IRpcOptions *This, 3932 IUnknown *pPrx, 3933 RPCOPT_PROPERTIES dwProperty, 3934 ULONG_PTR *pdwValue); 3935 3936 END_INTERFACE 3937 } IRpcOptionsVtbl; 3938 3939 interface IRpcOptions { 3940 CONST_VTBL IRpcOptionsVtbl* lpVtbl; 3941 }; 3942 3943 #ifdef COBJMACROS 3944 #ifndef WIDL_C_INLINE_WRAPPERS 3945 /*** IUnknown methods ***/ 3946 #define IRpcOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3947 #define IRpcOptions_AddRef(This) (This)->lpVtbl->AddRef(This) 3948 #define IRpcOptions_Release(This) (This)->lpVtbl->Release(This) 3949 /*** IRpcOptions methods ***/ 3950 #define IRpcOptions_Set(This,pPrx,dwProperty,dwValue) (This)->lpVtbl->Set(This,pPrx,dwProperty,dwValue) 3951 #define IRpcOptions_Query(This,pPrx,dwProperty,pdwValue) (This)->lpVtbl->Query(This,pPrx,dwProperty,pdwValue) 3952 #else 3953 /*** IUnknown methods ***/ 3954 static FORCEINLINE HRESULT IRpcOptions_QueryInterface(IRpcOptions* This,REFIID riid,void **ppvObject) { 3955 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3956 } 3957 static FORCEINLINE ULONG IRpcOptions_AddRef(IRpcOptions* This) { 3958 return This->lpVtbl->AddRef(This); 3959 } 3960 static FORCEINLINE ULONG IRpcOptions_Release(IRpcOptions* This) { 3961 return This->lpVtbl->Release(This); 3962 } 3963 /*** IRpcOptions methods ***/ 3964 static FORCEINLINE HRESULT IRpcOptions_Set(IRpcOptions* This,IUnknown *pPrx,RPCOPT_PROPERTIES dwProperty,ULONG_PTR dwValue) { 3965 return This->lpVtbl->Set(This,pPrx,dwProperty,dwValue); 3966 } 3967 static FORCEINLINE HRESULT IRpcOptions_Query(IRpcOptions* This,IUnknown *pPrx,RPCOPT_PROPERTIES dwProperty,ULONG_PTR *pdwValue) { 3968 return This->lpVtbl->Query(This,pPrx,dwProperty,pdwValue); 3969 } 3970 #endif 3971 #endif 3972 3973 #endif 3974 3975 3976 #endif /* __IRpcOptions_INTERFACE_DEFINED__ */ 3977 3978 #endif 3979 3980 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 3981 typedef enum tagGLOBALOPT_PROPERTIES { 3982 COMGLB_EXCEPTION_HANDLING = 1, 3983 COMGLB_APPID = 2, 3984 COMGLB_RPC_THREADPOOL_SETTING = 3, 3985 COMGLB_RO_SETTINGS = 4, 3986 COMGLB_UNMARSHALING_POLICY = 5 3987 } GLOBALOPT_PROPERTIES; 3988 3989 typedef enum tagGLOBALOPT_EH_VALUES { 3990 COMGLB_EXCEPTION_HANDLE = 0, 3991 COMGLB_EXCEPTION_DONOT_HANDLE_FATAL = 1, 3992 COMGLB_EXCEPTION_DONOT_HANDLE = COMGLB_EXCEPTION_DONOT_HANDLE_FATAL, 3993 COMGLB_EXCEPTION_DONOT_HANDLE_ANY = 2 3994 } GLOBALOPT_EH_VALUES; 3995 3996 typedef enum tagGLOBALOPT_RPCTP_VALUES { 3997 COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0, 3998 COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1 3999 } GLOBALOPT_RPCTP_VALUES; 4000 4001 typedef enum tagGLOBALOPT_RO_FLAGS { 4002 COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES = 0x1, 4003 COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES = 0x2, 4004 COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES = 0x4, 4005 COMGLB_FAST_RUNDOWN = 0x8, 4006 COMGLB_RESERVED1 = 0x10, 4007 COMGLB_RESERVED2 = 0x20, 4008 COMGLB_RESERVED3 = 0x40, 4009 COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES = 0x80 4010 } GLOBALOPT_RO_FLAGS; 4011 4012 typedef enum tagGLOBALOPT_UNMARSHALING_POLICY_VALUES { 4013 COMGLB_UNMARSHALING_POLICY_NORMAL = 0, 4014 COMGLB_UNMARSHALING_POLICY_STRONG = 1, 4015 COMGLB_UNMARSHALING_POLICY_HYBRID = 2 4016 } GLOBALOPT_UNMARSHALING_POLICY_VALUES; 4017 4018 /***************************************************************************** 4019 * IGlobalOptions interface 4020 */ 4021 #ifndef __IGlobalOptions_INTERFACE_DEFINED__ 4022 #define __IGlobalOptions_INTERFACE_DEFINED__ 4023 4024 DEFINE_GUID(IID_IGlobalOptions, 0x0000015b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4025 #if defined(__cplusplus) && !defined(CINTERFACE) 4026 MIDL_INTERFACE("0000015b-0000-0000-c000-000000000046") 4027 IGlobalOptions : public IUnknown 4028 { 4029 virtual HRESULT STDMETHODCALLTYPE Set( 4030 GLOBALOPT_PROPERTIES dwProperty, 4031 ULONG_PTR dwValue) = 0; 4032 4033 virtual HRESULT STDMETHODCALLTYPE Query( 4034 GLOBALOPT_PROPERTIES dwProperty, 4035 ULONG_PTR *pdwValue) = 0; 4036 4037 }; 4038 #ifdef __CRT_UUID_DECL 4039 __CRT_UUID_DECL(IGlobalOptions, 0x0000015b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4040 #endif 4041 #else 4042 typedef struct IGlobalOptionsVtbl { 4043 BEGIN_INTERFACE 4044 4045 /*** IUnknown methods ***/ 4046 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4047 IGlobalOptions *This, 4048 REFIID riid, 4049 void **ppvObject); 4050 4051 ULONG (STDMETHODCALLTYPE *AddRef)( 4052 IGlobalOptions *This); 4053 4054 ULONG (STDMETHODCALLTYPE *Release)( 4055 IGlobalOptions *This); 4056 4057 /*** IGlobalOptions methods ***/ 4058 HRESULT (STDMETHODCALLTYPE *Set)( 4059 IGlobalOptions *This, 4060 GLOBALOPT_PROPERTIES dwProperty, 4061 ULONG_PTR dwValue); 4062 4063 HRESULT (STDMETHODCALLTYPE *Query)( 4064 IGlobalOptions *This, 4065 GLOBALOPT_PROPERTIES dwProperty, 4066 ULONG_PTR *pdwValue); 4067 4068 END_INTERFACE 4069 } IGlobalOptionsVtbl; 4070 4071 interface IGlobalOptions { 4072 CONST_VTBL IGlobalOptionsVtbl* lpVtbl; 4073 }; 4074 4075 #ifdef COBJMACROS 4076 #ifndef WIDL_C_INLINE_WRAPPERS 4077 /*** IUnknown methods ***/ 4078 #define IGlobalOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4079 #define IGlobalOptions_AddRef(This) (This)->lpVtbl->AddRef(This) 4080 #define IGlobalOptions_Release(This) (This)->lpVtbl->Release(This) 4081 /*** IGlobalOptions methods ***/ 4082 #define IGlobalOptions_Set(This,dwProperty,dwValue) (This)->lpVtbl->Set(This,dwProperty,dwValue) 4083 #define IGlobalOptions_Query(This,dwProperty,pdwValue) (This)->lpVtbl->Query(This,dwProperty,pdwValue) 4084 #else 4085 /*** IUnknown methods ***/ 4086 static FORCEINLINE HRESULT IGlobalOptions_QueryInterface(IGlobalOptions* This,REFIID riid,void **ppvObject) { 4087 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4088 } 4089 static FORCEINLINE ULONG IGlobalOptions_AddRef(IGlobalOptions* This) { 4090 return This->lpVtbl->AddRef(This); 4091 } 4092 static FORCEINLINE ULONG IGlobalOptions_Release(IGlobalOptions* This) { 4093 return This->lpVtbl->Release(This); 4094 } 4095 /*** IGlobalOptions methods ***/ 4096 static FORCEINLINE HRESULT IGlobalOptions_Set(IGlobalOptions* This,GLOBALOPT_PROPERTIES dwProperty,ULONG_PTR dwValue) { 4097 return This->lpVtbl->Set(This,dwProperty,dwValue); 4098 } 4099 static FORCEINLINE HRESULT IGlobalOptions_Query(IGlobalOptions* This,GLOBALOPT_PROPERTIES dwProperty,ULONG_PTR *pdwValue) { 4100 return This->lpVtbl->Query(This,dwProperty,pdwValue); 4101 } 4102 #endif 4103 #endif 4104 4105 #endif 4106 4107 4108 #endif /* __IGlobalOptions_INTERFACE_DEFINED__ */ 4109 4110 #endif 4111 #endif 4112 4113 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 4114 /***************************************************************************** 4115 * ISurrogate interface 4116 */ 4117 #ifndef __ISurrogate_INTERFACE_DEFINED__ 4118 #define __ISurrogate_INTERFACE_DEFINED__ 4119 4120 typedef ISurrogate *LPSURROGATE; 4121 4122 DEFINE_GUID(IID_ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4123 #if defined(__cplusplus) && !defined(CINTERFACE) 4124 MIDL_INTERFACE("00000022-0000-0000-c000-000000000046") 4125 ISurrogate : public IUnknown 4126 { 4127 virtual HRESULT STDMETHODCALLTYPE LoadDllServer( 4128 REFCLSID Clsid) = 0; 4129 4130 virtual HRESULT STDMETHODCALLTYPE FreeSurrogate( 4131 ) = 0; 4132 4133 }; 4134 #ifdef __CRT_UUID_DECL 4135 __CRT_UUID_DECL(ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4136 #endif 4137 #else 4138 typedef struct ISurrogateVtbl { 4139 BEGIN_INTERFACE 4140 4141 /*** IUnknown methods ***/ 4142 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4143 ISurrogate *This, 4144 REFIID riid, 4145 void **ppvObject); 4146 4147 ULONG (STDMETHODCALLTYPE *AddRef)( 4148 ISurrogate *This); 4149 4150 ULONG (STDMETHODCALLTYPE *Release)( 4151 ISurrogate *This); 4152 4153 /*** ISurrogate methods ***/ 4154 HRESULT (STDMETHODCALLTYPE *LoadDllServer)( 4155 ISurrogate *This, 4156 REFCLSID Clsid); 4157 4158 HRESULT (STDMETHODCALLTYPE *FreeSurrogate)( 4159 ISurrogate *This); 4160 4161 END_INTERFACE 4162 } ISurrogateVtbl; 4163 4164 interface ISurrogate { 4165 CONST_VTBL ISurrogateVtbl* lpVtbl; 4166 }; 4167 4168 #ifdef COBJMACROS 4169 #ifndef WIDL_C_INLINE_WRAPPERS 4170 /*** IUnknown methods ***/ 4171 #define ISurrogate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4172 #define ISurrogate_AddRef(This) (This)->lpVtbl->AddRef(This) 4173 #define ISurrogate_Release(This) (This)->lpVtbl->Release(This) 4174 /*** ISurrogate methods ***/ 4175 #define ISurrogate_LoadDllServer(This,Clsid) (This)->lpVtbl->LoadDllServer(This,Clsid) 4176 #define ISurrogate_FreeSurrogate(This) (This)->lpVtbl->FreeSurrogate(This) 4177 #else 4178 /*** IUnknown methods ***/ 4179 static FORCEINLINE HRESULT ISurrogate_QueryInterface(ISurrogate* This,REFIID riid,void **ppvObject) { 4180 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4181 } 4182 static FORCEINLINE ULONG ISurrogate_AddRef(ISurrogate* This) { 4183 return This->lpVtbl->AddRef(This); 4184 } 4185 static FORCEINLINE ULONG ISurrogate_Release(ISurrogate* This) { 4186 return This->lpVtbl->Release(This); 4187 } 4188 /*** ISurrogate methods ***/ 4189 static FORCEINLINE HRESULT ISurrogate_LoadDllServer(ISurrogate* This,REFCLSID Clsid) { 4190 return This->lpVtbl->LoadDllServer(This,Clsid); 4191 } 4192 static FORCEINLINE HRESULT ISurrogate_FreeSurrogate(ISurrogate* This) { 4193 return This->lpVtbl->FreeSurrogate(This); 4194 } 4195 #endif 4196 #endif 4197 4198 #endif 4199 4200 4201 #endif /* __ISurrogate_INTERFACE_DEFINED__ */ 4202 4203 4204 /***************************************************************************** 4205 * IGlobalInterfaceTable interface 4206 */ 4207 #ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__ 4208 #define __IGlobalInterfaceTable_INTERFACE_DEFINED__ 4209 4210 typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE; 4211 4212 DEFINE_GUID(IID_IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4213 #if defined(__cplusplus) && !defined(CINTERFACE) 4214 MIDL_INTERFACE("00000146-0000-0000-c000-000000000046") 4215 IGlobalInterfaceTable : public IUnknown 4216 { 4217 virtual HRESULT STDMETHODCALLTYPE RegisterInterfaceInGlobal( 4218 IUnknown *pUnk, 4219 REFIID riid, 4220 DWORD *pdwCookie) = 0; 4221 4222 virtual HRESULT STDMETHODCALLTYPE RevokeInterfaceFromGlobal( 4223 DWORD dwCookie) = 0; 4224 4225 virtual HRESULT STDMETHODCALLTYPE GetInterfaceFromGlobal( 4226 DWORD dwCookie, 4227 REFIID riid, 4228 void **ppv) = 0; 4229 4230 }; 4231 #ifdef __CRT_UUID_DECL 4232 __CRT_UUID_DECL(IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4233 #endif 4234 #else 4235 typedef struct IGlobalInterfaceTableVtbl { 4236 BEGIN_INTERFACE 4237 4238 /*** IUnknown methods ***/ 4239 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4240 IGlobalInterfaceTable *This, 4241 REFIID riid, 4242 void **ppvObject); 4243 4244 ULONG (STDMETHODCALLTYPE *AddRef)( 4245 IGlobalInterfaceTable *This); 4246 4247 ULONG (STDMETHODCALLTYPE *Release)( 4248 IGlobalInterfaceTable *This); 4249 4250 /*** IGlobalInterfaceTable methods ***/ 4251 HRESULT (STDMETHODCALLTYPE *RegisterInterfaceInGlobal)( 4252 IGlobalInterfaceTable *This, 4253 IUnknown *pUnk, 4254 REFIID riid, 4255 DWORD *pdwCookie); 4256 4257 HRESULT (STDMETHODCALLTYPE *RevokeInterfaceFromGlobal)( 4258 IGlobalInterfaceTable *This, 4259 DWORD dwCookie); 4260 4261 HRESULT (STDMETHODCALLTYPE *GetInterfaceFromGlobal)( 4262 IGlobalInterfaceTable *This, 4263 DWORD dwCookie, 4264 REFIID riid, 4265 void **ppv); 4266 4267 END_INTERFACE 4268 } IGlobalInterfaceTableVtbl; 4269 4270 interface IGlobalInterfaceTable { 4271 CONST_VTBL IGlobalInterfaceTableVtbl* lpVtbl; 4272 }; 4273 4274 #ifdef COBJMACROS 4275 #ifndef WIDL_C_INLINE_WRAPPERS 4276 /*** IUnknown methods ***/ 4277 #define IGlobalInterfaceTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4278 #define IGlobalInterfaceTable_AddRef(This) (This)->lpVtbl->AddRef(This) 4279 #define IGlobalInterfaceTable_Release(This) (This)->lpVtbl->Release(This) 4280 /*** IGlobalInterfaceTable methods ***/ 4281 #define IGlobalInterfaceTable_RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie) (This)->lpVtbl->RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie) 4282 #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(This,dwCookie) (This)->lpVtbl->RevokeInterfaceFromGlobal(This,dwCookie) 4283 #define IGlobalInterfaceTable_GetInterfaceFromGlobal(This,dwCookie,riid,ppv) (This)->lpVtbl->GetInterfaceFromGlobal(This,dwCookie,riid,ppv) 4284 #else 4285 /*** IUnknown methods ***/ 4286 static FORCEINLINE HRESULT IGlobalInterfaceTable_QueryInterface(IGlobalInterfaceTable* This,REFIID riid,void **ppvObject) { 4287 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4288 } 4289 static FORCEINLINE ULONG IGlobalInterfaceTable_AddRef(IGlobalInterfaceTable* This) { 4290 return This->lpVtbl->AddRef(This); 4291 } 4292 static FORCEINLINE ULONG IGlobalInterfaceTable_Release(IGlobalInterfaceTable* This) { 4293 return This->lpVtbl->Release(This); 4294 } 4295 /*** IGlobalInterfaceTable methods ***/ 4296 static FORCEINLINE HRESULT IGlobalInterfaceTable_RegisterInterfaceInGlobal(IGlobalInterfaceTable* This,IUnknown *pUnk,REFIID riid,DWORD *pdwCookie) { 4297 return This->lpVtbl->RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie); 4298 } 4299 static FORCEINLINE HRESULT IGlobalInterfaceTable_RevokeInterfaceFromGlobal(IGlobalInterfaceTable* This,DWORD dwCookie) { 4300 return This->lpVtbl->RevokeInterfaceFromGlobal(This,dwCookie); 4301 } 4302 static FORCEINLINE HRESULT IGlobalInterfaceTable_GetInterfaceFromGlobal(IGlobalInterfaceTable* This,DWORD dwCookie,REFIID riid,void **ppv) { 4303 return This->lpVtbl->GetInterfaceFromGlobal(This,dwCookie,riid,ppv); 4304 } 4305 #endif 4306 #endif 4307 4308 #endif 4309 4310 4311 #endif /* __IGlobalInterfaceTable_INTERFACE_DEFINED__ */ 4312 4313 #endif 4314 4315 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 4316 /***************************************************************************** 4317 * ISynchronize interface 4318 */ 4319 #ifndef __ISynchronize_INTERFACE_DEFINED__ 4320 #define __ISynchronize_INTERFACE_DEFINED__ 4321 4322 DEFINE_GUID(IID_ISynchronize, 0x00000030, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4323 #if defined(__cplusplus) && !defined(CINTERFACE) 4324 MIDL_INTERFACE("00000030-0000-0000-c000-000000000046") 4325 ISynchronize : public IUnknown 4326 { 4327 virtual HRESULT STDMETHODCALLTYPE Wait( 4328 DWORD dwFlags, 4329 DWORD dwMilliseconds) = 0; 4330 4331 virtual HRESULT STDMETHODCALLTYPE Signal( 4332 ) = 0; 4333 4334 virtual HRESULT STDMETHODCALLTYPE Reset( 4335 ) = 0; 4336 4337 }; 4338 #ifdef __CRT_UUID_DECL 4339 __CRT_UUID_DECL(ISynchronize, 0x00000030, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4340 #endif 4341 #else 4342 typedef struct ISynchronizeVtbl { 4343 BEGIN_INTERFACE 4344 4345 /*** IUnknown methods ***/ 4346 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4347 ISynchronize *This, 4348 REFIID riid, 4349 void **ppvObject); 4350 4351 ULONG (STDMETHODCALLTYPE *AddRef)( 4352 ISynchronize *This); 4353 4354 ULONG (STDMETHODCALLTYPE *Release)( 4355 ISynchronize *This); 4356 4357 /*** ISynchronize methods ***/ 4358 HRESULT (STDMETHODCALLTYPE *Wait)( 4359 ISynchronize *This, 4360 DWORD dwFlags, 4361 DWORD dwMilliseconds); 4362 4363 HRESULT (STDMETHODCALLTYPE *Signal)( 4364 ISynchronize *This); 4365 4366 HRESULT (STDMETHODCALLTYPE *Reset)( 4367 ISynchronize *This); 4368 4369 END_INTERFACE 4370 } ISynchronizeVtbl; 4371 4372 interface ISynchronize { 4373 CONST_VTBL ISynchronizeVtbl* lpVtbl; 4374 }; 4375 4376 #ifdef COBJMACROS 4377 #ifndef WIDL_C_INLINE_WRAPPERS 4378 /*** IUnknown methods ***/ 4379 #define ISynchronize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4380 #define ISynchronize_AddRef(This) (This)->lpVtbl->AddRef(This) 4381 #define ISynchronize_Release(This) (This)->lpVtbl->Release(This) 4382 /*** ISynchronize methods ***/ 4383 #define ISynchronize_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds) 4384 #define ISynchronize_Signal(This) (This)->lpVtbl->Signal(This) 4385 #define ISynchronize_Reset(This) (This)->lpVtbl->Reset(This) 4386 #else 4387 /*** IUnknown methods ***/ 4388 static FORCEINLINE HRESULT ISynchronize_QueryInterface(ISynchronize* This,REFIID riid,void **ppvObject) { 4389 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4390 } 4391 static FORCEINLINE ULONG ISynchronize_AddRef(ISynchronize* This) { 4392 return This->lpVtbl->AddRef(This); 4393 } 4394 static FORCEINLINE ULONG ISynchronize_Release(ISynchronize* This) { 4395 return This->lpVtbl->Release(This); 4396 } 4397 /*** ISynchronize methods ***/ 4398 static FORCEINLINE HRESULT ISynchronize_Wait(ISynchronize* This,DWORD dwFlags,DWORD dwMilliseconds) { 4399 return This->lpVtbl->Wait(This,dwFlags,dwMilliseconds); 4400 } 4401 static FORCEINLINE HRESULT ISynchronize_Signal(ISynchronize* This) { 4402 return This->lpVtbl->Signal(This); 4403 } 4404 static FORCEINLINE HRESULT ISynchronize_Reset(ISynchronize* This) { 4405 return This->lpVtbl->Reset(This); 4406 } 4407 #endif 4408 #endif 4409 4410 #endif 4411 4412 4413 #endif /* __ISynchronize_INTERFACE_DEFINED__ */ 4414 4415 4416 /***************************************************************************** 4417 * ISynchronizeHandle interface 4418 */ 4419 #ifndef __ISynchronizeHandle_INTERFACE_DEFINED__ 4420 #define __ISynchronizeHandle_INTERFACE_DEFINED__ 4421 4422 DEFINE_GUID(IID_ISynchronizeHandle, 0x00000031, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4423 #if defined(__cplusplus) && !defined(CINTERFACE) 4424 MIDL_INTERFACE("00000031-0000-0000-c000-000000000046") 4425 ISynchronizeHandle : public IUnknown 4426 { 4427 virtual HRESULT STDMETHODCALLTYPE GetHandle( 4428 HANDLE *ph) = 0; 4429 4430 }; 4431 #ifdef __CRT_UUID_DECL 4432 __CRT_UUID_DECL(ISynchronizeHandle, 0x00000031, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4433 #endif 4434 #else 4435 typedef struct ISynchronizeHandleVtbl { 4436 BEGIN_INTERFACE 4437 4438 /*** IUnknown methods ***/ 4439 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4440 ISynchronizeHandle *This, 4441 REFIID riid, 4442 void **ppvObject); 4443 4444 ULONG (STDMETHODCALLTYPE *AddRef)( 4445 ISynchronizeHandle *This); 4446 4447 ULONG (STDMETHODCALLTYPE *Release)( 4448 ISynchronizeHandle *This); 4449 4450 /*** ISynchronizeHandle methods ***/ 4451 HRESULT (STDMETHODCALLTYPE *GetHandle)( 4452 ISynchronizeHandle *This, 4453 HANDLE *ph); 4454 4455 END_INTERFACE 4456 } ISynchronizeHandleVtbl; 4457 4458 interface ISynchronizeHandle { 4459 CONST_VTBL ISynchronizeHandleVtbl* lpVtbl; 4460 }; 4461 4462 #ifdef COBJMACROS 4463 #ifndef WIDL_C_INLINE_WRAPPERS 4464 /*** IUnknown methods ***/ 4465 #define ISynchronizeHandle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4466 #define ISynchronizeHandle_AddRef(This) (This)->lpVtbl->AddRef(This) 4467 #define ISynchronizeHandle_Release(This) (This)->lpVtbl->Release(This) 4468 /*** ISynchronizeHandle methods ***/ 4469 #define ISynchronizeHandle_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph) 4470 #else 4471 /*** IUnknown methods ***/ 4472 static FORCEINLINE HRESULT ISynchronizeHandle_QueryInterface(ISynchronizeHandle* This,REFIID riid,void **ppvObject) { 4473 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4474 } 4475 static FORCEINLINE ULONG ISynchronizeHandle_AddRef(ISynchronizeHandle* This) { 4476 return This->lpVtbl->AddRef(This); 4477 } 4478 static FORCEINLINE ULONG ISynchronizeHandle_Release(ISynchronizeHandle* This) { 4479 return This->lpVtbl->Release(This); 4480 } 4481 /*** ISynchronizeHandle methods ***/ 4482 static FORCEINLINE HRESULT ISynchronizeHandle_GetHandle(ISynchronizeHandle* This,HANDLE *ph) { 4483 return This->lpVtbl->GetHandle(This,ph); 4484 } 4485 #endif 4486 #endif 4487 4488 #endif 4489 4490 4491 #endif /* __ISynchronizeHandle_INTERFACE_DEFINED__ */ 4492 4493 4494 /***************************************************************************** 4495 * ISynchronizeEvent interface 4496 */ 4497 #ifndef __ISynchronizeEvent_INTERFACE_DEFINED__ 4498 #define __ISynchronizeEvent_INTERFACE_DEFINED__ 4499 4500 DEFINE_GUID(IID_ISynchronizeEvent, 0x00000032, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4501 #if defined(__cplusplus) && !defined(CINTERFACE) 4502 MIDL_INTERFACE("00000032-0000-0000-c000-000000000046") 4503 ISynchronizeEvent : public ISynchronizeHandle 4504 { 4505 virtual HRESULT STDMETHODCALLTYPE SetEventHandle( 4506 HANDLE *ph) = 0; 4507 4508 }; 4509 #ifdef __CRT_UUID_DECL 4510 __CRT_UUID_DECL(ISynchronizeEvent, 0x00000032, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4511 #endif 4512 #else 4513 typedef struct ISynchronizeEventVtbl { 4514 BEGIN_INTERFACE 4515 4516 /*** IUnknown methods ***/ 4517 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4518 ISynchronizeEvent *This, 4519 REFIID riid, 4520 void **ppvObject); 4521 4522 ULONG (STDMETHODCALLTYPE *AddRef)( 4523 ISynchronizeEvent *This); 4524 4525 ULONG (STDMETHODCALLTYPE *Release)( 4526 ISynchronizeEvent *This); 4527 4528 /*** ISynchronizeHandle methods ***/ 4529 HRESULT (STDMETHODCALLTYPE *GetHandle)( 4530 ISynchronizeEvent *This, 4531 HANDLE *ph); 4532 4533 /*** ISynchronizeEvent methods ***/ 4534 HRESULT (STDMETHODCALLTYPE *SetEventHandle)( 4535 ISynchronizeEvent *This, 4536 HANDLE *ph); 4537 4538 END_INTERFACE 4539 } ISynchronizeEventVtbl; 4540 4541 interface ISynchronizeEvent { 4542 CONST_VTBL ISynchronizeEventVtbl* lpVtbl; 4543 }; 4544 4545 #ifdef COBJMACROS 4546 #ifndef WIDL_C_INLINE_WRAPPERS 4547 /*** IUnknown methods ***/ 4548 #define ISynchronizeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4549 #define ISynchronizeEvent_AddRef(This) (This)->lpVtbl->AddRef(This) 4550 #define ISynchronizeEvent_Release(This) (This)->lpVtbl->Release(This) 4551 /*** ISynchronizeHandle methods ***/ 4552 #define ISynchronizeEvent_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph) 4553 /*** ISynchronizeEvent methods ***/ 4554 #define ISynchronizeEvent_SetEventHandle(This,ph) (This)->lpVtbl->SetEventHandle(This,ph) 4555 #else 4556 /*** IUnknown methods ***/ 4557 static FORCEINLINE HRESULT ISynchronizeEvent_QueryInterface(ISynchronizeEvent* This,REFIID riid,void **ppvObject) { 4558 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4559 } 4560 static FORCEINLINE ULONG ISynchronizeEvent_AddRef(ISynchronizeEvent* This) { 4561 return This->lpVtbl->AddRef(This); 4562 } 4563 static FORCEINLINE ULONG ISynchronizeEvent_Release(ISynchronizeEvent* This) { 4564 return This->lpVtbl->Release(This); 4565 } 4566 /*** ISynchronizeHandle methods ***/ 4567 static FORCEINLINE HRESULT ISynchronizeEvent_GetHandle(ISynchronizeEvent* This,HANDLE *ph) { 4568 return This->lpVtbl->GetHandle(This,ph); 4569 } 4570 /*** ISynchronizeEvent methods ***/ 4571 static FORCEINLINE HRESULT ISynchronizeEvent_SetEventHandle(ISynchronizeEvent* This,HANDLE *ph) { 4572 return This->lpVtbl->SetEventHandle(This,ph); 4573 } 4574 #endif 4575 #endif 4576 4577 #endif 4578 4579 4580 #endif /* __ISynchronizeEvent_INTERFACE_DEFINED__ */ 4581 4582 4583 /***************************************************************************** 4584 * ISynchronizeContainer interface 4585 */ 4586 #ifndef __ISynchronizeContainer_INTERFACE_DEFINED__ 4587 #define __ISynchronizeContainer_INTERFACE_DEFINED__ 4588 4589 DEFINE_GUID(IID_ISynchronizeContainer, 0x00000033, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4590 #if defined(__cplusplus) && !defined(CINTERFACE) 4591 MIDL_INTERFACE("00000033-0000-0000-c000-000000000046") 4592 ISynchronizeContainer : public IUnknown 4593 { 4594 virtual HRESULT STDMETHODCALLTYPE AddSynchronize( 4595 ISynchronize *pSync) = 0; 4596 4597 virtual HRESULT STDMETHODCALLTYPE WaitMultiple( 4598 DWORD dwFlags, 4599 DWORD dwTimeOut, 4600 ISynchronize **ppSync) = 0; 4601 4602 }; 4603 #ifdef __CRT_UUID_DECL 4604 __CRT_UUID_DECL(ISynchronizeContainer, 0x00000033, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4605 #endif 4606 #else 4607 typedef struct ISynchronizeContainerVtbl { 4608 BEGIN_INTERFACE 4609 4610 /*** IUnknown methods ***/ 4611 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4612 ISynchronizeContainer *This, 4613 REFIID riid, 4614 void **ppvObject); 4615 4616 ULONG (STDMETHODCALLTYPE *AddRef)( 4617 ISynchronizeContainer *This); 4618 4619 ULONG (STDMETHODCALLTYPE *Release)( 4620 ISynchronizeContainer *This); 4621 4622 /*** ISynchronizeContainer methods ***/ 4623 HRESULT (STDMETHODCALLTYPE *AddSynchronize)( 4624 ISynchronizeContainer *This, 4625 ISynchronize *pSync); 4626 4627 HRESULT (STDMETHODCALLTYPE *WaitMultiple)( 4628 ISynchronizeContainer *This, 4629 DWORD dwFlags, 4630 DWORD dwTimeOut, 4631 ISynchronize **ppSync); 4632 4633 END_INTERFACE 4634 } ISynchronizeContainerVtbl; 4635 4636 interface ISynchronizeContainer { 4637 CONST_VTBL ISynchronizeContainerVtbl* lpVtbl; 4638 }; 4639 4640 #ifdef COBJMACROS 4641 #ifndef WIDL_C_INLINE_WRAPPERS 4642 /*** IUnknown methods ***/ 4643 #define ISynchronizeContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4644 #define ISynchronizeContainer_AddRef(This) (This)->lpVtbl->AddRef(This) 4645 #define ISynchronizeContainer_Release(This) (This)->lpVtbl->Release(This) 4646 /*** ISynchronizeContainer methods ***/ 4647 #define ISynchronizeContainer_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync) 4648 #define ISynchronizeContainer_WaitMultiple(This,dwFlags,dwTimeOut,ppSync) (This)->lpVtbl->WaitMultiple(This,dwFlags,dwTimeOut,ppSync) 4649 #else 4650 /*** IUnknown methods ***/ 4651 static FORCEINLINE HRESULT ISynchronizeContainer_QueryInterface(ISynchronizeContainer* This,REFIID riid,void **ppvObject) { 4652 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4653 } 4654 static FORCEINLINE ULONG ISynchronizeContainer_AddRef(ISynchronizeContainer* This) { 4655 return This->lpVtbl->AddRef(This); 4656 } 4657 static FORCEINLINE ULONG ISynchronizeContainer_Release(ISynchronizeContainer* This) { 4658 return This->lpVtbl->Release(This); 4659 } 4660 /*** ISynchronizeContainer methods ***/ 4661 static FORCEINLINE HRESULT ISynchronizeContainer_AddSynchronize(ISynchronizeContainer* This,ISynchronize *pSync) { 4662 return This->lpVtbl->AddSynchronize(This,pSync); 4663 } 4664 static FORCEINLINE HRESULT ISynchronizeContainer_WaitMultiple(ISynchronizeContainer* This,DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync) { 4665 return This->lpVtbl->WaitMultiple(This,dwFlags,dwTimeOut,ppSync); 4666 } 4667 #endif 4668 #endif 4669 4670 #endif 4671 4672 4673 #endif /* __ISynchronizeContainer_INTERFACE_DEFINED__ */ 4674 4675 4676 /***************************************************************************** 4677 * ISynchronizeMutex interface 4678 */ 4679 #ifndef __ISynchronizeMutex_INTERFACE_DEFINED__ 4680 #define __ISynchronizeMutex_INTERFACE_DEFINED__ 4681 4682 DEFINE_GUID(IID_ISynchronizeMutex, 0x00000025, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4683 #if defined(__cplusplus) && !defined(CINTERFACE) 4684 MIDL_INTERFACE("00000025-0000-0000-c000-000000000046") 4685 ISynchronizeMutex : public ISynchronize 4686 { 4687 virtual HRESULT STDMETHODCALLTYPE ReleaseMutex( 4688 ) = 0; 4689 4690 }; 4691 #ifdef __CRT_UUID_DECL 4692 __CRT_UUID_DECL(ISynchronizeMutex, 0x00000025, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4693 #endif 4694 #else 4695 typedef struct ISynchronizeMutexVtbl { 4696 BEGIN_INTERFACE 4697 4698 /*** IUnknown methods ***/ 4699 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4700 ISynchronizeMutex *This, 4701 REFIID riid, 4702 void **ppvObject); 4703 4704 ULONG (STDMETHODCALLTYPE *AddRef)( 4705 ISynchronizeMutex *This); 4706 4707 ULONG (STDMETHODCALLTYPE *Release)( 4708 ISynchronizeMutex *This); 4709 4710 /*** ISynchronize methods ***/ 4711 HRESULT (STDMETHODCALLTYPE *Wait)( 4712 ISynchronizeMutex *This, 4713 DWORD dwFlags, 4714 DWORD dwMilliseconds); 4715 4716 HRESULT (STDMETHODCALLTYPE *Signal)( 4717 ISynchronizeMutex *This); 4718 4719 HRESULT (STDMETHODCALLTYPE *Reset)( 4720 ISynchronizeMutex *This); 4721 4722 /*** ISynchronizeMutex methods ***/ 4723 HRESULT (STDMETHODCALLTYPE *ReleaseMutex)( 4724 ISynchronizeMutex *This); 4725 4726 END_INTERFACE 4727 } ISynchronizeMutexVtbl; 4728 4729 interface ISynchronizeMutex { 4730 CONST_VTBL ISynchronizeMutexVtbl* lpVtbl; 4731 }; 4732 4733 #ifdef COBJMACROS 4734 #ifndef WIDL_C_INLINE_WRAPPERS 4735 /*** IUnknown methods ***/ 4736 #define ISynchronizeMutex_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4737 #define ISynchronizeMutex_AddRef(This) (This)->lpVtbl->AddRef(This) 4738 #define ISynchronizeMutex_Release(This) (This)->lpVtbl->Release(This) 4739 /*** ISynchronize methods ***/ 4740 #define ISynchronizeMutex_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds) 4741 #define ISynchronizeMutex_Signal(This) (This)->lpVtbl->Signal(This) 4742 #define ISynchronizeMutex_Reset(This) (This)->lpVtbl->Reset(This) 4743 /*** ISynchronizeMutex methods ***/ 4744 #define ISynchronizeMutex_ReleaseMutex(This) (This)->lpVtbl->ReleaseMutex(This) 4745 #else 4746 /*** IUnknown methods ***/ 4747 static FORCEINLINE HRESULT ISynchronizeMutex_QueryInterface(ISynchronizeMutex* This,REFIID riid,void **ppvObject) { 4748 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4749 } 4750 static FORCEINLINE ULONG ISynchronizeMutex_AddRef(ISynchronizeMutex* This) { 4751 return This->lpVtbl->AddRef(This); 4752 } 4753 static FORCEINLINE ULONG ISynchronizeMutex_Release(ISynchronizeMutex* This) { 4754 return This->lpVtbl->Release(This); 4755 } 4756 /*** ISynchronize methods ***/ 4757 static FORCEINLINE HRESULT ISynchronizeMutex_Wait(ISynchronizeMutex* This,DWORD dwFlags,DWORD dwMilliseconds) { 4758 return This->lpVtbl->Wait(This,dwFlags,dwMilliseconds); 4759 } 4760 static FORCEINLINE HRESULT ISynchronizeMutex_Signal(ISynchronizeMutex* This) { 4761 return This->lpVtbl->Signal(This); 4762 } 4763 static FORCEINLINE HRESULT ISynchronizeMutex_Reset(ISynchronizeMutex* This) { 4764 return This->lpVtbl->Reset(This); 4765 } 4766 /*** ISynchronizeMutex methods ***/ 4767 static FORCEINLINE HRESULT ISynchronizeMutex_ReleaseMutex(ISynchronizeMutex* This) { 4768 return This->lpVtbl->ReleaseMutex(This); 4769 } 4770 #endif 4771 #endif 4772 4773 #endif 4774 4775 4776 #endif /* __ISynchronizeMutex_INTERFACE_DEFINED__ */ 4777 4778 4779 /***************************************************************************** 4780 * ICancelMethodCalls interface 4781 */ 4782 #ifndef __ICancelMethodCalls_INTERFACE_DEFINED__ 4783 #define __ICancelMethodCalls_INTERFACE_DEFINED__ 4784 4785 typedef ICancelMethodCalls *LPCANCELMETHODCALLS; 4786 4787 DEFINE_GUID(IID_ICancelMethodCalls, 0x00000029, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4788 #if defined(__cplusplus) && !defined(CINTERFACE) 4789 MIDL_INTERFACE("00000029-0000-0000-c000-000000000046") 4790 ICancelMethodCalls : public IUnknown 4791 { 4792 virtual HRESULT STDMETHODCALLTYPE Cancel( 4793 ULONG ulSeconds) = 0; 4794 4795 virtual HRESULT STDMETHODCALLTYPE TestCancel( 4796 ) = 0; 4797 4798 }; 4799 #ifdef __CRT_UUID_DECL 4800 __CRT_UUID_DECL(ICancelMethodCalls, 0x00000029, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4801 #endif 4802 #else 4803 typedef struct ICancelMethodCallsVtbl { 4804 BEGIN_INTERFACE 4805 4806 /*** IUnknown methods ***/ 4807 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4808 ICancelMethodCalls *This, 4809 REFIID riid, 4810 void **ppvObject); 4811 4812 ULONG (STDMETHODCALLTYPE *AddRef)( 4813 ICancelMethodCalls *This); 4814 4815 ULONG (STDMETHODCALLTYPE *Release)( 4816 ICancelMethodCalls *This); 4817 4818 /*** ICancelMethodCalls methods ***/ 4819 HRESULT (STDMETHODCALLTYPE *Cancel)( 4820 ICancelMethodCalls *This, 4821 ULONG ulSeconds); 4822 4823 HRESULT (STDMETHODCALLTYPE *TestCancel)( 4824 ICancelMethodCalls *This); 4825 4826 END_INTERFACE 4827 } ICancelMethodCallsVtbl; 4828 4829 interface ICancelMethodCalls { 4830 CONST_VTBL ICancelMethodCallsVtbl* lpVtbl; 4831 }; 4832 4833 #ifdef COBJMACROS 4834 #ifndef WIDL_C_INLINE_WRAPPERS 4835 /*** IUnknown methods ***/ 4836 #define ICancelMethodCalls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4837 #define ICancelMethodCalls_AddRef(This) (This)->lpVtbl->AddRef(This) 4838 #define ICancelMethodCalls_Release(This) (This)->lpVtbl->Release(This) 4839 /*** ICancelMethodCalls methods ***/ 4840 #define ICancelMethodCalls_Cancel(This,ulSeconds) (This)->lpVtbl->Cancel(This,ulSeconds) 4841 #define ICancelMethodCalls_TestCancel(This) (This)->lpVtbl->TestCancel(This) 4842 #else 4843 /*** IUnknown methods ***/ 4844 static FORCEINLINE HRESULT ICancelMethodCalls_QueryInterface(ICancelMethodCalls* This,REFIID riid,void **ppvObject) { 4845 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4846 } 4847 static FORCEINLINE ULONG ICancelMethodCalls_AddRef(ICancelMethodCalls* This) { 4848 return This->lpVtbl->AddRef(This); 4849 } 4850 static FORCEINLINE ULONG ICancelMethodCalls_Release(ICancelMethodCalls* This) { 4851 return This->lpVtbl->Release(This); 4852 } 4853 /*** ICancelMethodCalls methods ***/ 4854 static FORCEINLINE HRESULT ICancelMethodCalls_Cancel(ICancelMethodCalls* This,ULONG ulSeconds) { 4855 return This->lpVtbl->Cancel(This,ulSeconds); 4856 } 4857 static FORCEINLINE HRESULT ICancelMethodCalls_TestCancel(ICancelMethodCalls* This) { 4858 return This->lpVtbl->TestCancel(This); 4859 } 4860 #endif 4861 #endif 4862 4863 #endif 4864 4865 4866 #endif /* __ICancelMethodCalls_INTERFACE_DEFINED__ */ 4867 4868 4869 /***************************************************************************** 4870 * IAsyncManager interface 4871 */ 4872 #ifndef __IAsyncManager_INTERFACE_DEFINED__ 4873 #define __IAsyncManager_INTERFACE_DEFINED__ 4874 4875 typedef enum tagDCOM_CALL_STATE { 4876 DCOM_NONE = 0x0, 4877 DCOM_CALL_COMPLETE = 0x1, 4878 DCOM_CALL_CANCELED = 0x2 4879 } DCOM_CALL_STATE; 4880 4881 DEFINE_GUID(IID_IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 4882 #if defined(__cplusplus) && !defined(CINTERFACE) 4883 MIDL_INTERFACE("0000002a-0000-0000-c000-000000000046") 4884 IAsyncManager : public IUnknown 4885 { 4886 virtual HRESULT STDMETHODCALLTYPE CompleteCall( 4887 HRESULT Result) = 0; 4888 4889 virtual HRESULT STDMETHODCALLTYPE GetCallContext( 4890 REFIID riid, 4891 void **pInterface) = 0; 4892 4893 virtual HRESULT STDMETHODCALLTYPE GetState( 4894 ULONG *pulStateFlags) = 0; 4895 4896 }; 4897 #ifdef __CRT_UUID_DECL 4898 __CRT_UUID_DECL(IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 4899 #endif 4900 #else 4901 typedef struct IAsyncManagerVtbl { 4902 BEGIN_INTERFACE 4903 4904 /*** IUnknown methods ***/ 4905 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4906 IAsyncManager *This, 4907 REFIID riid, 4908 void **ppvObject); 4909 4910 ULONG (STDMETHODCALLTYPE *AddRef)( 4911 IAsyncManager *This); 4912 4913 ULONG (STDMETHODCALLTYPE *Release)( 4914 IAsyncManager *This); 4915 4916 /*** IAsyncManager methods ***/ 4917 HRESULT (STDMETHODCALLTYPE *CompleteCall)( 4918 IAsyncManager *This, 4919 HRESULT Result); 4920 4921 HRESULT (STDMETHODCALLTYPE *GetCallContext)( 4922 IAsyncManager *This, 4923 REFIID riid, 4924 void **pInterface); 4925 4926 HRESULT (STDMETHODCALLTYPE *GetState)( 4927 IAsyncManager *This, 4928 ULONG *pulStateFlags); 4929 4930 END_INTERFACE 4931 } IAsyncManagerVtbl; 4932 4933 interface IAsyncManager { 4934 CONST_VTBL IAsyncManagerVtbl* lpVtbl; 4935 }; 4936 4937 #ifdef COBJMACROS 4938 #ifndef WIDL_C_INLINE_WRAPPERS 4939 /*** IUnknown methods ***/ 4940 #define IAsyncManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4941 #define IAsyncManager_AddRef(This) (This)->lpVtbl->AddRef(This) 4942 #define IAsyncManager_Release(This) (This)->lpVtbl->Release(This) 4943 /*** IAsyncManager methods ***/ 4944 #define IAsyncManager_CompleteCall(This,Result) (This)->lpVtbl->CompleteCall(This,Result) 4945 #define IAsyncManager_GetCallContext(This,riid,pInterface) (This)->lpVtbl->GetCallContext(This,riid,pInterface) 4946 #define IAsyncManager_GetState(This,pulStateFlags) (This)->lpVtbl->GetState(This,pulStateFlags) 4947 #else 4948 /*** IUnknown methods ***/ 4949 static FORCEINLINE HRESULT IAsyncManager_QueryInterface(IAsyncManager* This,REFIID riid,void **ppvObject) { 4950 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4951 } 4952 static FORCEINLINE ULONG IAsyncManager_AddRef(IAsyncManager* This) { 4953 return This->lpVtbl->AddRef(This); 4954 } 4955 static FORCEINLINE ULONG IAsyncManager_Release(IAsyncManager* This) { 4956 return This->lpVtbl->Release(This); 4957 } 4958 /*** IAsyncManager methods ***/ 4959 static FORCEINLINE HRESULT IAsyncManager_CompleteCall(IAsyncManager* This,HRESULT Result) { 4960 return This->lpVtbl->CompleteCall(This,Result); 4961 } 4962 static FORCEINLINE HRESULT IAsyncManager_GetCallContext(IAsyncManager* This,REFIID riid,void **pInterface) { 4963 return This->lpVtbl->GetCallContext(This,riid,pInterface); 4964 } 4965 static FORCEINLINE HRESULT IAsyncManager_GetState(IAsyncManager* This,ULONG *pulStateFlags) { 4966 return This->lpVtbl->GetState(This,pulStateFlags); 4967 } 4968 #endif 4969 #endif 4970 4971 #endif 4972 4973 4974 #endif /* __IAsyncManager_INTERFACE_DEFINED__ */ 4975 4976 4977 /***************************************************************************** 4978 * ICallFactory interface 4979 */ 4980 #ifndef __ICallFactory_INTERFACE_DEFINED__ 4981 #define __ICallFactory_INTERFACE_DEFINED__ 4982 4983 DEFINE_GUID(IID_ICallFactory, 0x1c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d); 4984 #if defined(__cplusplus) && !defined(CINTERFACE) 4985 MIDL_INTERFACE("1c733a30-2a1c-11ce-ade5-00aa0044773d") 4986 ICallFactory : public IUnknown 4987 { 4988 virtual HRESULT STDMETHODCALLTYPE CreateCall( 4989 REFIID riid, 4990 IUnknown *pCtrlUnk, 4991 REFIID riid2, 4992 IUnknown **ppv) = 0; 4993 4994 }; 4995 #ifdef __CRT_UUID_DECL 4996 __CRT_UUID_DECL(ICallFactory, 0x1c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d) 4997 #endif 4998 #else 4999 typedef struct ICallFactoryVtbl { 5000 BEGIN_INTERFACE 5001 5002 /*** IUnknown methods ***/ 5003 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5004 ICallFactory *This, 5005 REFIID riid, 5006 void **ppvObject); 5007 5008 ULONG (STDMETHODCALLTYPE *AddRef)( 5009 ICallFactory *This); 5010 5011 ULONG (STDMETHODCALLTYPE *Release)( 5012 ICallFactory *This); 5013 5014 /*** ICallFactory methods ***/ 5015 HRESULT (STDMETHODCALLTYPE *CreateCall)( 5016 ICallFactory *This, 5017 REFIID riid, 5018 IUnknown *pCtrlUnk, 5019 REFIID riid2, 5020 IUnknown **ppv); 5021 5022 END_INTERFACE 5023 } ICallFactoryVtbl; 5024 5025 interface ICallFactory { 5026 CONST_VTBL ICallFactoryVtbl* lpVtbl; 5027 }; 5028 5029 #ifdef COBJMACROS 5030 #ifndef WIDL_C_INLINE_WRAPPERS 5031 /*** IUnknown methods ***/ 5032 #define ICallFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5033 #define ICallFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 5034 #define ICallFactory_Release(This) (This)->lpVtbl->Release(This) 5035 /*** ICallFactory methods ***/ 5036 #define ICallFactory_CreateCall(This,riid,pCtrlUnk,riid2,ppv) (This)->lpVtbl->CreateCall(This,riid,pCtrlUnk,riid2,ppv) 5037 #else 5038 /*** IUnknown methods ***/ 5039 static FORCEINLINE HRESULT ICallFactory_QueryInterface(ICallFactory* This,REFIID riid,void **ppvObject) { 5040 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5041 } 5042 static FORCEINLINE ULONG ICallFactory_AddRef(ICallFactory* This) { 5043 return This->lpVtbl->AddRef(This); 5044 } 5045 static FORCEINLINE ULONG ICallFactory_Release(ICallFactory* This) { 5046 return This->lpVtbl->Release(This); 5047 } 5048 /*** ICallFactory methods ***/ 5049 static FORCEINLINE HRESULT ICallFactory_CreateCall(ICallFactory* This,REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv) { 5050 return This->lpVtbl->CreateCall(This,riid,pCtrlUnk,riid2,ppv); 5051 } 5052 #endif 5053 #endif 5054 5055 #endif 5056 5057 5058 #endif /* __ICallFactory_INTERFACE_DEFINED__ */ 5059 5060 5061 /***************************************************************************** 5062 * IRpcHelper interface 5063 */ 5064 #ifndef __IRpcHelper_INTERFACE_DEFINED__ 5065 #define __IRpcHelper_INTERFACE_DEFINED__ 5066 5067 DEFINE_GUID(IID_IRpcHelper, 0x00000149, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5068 #if defined(__cplusplus) && !defined(CINTERFACE) 5069 MIDL_INTERFACE("00000149-0000-0000-c000-000000000046") 5070 IRpcHelper : public IUnknown 5071 { 5072 virtual HRESULT STDMETHODCALLTYPE GetDCOMProtocolVersion( 5073 DWORD *pComVersion) = 0; 5074 5075 virtual HRESULT STDMETHODCALLTYPE GetIIDFromOBJREF( 5076 void *pObjRef, 5077 IID **piid) = 0; 5078 5079 }; 5080 #ifdef __CRT_UUID_DECL 5081 __CRT_UUID_DECL(IRpcHelper, 0x00000149, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5082 #endif 5083 #else 5084 typedef struct IRpcHelperVtbl { 5085 BEGIN_INTERFACE 5086 5087 /*** IUnknown methods ***/ 5088 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5089 IRpcHelper *This, 5090 REFIID riid, 5091 void **ppvObject); 5092 5093 ULONG (STDMETHODCALLTYPE *AddRef)( 5094 IRpcHelper *This); 5095 5096 ULONG (STDMETHODCALLTYPE *Release)( 5097 IRpcHelper *This); 5098 5099 /*** IRpcHelper methods ***/ 5100 HRESULT (STDMETHODCALLTYPE *GetDCOMProtocolVersion)( 5101 IRpcHelper *This, 5102 DWORD *pComVersion); 5103 5104 HRESULT (STDMETHODCALLTYPE *GetIIDFromOBJREF)( 5105 IRpcHelper *This, 5106 void *pObjRef, 5107 IID **piid); 5108 5109 END_INTERFACE 5110 } IRpcHelperVtbl; 5111 5112 interface IRpcHelper { 5113 CONST_VTBL IRpcHelperVtbl* lpVtbl; 5114 }; 5115 5116 #ifdef COBJMACROS 5117 #ifndef WIDL_C_INLINE_WRAPPERS 5118 /*** IUnknown methods ***/ 5119 #define IRpcHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5120 #define IRpcHelper_AddRef(This) (This)->lpVtbl->AddRef(This) 5121 #define IRpcHelper_Release(This) (This)->lpVtbl->Release(This) 5122 /*** IRpcHelper methods ***/ 5123 #define IRpcHelper_GetDCOMProtocolVersion(This,pComVersion) (This)->lpVtbl->GetDCOMProtocolVersion(This,pComVersion) 5124 #define IRpcHelper_GetIIDFromOBJREF(This,pObjRef,piid) (This)->lpVtbl->GetIIDFromOBJREF(This,pObjRef,piid) 5125 #else 5126 /*** IUnknown methods ***/ 5127 static FORCEINLINE HRESULT IRpcHelper_QueryInterface(IRpcHelper* This,REFIID riid,void **ppvObject) { 5128 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5129 } 5130 static FORCEINLINE ULONG IRpcHelper_AddRef(IRpcHelper* This) { 5131 return This->lpVtbl->AddRef(This); 5132 } 5133 static FORCEINLINE ULONG IRpcHelper_Release(IRpcHelper* This) { 5134 return This->lpVtbl->Release(This); 5135 } 5136 /*** IRpcHelper methods ***/ 5137 static FORCEINLINE HRESULT IRpcHelper_GetDCOMProtocolVersion(IRpcHelper* This,DWORD *pComVersion) { 5138 return This->lpVtbl->GetDCOMProtocolVersion(This,pComVersion); 5139 } 5140 static FORCEINLINE HRESULT IRpcHelper_GetIIDFromOBJREF(IRpcHelper* This,void *pObjRef,IID **piid) { 5141 return This->lpVtbl->GetIIDFromOBJREF(This,pObjRef,piid); 5142 } 5143 #endif 5144 #endif 5145 5146 #endif 5147 5148 5149 #endif /* __IRpcHelper_INTERFACE_DEFINED__ */ 5150 5151 5152 /***************************************************************************** 5153 * IReleaseMarshalBuffers interface 5154 */ 5155 #ifndef __IReleaseMarshalBuffers_INTERFACE_DEFINED__ 5156 #define __IReleaseMarshalBuffers_INTERFACE_DEFINED__ 5157 5158 DEFINE_GUID(IID_IReleaseMarshalBuffers, 0xeb0cb9e8, 0x7996, 0x11d2, 0x87,0x2e, 0x00,0x00,0xf8,0x08,0x08,0x59); 5159 #if defined(__cplusplus) && !defined(CINTERFACE) 5160 MIDL_INTERFACE("eb0cb9e8-7996-11d2-872e-0000f8080859") 5161 IReleaseMarshalBuffers : public IUnknown 5162 { 5163 virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalBuffer( 5164 RPCOLEMESSAGE *pMsg, 5165 DWORD dwFlags, 5166 IUnknown *pChnl) = 0; 5167 5168 }; 5169 #ifdef __CRT_UUID_DECL 5170 __CRT_UUID_DECL(IReleaseMarshalBuffers, 0xeb0cb9e8, 0x7996, 0x11d2, 0x87,0x2e, 0x00,0x00,0xf8,0x08,0x08,0x59) 5171 #endif 5172 #else 5173 typedef struct IReleaseMarshalBuffersVtbl { 5174 BEGIN_INTERFACE 5175 5176 /*** IUnknown methods ***/ 5177 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5178 IReleaseMarshalBuffers *This, 5179 REFIID riid, 5180 void **ppvObject); 5181 5182 ULONG (STDMETHODCALLTYPE *AddRef)( 5183 IReleaseMarshalBuffers *This); 5184 5185 ULONG (STDMETHODCALLTYPE *Release)( 5186 IReleaseMarshalBuffers *This); 5187 5188 /*** IReleaseMarshalBuffers methods ***/ 5189 HRESULT (STDMETHODCALLTYPE *ReleaseMarshalBuffer)( 5190 IReleaseMarshalBuffers *This, 5191 RPCOLEMESSAGE *pMsg, 5192 DWORD dwFlags, 5193 IUnknown *pChnl); 5194 5195 END_INTERFACE 5196 } IReleaseMarshalBuffersVtbl; 5197 5198 interface IReleaseMarshalBuffers { 5199 CONST_VTBL IReleaseMarshalBuffersVtbl* lpVtbl; 5200 }; 5201 5202 #ifdef COBJMACROS 5203 #ifndef WIDL_C_INLINE_WRAPPERS 5204 /*** IUnknown methods ***/ 5205 #define IReleaseMarshalBuffers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5206 #define IReleaseMarshalBuffers_AddRef(This) (This)->lpVtbl->AddRef(This) 5207 #define IReleaseMarshalBuffers_Release(This) (This)->lpVtbl->Release(This) 5208 /*** IReleaseMarshalBuffers methods ***/ 5209 #define IReleaseMarshalBuffers_ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl) (This)->lpVtbl->ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl) 5210 #else 5211 /*** IUnknown methods ***/ 5212 static FORCEINLINE HRESULT IReleaseMarshalBuffers_QueryInterface(IReleaseMarshalBuffers* This,REFIID riid,void **ppvObject) { 5213 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5214 } 5215 static FORCEINLINE ULONG IReleaseMarshalBuffers_AddRef(IReleaseMarshalBuffers* This) { 5216 return This->lpVtbl->AddRef(This); 5217 } 5218 static FORCEINLINE ULONG IReleaseMarshalBuffers_Release(IReleaseMarshalBuffers* This) { 5219 return This->lpVtbl->Release(This); 5220 } 5221 /*** IReleaseMarshalBuffers methods ***/ 5222 static FORCEINLINE HRESULT IReleaseMarshalBuffers_ReleaseMarshalBuffer(IReleaseMarshalBuffers* This,RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl) { 5223 return This->lpVtbl->ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl); 5224 } 5225 #endif 5226 #endif 5227 5228 #endif 5229 5230 5231 #endif /* __IReleaseMarshalBuffers_INTERFACE_DEFINED__ */ 5232 5233 5234 /***************************************************************************** 5235 * IWaitMultiple interface 5236 */ 5237 #ifndef __IWaitMultiple_INTERFACE_DEFINED__ 5238 #define __IWaitMultiple_INTERFACE_DEFINED__ 5239 5240 DEFINE_GUID(IID_IWaitMultiple, 0x0000002b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5241 #if defined(__cplusplus) && !defined(CINTERFACE) 5242 MIDL_INTERFACE("0000002b-0000-0000-c000-000000000046") 5243 IWaitMultiple : public IUnknown 5244 { 5245 virtual HRESULT STDMETHODCALLTYPE WaitMultiple( 5246 DWORD timeout, 5247 ISynchronize **pSync) = 0; 5248 5249 virtual HRESULT STDMETHODCALLTYPE AddSynchronize( 5250 ISynchronize *pSync) = 0; 5251 5252 }; 5253 #ifdef __CRT_UUID_DECL 5254 __CRT_UUID_DECL(IWaitMultiple, 0x0000002b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5255 #endif 5256 #else 5257 typedef struct IWaitMultipleVtbl { 5258 BEGIN_INTERFACE 5259 5260 /*** IUnknown methods ***/ 5261 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5262 IWaitMultiple *This, 5263 REFIID riid, 5264 void **ppvObject); 5265 5266 ULONG (STDMETHODCALLTYPE *AddRef)( 5267 IWaitMultiple *This); 5268 5269 ULONG (STDMETHODCALLTYPE *Release)( 5270 IWaitMultiple *This); 5271 5272 /*** IWaitMultiple methods ***/ 5273 HRESULT (STDMETHODCALLTYPE *WaitMultiple)( 5274 IWaitMultiple *This, 5275 DWORD timeout, 5276 ISynchronize **pSync); 5277 5278 HRESULT (STDMETHODCALLTYPE *AddSynchronize)( 5279 IWaitMultiple *This, 5280 ISynchronize *pSync); 5281 5282 END_INTERFACE 5283 } IWaitMultipleVtbl; 5284 5285 interface IWaitMultiple { 5286 CONST_VTBL IWaitMultipleVtbl* lpVtbl; 5287 }; 5288 5289 #ifdef COBJMACROS 5290 #ifndef WIDL_C_INLINE_WRAPPERS 5291 /*** IUnknown methods ***/ 5292 #define IWaitMultiple_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5293 #define IWaitMultiple_AddRef(This) (This)->lpVtbl->AddRef(This) 5294 #define IWaitMultiple_Release(This) (This)->lpVtbl->Release(This) 5295 /*** IWaitMultiple methods ***/ 5296 #define IWaitMultiple_WaitMultiple(This,timeout,pSync) (This)->lpVtbl->WaitMultiple(This,timeout,pSync) 5297 #define IWaitMultiple_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync) 5298 #else 5299 /*** IUnknown methods ***/ 5300 static FORCEINLINE HRESULT IWaitMultiple_QueryInterface(IWaitMultiple* This,REFIID riid,void **ppvObject) { 5301 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5302 } 5303 static FORCEINLINE ULONG IWaitMultiple_AddRef(IWaitMultiple* This) { 5304 return This->lpVtbl->AddRef(This); 5305 } 5306 static FORCEINLINE ULONG IWaitMultiple_Release(IWaitMultiple* This) { 5307 return This->lpVtbl->Release(This); 5308 } 5309 /*** IWaitMultiple methods ***/ 5310 static FORCEINLINE HRESULT IWaitMultiple_WaitMultiple(IWaitMultiple* This,DWORD timeout,ISynchronize **pSync) { 5311 return This->lpVtbl->WaitMultiple(This,timeout,pSync); 5312 } 5313 static FORCEINLINE HRESULT IWaitMultiple_AddSynchronize(IWaitMultiple* This,ISynchronize *pSync) { 5314 return This->lpVtbl->AddSynchronize(This,pSync); 5315 } 5316 #endif 5317 #endif 5318 5319 #endif 5320 5321 5322 #endif /* __IWaitMultiple_INTERFACE_DEFINED__ */ 5323 5324 5325 /***************************************************************************** 5326 * IAddrTrackingControl interface 5327 */ 5328 #ifndef __IAddrTrackingControl_INTERFACE_DEFINED__ 5329 #define __IAddrTrackingControl_INTERFACE_DEFINED__ 5330 5331 typedef IAddrTrackingControl *LPADDRTRACKINGCONTROL; 5332 DEFINE_GUID(IID_IAddrTrackingControl, 0x00000147, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5333 #if defined(__cplusplus) && !defined(CINTERFACE) 5334 MIDL_INTERFACE("00000147-0000-0000-c000-000000000046") 5335 IAddrTrackingControl : public IUnknown 5336 { 5337 virtual HRESULT STDMETHODCALLTYPE EnableCOMDynamicAddrTracking( 5338 ) = 0; 5339 5340 virtual HRESULT STDMETHODCALLTYPE DisableCOMDynamicAddrTracking( 5341 ) = 0; 5342 5343 }; 5344 #ifdef __CRT_UUID_DECL 5345 __CRT_UUID_DECL(IAddrTrackingControl, 0x00000147, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5346 #endif 5347 #else 5348 typedef struct IAddrTrackingControlVtbl { 5349 BEGIN_INTERFACE 5350 5351 /*** IUnknown methods ***/ 5352 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5353 IAddrTrackingControl *This, 5354 REFIID riid, 5355 void **ppvObject); 5356 5357 ULONG (STDMETHODCALLTYPE *AddRef)( 5358 IAddrTrackingControl *This); 5359 5360 ULONG (STDMETHODCALLTYPE *Release)( 5361 IAddrTrackingControl *This); 5362 5363 /*** IAddrTrackingControl methods ***/ 5364 HRESULT (STDMETHODCALLTYPE *EnableCOMDynamicAddrTracking)( 5365 IAddrTrackingControl *This); 5366 5367 HRESULT (STDMETHODCALLTYPE *DisableCOMDynamicAddrTracking)( 5368 IAddrTrackingControl *This); 5369 5370 END_INTERFACE 5371 } IAddrTrackingControlVtbl; 5372 5373 interface IAddrTrackingControl { 5374 CONST_VTBL IAddrTrackingControlVtbl* lpVtbl; 5375 }; 5376 5377 #ifdef COBJMACROS 5378 #ifndef WIDL_C_INLINE_WRAPPERS 5379 /*** IUnknown methods ***/ 5380 #define IAddrTrackingControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5381 #define IAddrTrackingControl_AddRef(This) (This)->lpVtbl->AddRef(This) 5382 #define IAddrTrackingControl_Release(This) (This)->lpVtbl->Release(This) 5383 /*** IAddrTrackingControl methods ***/ 5384 #define IAddrTrackingControl_EnableCOMDynamicAddrTracking(This) (This)->lpVtbl->EnableCOMDynamicAddrTracking(This) 5385 #define IAddrTrackingControl_DisableCOMDynamicAddrTracking(This) (This)->lpVtbl->DisableCOMDynamicAddrTracking(This) 5386 #else 5387 /*** IUnknown methods ***/ 5388 static FORCEINLINE HRESULT IAddrTrackingControl_QueryInterface(IAddrTrackingControl* This,REFIID riid,void **ppvObject) { 5389 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5390 } 5391 static FORCEINLINE ULONG IAddrTrackingControl_AddRef(IAddrTrackingControl* This) { 5392 return This->lpVtbl->AddRef(This); 5393 } 5394 static FORCEINLINE ULONG IAddrTrackingControl_Release(IAddrTrackingControl* This) { 5395 return This->lpVtbl->Release(This); 5396 } 5397 /*** IAddrTrackingControl methods ***/ 5398 static FORCEINLINE HRESULT IAddrTrackingControl_EnableCOMDynamicAddrTracking(IAddrTrackingControl* This) { 5399 return This->lpVtbl->EnableCOMDynamicAddrTracking(This); 5400 } 5401 static FORCEINLINE HRESULT IAddrTrackingControl_DisableCOMDynamicAddrTracking(IAddrTrackingControl* This) { 5402 return This->lpVtbl->DisableCOMDynamicAddrTracking(This); 5403 } 5404 #endif 5405 #endif 5406 5407 #endif 5408 5409 5410 #endif /* __IAddrTrackingControl_INTERFACE_DEFINED__ */ 5411 5412 5413 /***************************************************************************** 5414 * IAddrExclusionControl interface 5415 */ 5416 #ifndef __IAddrExclusionControl_INTERFACE_DEFINED__ 5417 #define __IAddrExclusionControl_INTERFACE_DEFINED__ 5418 5419 typedef IAddrExclusionControl *LPADDREXCLUSIONCONTROL; 5420 DEFINE_GUID(IID_IAddrExclusionControl, 0x00000148, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5421 #if defined(__cplusplus) && !defined(CINTERFACE) 5422 MIDL_INTERFACE("00000148-0000-0000-c000-000000000046") 5423 IAddrExclusionControl : public IUnknown 5424 { 5425 virtual HRESULT STDMETHODCALLTYPE GetCurrentAddrExclusionList( 5426 REFIID riid, 5427 void **ppEnumerator) = 0; 5428 5429 virtual HRESULT STDMETHODCALLTYPE UpdateAddrExclusionList( 5430 IUnknown *pEnumerator) = 0; 5431 5432 }; 5433 #ifdef __CRT_UUID_DECL 5434 __CRT_UUID_DECL(IAddrExclusionControl, 0x00000148, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5435 #endif 5436 #else 5437 typedef struct IAddrExclusionControlVtbl { 5438 BEGIN_INTERFACE 5439 5440 /*** IUnknown methods ***/ 5441 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5442 IAddrExclusionControl *This, 5443 REFIID riid, 5444 void **ppvObject); 5445 5446 ULONG (STDMETHODCALLTYPE *AddRef)( 5447 IAddrExclusionControl *This); 5448 5449 ULONG (STDMETHODCALLTYPE *Release)( 5450 IAddrExclusionControl *This); 5451 5452 /*** IAddrExclusionControl methods ***/ 5453 HRESULT (STDMETHODCALLTYPE *GetCurrentAddrExclusionList)( 5454 IAddrExclusionControl *This, 5455 REFIID riid, 5456 void **ppEnumerator); 5457 5458 HRESULT (STDMETHODCALLTYPE *UpdateAddrExclusionList)( 5459 IAddrExclusionControl *This, 5460 IUnknown *pEnumerator); 5461 5462 END_INTERFACE 5463 } IAddrExclusionControlVtbl; 5464 5465 interface IAddrExclusionControl { 5466 CONST_VTBL IAddrExclusionControlVtbl* lpVtbl; 5467 }; 5468 5469 #ifdef COBJMACROS 5470 #ifndef WIDL_C_INLINE_WRAPPERS 5471 /*** IUnknown methods ***/ 5472 #define IAddrExclusionControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5473 #define IAddrExclusionControl_AddRef(This) (This)->lpVtbl->AddRef(This) 5474 #define IAddrExclusionControl_Release(This) (This)->lpVtbl->Release(This) 5475 /*** IAddrExclusionControl methods ***/ 5476 #define IAddrExclusionControl_GetCurrentAddrExclusionList(This,riid,ppEnumerator) (This)->lpVtbl->GetCurrentAddrExclusionList(This,riid,ppEnumerator) 5477 #define IAddrExclusionControl_UpdateAddrExclusionList(This,pEnumerator) (This)->lpVtbl->UpdateAddrExclusionList(This,pEnumerator) 5478 #else 5479 /*** IUnknown methods ***/ 5480 static FORCEINLINE HRESULT IAddrExclusionControl_QueryInterface(IAddrExclusionControl* This,REFIID riid,void **ppvObject) { 5481 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5482 } 5483 static FORCEINLINE ULONG IAddrExclusionControl_AddRef(IAddrExclusionControl* This) { 5484 return This->lpVtbl->AddRef(This); 5485 } 5486 static FORCEINLINE ULONG IAddrExclusionControl_Release(IAddrExclusionControl* This) { 5487 return This->lpVtbl->Release(This); 5488 } 5489 /*** IAddrExclusionControl methods ***/ 5490 static FORCEINLINE HRESULT IAddrExclusionControl_GetCurrentAddrExclusionList(IAddrExclusionControl* This,REFIID riid,void **ppEnumerator) { 5491 return This->lpVtbl->GetCurrentAddrExclusionList(This,riid,ppEnumerator); 5492 } 5493 static FORCEINLINE HRESULT IAddrExclusionControl_UpdateAddrExclusionList(IAddrExclusionControl* This,IUnknown *pEnumerator) { 5494 return This->lpVtbl->UpdateAddrExclusionList(This,pEnumerator); 5495 } 5496 #endif 5497 #endif 5498 5499 #endif 5500 5501 5502 #endif /* __IAddrExclusionControl_INTERFACE_DEFINED__ */ 5503 5504 5505 /***************************************************************************** 5506 * IPipeByte interface 5507 */ 5508 #ifndef __IPipeByte_INTERFACE_DEFINED__ 5509 #define __IPipeByte_INTERFACE_DEFINED__ 5510 5511 DEFINE_GUID(IID_IPipeByte, 0xdb2f3aca, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a); 5512 #if defined(__cplusplus) && !defined(CINTERFACE) 5513 MIDL_INTERFACE("db2f3aca-2f86-11d1-8e04-00c04fb9989a") 5514 IPipeByte : public IUnknown 5515 { 5516 virtual HRESULT STDMETHODCALLTYPE Pull( 5517 BYTE *buf, 5518 ULONG cRequest, 5519 ULONG *pcReturned) = 0; 5520 5521 virtual HRESULT STDMETHODCALLTYPE Push( 5522 BYTE *buf, 5523 ULONG cSent) = 0; 5524 5525 }; 5526 #ifdef __CRT_UUID_DECL 5527 __CRT_UUID_DECL(IPipeByte, 0xdb2f3aca, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a) 5528 #endif 5529 #else 5530 typedef struct IPipeByteVtbl { 5531 BEGIN_INTERFACE 5532 5533 /*** IUnknown methods ***/ 5534 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5535 IPipeByte *This, 5536 REFIID riid, 5537 void **ppvObject); 5538 5539 ULONG (STDMETHODCALLTYPE *AddRef)( 5540 IPipeByte *This); 5541 5542 ULONG (STDMETHODCALLTYPE *Release)( 5543 IPipeByte *This); 5544 5545 /*** IPipeByte methods ***/ 5546 HRESULT (STDMETHODCALLTYPE *Pull)( 5547 IPipeByte *This, 5548 BYTE *buf, 5549 ULONG cRequest, 5550 ULONG *pcReturned); 5551 5552 HRESULT (STDMETHODCALLTYPE *Push)( 5553 IPipeByte *This, 5554 BYTE *buf, 5555 ULONG cSent); 5556 5557 END_INTERFACE 5558 } IPipeByteVtbl; 5559 5560 interface IPipeByte { 5561 CONST_VTBL IPipeByteVtbl* lpVtbl; 5562 }; 5563 5564 #ifdef COBJMACROS 5565 #ifndef WIDL_C_INLINE_WRAPPERS 5566 /*** IUnknown methods ***/ 5567 #define IPipeByte_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5568 #define IPipeByte_AddRef(This) (This)->lpVtbl->AddRef(This) 5569 #define IPipeByte_Release(This) (This)->lpVtbl->Release(This) 5570 /*** IPipeByte methods ***/ 5571 #define IPipeByte_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned) 5572 #define IPipeByte_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent) 5573 #else 5574 /*** IUnknown methods ***/ 5575 static FORCEINLINE HRESULT IPipeByte_QueryInterface(IPipeByte* This,REFIID riid,void **ppvObject) { 5576 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5577 } 5578 static FORCEINLINE ULONG IPipeByte_AddRef(IPipeByte* This) { 5579 return This->lpVtbl->AddRef(This); 5580 } 5581 static FORCEINLINE ULONG IPipeByte_Release(IPipeByte* This) { 5582 return This->lpVtbl->Release(This); 5583 } 5584 /*** IPipeByte methods ***/ 5585 static FORCEINLINE HRESULT IPipeByte_Pull(IPipeByte* This,BYTE *buf,ULONG cRequest,ULONG *pcReturned) { 5586 return This->lpVtbl->Pull(This,buf,cRequest,pcReturned); 5587 } 5588 static FORCEINLINE HRESULT IPipeByte_Push(IPipeByte* This,BYTE *buf,ULONG cSent) { 5589 return This->lpVtbl->Push(This,buf,cSent); 5590 } 5591 #endif 5592 #endif 5593 5594 #endif 5595 5596 5597 #endif /* __IPipeByte_INTERFACE_DEFINED__ */ 5598 5599 5600 /***************************************************************************** 5601 * IPipeLong interface 5602 */ 5603 #ifndef __IPipeLong_INTERFACE_DEFINED__ 5604 #define __IPipeLong_INTERFACE_DEFINED__ 5605 5606 DEFINE_GUID(IID_IPipeLong, 0xdb2f3acc, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a); 5607 #if defined(__cplusplus) && !defined(CINTERFACE) 5608 MIDL_INTERFACE("db2f3acc-2f86-11d1-8e04-00c04fb9989a") 5609 IPipeLong : public IUnknown 5610 { 5611 virtual HRESULT STDMETHODCALLTYPE Pull( 5612 LONG *buf, 5613 ULONG cRequest, 5614 ULONG *pcReturned) = 0; 5615 5616 virtual HRESULT STDMETHODCALLTYPE Push( 5617 LONG *buf, 5618 ULONG cSent) = 0; 5619 5620 }; 5621 #ifdef __CRT_UUID_DECL 5622 __CRT_UUID_DECL(IPipeLong, 0xdb2f3acc, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a) 5623 #endif 5624 #else 5625 typedef struct IPipeLongVtbl { 5626 BEGIN_INTERFACE 5627 5628 /*** IUnknown methods ***/ 5629 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5630 IPipeLong *This, 5631 REFIID riid, 5632 void **ppvObject); 5633 5634 ULONG (STDMETHODCALLTYPE *AddRef)( 5635 IPipeLong *This); 5636 5637 ULONG (STDMETHODCALLTYPE *Release)( 5638 IPipeLong *This); 5639 5640 /*** IPipeLong methods ***/ 5641 HRESULT (STDMETHODCALLTYPE *Pull)( 5642 IPipeLong *This, 5643 LONG *buf, 5644 ULONG cRequest, 5645 ULONG *pcReturned); 5646 5647 HRESULT (STDMETHODCALLTYPE *Push)( 5648 IPipeLong *This, 5649 LONG *buf, 5650 ULONG cSent); 5651 5652 END_INTERFACE 5653 } IPipeLongVtbl; 5654 5655 interface IPipeLong { 5656 CONST_VTBL IPipeLongVtbl* lpVtbl; 5657 }; 5658 5659 #ifdef COBJMACROS 5660 #ifndef WIDL_C_INLINE_WRAPPERS 5661 /*** IUnknown methods ***/ 5662 #define IPipeLong_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5663 #define IPipeLong_AddRef(This) (This)->lpVtbl->AddRef(This) 5664 #define IPipeLong_Release(This) (This)->lpVtbl->Release(This) 5665 /*** IPipeLong methods ***/ 5666 #define IPipeLong_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned) 5667 #define IPipeLong_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent) 5668 #else 5669 /*** IUnknown methods ***/ 5670 static FORCEINLINE HRESULT IPipeLong_QueryInterface(IPipeLong* This,REFIID riid,void **ppvObject) { 5671 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5672 } 5673 static FORCEINLINE ULONG IPipeLong_AddRef(IPipeLong* This) { 5674 return This->lpVtbl->AddRef(This); 5675 } 5676 static FORCEINLINE ULONG IPipeLong_Release(IPipeLong* This) { 5677 return This->lpVtbl->Release(This); 5678 } 5679 /*** IPipeLong methods ***/ 5680 static FORCEINLINE HRESULT IPipeLong_Pull(IPipeLong* This,LONG *buf,ULONG cRequest,ULONG *pcReturned) { 5681 return This->lpVtbl->Pull(This,buf,cRequest,pcReturned); 5682 } 5683 static FORCEINLINE HRESULT IPipeLong_Push(IPipeLong* This,LONG *buf,ULONG cSent) { 5684 return This->lpVtbl->Push(This,buf,cSent); 5685 } 5686 #endif 5687 #endif 5688 5689 #endif 5690 5691 5692 #endif /* __IPipeLong_INTERFACE_DEFINED__ */ 5693 5694 5695 /***************************************************************************** 5696 * IPipeDouble interface 5697 */ 5698 #ifndef __IPipeDouble_INTERFACE_DEFINED__ 5699 #define __IPipeDouble_INTERFACE_DEFINED__ 5700 5701 DEFINE_GUID(IID_IPipeDouble, 0xdb2f3ace, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a); 5702 #if defined(__cplusplus) && !defined(CINTERFACE) 5703 MIDL_INTERFACE("db2f3ace-2f86-11d1-8e04-00c04fb9989a") 5704 IPipeDouble : public IUnknown 5705 { 5706 virtual HRESULT STDMETHODCALLTYPE Pull( 5707 DOUBLE *buf, 5708 ULONG cRequest, 5709 ULONG *pcReturned) = 0; 5710 5711 virtual HRESULT STDMETHODCALLTYPE Push( 5712 DOUBLE *buf, 5713 ULONG cSent) = 0; 5714 5715 }; 5716 #ifdef __CRT_UUID_DECL 5717 __CRT_UUID_DECL(IPipeDouble, 0xdb2f3ace, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a) 5718 #endif 5719 #else 5720 typedef struct IPipeDoubleVtbl { 5721 BEGIN_INTERFACE 5722 5723 /*** IUnknown methods ***/ 5724 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5725 IPipeDouble *This, 5726 REFIID riid, 5727 void **ppvObject); 5728 5729 ULONG (STDMETHODCALLTYPE *AddRef)( 5730 IPipeDouble *This); 5731 5732 ULONG (STDMETHODCALLTYPE *Release)( 5733 IPipeDouble *This); 5734 5735 /*** IPipeDouble methods ***/ 5736 HRESULT (STDMETHODCALLTYPE *Pull)( 5737 IPipeDouble *This, 5738 DOUBLE *buf, 5739 ULONG cRequest, 5740 ULONG *pcReturned); 5741 5742 HRESULT (STDMETHODCALLTYPE *Push)( 5743 IPipeDouble *This, 5744 DOUBLE *buf, 5745 ULONG cSent); 5746 5747 END_INTERFACE 5748 } IPipeDoubleVtbl; 5749 5750 interface IPipeDouble { 5751 CONST_VTBL IPipeDoubleVtbl* lpVtbl; 5752 }; 5753 5754 #ifdef COBJMACROS 5755 #ifndef WIDL_C_INLINE_WRAPPERS 5756 /*** IUnknown methods ***/ 5757 #define IPipeDouble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5758 #define IPipeDouble_AddRef(This) (This)->lpVtbl->AddRef(This) 5759 #define IPipeDouble_Release(This) (This)->lpVtbl->Release(This) 5760 /*** IPipeDouble methods ***/ 5761 #define IPipeDouble_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned) 5762 #define IPipeDouble_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent) 5763 #else 5764 /*** IUnknown methods ***/ 5765 static FORCEINLINE HRESULT IPipeDouble_QueryInterface(IPipeDouble* This,REFIID riid,void **ppvObject) { 5766 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5767 } 5768 static FORCEINLINE ULONG IPipeDouble_AddRef(IPipeDouble* This) { 5769 return This->lpVtbl->AddRef(This); 5770 } 5771 static FORCEINLINE ULONG IPipeDouble_Release(IPipeDouble* This) { 5772 return This->lpVtbl->Release(This); 5773 } 5774 /*** IPipeDouble methods ***/ 5775 static FORCEINLINE HRESULT IPipeDouble_Pull(IPipeDouble* This,DOUBLE *buf,ULONG cRequest,ULONG *pcReturned) { 5776 return This->lpVtbl->Pull(This,buf,cRequest,pcReturned); 5777 } 5778 static FORCEINLINE HRESULT IPipeDouble_Push(IPipeDouble* This,DOUBLE *buf,ULONG cSent) { 5779 return This->lpVtbl->Push(This,buf,cSent); 5780 } 5781 #endif 5782 #endif 5783 5784 #endif 5785 5786 5787 #endif /* __IPipeDouble_INTERFACE_DEFINED__ */ 5788 5789 5790 #if defined USE_COM_CONTEXT_DEF || defined BUILDTYPE_COMSVCS || defined _COMBASEAPI_ || defined _OLE32_ 5791 5792 typedef DWORD CPFLAGS; 5793 5794 typedef struct tagContextProperty { 5795 GUID policyId; 5796 CPFLAGS flags; 5797 IUnknown *pUnk; 5798 } ContextProperty; 5799 5800 /***************************************************************************** 5801 * IEnumContextProps interface 5802 */ 5803 #ifndef __IEnumContextProps_INTERFACE_DEFINED__ 5804 #define __IEnumContextProps_INTERFACE_DEFINED__ 5805 5806 typedef IEnumContextProps *LPENUMCONTEXTPROPS; 5807 5808 DEFINE_GUID(IID_IEnumContextProps, 0x000001c1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5809 #if defined(__cplusplus) && !defined(CINTERFACE) 5810 MIDL_INTERFACE("000001c1-0000-0000-c000-000000000046") 5811 IEnumContextProps : public IUnknown 5812 { 5813 virtual HRESULT STDMETHODCALLTYPE Next( 5814 ULONG celt, 5815 ContextProperty *pContextProperties, 5816 ULONG *pceltFetched) = 0; 5817 5818 virtual HRESULT STDMETHODCALLTYPE Skip( 5819 ULONG celt) = 0; 5820 5821 virtual HRESULT STDMETHODCALLTYPE Reset( 5822 ) = 0; 5823 5824 virtual HRESULT STDMETHODCALLTYPE Clone( 5825 IEnumContextProps **ppEnumContextProps) = 0; 5826 5827 virtual HRESULT STDMETHODCALLTYPE Count( 5828 ULONG *pcelt) = 0; 5829 5830 }; 5831 #ifdef __CRT_UUID_DECL 5832 __CRT_UUID_DECL(IEnumContextProps, 0x000001c1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5833 #endif 5834 #else 5835 typedef struct IEnumContextPropsVtbl { 5836 BEGIN_INTERFACE 5837 5838 /*** IUnknown methods ***/ 5839 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5840 IEnumContextProps *This, 5841 REFIID riid, 5842 void **ppvObject); 5843 5844 ULONG (STDMETHODCALLTYPE *AddRef)( 5845 IEnumContextProps *This); 5846 5847 ULONG (STDMETHODCALLTYPE *Release)( 5848 IEnumContextProps *This); 5849 5850 /*** IEnumContextProps methods ***/ 5851 HRESULT (STDMETHODCALLTYPE *Next)( 5852 IEnumContextProps *This, 5853 ULONG celt, 5854 ContextProperty *pContextProperties, 5855 ULONG *pceltFetched); 5856 5857 HRESULT (STDMETHODCALLTYPE *Skip)( 5858 IEnumContextProps *This, 5859 ULONG celt); 5860 5861 HRESULT (STDMETHODCALLTYPE *Reset)( 5862 IEnumContextProps *This); 5863 5864 HRESULT (STDMETHODCALLTYPE *Clone)( 5865 IEnumContextProps *This, 5866 IEnumContextProps **ppEnumContextProps); 5867 5868 HRESULT (STDMETHODCALLTYPE *Count)( 5869 IEnumContextProps *This, 5870 ULONG *pcelt); 5871 5872 END_INTERFACE 5873 } IEnumContextPropsVtbl; 5874 5875 interface IEnumContextProps { 5876 CONST_VTBL IEnumContextPropsVtbl* lpVtbl; 5877 }; 5878 5879 #ifdef COBJMACROS 5880 #ifndef WIDL_C_INLINE_WRAPPERS 5881 /*** IUnknown methods ***/ 5882 #define IEnumContextProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5883 #define IEnumContextProps_AddRef(This) (This)->lpVtbl->AddRef(This) 5884 #define IEnumContextProps_Release(This) (This)->lpVtbl->Release(This) 5885 /*** IEnumContextProps methods ***/ 5886 #define IEnumContextProps_Next(This,celt,pContextProperties,pceltFetched) (This)->lpVtbl->Next(This,celt,pContextProperties,pceltFetched) 5887 #define IEnumContextProps_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 5888 #define IEnumContextProps_Reset(This) (This)->lpVtbl->Reset(This) 5889 #define IEnumContextProps_Clone(This,ppEnumContextProps) (This)->lpVtbl->Clone(This,ppEnumContextProps) 5890 #define IEnumContextProps_Count(This,pcelt) (This)->lpVtbl->Count(This,pcelt) 5891 #else 5892 /*** IUnknown methods ***/ 5893 static FORCEINLINE HRESULT IEnumContextProps_QueryInterface(IEnumContextProps* This,REFIID riid,void **ppvObject) { 5894 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5895 } 5896 static FORCEINLINE ULONG IEnumContextProps_AddRef(IEnumContextProps* This) { 5897 return This->lpVtbl->AddRef(This); 5898 } 5899 static FORCEINLINE ULONG IEnumContextProps_Release(IEnumContextProps* This) { 5900 return This->lpVtbl->Release(This); 5901 } 5902 /*** IEnumContextProps methods ***/ 5903 static FORCEINLINE HRESULT IEnumContextProps_Next(IEnumContextProps* This,ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched) { 5904 return This->lpVtbl->Next(This,celt,pContextProperties,pceltFetched); 5905 } 5906 static FORCEINLINE HRESULT IEnumContextProps_Skip(IEnumContextProps* This,ULONG celt) { 5907 return This->lpVtbl->Skip(This,celt); 5908 } 5909 static FORCEINLINE HRESULT IEnumContextProps_Reset(IEnumContextProps* This) { 5910 return This->lpVtbl->Reset(This); 5911 } 5912 static FORCEINLINE HRESULT IEnumContextProps_Clone(IEnumContextProps* This,IEnumContextProps **ppEnumContextProps) { 5913 return This->lpVtbl->Clone(This,ppEnumContextProps); 5914 } 5915 static FORCEINLINE HRESULT IEnumContextProps_Count(IEnumContextProps* This,ULONG *pcelt) { 5916 return This->lpVtbl->Count(This,pcelt); 5917 } 5918 #endif 5919 #endif 5920 5921 #endif 5922 5923 5924 #endif /* __IEnumContextProps_INTERFACE_DEFINED__ */ 5925 5926 5927 /***************************************************************************** 5928 * IContext interface 5929 */ 5930 #ifndef __IContext_INTERFACE_DEFINED__ 5931 #define __IContext_INTERFACE_DEFINED__ 5932 5933 DEFINE_GUID(IID_IContext, 0x000001c0, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 5934 #if defined(__cplusplus) && !defined(CINTERFACE) 5935 MIDL_INTERFACE("000001c0-0000-0000-c000-000000000046") 5936 IContext : public IUnknown 5937 { 5938 virtual HRESULT STDMETHODCALLTYPE SetProperty( 5939 REFGUID rpolicyId, 5940 CPFLAGS flags, 5941 IUnknown *pUnk) = 0; 5942 5943 virtual HRESULT STDMETHODCALLTYPE RemoveProperty( 5944 REFGUID rPolicyId) = 0; 5945 5946 virtual HRESULT STDMETHODCALLTYPE GetProperty( 5947 REFGUID rGuid, 5948 CPFLAGS *pFlags, 5949 IUnknown **ppUnk) = 0; 5950 5951 virtual HRESULT STDMETHODCALLTYPE EnumContextProps( 5952 IEnumContextProps **ppEnumContextProps) = 0; 5953 5954 }; 5955 #ifdef __CRT_UUID_DECL 5956 __CRT_UUID_DECL(IContext, 0x000001c0, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 5957 #endif 5958 #else 5959 typedef struct IContextVtbl { 5960 BEGIN_INTERFACE 5961 5962 /*** IUnknown methods ***/ 5963 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5964 IContext *This, 5965 REFIID riid, 5966 void **ppvObject); 5967 5968 ULONG (STDMETHODCALLTYPE *AddRef)( 5969 IContext *This); 5970 5971 ULONG (STDMETHODCALLTYPE *Release)( 5972 IContext *This); 5973 5974 /*** IContext methods ***/ 5975 HRESULT (STDMETHODCALLTYPE *SetProperty)( 5976 IContext *This, 5977 REFGUID rpolicyId, 5978 CPFLAGS flags, 5979 IUnknown *pUnk); 5980 5981 HRESULT (STDMETHODCALLTYPE *RemoveProperty)( 5982 IContext *This, 5983 REFGUID rPolicyId); 5984 5985 HRESULT (STDMETHODCALLTYPE *GetProperty)( 5986 IContext *This, 5987 REFGUID rGuid, 5988 CPFLAGS *pFlags, 5989 IUnknown **ppUnk); 5990 5991 HRESULT (STDMETHODCALLTYPE *EnumContextProps)( 5992 IContext *This, 5993 IEnumContextProps **ppEnumContextProps); 5994 5995 END_INTERFACE 5996 } IContextVtbl; 5997 5998 interface IContext { 5999 CONST_VTBL IContextVtbl* lpVtbl; 6000 }; 6001 6002 #ifdef COBJMACROS 6003 #ifndef WIDL_C_INLINE_WRAPPERS 6004 /*** IUnknown methods ***/ 6005 #define IContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6006 #define IContext_AddRef(This) (This)->lpVtbl->AddRef(This) 6007 #define IContext_Release(This) (This)->lpVtbl->Release(This) 6008 /*** IContext methods ***/ 6009 #define IContext_SetProperty(This,rpolicyId,flags,pUnk) (This)->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk) 6010 #define IContext_RemoveProperty(This,rPolicyId) (This)->lpVtbl->RemoveProperty(This,rPolicyId) 6011 #define IContext_GetProperty(This,rGuid,pFlags,ppUnk) (This)->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk) 6012 #define IContext_EnumContextProps(This,ppEnumContextProps) (This)->lpVtbl->EnumContextProps(This,ppEnumContextProps) 6013 #else 6014 /*** IUnknown methods ***/ 6015 static FORCEINLINE HRESULT IContext_QueryInterface(IContext* This,REFIID riid,void **ppvObject) { 6016 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6017 } 6018 static FORCEINLINE ULONG IContext_AddRef(IContext* This) { 6019 return This->lpVtbl->AddRef(This); 6020 } 6021 static FORCEINLINE ULONG IContext_Release(IContext* This) { 6022 return This->lpVtbl->Release(This); 6023 } 6024 /*** IContext methods ***/ 6025 static FORCEINLINE HRESULT IContext_SetProperty(IContext* This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk) { 6026 return This->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk); 6027 } 6028 static FORCEINLINE HRESULT IContext_RemoveProperty(IContext* This,REFGUID rPolicyId) { 6029 return This->lpVtbl->RemoveProperty(This,rPolicyId); 6030 } 6031 static FORCEINLINE HRESULT IContext_GetProperty(IContext* This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk) { 6032 return This->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk); 6033 } 6034 static FORCEINLINE HRESULT IContext_EnumContextProps(IContext* This,IEnumContextProps **ppEnumContextProps) { 6035 return This->lpVtbl->EnumContextProps(This,ppEnumContextProps); 6036 } 6037 #endif 6038 #endif 6039 6040 #endif 6041 6042 6043 #endif /* __IContext_INTERFACE_DEFINED__ */ 6044 6045 #endif 6046 #endif 6047 6048 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 6049 typedef enum _APTTYPEQUALIFIER { 6050 APTTYPEQUALIFIER_NONE = 0, 6051 APTTYPEQUALIFIER_IMPLICIT_MTA = 1, 6052 APTTYPEQUALIFIER_NA_ON_MTA = 2, 6053 APTTYPEQUALIFIER_NA_ON_STA = 3, 6054 APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4, 6055 APTTYPEQUALIFIER_NA_ON_MAINSTA = 5, 6056 APTTYPEQUALIFIER_APPLICATION_STA = 6 6057 } APTTYPEQUALIFIER; 6058 6059 typedef enum _APTTYPE { 6060 APTTYPE_CURRENT = -1, 6061 APTTYPE_STA = 0, 6062 APTTYPE_MTA = 1, 6063 APTTYPE_NA = 2, 6064 APTTYPE_MAINSTA = 3 6065 } APTTYPE; 6066 #endif 6067 6068 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 6069 typedef enum _THDTYPE { 6070 THDTYPE_BLOCKMESSAGES = 0, 6071 THDTYPE_PROCESSMESSAGES = 1 6072 } THDTYPE; 6073 6074 typedef DWORD APARTMENTID; 6075 6076 /***************************************************************************** 6077 * IComThreadingInfo interface 6078 */ 6079 #ifndef __IComThreadingInfo_INTERFACE_DEFINED__ 6080 #define __IComThreadingInfo_INTERFACE_DEFINED__ 6081 6082 DEFINE_GUID(IID_IComThreadingInfo, 0x000001ce, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 6083 #if defined(__cplusplus) && !defined(CINTERFACE) 6084 MIDL_INTERFACE("000001ce-0000-0000-c000-000000000046") 6085 IComThreadingInfo : public IUnknown 6086 { 6087 virtual HRESULT STDMETHODCALLTYPE GetCurrentApartmentType( 6088 APTTYPE *pAptType) = 0; 6089 6090 virtual HRESULT STDMETHODCALLTYPE GetCurrentThreadType( 6091 THDTYPE *pThreadType) = 0; 6092 6093 virtual HRESULT STDMETHODCALLTYPE GetCurrentLogicalThreadId( 6094 GUID *pguidLogicalThreadId) = 0; 6095 6096 virtual HRESULT STDMETHODCALLTYPE SetCurrentLogicalThreadId( 6097 REFGUID rguid) = 0; 6098 6099 }; 6100 #ifdef __CRT_UUID_DECL 6101 __CRT_UUID_DECL(IComThreadingInfo, 0x000001ce, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 6102 #endif 6103 #else 6104 typedef struct IComThreadingInfoVtbl { 6105 BEGIN_INTERFACE 6106 6107 /*** IUnknown methods ***/ 6108 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6109 IComThreadingInfo *This, 6110 REFIID riid, 6111 void **ppvObject); 6112 6113 ULONG (STDMETHODCALLTYPE *AddRef)( 6114 IComThreadingInfo *This); 6115 6116 ULONG (STDMETHODCALLTYPE *Release)( 6117 IComThreadingInfo *This); 6118 6119 /*** IComThreadingInfo methods ***/ 6120 HRESULT (STDMETHODCALLTYPE *GetCurrentApartmentType)( 6121 IComThreadingInfo *This, 6122 APTTYPE *pAptType); 6123 6124 HRESULT (STDMETHODCALLTYPE *GetCurrentThreadType)( 6125 IComThreadingInfo *This, 6126 THDTYPE *pThreadType); 6127 6128 HRESULT (STDMETHODCALLTYPE *GetCurrentLogicalThreadId)( 6129 IComThreadingInfo *This, 6130 GUID *pguidLogicalThreadId); 6131 6132 HRESULT (STDMETHODCALLTYPE *SetCurrentLogicalThreadId)( 6133 IComThreadingInfo *This, 6134 REFGUID rguid); 6135 6136 END_INTERFACE 6137 } IComThreadingInfoVtbl; 6138 6139 interface IComThreadingInfo { 6140 CONST_VTBL IComThreadingInfoVtbl* lpVtbl; 6141 }; 6142 6143 #ifdef COBJMACROS 6144 #ifndef WIDL_C_INLINE_WRAPPERS 6145 /*** IUnknown methods ***/ 6146 #define IComThreadingInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6147 #define IComThreadingInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 6148 #define IComThreadingInfo_Release(This) (This)->lpVtbl->Release(This) 6149 /*** IComThreadingInfo methods ***/ 6150 #define IComThreadingInfo_GetCurrentApartmentType(This,pAptType) (This)->lpVtbl->GetCurrentApartmentType(This,pAptType) 6151 #define IComThreadingInfo_GetCurrentThreadType(This,pThreadType) (This)->lpVtbl->GetCurrentThreadType(This,pThreadType) 6152 #define IComThreadingInfo_GetCurrentLogicalThreadId(This,pguidLogicalThreadId) (This)->lpVtbl->GetCurrentLogicalThreadId(This,pguidLogicalThreadId) 6153 #define IComThreadingInfo_SetCurrentLogicalThreadId(This,rguid) (This)->lpVtbl->SetCurrentLogicalThreadId(This,rguid) 6154 #else 6155 /*** IUnknown methods ***/ 6156 static FORCEINLINE HRESULT IComThreadingInfo_QueryInterface(IComThreadingInfo* This,REFIID riid,void **ppvObject) { 6157 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6158 } 6159 static FORCEINLINE ULONG IComThreadingInfo_AddRef(IComThreadingInfo* This) { 6160 return This->lpVtbl->AddRef(This); 6161 } 6162 static FORCEINLINE ULONG IComThreadingInfo_Release(IComThreadingInfo* This) { 6163 return This->lpVtbl->Release(This); 6164 } 6165 /*** IComThreadingInfo methods ***/ 6166 static FORCEINLINE HRESULT IComThreadingInfo_GetCurrentApartmentType(IComThreadingInfo* This,APTTYPE *pAptType) { 6167 return This->lpVtbl->GetCurrentApartmentType(This,pAptType); 6168 } 6169 static FORCEINLINE HRESULT IComThreadingInfo_GetCurrentThreadType(IComThreadingInfo* This,THDTYPE *pThreadType) { 6170 return This->lpVtbl->GetCurrentThreadType(This,pThreadType); 6171 } 6172 static FORCEINLINE HRESULT IComThreadingInfo_GetCurrentLogicalThreadId(IComThreadingInfo* This,GUID *pguidLogicalThreadId) { 6173 return This->lpVtbl->GetCurrentLogicalThreadId(This,pguidLogicalThreadId); 6174 } 6175 static FORCEINLINE HRESULT IComThreadingInfo_SetCurrentLogicalThreadId(IComThreadingInfo* This,REFGUID rguid) { 6176 return This->lpVtbl->SetCurrentLogicalThreadId(This,rguid); 6177 } 6178 #endif 6179 #endif 6180 6181 #endif 6182 6183 6184 #endif /* __IComThreadingInfo_INTERFACE_DEFINED__ */ 6185 6186 6187 /***************************************************************************** 6188 * IProcessInitControl interface 6189 */ 6190 #ifndef __IProcessInitControl_INTERFACE_DEFINED__ 6191 #define __IProcessInitControl_INTERFACE_DEFINED__ 6192 6193 DEFINE_GUID(IID_IProcessInitControl, 0x72380d55, 0x8d2b, 0x43a3, 0x85,0x13, 0x2b,0x6e,0xf3,0x14,0x34,0xe9); 6194 #if defined(__cplusplus) && !defined(CINTERFACE) 6195 MIDL_INTERFACE("72380d55-8d2b-43a3-8513-2b6ef31434e9") 6196 IProcessInitControl : public IUnknown 6197 { 6198 virtual HRESULT STDMETHODCALLTYPE ResetInitializerTimeout( 6199 DWORD dwSecondsRemaining) = 0; 6200 6201 }; 6202 #ifdef __CRT_UUID_DECL 6203 __CRT_UUID_DECL(IProcessInitControl, 0x72380d55, 0x8d2b, 0x43a3, 0x85,0x13, 0x2b,0x6e,0xf3,0x14,0x34,0xe9) 6204 #endif 6205 #else 6206 typedef struct IProcessInitControlVtbl { 6207 BEGIN_INTERFACE 6208 6209 /*** IUnknown methods ***/ 6210 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6211 IProcessInitControl *This, 6212 REFIID riid, 6213 void **ppvObject); 6214 6215 ULONG (STDMETHODCALLTYPE *AddRef)( 6216 IProcessInitControl *This); 6217 6218 ULONG (STDMETHODCALLTYPE *Release)( 6219 IProcessInitControl *This); 6220 6221 /*** IProcessInitControl methods ***/ 6222 HRESULT (STDMETHODCALLTYPE *ResetInitializerTimeout)( 6223 IProcessInitControl *This, 6224 DWORD dwSecondsRemaining); 6225 6226 END_INTERFACE 6227 } IProcessInitControlVtbl; 6228 6229 interface IProcessInitControl { 6230 CONST_VTBL IProcessInitControlVtbl* lpVtbl; 6231 }; 6232 6233 #ifdef COBJMACROS 6234 #ifndef WIDL_C_INLINE_WRAPPERS 6235 /*** IUnknown methods ***/ 6236 #define IProcessInitControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6237 #define IProcessInitControl_AddRef(This) (This)->lpVtbl->AddRef(This) 6238 #define IProcessInitControl_Release(This) (This)->lpVtbl->Release(This) 6239 /*** IProcessInitControl methods ***/ 6240 #define IProcessInitControl_ResetInitializerTimeout(This,dwSecondsRemaining) (This)->lpVtbl->ResetInitializerTimeout(This,dwSecondsRemaining) 6241 #else 6242 /*** IUnknown methods ***/ 6243 static FORCEINLINE HRESULT IProcessInitControl_QueryInterface(IProcessInitControl* This,REFIID riid,void **ppvObject) { 6244 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6245 } 6246 static FORCEINLINE ULONG IProcessInitControl_AddRef(IProcessInitControl* This) { 6247 return This->lpVtbl->AddRef(This); 6248 } 6249 static FORCEINLINE ULONG IProcessInitControl_Release(IProcessInitControl* This) { 6250 return This->lpVtbl->Release(This); 6251 } 6252 /*** IProcessInitControl methods ***/ 6253 static FORCEINLINE HRESULT IProcessInitControl_ResetInitializerTimeout(IProcessInitControl* This,DWORD dwSecondsRemaining) { 6254 return This->lpVtbl->ResetInitializerTimeout(This,dwSecondsRemaining); 6255 } 6256 #endif 6257 #endif 6258 6259 #endif 6260 6261 6262 #endif /* __IProcessInitControl_INTERFACE_DEFINED__ */ 6263 6264 6265 /***************************************************************************** 6266 * IFastRundown interface 6267 */ 6268 #ifndef __IFastRundown_INTERFACE_DEFINED__ 6269 #define __IFastRundown_INTERFACE_DEFINED__ 6270 6271 DEFINE_GUID(IID_IFastRundown, 0x00000040, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); 6272 #if defined(__cplusplus) && !defined(CINTERFACE) 6273 MIDL_INTERFACE("00000040-0000-0000-c000-000000000046") 6274 IFastRundown : public IUnknown 6275 { 6276 }; 6277 #ifdef __CRT_UUID_DECL 6278 __CRT_UUID_DECL(IFastRundown, 0x00000040, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) 6279 #endif 6280 #else 6281 typedef struct IFastRundownVtbl { 6282 BEGIN_INTERFACE 6283 6284 /*** IUnknown methods ***/ 6285 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6286 IFastRundown *This, 6287 REFIID riid, 6288 void **ppvObject); 6289 6290 ULONG (STDMETHODCALLTYPE *AddRef)( 6291 IFastRundown *This); 6292 6293 ULONG (STDMETHODCALLTYPE *Release)( 6294 IFastRundown *This); 6295 6296 END_INTERFACE 6297 } IFastRundownVtbl; 6298 6299 interface IFastRundown { 6300 CONST_VTBL IFastRundownVtbl* lpVtbl; 6301 }; 6302 6303 #ifdef COBJMACROS 6304 #ifndef WIDL_C_INLINE_WRAPPERS 6305 /*** IUnknown methods ***/ 6306 #define IFastRundown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6307 #define IFastRundown_AddRef(This) (This)->lpVtbl->AddRef(This) 6308 #define IFastRundown_Release(This) (This)->lpVtbl->Release(This) 6309 #else 6310 /*** IUnknown methods ***/ 6311 static FORCEINLINE HRESULT IFastRundown_QueryInterface(IFastRundown* This,REFIID riid,void **ppvObject) { 6312 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6313 } 6314 static FORCEINLINE ULONG IFastRundown_AddRef(IFastRundown* This) { 6315 return This->lpVtbl->AddRef(This); 6316 } 6317 static FORCEINLINE ULONG IFastRundown_Release(IFastRundown* This) { 6318 return This->lpVtbl->Release(This); 6319 } 6320 #endif 6321 #endif 6322 6323 #endif 6324 6325 6326 #endif /* __IFastRundown_INTERFACE_DEFINED__ */ 6327 6328 6329 typedef enum CO_MARSHALING_CONTEXT_ATTRIBUTES { 6330 CO_MARSHALING_SOURCE_IS_APP_CONTAINER = 0 6331 } CO_MARSHALING_CONTEXT_ATTRIBUTES; 6332 6333 /***************************************************************************** 6334 * IMarshalingStream interface 6335 */ 6336 #ifndef __IMarshalingStream_INTERFACE_DEFINED__ 6337 #define __IMarshalingStream_INTERFACE_DEFINED__ 6338 6339 DEFINE_GUID(IID_IMarshalingStream, 0xd8f2f5e6, 0x6102, 0x4863, 0x9f,0x26, 0x38,0x9a,0x46,0x76,0xef,0xde); 6340 #if defined(__cplusplus) && !defined(CINTERFACE) 6341 MIDL_INTERFACE("d8f2f5e6-6102-4863-9f26-389a4676efde") 6342 IMarshalingStream : public IStream 6343 { 6344 virtual HRESULT STDMETHODCALLTYPE GetMarshalingContextAttribute( 6345 CO_MARSHALING_CONTEXT_ATTRIBUTES attribute, 6346 ULONG_PTR *pAttributeValue) = 0; 6347 6348 }; 6349 #ifdef __CRT_UUID_DECL 6350 __CRT_UUID_DECL(IMarshalingStream, 0xd8f2f5e6, 0x6102, 0x4863, 0x9f,0x26, 0x38,0x9a,0x46,0x76,0xef,0xde) 6351 #endif 6352 #else 6353 typedef struct IMarshalingStreamVtbl { 6354 BEGIN_INTERFACE 6355 6356 /*** IUnknown methods ***/ 6357 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6358 IMarshalingStream *This, 6359 REFIID riid, 6360 void **ppvObject); 6361 6362 ULONG (STDMETHODCALLTYPE *AddRef)( 6363 IMarshalingStream *This); 6364 6365 ULONG (STDMETHODCALLTYPE *Release)( 6366 IMarshalingStream *This); 6367 6368 /*** ISequentialStream methods ***/ 6369 HRESULT (STDMETHODCALLTYPE *Read)( 6370 IMarshalingStream *This, 6371 void *pv, 6372 ULONG cb, 6373 ULONG *pcbRead); 6374 6375 HRESULT (STDMETHODCALLTYPE *Write)( 6376 IMarshalingStream *This, 6377 const void *pv, 6378 ULONG cb, 6379 ULONG *pcbWritten); 6380 6381 /*** IStream methods ***/ 6382 HRESULT (STDMETHODCALLTYPE *Seek)( 6383 IMarshalingStream *This, 6384 LARGE_INTEGER dlibMove, 6385 DWORD dwOrigin, 6386 ULARGE_INTEGER *plibNewPosition); 6387 6388 HRESULT (STDMETHODCALLTYPE *SetSize)( 6389 IMarshalingStream *This, 6390 ULARGE_INTEGER libNewSize); 6391 6392 HRESULT (STDMETHODCALLTYPE *CopyTo)( 6393 IMarshalingStream *This, 6394 IStream *pstm, 6395 ULARGE_INTEGER cb, 6396 ULARGE_INTEGER *pcbRead, 6397 ULARGE_INTEGER *pcbWritten); 6398 6399 HRESULT (STDMETHODCALLTYPE *Commit)( 6400 IMarshalingStream *This, 6401 DWORD grfCommitFlags); 6402 6403 HRESULT (STDMETHODCALLTYPE *Revert)( 6404 IMarshalingStream *This); 6405 6406 HRESULT (STDMETHODCALLTYPE *LockRegion)( 6407 IMarshalingStream *This, 6408 ULARGE_INTEGER libOffset, 6409 ULARGE_INTEGER cb, 6410 DWORD dwLockType); 6411 6412 HRESULT (STDMETHODCALLTYPE *UnlockRegion)( 6413 IMarshalingStream *This, 6414 ULARGE_INTEGER libOffset, 6415 ULARGE_INTEGER cb, 6416 DWORD dwLockType); 6417 6418 HRESULT (STDMETHODCALLTYPE *Stat)( 6419 IMarshalingStream *This, 6420 STATSTG *pstatstg, 6421 DWORD grfStatFlag); 6422 6423 HRESULT (STDMETHODCALLTYPE *Clone)( 6424 IMarshalingStream *This, 6425 IStream **ppstm); 6426 6427 /*** IMarshalingStream methods ***/ 6428 HRESULT (STDMETHODCALLTYPE *GetMarshalingContextAttribute)( 6429 IMarshalingStream *This, 6430 CO_MARSHALING_CONTEXT_ATTRIBUTES attribute, 6431 ULONG_PTR *pAttributeValue); 6432 6433 END_INTERFACE 6434 } IMarshalingStreamVtbl; 6435 6436 interface IMarshalingStream { 6437 CONST_VTBL IMarshalingStreamVtbl* lpVtbl; 6438 }; 6439 6440 #ifdef COBJMACROS 6441 #ifndef WIDL_C_INLINE_WRAPPERS 6442 /*** IUnknown methods ***/ 6443 #define IMarshalingStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6444 #define IMarshalingStream_AddRef(This) (This)->lpVtbl->AddRef(This) 6445 #define IMarshalingStream_Release(This) (This)->lpVtbl->Release(This) 6446 /*** ISequentialStream methods ***/ 6447 #define IMarshalingStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) 6448 #define IMarshalingStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten) 6449 /*** IStream methods ***/ 6450 #define IMarshalingStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition) 6451 #define IMarshalingStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize) 6452 #define IMarshalingStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten) 6453 #define IMarshalingStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags) 6454 #define IMarshalingStream_Revert(This) (This)->lpVtbl->Revert(This) 6455 #define IMarshalingStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType) 6456 #define IMarshalingStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType) 6457 #define IMarshalingStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag) 6458 #define IMarshalingStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm) 6459 /*** IMarshalingStream methods ***/ 6460 #define IMarshalingStream_GetMarshalingContextAttribute(This,attribute,pAttributeValue) (This)->lpVtbl->GetMarshalingContextAttribute(This,attribute,pAttributeValue) 6461 #else 6462 /*** IUnknown methods ***/ 6463 static FORCEINLINE HRESULT IMarshalingStream_QueryInterface(IMarshalingStream* This,REFIID riid,void **ppvObject) { 6464 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6465 } 6466 static FORCEINLINE ULONG IMarshalingStream_AddRef(IMarshalingStream* This) { 6467 return This->lpVtbl->AddRef(This); 6468 } 6469 static FORCEINLINE ULONG IMarshalingStream_Release(IMarshalingStream* This) { 6470 return This->lpVtbl->Release(This); 6471 } 6472 /*** ISequentialStream methods ***/ 6473 static FORCEINLINE HRESULT IMarshalingStream_Read(IMarshalingStream* This,void *pv,ULONG cb,ULONG *pcbRead) { 6474 return This->lpVtbl->Read(This,pv,cb,pcbRead); 6475 } 6476 static FORCEINLINE HRESULT IMarshalingStream_Write(IMarshalingStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) { 6477 return This->lpVtbl->Write(This,pv,cb,pcbWritten); 6478 } 6479 /*** IStream methods ***/ 6480 static FORCEINLINE HRESULT IMarshalingStream_Seek(IMarshalingStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) { 6481 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition); 6482 } 6483 static FORCEINLINE HRESULT IMarshalingStream_SetSize(IMarshalingStream* This,ULARGE_INTEGER libNewSize) { 6484 return This->lpVtbl->SetSize(This,libNewSize); 6485 } 6486 static FORCEINLINE HRESULT IMarshalingStream_CopyTo(IMarshalingStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) { 6487 return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten); 6488 } 6489 static FORCEINLINE HRESULT IMarshalingStream_Commit(IMarshalingStream* This,DWORD grfCommitFlags) { 6490 return This->lpVtbl->Commit(This,grfCommitFlags); 6491 } 6492 static FORCEINLINE HRESULT IMarshalingStream_Revert(IMarshalingStream* This) { 6493 return This->lpVtbl->Revert(This); 6494 } 6495 static FORCEINLINE HRESULT IMarshalingStream_LockRegion(IMarshalingStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { 6496 return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType); 6497 } 6498 static FORCEINLINE HRESULT IMarshalingStream_UnlockRegion(IMarshalingStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { 6499 return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType); 6500 } 6501 static FORCEINLINE HRESULT IMarshalingStream_Stat(IMarshalingStream* This,STATSTG *pstatstg,DWORD grfStatFlag) { 6502 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag); 6503 } 6504 static FORCEINLINE HRESULT IMarshalingStream_Clone(IMarshalingStream* This,IStream **ppstm) { 6505 return This->lpVtbl->Clone(This,ppstm); 6506 } 6507 /*** IMarshalingStream methods ***/ 6508 static FORCEINLINE HRESULT IMarshalingStream_GetMarshalingContextAttribute(IMarshalingStream* This,CO_MARSHALING_CONTEXT_ATTRIBUTES attribute,ULONG_PTR *pAttributeValue) { 6509 return This->lpVtbl->GetMarshalingContextAttribute(This,attribute,pAttributeValue); 6510 } 6511 #endif 6512 #endif 6513 6514 #endif 6515 6516 6517 #endif /* __IMarshalingStream_INTERFACE_DEFINED__ */ 6518 6519 #endif 6520 6521 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 6522 EXTERN_C const GUID IID_ICallbackWithNoReentrancyToApplicationSTA; 6523 #endif 6524 #define _OBJIDLBASE_ 6525 #endif 6526 /* Begin additional prototypes for all interfaces */ 6527 6528 6529 /* End additional prototypes */ 6530 6531 #ifdef __cplusplus 6532 } 6533 #endif 6534 6535 #endif /* __objidlbase_h__ */ 6536