1 /*** Autogenerated by WIDL 6.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 FORCEINLINE HRESULT IWSDAsyncResult_QueryInterface(IWSDAsyncResult* This,REFIID riid,void **ppvObject) {
285     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
286 }
287 static FORCEINLINE ULONG IWSDAsyncResult_AddRef(IWSDAsyncResult* This) {
288     return This->lpVtbl->AddRef(This);
289 }
290 static FORCEINLINE ULONG IWSDAsyncResult_Release(IWSDAsyncResult* This) {
291     return This->lpVtbl->Release(This);
292 }
293 /*** IWSDAsyncResult methods ***/
294 static FORCEINLINE HRESULT IWSDAsyncResult_SetCallback(IWSDAsyncResult* This,IWSDAsyncCallback *pCallback,IUnknown *pAsyncState) {
295     return This->lpVtbl->SetCallback(This,pCallback,pAsyncState);
296 }
297 static FORCEINLINE HRESULT IWSDAsyncResult_SetWaitHandle(IWSDAsyncResult* This,HANDLE hWaitHandle) {
298     return This->lpVtbl->SetWaitHandle(This,hWaitHandle);
299 }
300 static FORCEINLINE HRESULT IWSDAsyncResult_HasCompleted(IWSDAsyncResult* This) {
301     return This->lpVtbl->HasCompleted(This);
302 }
303 static FORCEINLINE HRESULT IWSDAsyncResult_GetAsyncState(IWSDAsyncResult* This,IUnknown **ppAsyncState) {
304     return This->lpVtbl->GetAsyncState(This,ppAsyncState);
305 }
306 static FORCEINLINE HRESULT IWSDAsyncResult_Abort(IWSDAsyncResult* This) {
307     return This->lpVtbl->Abort(This);
308 }
309 static FORCEINLINE HRESULT IWSDAsyncResult_GetEvent(IWSDAsyncResult* This,WSD_EVENT *pEvent) {
310     return This->lpVtbl->GetEvent(This,pEvent);
311 }
312 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDAsyncCallback_QueryInterface(IWSDAsyncCallback* This,REFIID riid,void **ppvObject) {
382     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
383 }
384 static FORCEINLINE ULONG IWSDAsyncCallback_AddRef(IWSDAsyncCallback* This) {
385     return This->lpVtbl->AddRef(This);
386 }
387 static FORCEINLINE ULONG IWSDAsyncCallback_Release(IWSDAsyncCallback* This) {
388     return This->lpVtbl->Release(This);
389 }
390 /*** IWSDAsyncCallback methods ***/
391 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDMetadataExchange_QueryInterface(IWSDMetadataExchange* This,REFIID riid,void **ppvObject) {
459     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
460 }
461 static FORCEINLINE ULONG IWSDMetadataExchange_AddRef(IWSDMetadataExchange* This) {
462     return This->lpVtbl->AddRef(This);
463 }
464 static FORCEINLINE ULONG IWSDMetadataExchange_Release(IWSDMetadataExchange* This) {
465     return This->lpVtbl->Release(This);
466 }
467 /*** IWSDMetadataExchange methods ***/
468 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDEventingStatus_QueryInterface(IWSDEventingStatus* This,REFIID riid,void **ppvObject) {
554     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
555 }
556 static FORCEINLINE ULONG IWSDEventingStatus_AddRef(IWSDEventingStatus* This) {
557     return This->lpVtbl->AddRef(This);
558 }
559 static FORCEINLINE ULONG IWSDEventingStatus_Release(IWSDEventingStatus* This) {
560     return This->lpVtbl->Release(This);
561 }
562 /*** IWSDEventingStatus methods ***/
563 static FORCEINLINE void IWSDEventingStatus_SubscriptionRenewed(IWSDEventingStatus* This,LPCWSTR pszSubscriptionAction) {
564     This->lpVtbl->SubscriptionRenewed(This,pszSubscriptionAction);
565 }
566 static FORCEINLINE void IWSDEventingStatus_SubscriptionRenewalFailed(IWSDEventingStatus* This,LPCWSTR pszSubscriptionAction,HRESULT hr) {
567     This->lpVtbl->SubscriptionRenewalFailed(This,pszSubscriptionAction,hr);
568 }
569 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDEndpointProxy_QueryInterface(IWSDEndpointProxy* This,REFIID riid,void **ppvObject) {
699     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
700 }
701 static FORCEINLINE ULONG IWSDEndpointProxy_AddRef(IWSDEndpointProxy* This) {
702     return This->lpVtbl->AddRef(This);
703 }
704 static FORCEINLINE ULONG IWSDEndpointProxy_Release(IWSDEndpointProxy* This) {
705     return This->lpVtbl->Release(This);
706 }
707 /*** IWSDEndpointProxy methods ***/
708 static FORCEINLINE HRESULT IWSDEndpointProxy_SendOneWayRequest(IWSDEndpointProxy* This,const void *pBody,const WSD_OPERATION *pOperation) {
709     return This->lpVtbl->SendOneWayRequest(This,pBody,pOperation);
710 }
711 static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IWSDEndpointProxy_AbortAsyncOperation(IWSDEndpointProxy* This,IWSDAsyncResult *pAsyncResult) {
718     return This->lpVtbl->AbortAsyncOperation(This,pAsyncResult);
719 }
720 static FORCEINLINE HRESULT IWSDEndpointProxy_ProcessFault(IWSDEndpointProxy* This,const WSD_SOAP_FAULT *pFault) {
721     return This->lpVtbl->ProcessFault(This,pFault);
722 }
723 static FORCEINLINE HRESULT IWSDEndpointProxy_GetErrorInfo(IWSDEndpointProxy* This,LPCWSTR *ppszErrorInfo) {
724     return This->lpVtbl->GetErrorInfo(This,ppszErrorInfo);
725 }
726 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDDeviceProxy_QueryInterface(IWSDDeviceProxy* This,REFIID riid,void **ppvObject) {
878     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
879 }
880 static FORCEINLINE ULONG IWSDDeviceProxy_AddRef(IWSDDeviceProxy* This) {
881     return This->lpVtbl->AddRef(This);
882 }
883 static FORCEINLINE ULONG IWSDDeviceProxy_Release(IWSDDeviceProxy* This) {
884     return This->lpVtbl->Release(This);
885 }
886 /*** IWSDDeviceProxy methods ***/
887 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDDeviceProxy_BeginGetMetadata(IWSDDeviceProxy* This,IWSDAsyncResult **ppResult) {
891     return This->lpVtbl->BeginGetMetadata(This,ppResult);
892 }
893 static FORCEINLINE HRESULT IWSDDeviceProxy_EndGetMetadata(IWSDDeviceProxy* This,IWSDAsyncResult *pResult) {
894     return This->lpVtbl->EndGetMetadata(This,pResult);
895 }
896 static FORCEINLINE HRESULT IWSDDeviceProxy_GetHostMetadata(IWSDDeviceProxy* This,WSD_HOST_METADATA **ppHostMetadata) {
897     return This->lpVtbl->GetHostMetadata(This,ppHostMetadata);
898 }
899 static FORCEINLINE HRESULT IWSDDeviceProxy_GetThisModelMetadata(IWSDDeviceProxy* This,WSD_THIS_MODEL_METADATA **ppManufacturerMetadata) {
900     return This->lpVtbl->GetThisModelMetadata(This,ppManufacturerMetadata);
901 }
902 static FORCEINLINE HRESULT IWSDDeviceProxy_GetThisDeviceMetadata(IWSDDeviceProxy* This,WSD_THIS_DEVICE_METADATA **ppThisDeviceMetadata) {
903     return This->lpVtbl->GetThisDeviceMetadata(This,ppThisDeviceMetadata);
904 }
905 static FORCEINLINE HRESULT IWSDDeviceProxy_GetAllMetadata(IWSDDeviceProxy* This,WSD_METADATA_SECTION_LIST **ppMetadata) {
906     return This->lpVtbl->GetAllMetadata(This,ppMetadata);
907 }
908 static FORCEINLINE HRESULT IWSDDeviceProxy_GetServiceProxyById(IWSDDeviceProxy* This,LPCWSTR pszServiceId,IWSDServiceProxy **ppServiceProxy) {
909     return This->lpVtbl->GetServiceProxyById(This,pszServiceId,ppServiceProxy);
910 }
911 static FORCEINLINE HRESULT IWSDDeviceProxy_GetServiceProxyByType(IWSDDeviceProxy* This,const WSDXML_NAME *pType,IWSDServiceProxy **ppServiceProxy) {
912     return This->lpVtbl->GetServiceProxyByType(This,pType,ppServiceProxy);
913 }
914 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDServiceProxy_QueryInterface(IWSDServiceProxy* This,REFIID riid,void **ppvObject) {
1045     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1046 }
1047 static FORCEINLINE ULONG IWSDServiceProxy_AddRef(IWSDServiceProxy* This) {
1048     return This->lpVtbl->AddRef(This);
1049 }
1050 static FORCEINLINE ULONG IWSDServiceProxy_Release(IWSDServiceProxy* This) {
1051     return This->lpVtbl->Release(This);
1052 }
1053 /*** IWSDMetadataExchange methods ***/
1054 static FORCEINLINE HRESULT IWSDServiceProxy_GetMetadata(IWSDServiceProxy* This,WSD_METADATA_SECTION_LIST **MetadataOut) {
1055     return This->lpVtbl->GetMetadata(This,MetadataOut);
1056 }
1057 /*** IWSDServiceProxy methods ***/
1058 static FORCEINLINE HRESULT IWSDServiceProxy_BeginGetMetadata(IWSDServiceProxy* This,IWSDAsyncResult **ppResult) {
1059     return This->lpVtbl->BeginGetMetadata(This,ppResult);
1060 }
1061 static FORCEINLINE HRESULT IWSDServiceProxy_EndGetMetadata(IWSDServiceProxy* This,IWSDAsyncResult *pResult,WSD_METADATA_SECTION_LIST **ppMetadata) {
1062     return This->lpVtbl->EndGetMetadata(This,pResult,ppMetadata);
1063 }
1064 static FORCEINLINE HRESULT IWSDServiceProxy_GetServiceMetadata(IWSDServiceProxy* This,WSD_SERVICE_METADATA **ppServiceMetadata) {
1065     return This->lpVtbl->GetServiceMetadata(This,ppServiceMetadata);
1066 }
1067 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDServiceProxy_UnsubscribeToOperation(IWSDServiceProxy* This,const WSD_OPERATION *pOperation) {
1071     return This->lpVtbl->UnsubscribeToOperation(This,pOperation);
1072 }
1073 static FORCEINLINE HRESULT IWSDServiceProxy_SetEventingStatusCallback(IWSDServiceProxy* This,IWSDEventingStatus *pStatus) {
1074     return This->lpVtbl->SetEventingStatusCallback(This,pStatus);
1075 }
1076 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDServiceProxyEventing_QueryInterface(IWSDServiceProxyEventing* This,REFIID riid,void **ppvObject) {
1389     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1390 }
1391 static FORCEINLINE ULONG IWSDServiceProxyEventing_AddRef(IWSDServiceProxyEventing* This) {
1392     return This->lpVtbl->AddRef(This);
1393 }
1394 static FORCEINLINE ULONG IWSDServiceProxyEventing_Release(IWSDServiceProxyEventing* This) {
1395     return This->lpVtbl->Release(This);
1396 }
1397 /*** IWSDMetadataExchange methods ***/
1398 static FORCEINLINE HRESULT IWSDServiceProxyEventing_GetMetadata(IWSDServiceProxyEventing* This,WSD_METADATA_SECTION_LIST **MetadataOut) {
1399     return This->lpVtbl->GetMetadata(This,MetadataOut);
1400 }
1401 /*** IWSDServiceProxy methods ***/
1402 static FORCEINLINE HRESULT IWSDServiceProxyEventing_BeginGetMetadata(IWSDServiceProxyEventing* This,IWSDAsyncResult **ppResult) {
1403     return This->lpVtbl->BeginGetMetadata(This,ppResult);
1404 }
1405 static FORCEINLINE HRESULT IWSDServiceProxyEventing_EndGetMetadata(IWSDServiceProxyEventing* This,IWSDAsyncResult *pResult,WSD_METADATA_SECTION_LIST **ppMetadata) {
1406     return This->lpVtbl->EndGetMetadata(This,pResult,ppMetadata);
1407 }
1408 static FORCEINLINE HRESULT IWSDServiceProxyEventing_GetServiceMetadata(IWSDServiceProxyEventing* This,WSD_SERVICE_METADATA **ppServiceMetadata) {
1409     return This->lpVtbl->GetServiceMetadata(This,ppServiceMetadata);
1410 }
1411 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDServiceProxyEventing_UnsubscribeToOperation(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperation) {
1415     return This->lpVtbl->UnsubscribeToOperation(This,pOperation);
1416 }
1417 static FORCEINLINE HRESULT IWSDServiceProxyEventing_SetEventingStatusCallback(IWSDServiceProxyEventing* This,IWSDEventingStatus *pStatus) {
1418     return This->lpVtbl->SetEventingStatusCallback(This,pStatus);
1419 }
1420 static FORCEINLINE HRESULT IWSDServiceProxyEventing_GetEndpointProxy(IWSDServiceProxyEventing* This,IWSDEndpointProxy **ppProxy) {
1421     return This->lpVtbl->GetEndpointProxy(This,ppProxy);
1422 }
1423 /*** IWSDServiceProxyEventing methods ***/
1424 static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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__ */
1485