zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

wsdclient.h (61888B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/wsdclient.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __wsdclient_h__
     17 #define __wsdclient_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __IWSDAsyncResult_FWD_DEFINED__
     22 #define __IWSDAsyncResult_FWD_DEFINED__
     23 typedef interface IWSDAsyncResult IWSDAsyncResult;
     24 #ifdef __cplusplus
     25 interface IWSDAsyncResult;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __IWSDAsyncCallback_FWD_DEFINED__
     30 #define __IWSDAsyncCallback_FWD_DEFINED__
     31 typedef interface IWSDAsyncCallback IWSDAsyncCallback;
     32 #ifdef __cplusplus
     33 interface IWSDAsyncCallback;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __IWSDMetadataExchange_FWD_DEFINED__
     38 #define __IWSDMetadataExchange_FWD_DEFINED__
     39 typedef interface IWSDMetadataExchange IWSDMetadataExchange;
     40 #ifdef __cplusplus
     41 interface IWSDMetadataExchange;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __IWSDEventingStatus_FWD_DEFINED__
     46 #define __IWSDEventingStatus_FWD_DEFINED__
     47 typedef interface IWSDEventingStatus IWSDEventingStatus;
     48 #ifdef __cplusplus
     49 interface IWSDEventingStatus;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 #ifndef __IWSDEndpointProxy_FWD_DEFINED__
     54 #define __IWSDEndpointProxy_FWD_DEFINED__
     55 typedef interface IWSDEndpointProxy IWSDEndpointProxy;
     56 #ifdef __cplusplus
     57 interface IWSDEndpointProxy;
     58 #endif /* __cplusplus */
     59 #endif
     60 
     61 #ifndef __IWSDDeviceProxy_FWD_DEFINED__
     62 #define __IWSDDeviceProxy_FWD_DEFINED__
     63 typedef interface IWSDDeviceProxy IWSDDeviceProxy;
     64 #ifdef __cplusplus
     65 interface IWSDDeviceProxy;
     66 #endif /* __cplusplus */
     67 #endif
     68 
     69 #ifndef __IWSDServiceProxy_FWD_DEFINED__
     70 #define __IWSDServiceProxy_FWD_DEFINED__
     71 typedef interface IWSDServiceProxy IWSDServiceProxy;
     72 #ifdef __cplusplus
     73 interface IWSDServiceProxy;
     74 #endif /* __cplusplus */
     75 #endif
     76 
     77 #ifndef __IWSDServiceProxyEventing_FWD_DEFINED__
     78 #define __IWSDServiceProxyEventing_FWD_DEFINED__
     79 typedef interface IWSDServiceProxyEventing IWSDServiceProxyEventing;
     80 #ifdef __cplusplus
     81 interface IWSDServiceProxyEventing;
     82 #endif /* __cplusplus */
     83 #endif
     84 
     85 /* Headers for imported files */
     86 
     87 #include <oaidl.h>
     88 #include <ocidl.h>
     89 #include <wsdxmldom.h>
     90 #include <wsdtypes.h>
     91 
     92 #ifdef __cplusplus
     93 extern "C" {
     94 #endif
     95 
     96 #include <winapifamily.h>
     97 
     98 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
     99 
    100 #ifndef __IWSDAddress_FWD_DEFINED__
    101 #define __IWSDAddress_FWD_DEFINED__
    102 typedef interface IWSDAddress IWSDAddress;
    103 #ifdef __cplusplus
    104 interface IWSDAddress;
    105 #endif /* __cplusplus */
    106 #endif
    107 
    108 #ifndef __IWSDXMLContext_FWD_DEFINED__
    109 #define __IWSDXMLContext_FWD_DEFINED__
    110 typedef interface IWSDXMLContext IWSDXMLContext;
    111 #ifdef __cplusplus
    112 interface IWSDXMLContext;
    113 #endif /* __cplusplus */
    114 #endif
    115 
    116 #ifndef __IWSDiscoveredService_FWD_DEFINED__
    117 #define __IWSDiscoveredService_FWD_DEFINED__
    118 typedef interface IWSDiscoveredService IWSDiscoveredService;
    119 #ifdef __cplusplus
    120 interface IWSDiscoveredService;
    121 #endif /* __cplusplus */
    122 #endif
    123 
    124 #ifndef __IWSDDeviceProxy_FWD_DEFINED__
    125 #define __IWSDDeviceProxy_FWD_DEFINED__
    126 typedef interface IWSDDeviceProxy IWSDDeviceProxy;
    127 #ifdef __cplusplus
    128 interface IWSDDeviceProxy;
    129 #endif /* __cplusplus */
    130 #endif
    131 
    132 #ifndef __IWSDServiceProxy_FWD_DEFINED__
    133 #define __IWSDServiceProxy_FWD_DEFINED__
    134 typedef interface IWSDServiceProxy IWSDServiceProxy;
    135 #ifdef __cplusplus
    136 interface IWSDServiceProxy;
    137 #endif /* __cplusplus */
    138 #endif
    139 
    140 #ifndef __IWSDEndpointProxy_FWD_DEFINED__
    141 #define __IWSDEndpointProxy_FWD_DEFINED__
    142 typedef interface IWSDEndpointProxy IWSDEndpointProxy;
    143 #ifdef __cplusplus
    144 interface IWSDEndpointProxy;
    145 #endif /* __cplusplus */
    146 #endif
    147 
    148 #ifndef __IWSDAsyncResult_FWD_DEFINED__
    149 #define __IWSDAsyncResult_FWD_DEFINED__
    150 typedef interface IWSDAsyncResult IWSDAsyncResult;
    151 #ifdef __cplusplus
    152 interface IWSDAsyncResult;
    153 #endif /* __cplusplus */
    154 #endif
    155 
    156 #ifndef __IWSDAsyncCallback_FWD_DEFINED__
    157 #define __IWSDAsyncCallback_FWD_DEFINED__
    158 typedef interface IWSDAsyncCallback IWSDAsyncCallback;
    159 #ifdef __cplusplus
    160 interface IWSDAsyncCallback;
    161 #endif /* __cplusplus */
    162 #endif
    163 
    164 #ifndef __IWSDMetadataExchange_FWD_DEFINED__
    165 #define __IWSDMetadataExchange_FWD_DEFINED__
    166 typedef interface IWSDMetadataExchange IWSDMetadataExchange;
    167 #ifdef __cplusplus
    168 interface IWSDMetadataExchange;
    169 #endif /* __cplusplus */
    170 #endif
    171 
    172 #ifndef __IWSDEventingStatus_FWD_DEFINED__
    173 #define __IWSDEventingStatus_FWD_DEFINED__
    174 typedef interface IWSDEventingStatus IWSDEventingStatus;
    175 #ifdef __cplusplus
    176 interface IWSDEventingStatus;
    177 #endif /* __cplusplus */
    178 #endif
    179 
    180 /*****************************************************************************
    181  * IWSDAsyncResult interface
    182  */
    183 #ifndef __IWSDAsyncResult_INTERFACE_DEFINED__
    184 #define __IWSDAsyncResult_INTERFACE_DEFINED__
    185 
    186 DEFINE_GUID(IID_IWSDAsyncResult, 0x11a9852a, 0x8dd8, 0x423e, 0xb5,0x37, 0x93,0x56,0xdb,0x4f,0xbf,0xb8);
    187 #if defined(__cplusplus) && !defined(CINTERFACE)
    188 MIDL_INTERFACE("11a9852a-8dd8-423e-b537-9356db4fbfb8")
    189 IWSDAsyncResult : public IUnknown
    190 {
    191     virtual HRESULT STDMETHODCALLTYPE SetCallback(
    192         IWSDAsyncCallback *pCallback,
    193         IUnknown *pAsyncState) = 0;
    194 
    195     virtual HRESULT STDMETHODCALLTYPE SetWaitHandle(
    196         HANDLE hWaitHandle) = 0;
    197 
    198     virtual HRESULT STDMETHODCALLTYPE HasCompleted(
    199         ) = 0;
    200 
    201     virtual HRESULT STDMETHODCALLTYPE GetAsyncState(
    202         IUnknown **ppAsyncState) = 0;
    203 
    204     virtual HRESULT STDMETHODCALLTYPE Abort(
    205         ) = 0;
    206 
    207     virtual HRESULT STDMETHODCALLTYPE GetEvent(
    208         WSD_EVENT *pEvent) = 0;
    209 
    210     virtual HRESULT STDMETHODCALLTYPE GetEndpointProxy(
    211         IWSDEndpointProxy **ppEndpoint) = 0;
    212 
    213 };
    214 #ifdef __CRT_UUID_DECL
    215 __CRT_UUID_DECL(IWSDAsyncResult, 0x11a9852a, 0x8dd8, 0x423e, 0xb5,0x37, 0x93,0x56,0xdb,0x4f,0xbf,0xb8)
    216 #endif
    217 #else
    218 typedef struct IWSDAsyncResultVtbl {
    219     BEGIN_INTERFACE
    220 
    221     /*** IUnknown methods ***/
    222     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    223         IWSDAsyncResult *This,
    224         REFIID riid,
    225         void **ppvObject);
    226 
    227     ULONG (STDMETHODCALLTYPE *AddRef)(
    228         IWSDAsyncResult *This);
    229 
    230     ULONG (STDMETHODCALLTYPE *Release)(
    231         IWSDAsyncResult *This);
    232 
    233     /*** IWSDAsyncResult methods ***/
    234     HRESULT (STDMETHODCALLTYPE *SetCallback)(
    235         IWSDAsyncResult *This,
    236         IWSDAsyncCallback *pCallback,
    237         IUnknown *pAsyncState);
    238 
    239     HRESULT (STDMETHODCALLTYPE *SetWaitHandle)(
    240         IWSDAsyncResult *This,
    241         HANDLE hWaitHandle);
    242 
    243     HRESULT (STDMETHODCALLTYPE *HasCompleted)(
    244         IWSDAsyncResult *This);
    245 
    246     HRESULT (STDMETHODCALLTYPE *GetAsyncState)(
    247         IWSDAsyncResult *This,
    248         IUnknown **ppAsyncState);
    249 
    250     HRESULT (STDMETHODCALLTYPE *Abort)(
    251         IWSDAsyncResult *This);
    252 
    253     HRESULT (STDMETHODCALLTYPE *GetEvent)(
    254         IWSDAsyncResult *This,
    255         WSD_EVENT *pEvent);
    256 
    257     HRESULT (STDMETHODCALLTYPE *GetEndpointProxy)(
    258         IWSDAsyncResult *This,
    259         IWSDEndpointProxy **ppEndpoint);
    260 
    261     END_INTERFACE
    262 } IWSDAsyncResultVtbl;
    263 
    264 interface IWSDAsyncResult {
    265     CONST_VTBL IWSDAsyncResultVtbl* lpVtbl;
    266 };
    267 
    268 #ifdef COBJMACROS
    269 #ifndef WIDL_C_INLINE_WRAPPERS
    270 /*** IUnknown methods ***/
    271 #define IWSDAsyncResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    272 #define IWSDAsyncResult_AddRef(This) (This)->lpVtbl->AddRef(This)
    273 #define IWSDAsyncResult_Release(This) (This)->lpVtbl->Release(This)
    274 /*** IWSDAsyncResult methods ***/
    275 #define IWSDAsyncResult_SetCallback(This,pCallback,pAsyncState) (This)->lpVtbl->SetCallback(This,pCallback,pAsyncState)
    276 #define IWSDAsyncResult_SetWaitHandle(This,hWaitHandle) (This)->lpVtbl->SetWaitHandle(This,hWaitHandle)
    277 #define IWSDAsyncResult_HasCompleted(This) (This)->lpVtbl->HasCompleted(This)
    278 #define IWSDAsyncResult_GetAsyncState(This,ppAsyncState) (This)->lpVtbl->GetAsyncState(This,ppAsyncState)
    279 #define IWSDAsyncResult_Abort(This) (This)->lpVtbl->Abort(This)
    280 #define IWSDAsyncResult_GetEvent(This,pEvent) (This)->lpVtbl->GetEvent(This,pEvent)
    281 #define IWSDAsyncResult_GetEndpointProxy(This,ppEndpoint) (This)->lpVtbl->GetEndpointProxy(This,ppEndpoint)
    282 #else
    283 /*** IUnknown methods ***/
    284 static inline HRESULT IWSDAsyncResult_QueryInterface(IWSDAsyncResult* This,REFIID riid,void **ppvObject) {
    285     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    286 }
    287 static inline ULONG IWSDAsyncResult_AddRef(IWSDAsyncResult* This) {
    288     return This->lpVtbl->AddRef(This);
    289 }
    290 static inline ULONG IWSDAsyncResult_Release(IWSDAsyncResult* This) {
    291     return This->lpVtbl->Release(This);
    292 }
    293 /*** IWSDAsyncResult methods ***/
    294 static inline HRESULT IWSDAsyncResult_SetCallback(IWSDAsyncResult* This,IWSDAsyncCallback *pCallback,IUnknown *pAsyncState) {
    295     return This->lpVtbl->SetCallback(This,pCallback,pAsyncState);
    296 }
    297 static inline HRESULT IWSDAsyncResult_SetWaitHandle(IWSDAsyncResult* This,HANDLE hWaitHandle) {
    298     return This->lpVtbl->SetWaitHandle(This,hWaitHandle);
    299 }
    300 static inline HRESULT IWSDAsyncResult_HasCompleted(IWSDAsyncResult* This) {
    301     return This->lpVtbl->HasCompleted(This);
    302 }
    303 static inline HRESULT IWSDAsyncResult_GetAsyncState(IWSDAsyncResult* This,IUnknown **ppAsyncState) {
    304     return This->lpVtbl->GetAsyncState(This,ppAsyncState);
    305 }
    306 static inline HRESULT IWSDAsyncResult_Abort(IWSDAsyncResult* This) {
    307     return This->lpVtbl->Abort(This);
    308 }
    309 static inline HRESULT IWSDAsyncResult_GetEvent(IWSDAsyncResult* This,WSD_EVENT *pEvent) {
    310     return This->lpVtbl->GetEvent(This,pEvent);
    311 }
    312 static inline HRESULT IWSDAsyncResult_GetEndpointProxy(IWSDAsyncResult* This,IWSDEndpointProxy **ppEndpoint) {
    313     return This->lpVtbl->GetEndpointProxy(This,ppEndpoint);
    314 }
    315 #endif
    316 #endif
    317 
    318 #endif
    319 
    320 
    321 #endif  /* __IWSDAsyncResult_INTERFACE_DEFINED__ */
    322 
    323 /*****************************************************************************
    324  * IWSDAsyncCallback interface
    325  */
    326 #ifndef __IWSDAsyncCallback_INTERFACE_DEFINED__
    327 #define __IWSDAsyncCallback_INTERFACE_DEFINED__
    328 
    329 DEFINE_GUID(IID_IWSDAsyncCallback, 0xa63e109d, 0xce72, 0x49e2, 0xba,0x98, 0xe8,0x45,0xf5,0xee,0x16,0x66);
    330 #if defined(__cplusplus) && !defined(CINTERFACE)
    331 MIDL_INTERFACE("a63e109d-ce72-49e2-ba98-e845f5ee1666")
    332 IWSDAsyncCallback : public IUnknown
    333 {
    334     virtual HRESULT STDMETHODCALLTYPE AsyncOperationComplete(
    335         IWSDAsyncResult *pAsyncResult,
    336         IUnknown *pAsyncState) = 0;
    337 
    338 };
    339 #ifdef __CRT_UUID_DECL
    340 __CRT_UUID_DECL(IWSDAsyncCallback, 0xa63e109d, 0xce72, 0x49e2, 0xba,0x98, 0xe8,0x45,0xf5,0xee,0x16,0x66)
    341 #endif
    342 #else
    343 typedef struct IWSDAsyncCallbackVtbl {
    344     BEGIN_INTERFACE
    345 
    346     /*** IUnknown methods ***/
    347     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    348         IWSDAsyncCallback *This,
    349         REFIID riid,
    350         void **ppvObject);
    351 
    352     ULONG (STDMETHODCALLTYPE *AddRef)(
    353         IWSDAsyncCallback *This);
    354 
    355     ULONG (STDMETHODCALLTYPE *Release)(
    356         IWSDAsyncCallback *This);
    357 
    358     /*** IWSDAsyncCallback methods ***/
    359     HRESULT (STDMETHODCALLTYPE *AsyncOperationComplete)(
    360         IWSDAsyncCallback *This,
    361         IWSDAsyncResult *pAsyncResult,
    362         IUnknown *pAsyncState);
    363 
    364     END_INTERFACE
    365 } IWSDAsyncCallbackVtbl;
    366 
    367 interface IWSDAsyncCallback {
    368     CONST_VTBL IWSDAsyncCallbackVtbl* lpVtbl;
    369 };
    370 
    371 #ifdef COBJMACROS
    372 #ifndef WIDL_C_INLINE_WRAPPERS
    373 /*** IUnknown methods ***/
    374 #define IWSDAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    375 #define IWSDAsyncCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
    376 #define IWSDAsyncCallback_Release(This) (This)->lpVtbl->Release(This)
    377 /*** IWSDAsyncCallback methods ***/
    378 #define IWSDAsyncCallback_AsyncOperationComplete(This,pAsyncResult,pAsyncState) (This)->lpVtbl->AsyncOperationComplete(This,pAsyncResult,pAsyncState)
    379 #else
    380 /*** IUnknown methods ***/
    381 static inline HRESULT IWSDAsyncCallback_QueryInterface(IWSDAsyncCallback* This,REFIID riid,void **ppvObject) {
    382     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    383 }
    384 static inline ULONG IWSDAsyncCallback_AddRef(IWSDAsyncCallback* This) {
    385     return This->lpVtbl->AddRef(This);
    386 }
    387 static inline ULONG IWSDAsyncCallback_Release(IWSDAsyncCallback* This) {
    388     return This->lpVtbl->Release(This);
    389 }
    390 /*** IWSDAsyncCallback methods ***/
    391 static inline HRESULT IWSDAsyncCallback_AsyncOperationComplete(IWSDAsyncCallback* This,IWSDAsyncResult *pAsyncResult,IUnknown *pAsyncState) {
    392     return This->lpVtbl->AsyncOperationComplete(This,pAsyncResult,pAsyncState);
    393 }
    394 #endif
    395 #endif
    396 
    397 #endif
    398 
    399 
    400 #endif  /* __IWSDAsyncCallback_INTERFACE_DEFINED__ */
    401 
    402 /*****************************************************************************
    403  * IWSDMetadataExchange interface
    404  */
    405 #ifndef __IWSDMetadataExchange_INTERFACE_DEFINED__
    406 #define __IWSDMetadataExchange_INTERFACE_DEFINED__
    407 
    408 DEFINE_GUID(IID_IWSDMetadataExchange, 0x06996d57, 0x1d67, 0x4928, 0x93,0x07, 0x3d,0x78,0x33,0xfd,0xb8,0x46);
    409 #if defined(__cplusplus) && !defined(CINTERFACE)
    410 MIDL_INTERFACE("06996d57-1d67-4928-9307-3d7833fdb846")
    411 IWSDMetadataExchange : public IUnknown
    412 {
    413     virtual HRESULT STDMETHODCALLTYPE GetMetadata(
    414         WSD_METADATA_SECTION_LIST **MetadataOut) = 0;
    415 
    416 };
    417 #ifdef __CRT_UUID_DECL
    418 __CRT_UUID_DECL(IWSDMetadataExchange, 0x06996d57, 0x1d67, 0x4928, 0x93,0x07, 0x3d,0x78,0x33,0xfd,0xb8,0x46)
    419 #endif
    420 #else
    421 typedef struct IWSDMetadataExchangeVtbl {
    422     BEGIN_INTERFACE
    423 
    424     /*** IUnknown methods ***/
    425     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    426         IWSDMetadataExchange *This,
    427         REFIID riid,
    428         void **ppvObject);
    429 
    430     ULONG (STDMETHODCALLTYPE *AddRef)(
    431         IWSDMetadataExchange *This);
    432 
    433     ULONG (STDMETHODCALLTYPE *Release)(
    434         IWSDMetadataExchange *This);
    435 
    436     /*** IWSDMetadataExchange methods ***/
    437     HRESULT (STDMETHODCALLTYPE *GetMetadata)(
    438         IWSDMetadataExchange *This,
    439         WSD_METADATA_SECTION_LIST **MetadataOut);
    440 
    441     END_INTERFACE
    442 } IWSDMetadataExchangeVtbl;
    443 
    444 interface IWSDMetadataExchange {
    445     CONST_VTBL IWSDMetadataExchangeVtbl* lpVtbl;
    446 };
    447 
    448 #ifdef COBJMACROS
    449 #ifndef WIDL_C_INLINE_WRAPPERS
    450 /*** IUnknown methods ***/
    451 #define IWSDMetadataExchange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    452 #define IWSDMetadataExchange_AddRef(This) (This)->lpVtbl->AddRef(This)
    453 #define IWSDMetadataExchange_Release(This) (This)->lpVtbl->Release(This)
    454 /*** IWSDMetadataExchange methods ***/
    455 #define IWSDMetadataExchange_GetMetadata(This,MetadataOut) (This)->lpVtbl->GetMetadata(This,MetadataOut)
    456 #else
    457 /*** IUnknown methods ***/
    458 static inline HRESULT IWSDMetadataExchange_QueryInterface(IWSDMetadataExchange* This,REFIID riid,void **ppvObject) {
    459     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    460 }
    461 static inline ULONG IWSDMetadataExchange_AddRef(IWSDMetadataExchange* This) {
    462     return This->lpVtbl->AddRef(This);
    463 }
    464 static inline ULONG IWSDMetadataExchange_Release(IWSDMetadataExchange* This) {
    465     return This->lpVtbl->Release(This);
    466 }
    467 /*** IWSDMetadataExchange methods ***/
    468 static inline HRESULT IWSDMetadataExchange_GetMetadata(IWSDMetadataExchange* This,WSD_METADATA_SECTION_LIST **MetadataOut) {
    469     return This->lpVtbl->GetMetadata(This,MetadataOut);
    470 }
    471 #endif
    472 #endif
    473 
    474 #endif
    475 
    476 
    477 #endif  /* __IWSDMetadataExchange_INTERFACE_DEFINED__ */
    478 
    479 /*****************************************************************************
    480  * IWSDEventingStatus interface
    481  */
    482 #ifndef __IWSDEventingStatus_INTERFACE_DEFINED__
    483 #define __IWSDEventingStatus_INTERFACE_DEFINED__
    484 
    485 DEFINE_GUID(IID_IWSDEventingStatus, 0x49b17f52, 0x637a, 0x407a, 0xae,0x99, 0xfb,0xe8,0x2a,0x4d,0x38,0xc0);
    486 #if defined(__cplusplus) && !defined(CINTERFACE)
    487 MIDL_INTERFACE("49b17f52-637a-407a-ae99-fbe82a4d38c0")
    488 IWSDEventingStatus : public IUnknown
    489 {
    490     virtual void STDMETHODCALLTYPE SubscriptionRenewed(
    491         LPCWSTR pszSubscriptionAction) = 0;
    492 
    493     virtual void STDMETHODCALLTYPE SubscriptionRenewalFailed(
    494         LPCWSTR pszSubscriptionAction,
    495         HRESULT hr) = 0;
    496 
    497     virtual void STDMETHODCALLTYPE SubscriptionEnded(
    498         LPCWSTR pszSubscriptionAction) = 0;
    499 
    500 };
    501 #ifdef __CRT_UUID_DECL
    502 __CRT_UUID_DECL(IWSDEventingStatus, 0x49b17f52, 0x637a, 0x407a, 0xae,0x99, 0xfb,0xe8,0x2a,0x4d,0x38,0xc0)
    503 #endif
    504 #else
    505 typedef struct IWSDEventingStatusVtbl {
    506     BEGIN_INTERFACE
    507 
    508     /*** IUnknown methods ***/
    509     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    510         IWSDEventingStatus *This,
    511         REFIID riid,
    512         void **ppvObject);
    513 
    514     ULONG (STDMETHODCALLTYPE *AddRef)(
    515         IWSDEventingStatus *This);
    516 
    517     ULONG (STDMETHODCALLTYPE *Release)(
    518         IWSDEventingStatus *This);
    519 
    520     /*** IWSDEventingStatus methods ***/
    521     void (STDMETHODCALLTYPE *SubscriptionRenewed)(
    522         IWSDEventingStatus *This,
    523         LPCWSTR pszSubscriptionAction);
    524 
    525     void (STDMETHODCALLTYPE *SubscriptionRenewalFailed)(
    526         IWSDEventingStatus *This,
    527         LPCWSTR pszSubscriptionAction,
    528         HRESULT hr);
    529 
    530     void (STDMETHODCALLTYPE *SubscriptionEnded)(
    531         IWSDEventingStatus *This,
    532         LPCWSTR pszSubscriptionAction);
    533 
    534     END_INTERFACE
    535 } IWSDEventingStatusVtbl;
    536 
    537 interface IWSDEventingStatus {
    538     CONST_VTBL IWSDEventingStatusVtbl* lpVtbl;
    539 };
    540 
    541 #ifdef COBJMACROS
    542 #ifndef WIDL_C_INLINE_WRAPPERS
    543 /*** IUnknown methods ***/
    544 #define IWSDEventingStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    545 #define IWSDEventingStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
    546 #define IWSDEventingStatus_Release(This) (This)->lpVtbl->Release(This)
    547 /*** IWSDEventingStatus methods ***/
    548 #define IWSDEventingStatus_SubscriptionRenewed(This,pszSubscriptionAction) (This)->lpVtbl->SubscriptionRenewed(This,pszSubscriptionAction)
    549 #define IWSDEventingStatus_SubscriptionRenewalFailed(This,pszSubscriptionAction,hr) (This)->lpVtbl->SubscriptionRenewalFailed(This,pszSubscriptionAction,hr)
    550 #define IWSDEventingStatus_SubscriptionEnded(This,pszSubscriptionAction) (This)->lpVtbl->SubscriptionEnded(This,pszSubscriptionAction)
    551 #else
    552 /*** IUnknown methods ***/
    553 static inline HRESULT IWSDEventingStatus_QueryInterface(IWSDEventingStatus* This,REFIID riid,void **ppvObject) {
    554     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    555 }
    556 static inline ULONG IWSDEventingStatus_AddRef(IWSDEventingStatus* This) {
    557     return This->lpVtbl->AddRef(This);
    558 }
    559 static inline ULONG IWSDEventingStatus_Release(IWSDEventingStatus* This) {
    560     return This->lpVtbl->Release(This);
    561 }
    562 /*** IWSDEventingStatus methods ***/
    563 static inline void IWSDEventingStatus_SubscriptionRenewed(IWSDEventingStatus* This,LPCWSTR pszSubscriptionAction) {
    564     This->lpVtbl->SubscriptionRenewed(This,pszSubscriptionAction);
    565 }
    566 static inline void IWSDEventingStatus_SubscriptionRenewalFailed(IWSDEventingStatus* This,LPCWSTR pszSubscriptionAction,HRESULT hr) {
    567     This->lpVtbl->SubscriptionRenewalFailed(This,pszSubscriptionAction,hr);
    568 }
    569 static inline void IWSDEventingStatus_SubscriptionEnded(IWSDEventingStatus* This,LPCWSTR pszSubscriptionAction) {
    570     This->lpVtbl->SubscriptionEnded(This,pszSubscriptionAction);
    571 }
    572 #endif
    573 #endif
    574 
    575 #endif
    576 
    577 
    578 #endif  /* __IWSDEventingStatus_INTERFACE_DEFINED__ */
    579 
    580 /*****************************************************************************
    581  * IWSDEndpointProxy interface
    582  */
    583 #ifndef __IWSDEndpointProxy_INTERFACE_DEFINED__
    584 #define __IWSDEndpointProxy_INTERFACE_DEFINED__
    585 
    586 DEFINE_GUID(IID_IWSDEndpointProxy, 0x1860d430, 0xb24c, 0x4975, 0x9f,0x90, 0xdb,0xb3,0x9b,0xaa,0x24,0xec);
    587 #if defined(__cplusplus) && !defined(CINTERFACE)
    588 MIDL_INTERFACE("1860d430-b24c-4975-9f90-dbb39baa24ec")
    589 IWSDEndpointProxy : public IUnknown
    590 {
    591     virtual HRESULT STDMETHODCALLTYPE SendOneWayRequest(
    592         const void *pBody,
    593         const WSD_OPERATION *pOperation) = 0;
    594 
    595     virtual HRESULT STDMETHODCALLTYPE SendTwoWayRequest(
    596         const void *pBody,
    597         const WSD_OPERATION *pOperation,
    598         const WSD_SYNCHRONOUS_RESPONSE_CONTEXT *pResponseContext) = 0;
    599 
    600     virtual HRESULT STDMETHODCALLTYPE SendTwoWayRequestAsync(
    601         const void *pBody,
    602         const WSD_OPERATION *pOperation,
    603         IUnknown *pAsyncState,
    604         IWSDAsyncCallback *pCallback,
    605         IWSDAsyncResult **pResult) = 0;
    606 
    607     virtual HRESULT STDMETHODCALLTYPE AbortAsyncOperation(
    608         IWSDAsyncResult *pAsyncResult) = 0;
    609 
    610     virtual HRESULT STDMETHODCALLTYPE ProcessFault(
    611         const WSD_SOAP_FAULT *pFault) = 0;
    612 
    613     virtual HRESULT STDMETHODCALLTYPE GetErrorInfo(
    614         LPCWSTR *ppszErrorInfo) = 0;
    615 
    616     virtual HRESULT STDMETHODCALLTYPE GetFaultInfo(
    617         WSD_SOAP_FAULT **ppFault) = 0;
    618 
    619 };
    620 #ifdef __CRT_UUID_DECL
    621 __CRT_UUID_DECL(IWSDEndpointProxy, 0x1860d430, 0xb24c, 0x4975, 0x9f,0x90, 0xdb,0xb3,0x9b,0xaa,0x24,0xec)
    622 #endif
    623 #else
    624 typedef struct IWSDEndpointProxyVtbl {
    625     BEGIN_INTERFACE
    626 
    627     /*** IUnknown methods ***/
    628     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    629         IWSDEndpointProxy *This,
    630         REFIID riid,
    631         void **ppvObject);
    632 
    633     ULONG (STDMETHODCALLTYPE *AddRef)(
    634         IWSDEndpointProxy *This);
    635 
    636     ULONG (STDMETHODCALLTYPE *Release)(
    637         IWSDEndpointProxy *This);
    638 
    639     /*** IWSDEndpointProxy methods ***/
    640     HRESULT (STDMETHODCALLTYPE *SendOneWayRequest)(
    641         IWSDEndpointProxy *This,
    642         const void *pBody,
    643         const WSD_OPERATION *pOperation);
    644 
    645     HRESULT (STDMETHODCALLTYPE *SendTwoWayRequest)(
    646         IWSDEndpointProxy *This,
    647         const void *pBody,
    648         const WSD_OPERATION *pOperation,
    649         const WSD_SYNCHRONOUS_RESPONSE_CONTEXT *pResponseContext);
    650 
    651     HRESULT (STDMETHODCALLTYPE *SendTwoWayRequestAsync)(
    652         IWSDEndpointProxy *This,
    653         const void *pBody,
    654         const WSD_OPERATION *pOperation,
    655         IUnknown *pAsyncState,
    656         IWSDAsyncCallback *pCallback,
    657         IWSDAsyncResult **pResult);
    658 
    659     HRESULT (STDMETHODCALLTYPE *AbortAsyncOperation)(
    660         IWSDEndpointProxy *This,
    661         IWSDAsyncResult *pAsyncResult);
    662 
    663     HRESULT (STDMETHODCALLTYPE *ProcessFault)(
    664         IWSDEndpointProxy *This,
    665         const WSD_SOAP_FAULT *pFault);
    666 
    667     HRESULT (STDMETHODCALLTYPE *GetErrorInfo)(
    668         IWSDEndpointProxy *This,
    669         LPCWSTR *ppszErrorInfo);
    670 
    671     HRESULT (STDMETHODCALLTYPE *GetFaultInfo)(
    672         IWSDEndpointProxy *This,
    673         WSD_SOAP_FAULT **ppFault);
    674 
    675     END_INTERFACE
    676 } IWSDEndpointProxyVtbl;
    677 
    678 interface IWSDEndpointProxy {
    679     CONST_VTBL IWSDEndpointProxyVtbl* lpVtbl;
    680 };
    681 
    682 #ifdef COBJMACROS
    683 #ifndef WIDL_C_INLINE_WRAPPERS
    684 /*** IUnknown methods ***/
    685 #define IWSDEndpointProxy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    686 #define IWSDEndpointProxy_AddRef(This) (This)->lpVtbl->AddRef(This)
    687 #define IWSDEndpointProxy_Release(This) (This)->lpVtbl->Release(This)
    688 /*** IWSDEndpointProxy methods ***/
    689 #define IWSDEndpointProxy_SendOneWayRequest(This,pBody,pOperation) (This)->lpVtbl->SendOneWayRequest(This,pBody,pOperation)
    690 #define IWSDEndpointProxy_SendTwoWayRequest(This,pBody,pOperation,pResponseContext) (This)->lpVtbl->SendTwoWayRequest(This,pBody,pOperation,pResponseContext)
    691 #define IWSDEndpointProxy_SendTwoWayRequestAsync(This,pBody,pOperation,pAsyncState,pCallback,pResult) (This)->lpVtbl->SendTwoWayRequestAsync(This,pBody,pOperation,pAsyncState,pCallback,pResult)
    692 #define IWSDEndpointProxy_AbortAsyncOperation(This,pAsyncResult) (This)->lpVtbl->AbortAsyncOperation(This,pAsyncResult)
    693 #define IWSDEndpointProxy_ProcessFault(This,pFault) (This)->lpVtbl->ProcessFault(This,pFault)
    694 #define IWSDEndpointProxy_GetErrorInfo(This,ppszErrorInfo) (This)->lpVtbl->GetErrorInfo(This,ppszErrorInfo)
    695 #define IWSDEndpointProxy_GetFaultInfo(This,ppFault) (This)->lpVtbl->GetFaultInfo(This,ppFault)
    696 #else
    697 /*** IUnknown methods ***/
    698 static inline HRESULT IWSDEndpointProxy_QueryInterface(IWSDEndpointProxy* This,REFIID riid,void **ppvObject) {
    699     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    700 }
    701 static inline ULONG IWSDEndpointProxy_AddRef(IWSDEndpointProxy* This) {
    702     return This->lpVtbl->AddRef(This);
    703 }
    704 static inline ULONG IWSDEndpointProxy_Release(IWSDEndpointProxy* This) {
    705     return This->lpVtbl->Release(This);
    706 }
    707 /*** IWSDEndpointProxy methods ***/
    708 static inline HRESULT IWSDEndpointProxy_SendOneWayRequest(IWSDEndpointProxy* This,const void *pBody,const WSD_OPERATION *pOperation) {
    709     return This->lpVtbl->SendOneWayRequest(This,pBody,pOperation);
    710 }
    711 static inline HRESULT IWSDEndpointProxy_SendTwoWayRequest(IWSDEndpointProxy* This,const void *pBody,const WSD_OPERATION *pOperation,const WSD_SYNCHRONOUS_RESPONSE_CONTEXT *pResponseContext) {
    712     return This->lpVtbl->SendTwoWayRequest(This,pBody,pOperation,pResponseContext);
    713 }
    714 static inline HRESULT IWSDEndpointProxy_SendTwoWayRequestAsync(IWSDEndpointProxy* This,const void *pBody,const WSD_OPERATION *pOperation,IUnknown *pAsyncState,IWSDAsyncCallback *pCallback,IWSDAsyncResult **pResult) {
    715     return This->lpVtbl->SendTwoWayRequestAsync(This,pBody,pOperation,pAsyncState,pCallback,pResult);
    716 }
    717 static inline HRESULT IWSDEndpointProxy_AbortAsyncOperation(IWSDEndpointProxy* This,IWSDAsyncResult *pAsyncResult) {
    718     return This->lpVtbl->AbortAsyncOperation(This,pAsyncResult);
    719 }
    720 static inline HRESULT IWSDEndpointProxy_ProcessFault(IWSDEndpointProxy* This,const WSD_SOAP_FAULT *pFault) {
    721     return This->lpVtbl->ProcessFault(This,pFault);
    722 }
    723 static inline HRESULT IWSDEndpointProxy_GetErrorInfo(IWSDEndpointProxy* This,LPCWSTR *ppszErrorInfo) {
    724     return This->lpVtbl->GetErrorInfo(This,ppszErrorInfo);
    725 }
    726 static inline HRESULT IWSDEndpointProxy_GetFaultInfo(IWSDEndpointProxy* This,WSD_SOAP_FAULT **ppFault) {
    727     return This->lpVtbl->GetFaultInfo(This,ppFault);
    728 }
    729 #endif
    730 #endif
    731 
    732 #endif
    733 
    734 
    735 #endif  /* __IWSDEndpointProxy_INTERFACE_DEFINED__ */
    736 
    737 /*****************************************************************************
    738  * IWSDDeviceProxy interface
    739  */
    740 #ifndef __IWSDDeviceProxy_INTERFACE_DEFINED__
    741 #define __IWSDDeviceProxy_INTERFACE_DEFINED__
    742 
    743 DEFINE_GUID(IID_IWSDDeviceProxy, 0xeee0c031, 0xc578, 0x4c0e, 0x9a,0x3b, 0x97,0x3c,0x35,0xf4,0x09,0xdb);
    744 #if defined(__cplusplus) && !defined(CINTERFACE)
    745 MIDL_INTERFACE("eee0c031-c578-4c0e-9a3b-973c35f409db")
    746 IWSDDeviceProxy : public IUnknown
    747 {
    748     virtual HRESULT STDMETHODCALLTYPE Init(
    749         LPCWSTR pszDeviceId,
    750         IWSDAddress *pDeviceAddress,
    751         LPCWSTR pszLocalId,
    752         IWSDXMLContext *pContext,
    753         IWSDDeviceProxy *pSponsor) = 0;
    754 
    755     virtual HRESULT STDMETHODCALLTYPE BeginGetMetadata(
    756         IWSDAsyncResult **ppResult) = 0;
    757 
    758     virtual HRESULT STDMETHODCALLTYPE EndGetMetadata(
    759         IWSDAsyncResult *pResult) = 0;
    760 
    761     virtual HRESULT STDMETHODCALLTYPE GetHostMetadata(
    762         WSD_HOST_METADATA **ppHostMetadata) = 0;
    763 
    764     virtual HRESULT STDMETHODCALLTYPE GetThisModelMetadata(
    765         WSD_THIS_MODEL_METADATA **ppManufacturerMetadata) = 0;
    766 
    767     virtual HRESULT STDMETHODCALLTYPE GetThisDeviceMetadata(
    768         WSD_THIS_DEVICE_METADATA **ppThisDeviceMetadata) = 0;
    769 
    770     virtual HRESULT STDMETHODCALLTYPE GetAllMetadata(
    771         WSD_METADATA_SECTION_LIST **ppMetadata) = 0;
    772 
    773     virtual HRESULT STDMETHODCALLTYPE GetServiceProxyById(
    774         LPCWSTR pszServiceId,
    775         IWSDServiceProxy **ppServiceProxy) = 0;
    776 
    777     virtual HRESULT STDMETHODCALLTYPE GetServiceProxyByType(
    778         const WSDXML_NAME *pType,
    779         IWSDServiceProxy **ppServiceProxy) = 0;
    780 
    781     virtual HRESULT STDMETHODCALLTYPE GetEndpointProxy(
    782         IWSDEndpointProxy **ppProxy) = 0;
    783 
    784 };
    785 #ifdef __CRT_UUID_DECL
    786 __CRT_UUID_DECL(IWSDDeviceProxy, 0xeee0c031, 0xc578, 0x4c0e, 0x9a,0x3b, 0x97,0x3c,0x35,0xf4,0x09,0xdb)
    787 #endif
    788 #else
    789 typedef struct IWSDDeviceProxyVtbl {
    790     BEGIN_INTERFACE
    791 
    792     /*** IUnknown methods ***/
    793     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    794         IWSDDeviceProxy *This,
    795         REFIID riid,
    796         void **ppvObject);
    797 
    798     ULONG (STDMETHODCALLTYPE *AddRef)(
    799         IWSDDeviceProxy *This);
    800 
    801     ULONG (STDMETHODCALLTYPE *Release)(
    802         IWSDDeviceProxy *This);
    803 
    804     /*** IWSDDeviceProxy methods ***/
    805     HRESULT (STDMETHODCALLTYPE *Init)(
    806         IWSDDeviceProxy *This,
    807         LPCWSTR pszDeviceId,
    808         IWSDAddress *pDeviceAddress,
    809         LPCWSTR pszLocalId,
    810         IWSDXMLContext *pContext,
    811         IWSDDeviceProxy *pSponsor);
    812 
    813     HRESULT (STDMETHODCALLTYPE *BeginGetMetadata)(
    814         IWSDDeviceProxy *This,
    815         IWSDAsyncResult **ppResult);
    816 
    817     HRESULT (STDMETHODCALLTYPE *EndGetMetadata)(
    818         IWSDDeviceProxy *This,
    819         IWSDAsyncResult *pResult);
    820 
    821     HRESULT (STDMETHODCALLTYPE *GetHostMetadata)(
    822         IWSDDeviceProxy *This,
    823         WSD_HOST_METADATA **ppHostMetadata);
    824 
    825     HRESULT (STDMETHODCALLTYPE *GetThisModelMetadata)(
    826         IWSDDeviceProxy *This,
    827         WSD_THIS_MODEL_METADATA **ppManufacturerMetadata);
    828 
    829     HRESULT (STDMETHODCALLTYPE *GetThisDeviceMetadata)(
    830         IWSDDeviceProxy *This,
    831         WSD_THIS_DEVICE_METADATA **ppThisDeviceMetadata);
    832 
    833     HRESULT (STDMETHODCALLTYPE *GetAllMetadata)(
    834         IWSDDeviceProxy *This,
    835         WSD_METADATA_SECTION_LIST **ppMetadata);
    836 
    837     HRESULT (STDMETHODCALLTYPE *GetServiceProxyById)(
    838         IWSDDeviceProxy *This,
    839         LPCWSTR pszServiceId,
    840         IWSDServiceProxy **ppServiceProxy);
    841 
    842     HRESULT (STDMETHODCALLTYPE *GetServiceProxyByType)(
    843         IWSDDeviceProxy *This,
    844         const WSDXML_NAME *pType,
    845         IWSDServiceProxy **ppServiceProxy);
    846 
    847     HRESULT (STDMETHODCALLTYPE *GetEndpointProxy)(
    848         IWSDDeviceProxy *This,
    849         IWSDEndpointProxy **ppProxy);
    850 
    851     END_INTERFACE
    852 } IWSDDeviceProxyVtbl;
    853 
    854 interface IWSDDeviceProxy {
    855     CONST_VTBL IWSDDeviceProxyVtbl* lpVtbl;
    856 };
    857 
    858 #ifdef COBJMACROS
    859 #ifndef WIDL_C_INLINE_WRAPPERS
    860 /*** IUnknown methods ***/
    861 #define IWSDDeviceProxy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    862 #define IWSDDeviceProxy_AddRef(This) (This)->lpVtbl->AddRef(This)
    863 #define IWSDDeviceProxy_Release(This) (This)->lpVtbl->Release(This)
    864 /*** IWSDDeviceProxy methods ***/
    865 #define IWSDDeviceProxy_Init(This,pszDeviceId,pDeviceAddress,pszLocalId,pContext,pSponsor) (This)->lpVtbl->Init(This,pszDeviceId,pDeviceAddress,pszLocalId,pContext,pSponsor)
    866 #define IWSDDeviceProxy_BeginGetMetadata(This,ppResult) (This)->lpVtbl->BeginGetMetadata(This,ppResult)
    867 #define IWSDDeviceProxy_EndGetMetadata(This,pResult) (This)->lpVtbl->EndGetMetadata(This,pResult)
    868 #define IWSDDeviceProxy_GetHostMetadata(This,ppHostMetadata) (This)->lpVtbl->GetHostMetadata(This,ppHostMetadata)
    869 #define IWSDDeviceProxy_GetThisModelMetadata(This,ppManufacturerMetadata) (This)->lpVtbl->GetThisModelMetadata(This,ppManufacturerMetadata)
    870 #define IWSDDeviceProxy_GetThisDeviceMetadata(This,ppThisDeviceMetadata) (This)->lpVtbl->GetThisDeviceMetadata(This,ppThisDeviceMetadata)
    871 #define IWSDDeviceProxy_GetAllMetadata(This,ppMetadata) (This)->lpVtbl->GetAllMetadata(This,ppMetadata)
    872 #define IWSDDeviceProxy_GetServiceProxyById(This,pszServiceId,ppServiceProxy) (This)->lpVtbl->GetServiceProxyById(This,pszServiceId,ppServiceProxy)
    873 #define IWSDDeviceProxy_GetServiceProxyByType(This,pType,ppServiceProxy) (This)->lpVtbl->GetServiceProxyByType(This,pType,ppServiceProxy)
    874 #define IWSDDeviceProxy_GetEndpointProxy(This,ppProxy) (This)->lpVtbl->GetEndpointProxy(This,ppProxy)
    875 #else
    876 /*** IUnknown methods ***/
    877 static inline HRESULT IWSDDeviceProxy_QueryInterface(IWSDDeviceProxy* This,REFIID riid,void **ppvObject) {
    878     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    879 }
    880 static inline ULONG IWSDDeviceProxy_AddRef(IWSDDeviceProxy* This) {
    881     return This->lpVtbl->AddRef(This);
    882 }
    883 static inline ULONG IWSDDeviceProxy_Release(IWSDDeviceProxy* This) {
    884     return This->lpVtbl->Release(This);
    885 }
    886 /*** IWSDDeviceProxy methods ***/
    887 static inline HRESULT IWSDDeviceProxy_Init(IWSDDeviceProxy* This,LPCWSTR pszDeviceId,IWSDAddress *pDeviceAddress,LPCWSTR pszLocalId,IWSDXMLContext *pContext,IWSDDeviceProxy *pSponsor) {
    888     return This->lpVtbl->Init(This,pszDeviceId,pDeviceAddress,pszLocalId,pContext,pSponsor);
    889 }
    890 static inline HRESULT IWSDDeviceProxy_BeginGetMetadata(IWSDDeviceProxy* This,IWSDAsyncResult **ppResult) {
    891     return This->lpVtbl->BeginGetMetadata(This,ppResult);
    892 }
    893 static inline HRESULT IWSDDeviceProxy_EndGetMetadata(IWSDDeviceProxy* This,IWSDAsyncResult *pResult) {
    894     return This->lpVtbl->EndGetMetadata(This,pResult);
    895 }
    896 static inline HRESULT IWSDDeviceProxy_GetHostMetadata(IWSDDeviceProxy* This,WSD_HOST_METADATA **ppHostMetadata) {
    897     return This->lpVtbl->GetHostMetadata(This,ppHostMetadata);
    898 }
    899 static inline HRESULT IWSDDeviceProxy_GetThisModelMetadata(IWSDDeviceProxy* This,WSD_THIS_MODEL_METADATA **ppManufacturerMetadata) {
    900     return This->lpVtbl->GetThisModelMetadata(This,ppManufacturerMetadata);
    901 }
    902 static inline HRESULT IWSDDeviceProxy_GetThisDeviceMetadata(IWSDDeviceProxy* This,WSD_THIS_DEVICE_METADATA **ppThisDeviceMetadata) {
    903     return This->lpVtbl->GetThisDeviceMetadata(This,ppThisDeviceMetadata);
    904 }
    905 static inline HRESULT IWSDDeviceProxy_GetAllMetadata(IWSDDeviceProxy* This,WSD_METADATA_SECTION_LIST **ppMetadata) {
    906     return This->lpVtbl->GetAllMetadata(This,ppMetadata);
    907 }
    908 static inline HRESULT IWSDDeviceProxy_GetServiceProxyById(IWSDDeviceProxy* This,LPCWSTR pszServiceId,IWSDServiceProxy **ppServiceProxy) {
    909     return This->lpVtbl->GetServiceProxyById(This,pszServiceId,ppServiceProxy);
    910 }
    911 static inline HRESULT IWSDDeviceProxy_GetServiceProxyByType(IWSDDeviceProxy* This,const WSDXML_NAME *pType,IWSDServiceProxy **ppServiceProxy) {
    912     return This->lpVtbl->GetServiceProxyByType(This,pType,ppServiceProxy);
    913 }
    914 static inline HRESULT IWSDDeviceProxy_GetEndpointProxy(IWSDDeviceProxy* This,IWSDEndpointProxy **ppProxy) {
    915     return This->lpVtbl->GetEndpointProxy(This,ppProxy);
    916 }
    917 #endif
    918 #endif
    919 
    920 #endif
    921 
    922 
    923 #endif  /* __IWSDDeviceProxy_INTERFACE_DEFINED__ */
    924 
    925 /*****************************************************************************
    926  * IWSDServiceProxy interface
    927  */
    928 #ifndef __IWSDServiceProxy_INTERFACE_DEFINED__
    929 #define __IWSDServiceProxy_INTERFACE_DEFINED__
    930 
    931 DEFINE_GUID(IID_IWSDServiceProxy, 0xd4c7fb9c, 0x03ab, 0x4175, 0x9d,0x67, 0x09,0x4f,0xaf,0xeb,0xf4,0x87);
    932 #if defined(__cplusplus) && !defined(CINTERFACE)
    933 MIDL_INTERFACE("d4c7fb9c-03ab-4175-9d67-094fafebf487")
    934 IWSDServiceProxy : public IWSDMetadataExchange
    935 {
    936     virtual HRESULT STDMETHODCALLTYPE BeginGetMetadata(
    937         IWSDAsyncResult **ppResult) = 0;
    938 
    939     virtual HRESULT STDMETHODCALLTYPE EndGetMetadata(
    940         IWSDAsyncResult *pResult,
    941         WSD_METADATA_SECTION_LIST **ppMetadata) = 0;
    942 
    943     virtual HRESULT STDMETHODCALLTYPE GetServiceMetadata(
    944         WSD_SERVICE_METADATA **ppServiceMetadata) = 0;
    945 
    946     virtual HRESULT STDMETHODCALLTYPE SubscribeToOperation(
    947         const WSD_OPERATION *pOperation,
    948         IUnknown *pUnknown,
    949         const WSDXML_ELEMENT *pAny,
    950         WSDXML_ELEMENT **ppAny) = 0;
    951 
    952     virtual HRESULT STDMETHODCALLTYPE UnsubscribeToOperation(
    953         const WSD_OPERATION *pOperation) = 0;
    954 
    955     virtual HRESULT STDMETHODCALLTYPE SetEventingStatusCallback(
    956         IWSDEventingStatus *pStatus) = 0;
    957 
    958     virtual HRESULT STDMETHODCALLTYPE GetEndpointProxy(
    959         IWSDEndpointProxy **ppProxy) = 0;
    960 
    961 };
    962 #ifdef __CRT_UUID_DECL
    963 __CRT_UUID_DECL(IWSDServiceProxy, 0xd4c7fb9c, 0x03ab, 0x4175, 0x9d,0x67, 0x09,0x4f,0xaf,0xeb,0xf4,0x87)
    964 #endif
    965 #else
    966 typedef struct IWSDServiceProxyVtbl {
    967     BEGIN_INTERFACE
    968 
    969     /*** IUnknown methods ***/
    970     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    971         IWSDServiceProxy *This,
    972         REFIID riid,
    973         void **ppvObject);
    974 
    975     ULONG (STDMETHODCALLTYPE *AddRef)(
    976         IWSDServiceProxy *This);
    977 
    978     ULONG (STDMETHODCALLTYPE *Release)(
    979         IWSDServiceProxy *This);
    980 
    981     /*** IWSDMetadataExchange methods ***/
    982     HRESULT (STDMETHODCALLTYPE *GetMetadata)(
    983         IWSDServiceProxy *This,
    984         WSD_METADATA_SECTION_LIST **MetadataOut);
    985 
    986     /*** IWSDServiceProxy methods ***/
    987     HRESULT (STDMETHODCALLTYPE *BeginGetMetadata)(
    988         IWSDServiceProxy *This,
    989         IWSDAsyncResult **ppResult);
    990 
    991     HRESULT (STDMETHODCALLTYPE *EndGetMetadata)(
    992         IWSDServiceProxy *This,
    993         IWSDAsyncResult *pResult,
    994         WSD_METADATA_SECTION_LIST **ppMetadata);
    995 
    996     HRESULT (STDMETHODCALLTYPE *GetServiceMetadata)(
    997         IWSDServiceProxy *This,
    998         WSD_SERVICE_METADATA **ppServiceMetadata);
    999 
   1000     HRESULT (STDMETHODCALLTYPE *SubscribeToOperation)(
   1001         IWSDServiceProxy *This,
   1002         const WSD_OPERATION *pOperation,
   1003         IUnknown *pUnknown,
   1004         const WSDXML_ELEMENT *pAny,
   1005         WSDXML_ELEMENT **ppAny);
   1006 
   1007     HRESULT (STDMETHODCALLTYPE *UnsubscribeToOperation)(
   1008         IWSDServiceProxy *This,
   1009         const WSD_OPERATION *pOperation);
   1010 
   1011     HRESULT (STDMETHODCALLTYPE *SetEventingStatusCallback)(
   1012         IWSDServiceProxy *This,
   1013         IWSDEventingStatus *pStatus);
   1014 
   1015     HRESULT (STDMETHODCALLTYPE *GetEndpointProxy)(
   1016         IWSDServiceProxy *This,
   1017         IWSDEndpointProxy **ppProxy);
   1018 
   1019     END_INTERFACE
   1020 } IWSDServiceProxyVtbl;
   1021 
   1022 interface IWSDServiceProxy {
   1023     CONST_VTBL IWSDServiceProxyVtbl* lpVtbl;
   1024 };
   1025 
   1026 #ifdef COBJMACROS
   1027 #ifndef WIDL_C_INLINE_WRAPPERS
   1028 /*** IUnknown methods ***/
   1029 #define IWSDServiceProxy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1030 #define IWSDServiceProxy_AddRef(This) (This)->lpVtbl->AddRef(This)
   1031 #define IWSDServiceProxy_Release(This) (This)->lpVtbl->Release(This)
   1032 /*** IWSDMetadataExchange methods ***/
   1033 #define IWSDServiceProxy_GetMetadata(This,MetadataOut) (This)->lpVtbl->GetMetadata(This,MetadataOut)
   1034 /*** IWSDServiceProxy methods ***/
   1035 #define IWSDServiceProxy_BeginGetMetadata(This,ppResult) (This)->lpVtbl->BeginGetMetadata(This,ppResult)
   1036 #define IWSDServiceProxy_EndGetMetadata(This,pResult,ppMetadata) (This)->lpVtbl->EndGetMetadata(This,pResult,ppMetadata)
   1037 #define IWSDServiceProxy_GetServiceMetadata(This,ppServiceMetadata) (This)->lpVtbl->GetServiceMetadata(This,ppServiceMetadata)
   1038 #define IWSDServiceProxy_SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny) (This)->lpVtbl->SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny)
   1039 #define IWSDServiceProxy_UnsubscribeToOperation(This,pOperation) (This)->lpVtbl->UnsubscribeToOperation(This,pOperation)
   1040 #define IWSDServiceProxy_SetEventingStatusCallback(This,pStatus) (This)->lpVtbl->SetEventingStatusCallback(This,pStatus)
   1041 #define IWSDServiceProxy_GetEndpointProxy(This,ppProxy) (This)->lpVtbl->GetEndpointProxy(This,ppProxy)
   1042 #else
   1043 /*** IUnknown methods ***/
   1044 static inline HRESULT IWSDServiceProxy_QueryInterface(IWSDServiceProxy* This,REFIID riid,void **ppvObject) {
   1045     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1046 }
   1047 static inline ULONG IWSDServiceProxy_AddRef(IWSDServiceProxy* This) {
   1048     return This->lpVtbl->AddRef(This);
   1049 }
   1050 static inline ULONG IWSDServiceProxy_Release(IWSDServiceProxy* This) {
   1051     return This->lpVtbl->Release(This);
   1052 }
   1053 /*** IWSDMetadataExchange methods ***/
   1054 static inline HRESULT IWSDServiceProxy_GetMetadata(IWSDServiceProxy* This,WSD_METADATA_SECTION_LIST **MetadataOut) {
   1055     return This->lpVtbl->GetMetadata(This,MetadataOut);
   1056 }
   1057 /*** IWSDServiceProxy methods ***/
   1058 static inline HRESULT IWSDServiceProxy_BeginGetMetadata(IWSDServiceProxy* This,IWSDAsyncResult **ppResult) {
   1059     return This->lpVtbl->BeginGetMetadata(This,ppResult);
   1060 }
   1061 static inline HRESULT IWSDServiceProxy_EndGetMetadata(IWSDServiceProxy* This,IWSDAsyncResult *pResult,WSD_METADATA_SECTION_LIST **ppMetadata) {
   1062     return This->lpVtbl->EndGetMetadata(This,pResult,ppMetadata);
   1063 }
   1064 static inline HRESULT IWSDServiceProxy_GetServiceMetadata(IWSDServiceProxy* This,WSD_SERVICE_METADATA **ppServiceMetadata) {
   1065     return This->lpVtbl->GetServiceMetadata(This,ppServiceMetadata);
   1066 }
   1067 static inline HRESULT IWSDServiceProxy_SubscribeToOperation(IWSDServiceProxy* This,const WSD_OPERATION *pOperation,IUnknown *pUnknown,const WSDXML_ELEMENT *pAny,WSDXML_ELEMENT **ppAny) {
   1068     return This->lpVtbl->SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny);
   1069 }
   1070 static inline HRESULT IWSDServiceProxy_UnsubscribeToOperation(IWSDServiceProxy* This,const WSD_OPERATION *pOperation) {
   1071     return This->lpVtbl->UnsubscribeToOperation(This,pOperation);
   1072 }
   1073 static inline HRESULT IWSDServiceProxy_SetEventingStatusCallback(IWSDServiceProxy* This,IWSDEventingStatus *pStatus) {
   1074     return This->lpVtbl->SetEventingStatusCallback(This,pStatus);
   1075 }
   1076 static inline HRESULT IWSDServiceProxy_GetEndpointProxy(IWSDServiceProxy* This,IWSDEndpointProxy **ppProxy) {
   1077     return This->lpVtbl->GetEndpointProxy(This,ppProxy);
   1078 }
   1079 #endif
   1080 #endif
   1081 
   1082 #endif
   1083 
   1084 
   1085 #endif  /* __IWSDServiceProxy_INTERFACE_DEFINED__ */
   1086 
   1087 #if WINVER >= 0x601
   1088 /*****************************************************************************
   1089  * IWSDServiceProxyEventing interface
   1090  */
   1091 #ifndef __IWSDServiceProxyEventing_INTERFACE_DEFINED__
   1092 #define __IWSDServiceProxyEventing_INTERFACE_DEFINED__
   1093 
   1094 DEFINE_GUID(IID_IWSDServiceProxyEventing, 0xf9279d6d, 0x1012, 0x4a94, 0xb8,0xcc, 0xfd,0x35,0xd2,0x20,0x2b,0xfe);
   1095 #if defined(__cplusplus) && !defined(CINTERFACE)
   1096 MIDL_INTERFACE("f9279d6d-1012-4a94-b8cc-fd35d2202bfe")
   1097 IWSDServiceProxyEventing : public IWSDServiceProxy
   1098 {
   1099     virtual HRESULT STDMETHODCALLTYPE SubscribeToMultipleOperations(
   1100         const WSD_OPERATION *pOperations,
   1101         DWORD dwOperationCount,
   1102         IUnknown *pUnknown,
   1103         const WSD_EVENTING_EXPIRES *pExpires,
   1104         const WSDXML_ELEMENT *pAny,
   1105         WSD_EVENTING_EXPIRES **ppExpires,
   1106         WSDXML_ELEMENT **ppAny) = 0;
   1107 
   1108     virtual HRESULT STDMETHODCALLTYPE BeginSubscribeToMultipleOperations(
   1109         const WSD_OPERATION *pOperations,
   1110         DWORD dwOperationCount,
   1111         IUnknown *pUnknown,
   1112         const WSD_EVENTING_EXPIRES *pExpires,
   1113         const WSDXML_ELEMENT *pAny,
   1114         IUnknown *pAsyncState,
   1115         IWSDAsyncCallback *pAsyncCallback,
   1116         IWSDAsyncResult **ppResult) = 0;
   1117 
   1118     virtual HRESULT STDMETHODCALLTYPE EndSubscribeToMultipleOperations(
   1119         const WSD_OPERATION *pOperations,
   1120         DWORD dwOperationCount,
   1121         IWSDAsyncResult *pResult,
   1122         WSD_EVENTING_EXPIRES **ppExpires,
   1123         WSDXML_ELEMENT **ppAny) = 0;
   1124 
   1125     virtual HRESULT STDMETHODCALLTYPE UnsubscribeToMultipleOperations(
   1126         const WSD_OPERATION *pOperations,
   1127         DWORD dwOperationCount,
   1128         const WSDXML_ELEMENT *pAny) = 0;
   1129 
   1130     virtual HRESULT STDMETHODCALLTYPE BeginUnsubscribeToMultipleOperations(
   1131         const WSD_OPERATION *pOperations,
   1132         DWORD dwOperationCount,
   1133         const WSDXML_ELEMENT *pAny,
   1134         IUnknown *pAsyncState,
   1135         IWSDAsyncCallback *pAsyncCallback,
   1136         IWSDAsyncResult **ppResult) = 0;
   1137 
   1138     virtual HRESULT STDMETHODCALLTYPE EndUnsubscribeToMultipleOperations(
   1139         const WSD_OPERATION *pOperations,
   1140         DWORD dwOperationCount,
   1141         IWSDAsyncResult *pResult) = 0;
   1142 
   1143     virtual HRESULT STDMETHODCALLTYPE RenewMultipleOperations(
   1144         const WSD_OPERATION *pOperations,
   1145         DWORD dwOperationCount,
   1146         const WSD_EVENTING_EXPIRES *pExpires,
   1147         const WSDXML_ELEMENT *pAny,
   1148         WSD_EVENTING_EXPIRES **ppExpires,
   1149         WSDXML_ELEMENT **ppAny) = 0;
   1150 
   1151     virtual HRESULT STDMETHODCALLTYPE BeginRenewMultipleOperations(
   1152         const WSD_OPERATION *pOperations,
   1153         DWORD dwOperationCount,
   1154         const WSD_EVENTING_EXPIRES *pExpires,
   1155         const WSDXML_ELEMENT *pAny,
   1156         IUnknown *pAsyncState,
   1157         IWSDAsyncCallback *pAsyncCallback,
   1158         IWSDAsyncResult **ppResult) = 0;
   1159 
   1160     virtual HRESULT STDMETHODCALLTYPE EndRenewMultipleOperations(
   1161         const WSD_OPERATION *pOperations,
   1162         DWORD dwOperationCount,
   1163         IWSDAsyncResult *pResult,
   1164         WSD_EVENTING_EXPIRES **ppExpires,
   1165         WSDXML_ELEMENT **ppAny) = 0;
   1166 
   1167     virtual HRESULT STDMETHODCALLTYPE GetStatusForMultipleOperations(
   1168         const WSD_OPERATION *pOperations,
   1169         DWORD dwOperationCount,
   1170         const WSDXML_ELEMENT *pAny,
   1171         WSD_EVENTING_EXPIRES **ppExpires,
   1172         WSDXML_ELEMENT **ppAny) = 0;
   1173 
   1174     virtual HRESULT STDMETHODCALLTYPE BeginGetStatusForMultipleOperations(
   1175         const WSD_OPERATION *pOperations,
   1176         DWORD dwOperationCount,
   1177         const WSDXML_ELEMENT *pAny,
   1178         IUnknown *pAsyncState,
   1179         IWSDAsyncCallback *pAsyncCallback,
   1180         IWSDAsyncResult **ppResult) = 0;
   1181 
   1182     virtual HRESULT STDMETHODCALLTYPE EndGetStatusForMultipleOperations(
   1183         const WSD_OPERATION *pOperations,
   1184         DWORD dwOperationCount,
   1185         IWSDAsyncResult *pResult,
   1186         WSD_EVENTING_EXPIRES **ppExpires,
   1187         WSDXML_ELEMENT **ppAny) = 0;
   1188 
   1189 };
   1190 #ifdef __CRT_UUID_DECL
   1191 __CRT_UUID_DECL(IWSDServiceProxyEventing, 0xf9279d6d, 0x1012, 0x4a94, 0xb8,0xcc, 0xfd,0x35,0xd2,0x20,0x2b,0xfe)
   1192 #endif
   1193 #else
   1194 typedef struct IWSDServiceProxyEventingVtbl {
   1195     BEGIN_INTERFACE
   1196 
   1197     /*** IUnknown methods ***/
   1198     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1199         IWSDServiceProxyEventing *This,
   1200         REFIID riid,
   1201         void **ppvObject);
   1202 
   1203     ULONG (STDMETHODCALLTYPE *AddRef)(
   1204         IWSDServiceProxyEventing *This);
   1205 
   1206     ULONG (STDMETHODCALLTYPE *Release)(
   1207         IWSDServiceProxyEventing *This);
   1208 
   1209     /*** IWSDMetadataExchange methods ***/
   1210     HRESULT (STDMETHODCALLTYPE *GetMetadata)(
   1211         IWSDServiceProxyEventing *This,
   1212         WSD_METADATA_SECTION_LIST **MetadataOut);
   1213 
   1214     /*** IWSDServiceProxy methods ***/
   1215     HRESULT (STDMETHODCALLTYPE *BeginGetMetadata)(
   1216         IWSDServiceProxyEventing *This,
   1217         IWSDAsyncResult **ppResult);
   1218 
   1219     HRESULT (STDMETHODCALLTYPE *EndGetMetadata)(
   1220         IWSDServiceProxyEventing *This,
   1221         IWSDAsyncResult *pResult,
   1222         WSD_METADATA_SECTION_LIST **ppMetadata);
   1223 
   1224     HRESULT (STDMETHODCALLTYPE *GetServiceMetadata)(
   1225         IWSDServiceProxyEventing *This,
   1226         WSD_SERVICE_METADATA **ppServiceMetadata);
   1227 
   1228     HRESULT (STDMETHODCALLTYPE *SubscribeToOperation)(
   1229         IWSDServiceProxyEventing *This,
   1230         const WSD_OPERATION *pOperation,
   1231         IUnknown *pUnknown,
   1232         const WSDXML_ELEMENT *pAny,
   1233         WSDXML_ELEMENT **ppAny);
   1234 
   1235     HRESULT (STDMETHODCALLTYPE *UnsubscribeToOperation)(
   1236         IWSDServiceProxyEventing *This,
   1237         const WSD_OPERATION *pOperation);
   1238 
   1239     HRESULT (STDMETHODCALLTYPE *SetEventingStatusCallback)(
   1240         IWSDServiceProxyEventing *This,
   1241         IWSDEventingStatus *pStatus);
   1242 
   1243     HRESULT (STDMETHODCALLTYPE *GetEndpointProxy)(
   1244         IWSDServiceProxyEventing *This,
   1245         IWSDEndpointProxy **ppProxy);
   1246 
   1247     /*** IWSDServiceProxyEventing methods ***/
   1248     HRESULT (STDMETHODCALLTYPE *SubscribeToMultipleOperations)(
   1249         IWSDServiceProxyEventing *This,
   1250         const WSD_OPERATION *pOperations,
   1251         DWORD dwOperationCount,
   1252         IUnknown *pUnknown,
   1253         const WSD_EVENTING_EXPIRES *pExpires,
   1254         const WSDXML_ELEMENT *pAny,
   1255         WSD_EVENTING_EXPIRES **ppExpires,
   1256         WSDXML_ELEMENT **ppAny);
   1257 
   1258     HRESULT (STDMETHODCALLTYPE *BeginSubscribeToMultipleOperations)(
   1259         IWSDServiceProxyEventing *This,
   1260         const WSD_OPERATION *pOperations,
   1261         DWORD dwOperationCount,
   1262         IUnknown *pUnknown,
   1263         const WSD_EVENTING_EXPIRES *pExpires,
   1264         const WSDXML_ELEMENT *pAny,
   1265         IUnknown *pAsyncState,
   1266         IWSDAsyncCallback *pAsyncCallback,
   1267         IWSDAsyncResult **ppResult);
   1268 
   1269     HRESULT (STDMETHODCALLTYPE *EndSubscribeToMultipleOperations)(
   1270         IWSDServiceProxyEventing *This,
   1271         const WSD_OPERATION *pOperations,
   1272         DWORD dwOperationCount,
   1273         IWSDAsyncResult *pResult,
   1274         WSD_EVENTING_EXPIRES **ppExpires,
   1275         WSDXML_ELEMENT **ppAny);
   1276 
   1277     HRESULT (STDMETHODCALLTYPE *UnsubscribeToMultipleOperations)(
   1278         IWSDServiceProxyEventing *This,
   1279         const WSD_OPERATION *pOperations,
   1280         DWORD dwOperationCount,
   1281         const WSDXML_ELEMENT *pAny);
   1282 
   1283     HRESULT (STDMETHODCALLTYPE *BeginUnsubscribeToMultipleOperations)(
   1284         IWSDServiceProxyEventing *This,
   1285         const WSD_OPERATION *pOperations,
   1286         DWORD dwOperationCount,
   1287         const WSDXML_ELEMENT *pAny,
   1288         IUnknown *pAsyncState,
   1289         IWSDAsyncCallback *pAsyncCallback,
   1290         IWSDAsyncResult **ppResult);
   1291 
   1292     HRESULT (STDMETHODCALLTYPE *EndUnsubscribeToMultipleOperations)(
   1293         IWSDServiceProxyEventing *This,
   1294         const WSD_OPERATION *pOperations,
   1295         DWORD dwOperationCount,
   1296         IWSDAsyncResult *pResult);
   1297 
   1298     HRESULT (STDMETHODCALLTYPE *RenewMultipleOperations)(
   1299         IWSDServiceProxyEventing *This,
   1300         const WSD_OPERATION *pOperations,
   1301         DWORD dwOperationCount,
   1302         const WSD_EVENTING_EXPIRES *pExpires,
   1303         const WSDXML_ELEMENT *pAny,
   1304         WSD_EVENTING_EXPIRES **ppExpires,
   1305         WSDXML_ELEMENT **ppAny);
   1306 
   1307     HRESULT (STDMETHODCALLTYPE *BeginRenewMultipleOperations)(
   1308         IWSDServiceProxyEventing *This,
   1309         const WSD_OPERATION *pOperations,
   1310         DWORD dwOperationCount,
   1311         const WSD_EVENTING_EXPIRES *pExpires,
   1312         const WSDXML_ELEMENT *pAny,
   1313         IUnknown *pAsyncState,
   1314         IWSDAsyncCallback *pAsyncCallback,
   1315         IWSDAsyncResult **ppResult);
   1316 
   1317     HRESULT (STDMETHODCALLTYPE *EndRenewMultipleOperations)(
   1318         IWSDServiceProxyEventing *This,
   1319         const WSD_OPERATION *pOperations,
   1320         DWORD dwOperationCount,
   1321         IWSDAsyncResult *pResult,
   1322         WSD_EVENTING_EXPIRES **ppExpires,
   1323         WSDXML_ELEMENT **ppAny);
   1324 
   1325     HRESULT (STDMETHODCALLTYPE *GetStatusForMultipleOperations)(
   1326         IWSDServiceProxyEventing *This,
   1327         const WSD_OPERATION *pOperations,
   1328         DWORD dwOperationCount,
   1329         const WSDXML_ELEMENT *pAny,
   1330         WSD_EVENTING_EXPIRES **ppExpires,
   1331         WSDXML_ELEMENT **ppAny);
   1332 
   1333     HRESULT (STDMETHODCALLTYPE *BeginGetStatusForMultipleOperations)(
   1334         IWSDServiceProxyEventing *This,
   1335         const WSD_OPERATION *pOperations,
   1336         DWORD dwOperationCount,
   1337         const WSDXML_ELEMENT *pAny,
   1338         IUnknown *pAsyncState,
   1339         IWSDAsyncCallback *pAsyncCallback,
   1340         IWSDAsyncResult **ppResult);
   1341 
   1342     HRESULT (STDMETHODCALLTYPE *EndGetStatusForMultipleOperations)(
   1343         IWSDServiceProxyEventing *This,
   1344         const WSD_OPERATION *pOperations,
   1345         DWORD dwOperationCount,
   1346         IWSDAsyncResult *pResult,
   1347         WSD_EVENTING_EXPIRES **ppExpires,
   1348         WSDXML_ELEMENT **ppAny);
   1349 
   1350     END_INTERFACE
   1351 } IWSDServiceProxyEventingVtbl;
   1352 
   1353 interface IWSDServiceProxyEventing {
   1354     CONST_VTBL IWSDServiceProxyEventingVtbl* lpVtbl;
   1355 };
   1356 
   1357 #ifdef COBJMACROS
   1358 #ifndef WIDL_C_INLINE_WRAPPERS
   1359 /*** IUnknown methods ***/
   1360 #define IWSDServiceProxyEventing_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1361 #define IWSDServiceProxyEventing_AddRef(This) (This)->lpVtbl->AddRef(This)
   1362 #define IWSDServiceProxyEventing_Release(This) (This)->lpVtbl->Release(This)
   1363 /*** IWSDMetadataExchange methods ***/
   1364 #define IWSDServiceProxyEventing_GetMetadata(This,MetadataOut) (This)->lpVtbl->GetMetadata(This,MetadataOut)
   1365 /*** IWSDServiceProxy methods ***/
   1366 #define IWSDServiceProxyEventing_BeginGetMetadata(This,ppResult) (This)->lpVtbl->BeginGetMetadata(This,ppResult)
   1367 #define IWSDServiceProxyEventing_EndGetMetadata(This,pResult,ppMetadata) (This)->lpVtbl->EndGetMetadata(This,pResult,ppMetadata)
   1368 #define IWSDServiceProxyEventing_GetServiceMetadata(This,ppServiceMetadata) (This)->lpVtbl->GetServiceMetadata(This,ppServiceMetadata)
   1369 #define IWSDServiceProxyEventing_SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny) (This)->lpVtbl->SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny)
   1370 #define IWSDServiceProxyEventing_UnsubscribeToOperation(This,pOperation) (This)->lpVtbl->UnsubscribeToOperation(This,pOperation)
   1371 #define IWSDServiceProxyEventing_SetEventingStatusCallback(This,pStatus) (This)->lpVtbl->SetEventingStatusCallback(This,pStatus)
   1372 #define IWSDServiceProxyEventing_GetEndpointProxy(This,ppProxy) (This)->lpVtbl->GetEndpointProxy(This,ppProxy)
   1373 /*** IWSDServiceProxyEventing methods ***/
   1374 #define IWSDServiceProxyEventing_SubscribeToMultipleOperations(This,pOperations,dwOperationCount,pUnknown,pExpires,pAny,ppExpires,ppAny) (This)->lpVtbl->SubscribeToMultipleOperations(This,pOperations,dwOperationCount,pUnknown,pExpires,pAny,ppExpires,ppAny)
   1375 #define IWSDServiceProxyEventing_BeginSubscribeToMultipleOperations(This,pOperations,dwOperationCount,pUnknown,pExpires,pAny,pAsyncState,pAsyncCallback,ppResult) (This)->lpVtbl->BeginSubscribeToMultipleOperations(This,pOperations,dwOperationCount,pUnknown,pExpires,pAny,pAsyncState,pAsyncCallback,ppResult)
   1376 #define IWSDServiceProxyEventing_EndSubscribeToMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny) (This)->lpVtbl->EndSubscribeToMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny)
   1377 #define IWSDServiceProxyEventing_UnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pAny) (This)->lpVtbl->UnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pAny)
   1378 #define IWSDServiceProxyEventing_BeginUnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pAny,pAsyncState,pAsyncCallback,ppResult) (This)->lpVtbl->BeginUnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pAny,pAsyncState,pAsyncCallback,ppResult)
   1379 #define IWSDServiceProxyEventing_EndUnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pResult) (This)->lpVtbl->EndUnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pResult)
   1380 #define IWSDServiceProxyEventing_RenewMultipleOperations(This,pOperations,dwOperationCount,pExpires,pAny,ppExpires,ppAny) (This)->lpVtbl->RenewMultipleOperations(This,pOperations,dwOperationCount,pExpires,pAny,ppExpires,ppAny)
   1381 #define IWSDServiceProxyEventing_BeginRenewMultipleOperations(This,pOperations,dwOperationCount,pExpires,pAny,pAsyncState,pAsyncCallback,ppResult) (This)->lpVtbl->BeginRenewMultipleOperations(This,pOperations,dwOperationCount,pExpires,pAny,pAsyncState,pAsyncCallback,ppResult)
   1382 #define IWSDServiceProxyEventing_EndRenewMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny) (This)->lpVtbl->EndRenewMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny)
   1383 #define IWSDServiceProxyEventing_GetStatusForMultipleOperations(This,pOperations,dwOperationCount,pAny,ppExpires,ppAny) (This)->lpVtbl->GetStatusForMultipleOperations(This,pOperations,dwOperationCount,pAny,ppExpires,ppAny)
   1384 #define IWSDServiceProxyEventing_BeginGetStatusForMultipleOperations(This,pOperations,dwOperationCount,pAny,pAsyncState,pAsyncCallback,ppResult) (This)->lpVtbl->BeginGetStatusForMultipleOperations(This,pOperations,dwOperationCount,pAny,pAsyncState,pAsyncCallback,ppResult)
   1385 #define IWSDServiceProxyEventing_EndGetStatusForMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny) (This)->lpVtbl->EndGetStatusForMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny)
   1386 #else
   1387 /*** IUnknown methods ***/
   1388 static inline HRESULT IWSDServiceProxyEventing_QueryInterface(IWSDServiceProxyEventing* This,REFIID riid,void **ppvObject) {
   1389     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1390 }
   1391 static inline ULONG IWSDServiceProxyEventing_AddRef(IWSDServiceProxyEventing* This) {
   1392     return This->lpVtbl->AddRef(This);
   1393 }
   1394 static inline ULONG IWSDServiceProxyEventing_Release(IWSDServiceProxyEventing* This) {
   1395     return This->lpVtbl->Release(This);
   1396 }
   1397 /*** IWSDMetadataExchange methods ***/
   1398 static inline HRESULT IWSDServiceProxyEventing_GetMetadata(IWSDServiceProxyEventing* This,WSD_METADATA_SECTION_LIST **MetadataOut) {
   1399     return This->lpVtbl->GetMetadata(This,MetadataOut);
   1400 }
   1401 /*** IWSDServiceProxy methods ***/
   1402 static inline HRESULT IWSDServiceProxyEventing_BeginGetMetadata(IWSDServiceProxyEventing* This,IWSDAsyncResult **ppResult) {
   1403     return This->lpVtbl->BeginGetMetadata(This,ppResult);
   1404 }
   1405 static inline HRESULT IWSDServiceProxyEventing_EndGetMetadata(IWSDServiceProxyEventing* This,IWSDAsyncResult *pResult,WSD_METADATA_SECTION_LIST **ppMetadata) {
   1406     return This->lpVtbl->EndGetMetadata(This,pResult,ppMetadata);
   1407 }
   1408 static inline HRESULT IWSDServiceProxyEventing_GetServiceMetadata(IWSDServiceProxyEventing* This,WSD_SERVICE_METADATA **ppServiceMetadata) {
   1409     return This->lpVtbl->GetServiceMetadata(This,ppServiceMetadata);
   1410 }
   1411 static inline HRESULT IWSDServiceProxyEventing_SubscribeToOperation(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperation,IUnknown *pUnknown,const WSDXML_ELEMENT *pAny,WSDXML_ELEMENT **ppAny) {
   1412     return This->lpVtbl->SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny);
   1413 }
   1414 static inline HRESULT IWSDServiceProxyEventing_UnsubscribeToOperation(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperation) {
   1415     return This->lpVtbl->UnsubscribeToOperation(This,pOperation);
   1416 }
   1417 static inline HRESULT IWSDServiceProxyEventing_SetEventingStatusCallback(IWSDServiceProxyEventing* This,IWSDEventingStatus *pStatus) {
   1418     return This->lpVtbl->SetEventingStatusCallback(This,pStatus);
   1419 }
   1420 static inline HRESULT IWSDServiceProxyEventing_GetEndpointProxy(IWSDServiceProxyEventing* This,IWSDEndpointProxy **ppProxy) {
   1421     return This->lpVtbl->GetEndpointProxy(This,ppProxy);
   1422 }
   1423 /*** IWSDServiceProxyEventing methods ***/
   1424 static inline HRESULT IWSDServiceProxyEventing_SubscribeToMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,IUnknown *pUnknown,const WSD_EVENTING_EXPIRES *pExpires,const WSDXML_ELEMENT *pAny,WSD_EVENTING_EXPIRES **ppExpires,WSDXML_ELEMENT **ppAny) {
   1425     return This->lpVtbl->SubscribeToMultipleOperations(This,pOperations,dwOperationCount,pUnknown,pExpires,pAny,ppExpires,ppAny);
   1426 }
   1427 static inline HRESULT IWSDServiceProxyEventing_BeginSubscribeToMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,IUnknown *pUnknown,const WSD_EVENTING_EXPIRES *pExpires,const WSDXML_ELEMENT *pAny,IUnknown *pAsyncState,IWSDAsyncCallback *pAsyncCallback,IWSDAsyncResult **ppResult) {
   1428     return This->lpVtbl->BeginSubscribeToMultipleOperations(This,pOperations,dwOperationCount,pUnknown,pExpires,pAny,pAsyncState,pAsyncCallback,ppResult);
   1429 }
   1430 static inline HRESULT IWSDServiceProxyEventing_EndSubscribeToMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,IWSDAsyncResult *pResult,WSD_EVENTING_EXPIRES **ppExpires,WSDXML_ELEMENT **ppAny) {
   1431     return This->lpVtbl->EndSubscribeToMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny);
   1432 }
   1433 static inline HRESULT IWSDServiceProxyEventing_UnsubscribeToMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,const WSDXML_ELEMENT *pAny) {
   1434     return This->lpVtbl->UnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pAny);
   1435 }
   1436 static inline HRESULT IWSDServiceProxyEventing_BeginUnsubscribeToMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,const WSDXML_ELEMENT *pAny,IUnknown *pAsyncState,IWSDAsyncCallback *pAsyncCallback,IWSDAsyncResult **ppResult) {
   1437     return This->lpVtbl->BeginUnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pAny,pAsyncState,pAsyncCallback,ppResult);
   1438 }
   1439 static inline HRESULT IWSDServiceProxyEventing_EndUnsubscribeToMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,IWSDAsyncResult *pResult) {
   1440     return This->lpVtbl->EndUnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pResult);
   1441 }
   1442 static inline HRESULT IWSDServiceProxyEventing_RenewMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,const WSD_EVENTING_EXPIRES *pExpires,const WSDXML_ELEMENT *pAny,WSD_EVENTING_EXPIRES **ppExpires,WSDXML_ELEMENT **ppAny) {
   1443     return This->lpVtbl->RenewMultipleOperations(This,pOperations,dwOperationCount,pExpires,pAny,ppExpires,ppAny);
   1444 }
   1445 static inline HRESULT IWSDServiceProxyEventing_BeginRenewMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,const WSD_EVENTING_EXPIRES *pExpires,const WSDXML_ELEMENT *pAny,IUnknown *pAsyncState,IWSDAsyncCallback *pAsyncCallback,IWSDAsyncResult **ppResult) {
   1446     return This->lpVtbl->BeginRenewMultipleOperations(This,pOperations,dwOperationCount,pExpires,pAny,pAsyncState,pAsyncCallback,ppResult);
   1447 }
   1448 static inline HRESULT IWSDServiceProxyEventing_EndRenewMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,IWSDAsyncResult *pResult,WSD_EVENTING_EXPIRES **ppExpires,WSDXML_ELEMENT **ppAny) {
   1449     return This->lpVtbl->EndRenewMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny);
   1450 }
   1451 static inline HRESULT IWSDServiceProxyEventing_GetStatusForMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,const WSDXML_ELEMENT *pAny,WSD_EVENTING_EXPIRES **ppExpires,WSDXML_ELEMENT **ppAny) {
   1452     return This->lpVtbl->GetStatusForMultipleOperations(This,pOperations,dwOperationCount,pAny,ppExpires,ppAny);
   1453 }
   1454 static inline HRESULT IWSDServiceProxyEventing_BeginGetStatusForMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,const WSDXML_ELEMENT *pAny,IUnknown *pAsyncState,IWSDAsyncCallback *pAsyncCallback,IWSDAsyncResult **ppResult) {
   1455     return This->lpVtbl->BeginGetStatusForMultipleOperations(This,pOperations,dwOperationCount,pAny,pAsyncState,pAsyncCallback,ppResult);
   1456 }
   1457 static inline HRESULT IWSDServiceProxyEventing_EndGetStatusForMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,IWSDAsyncResult *pResult,WSD_EVENTING_EXPIRES **ppExpires,WSDXML_ELEMENT **ppAny) {
   1458     return This->lpVtbl->EndGetStatusForMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny);
   1459 }
   1460 #endif
   1461 #endif
   1462 
   1463 #endif
   1464 
   1465 
   1466 #endif  /* __IWSDServiceProxyEventing_INTERFACE_DEFINED__ */
   1467 
   1468 #endif
   1469 HRESULT WINAPI WSDCreateDeviceProxy(LPCWSTR pszDeviceId, LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDDeviceProxy **ppDeviceProxy);
   1470 HRESULT WINAPI WSDCreateDeviceProxyAdvanced(LPCWSTR pszDeviceId, IWSDAddress* pDeviceAddress, LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDDeviceProxy **ppDeviceProxy);
   1471 #if WINVER >= 0x601
   1472 HRESULT WINAPI WSDCreateDeviceProxy2(LPCWSTR pszDeviceId, LPCWSTR pszLocalId, IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDDeviceProxy **ppDeviceProxy);
   1473 #endif
   1474 #endif
   1475 /* Begin additional prototypes for all interfaces */
   1476 
   1477 
   1478 /* End additional prototypes */
   1479 
   1480 #ifdef __cplusplus
   1481 }
   1482 #endif
   1483 
   1484 #endif /* __wsdclient_h__ */