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