1 /*** Autogenerated by WIDL 1.6 from include/wsdhost.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __wsdhost_h__
16 #define __wsdhost_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __IWSDDeviceHostNotify_FWD_DEFINED__
21 #define __IWSDDeviceHostNotify_FWD_DEFINED__
22 typedef interface IWSDDeviceHostNotify IWSDDeviceHostNotify;
23 #endif
24 
25 #ifndef __IWSDServiceMessaging_FWD_DEFINED__
26 #define __IWSDServiceMessaging_FWD_DEFINED__
27 typedef interface IWSDServiceMessaging IWSDServiceMessaging;
28 #endif
29 
30 #ifndef __IWSDDeviceHost_FWD_DEFINED__
31 #define __IWSDDeviceHost_FWD_DEFINED__
32 typedef interface IWSDDeviceHost IWSDDeviceHost;
33 #endif
34 
35 /* Headers for imported files */
36 
37 #include <oaidl.h>
38 #include <ocidl.h>
39 #include <wsdxmldom.h>
40 #include <wsdtypes.h>
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 #include <winapifamily.h>
47 
48 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
49 
50 #ifndef __IWSDAddress_FWD_DEFINED__
51 #define __IWSDAddress_FWD_DEFINED__
52 typedef interface IWSDAddress IWSDAddress;
53 #endif
54 
55 #ifndef __IWSDXMLContext_FWD_DEFINED__
56 #define __IWSDXMLContext_FWD_DEFINED__
57 typedef interface IWSDXMLContext IWSDXMLContext;
58 #endif
59 
60 #ifndef __IWSDDeviceHost_FWD_DEFINED__
61 #define __IWSDDeviceHost_FWD_DEFINED__
62 typedef interface IWSDDeviceHost IWSDDeviceHost;
63 #endif
64 
65 #ifndef __IWSDDeviceHostNotify_FWD_DEFINED__
66 #define __IWSDDeviceHostNotify_FWD_DEFINED__
67 typedef interface IWSDDeviceHostNotify IWSDDeviceHostNotify;
68 #endif
69 
70 #ifndef __IWSDServiceMessaging_FWD_DEFINED__
71 #define __IWSDServiceMessaging_FWD_DEFINED__
72 typedef interface IWSDServiceMessaging IWSDServiceMessaging;
73 #endif
74 
75 /*****************************************************************************
76  * IWSDDeviceHostNotify interface
77  */
78 #ifndef __IWSDDeviceHostNotify_INTERFACE_DEFINED__
79 #define __IWSDDeviceHostNotify_INTERFACE_DEFINED__
80 
81 DEFINE_GUID(IID_IWSDDeviceHostNotify, 0xb5bee9f9, 0xeeda, 0x41fe, 0x96,0xf7, 0xf4,0x5e,0x14,0x99,0x0f,0xb0);
82 #if defined(__cplusplus) && !defined(CINTERFACE)
83 MIDL_INTERFACE("b5bee9f9-eeda-41fe-96f7-f45e14990fb0")
84 IWSDDeviceHostNotify : public IUnknown
85 {
86     virtual HRESULT STDMETHODCALLTYPE GetService(
87         LPCWSTR pszServiceId,
88         IUnknown **ppService) = 0;
89 
90 };
91 #ifdef __CRT_UUID_DECL
92 __CRT_UUID_DECL(IWSDDeviceHostNotify, 0xb5bee9f9, 0xeeda, 0x41fe, 0x96,0xf7, 0xf4,0x5e,0x14,0x99,0x0f,0xb0)
93 #endif
94 #else
95 typedef struct IWSDDeviceHostNotifyVtbl {
96     BEGIN_INTERFACE
97 
98     /*** IUnknown methods ***/
99     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
100         IWSDDeviceHostNotify* This,
101         REFIID riid,
102         void **ppvObject);
103 
104     ULONG (STDMETHODCALLTYPE *AddRef)(
105         IWSDDeviceHostNotify* This);
106 
107     ULONG (STDMETHODCALLTYPE *Release)(
108         IWSDDeviceHostNotify* This);
109 
110     /*** IWSDDeviceHostNotify methods ***/
111     HRESULT (STDMETHODCALLTYPE *GetService)(
112         IWSDDeviceHostNotify* This,
113         LPCWSTR pszServiceId,
114         IUnknown **ppService);
115 
116     END_INTERFACE
117 } IWSDDeviceHostNotifyVtbl;
118 interface IWSDDeviceHostNotify {
119     CONST_VTBL IWSDDeviceHostNotifyVtbl* lpVtbl;
120 };
121 
122 #ifdef COBJMACROS
123 #ifndef WIDL_C_INLINE_WRAPPERS
124 /*** IUnknown methods ***/
125 #define IWSDDeviceHostNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
126 #define IWSDDeviceHostNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
127 #define IWSDDeviceHostNotify_Release(This) (This)->lpVtbl->Release(This)
128 /*** IWSDDeviceHostNotify methods ***/
129 #define IWSDDeviceHostNotify_GetService(This,pszServiceId,ppService) (This)->lpVtbl->GetService(This,pszServiceId,ppService)
130 #else
131 /*** IUnknown methods ***/
132 static FORCEINLINE HRESULT IWSDDeviceHostNotify_QueryInterface(IWSDDeviceHostNotify* This,REFIID riid,void **ppvObject) {
133     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
134 }
135 static FORCEINLINE ULONG IWSDDeviceHostNotify_AddRef(IWSDDeviceHostNotify* This) {
136     return This->lpVtbl->AddRef(This);
137 }
138 static FORCEINLINE ULONG IWSDDeviceHostNotify_Release(IWSDDeviceHostNotify* This) {
139     return This->lpVtbl->Release(This);
140 }
141 /*** IWSDDeviceHostNotify methods ***/
142 static FORCEINLINE HRESULT IWSDDeviceHostNotify_GetService(IWSDDeviceHostNotify* This,LPCWSTR pszServiceId,IUnknown **ppService) {
143     return This->lpVtbl->GetService(This,pszServiceId,ppService);
144 }
145 #endif
146 #endif
147 
148 #endif
149 
150 HRESULT STDMETHODCALLTYPE IWSDDeviceHostNotify_GetService_Proxy(
151     IWSDDeviceHostNotify* This,
152     LPCWSTR pszServiceId,
153     IUnknown **ppService);
154 void __RPC_STUB IWSDDeviceHostNotify_GetService_Stub(
155     IRpcStubBuffer* This,
156     IRpcChannelBuffer* pRpcChannelBuffer,
157     PRPC_MESSAGE pRpcMessage,
158     DWORD* pdwStubPhase);
159 
160 #endif  /* __IWSDDeviceHostNotify_INTERFACE_DEFINED__ */
161 
162 /*****************************************************************************
163  * IWSDServiceMessaging interface
164  */
165 #ifndef __IWSDServiceMessaging_INTERFACE_DEFINED__
166 #define __IWSDServiceMessaging_INTERFACE_DEFINED__
167 
168 DEFINE_GUID(IID_IWSDServiceMessaging, 0x94974cf4, 0x0cab, 0x460d, 0xa3,0xf6, 0x7a,0x0a,0xd6,0x23,0xc0,0xe6);
169 #if defined(__cplusplus) && !defined(CINTERFACE)
170 MIDL_INTERFACE("94974cf4-0cab-460d-a3f6-7a0ad623c0e6")
171 IWSDServiceMessaging : public IUnknown
172 {
173     virtual HRESULT STDMETHODCALLTYPE SendResponse(
174         void *pBody,
175         WSD_OPERATION *pOperation,
176         IWSDMessageParameters *pMessageParameters) = 0;
177 
178     virtual HRESULT STDMETHODCALLTYPE FaultRequest(
179         WSD_SOAP_HEADER *pRequestHeader,
180         IWSDMessageParameters *pMessageParameters,
181         WSD_SOAP_FAULT *pFault) = 0;
182 
183 };
184 #ifdef __CRT_UUID_DECL
185 __CRT_UUID_DECL(IWSDServiceMessaging, 0x94974cf4, 0x0cab, 0x460d, 0xa3,0xf6, 0x7a,0x0a,0xd6,0x23,0xc0,0xe6)
186 #endif
187 #else
188 typedef struct IWSDServiceMessagingVtbl {
189     BEGIN_INTERFACE
190 
191     /*** IUnknown methods ***/
192     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
193         IWSDServiceMessaging* This,
194         REFIID riid,
195         void **ppvObject);
196 
197     ULONG (STDMETHODCALLTYPE *AddRef)(
198         IWSDServiceMessaging* This);
199 
200     ULONG (STDMETHODCALLTYPE *Release)(
201         IWSDServiceMessaging* This);
202 
203     /*** IWSDServiceMessaging methods ***/
204     HRESULT (STDMETHODCALLTYPE *SendResponse)(
205         IWSDServiceMessaging* This,
206         void *pBody,
207         WSD_OPERATION *pOperation,
208         IWSDMessageParameters *pMessageParameters);
209 
210     HRESULT (STDMETHODCALLTYPE *FaultRequest)(
211         IWSDServiceMessaging* This,
212         WSD_SOAP_HEADER *pRequestHeader,
213         IWSDMessageParameters *pMessageParameters,
214         WSD_SOAP_FAULT *pFault);
215 
216     END_INTERFACE
217 } IWSDServiceMessagingVtbl;
218 interface IWSDServiceMessaging {
219     CONST_VTBL IWSDServiceMessagingVtbl* lpVtbl;
220 };
221 
222 #ifdef COBJMACROS
223 #ifndef WIDL_C_INLINE_WRAPPERS
224 /*** IUnknown methods ***/
225 #define IWSDServiceMessaging_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
226 #define IWSDServiceMessaging_AddRef(This) (This)->lpVtbl->AddRef(This)
227 #define IWSDServiceMessaging_Release(This) (This)->lpVtbl->Release(This)
228 /*** IWSDServiceMessaging methods ***/
229 #define IWSDServiceMessaging_SendResponse(This,pBody,pOperation,pMessageParameters) (This)->lpVtbl->SendResponse(This,pBody,pOperation,pMessageParameters)
230 #define IWSDServiceMessaging_FaultRequest(This,pRequestHeader,pMessageParameters,pFault) (This)->lpVtbl->FaultRequest(This,pRequestHeader,pMessageParameters,pFault)
231 #else
232 /*** IUnknown methods ***/
233 static FORCEINLINE HRESULT IWSDServiceMessaging_QueryInterface(IWSDServiceMessaging* This,REFIID riid,void **ppvObject) {
234     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
235 }
236 static FORCEINLINE ULONG IWSDServiceMessaging_AddRef(IWSDServiceMessaging* This) {
237     return This->lpVtbl->AddRef(This);
238 }
239 static FORCEINLINE ULONG IWSDServiceMessaging_Release(IWSDServiceMessaging* This) {
240     return This->lpVtbl->Release(This);
241 }
242 /*** IWSDServiceMessaging methods ***/
243 static FORCEINLINE HRESULT IWSDServiceMessaging_SendResponse(IWSDServiceMessaging* This,void *pBody,WSD_OPERATION *pOperation,IWSDMessageParameters *pMessageParameters) {
244     return This->lpVtbl->SendResponse(This,pBody,pOperation,pMessageParameters);
245 }
246 static FORCEINLINE HRESULT IWSDServiceMessaging_FaultRequest(IWSDServiceMessaging* This,WSD_SOAP_HEADER *pRequestHeader,IWSDMessageParameters *pMessageParameters,WSD_SOAP_FAULT *pFault) {
247     return This->lpVtbl->FaultRequest(This,pRequestHeader,pMessageParameters,pFault);
248 }
249 #endif
250 #endif
251 
252 #endif
253 
254 HRESULT STDMETHODCALLTYPE IWSDServiceMessaging_SendResponse_Proxy(
255     IWSDServiceMessaging* This,
256     void *pBody,
257     WSD_OPERATION *pOperation,
258     IWSDMessageParameters *pMessageParameters);
259 void __RPC_STUB IWSDServiceMessaging_SendResponse_Stub(
260     IRpcStubBuffer* This,
261     IRpcChannelBuffer* pRpcChannelBuffer,
262     PRPC_MESSAGE pRpcMessage,
263     DWORD* pdwStubPhase);
264 HRESULT STDMETHODCALLTYPE IWSDServiceMessaging_FaultRequest_Proxy(
265     IWSDServiceMessaging* This,
266     WSD_SOAP_HEADER *pRequestHeader,
267     IWSDMessageParameters *pMessageParameters,
268     WSD_SOAP_FAULT *pFault);
269 void __RPC_STUB IWSDServiceMessaging_FaultRequest_Stub(
270     IRpcStubBuffer* This,
271     IRpcChannelBuffer* pRpcChannelBuffer,
272     PRPC_MESSAGE pRpcMessage,
273     DWORD* pdwStubPhase);
274 
275 #endif  /* __IWSDServiceMessaging_INTERFACE_DEFINED__ */
276 
277 /*****************************************************************************
278  * IWSDDeviceHost interface
279  */
280 #ifndef __IWSDDeviceHost_INTERFACE_DEFINED__
281 #define __IWSDDeviceHost_INTERFACE_DEFINED__
282 
283 DEFINE_GUID(IID_IWSDDeviceHost, 0x917fe891, 0x3d13, 0x4138, 0x98,0x09, 0x93,0x4c,0x8a,0xbe,0xb1,0x2c);
284 #if defined(__cplusplus) && !defined(CINTERFACE)
285 MIDL_INTERFACE("917fe891-3d13-4138-9809-934c8abeb12c")
286 IWSDDeviceHost : public IUnknown
287 {
288     virtual HRESULT STDMETHODCALLTYPE Init(
289         LPCWSTR pszLocalId,
290         IWSDXMLContext *pContext,
291         IWSDAddress **ppHostAddresses,
292         DWORD dwHostAddressCount) = 0;
293 
294     virtual HRESULT STDMETHODCALLTYPE Start(
295         ULONGLONG ullInstanceId,
296         const WSD_URI_LIST *pScopeList,
297         IWSDDeviceHostNotify *pNotificationSink) = 0;
298 
299     virtual HRESULT STDMETHODCALLTYPE Stop(
300         ) = 0;
301 
302     virtual HRESULT STDMETHODCALLTYPE Terminate(
303         ) = 0;
304 
305     virtual HRESULT STDMETHODCALLTYPE RegisterPortType(
306         const WSD_PORT_TYPE *pPortType) = 0;
307 
308     virtual HRESULT STDMETHODCALLTYPE SetMetadata(
309         const WSD_THIS_MODEL_METADATA *pThisModelMetadata,
310         const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata,
311         const WSD_HOST_METADATA *pHostMetadata,
312         const WSD_METADATA_SECTION_LIST *pCustomMetadata) = 0;
313 
314     virtual HRESULT STDMETHODCALLTYPE RegisterService(
315         LPCWSTR pszServiceId,
316         IUnknown *pService) = 0;
317 
318     virtual HRESULT STDMETHODCALLTYPE RetireService(
319         LPCWSTR pszServiceId) = 0;
320 
321     virtual HRESULT STDMETHODCALLTYPE AddDynamicService(
322         LPCWSTR pszServiceId,
323         LPCWSTR pszEndpointAddress,
324         const WSD_PORT_TYPE *pPortType,
325         const WSDXML_NAME *pPortName,
326         const WSDXML_ELEMENT *pAny,
327         IUnknown *pService) = 0;
328 
329     virtual HRESULT STDMETHODCALLTYPE RemoveDynamicService(
330         LPCWSTR pszServiceId) = 0;
331 
332     virtual HRESULT STDMETHODCALLTYPE SetServiceDiscoverable(
333         LPCWSTR pszServiceId,
334         WINBOOL fDiscoverable) = 0;
335 
336     virtual HRESULT STDMETHODCALLTYPE SignalEvent(
337         LPCWSTR pszServiceId,
338         const void *pBody,
339         const WSD_OPERATION *pOperation) = 0;
340 
341 };
342 #ifdef __CRT_UUID_DECL
343 __CRT_UUID_DECL(IWSDDeviceHost, 0x917fe891, 0x3d13, 0x4138, 0x98,0x09, 0x93,0x4c,0x8a,0xbe,0xb1,0x2c)
344 #endif
345 #else
346 typedef struct IWSDDeviceHostVtbl {
347     BEGIN_INTERFACE
348 
349     /*** IUnknown methods ***/
350     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
351         IWSDDeviceHost* This,
352         REFIID riid,
353         void **ppvObject);
354 
355     ULONG (STDMETHODCALLTYPE *AddRef)(
356         IWSDDeviceHost* This);
357 
358     ULONG (STDMETHODCALLTYPE *Release)(
359         IWSDDeviceHost* This);
360 
361     /*** IWSDDeviceHost methods ***/
362     HRESULT (STDMETHODCALLTYPE *Init)(
363         IWSDDeviceHost* This,
364         LPCWSTR pszLocalId,
365         IWSDXMLContext *pContext,
366         IWSDAddress **ppHostAddresses,
367         DWORD dwHostAddressCount);
368 
369     HRESULT (STDMETHODCALLTYPE *Start)(
370         IWSDDeviceHost* This,
371         ULONGLONG ullInstanceId,
372         const WSD_URI_LIST *pScopeList,
373         IWSDDeviceHostNotify *pNotificationSink);
374 
375     HRESULT (STDMETHODCALLTYPE *Stop)(
376         IWSDDeviceHost* This);
377 
378     HRESULT (STDMETHODCALLTYPE *Terminate)(
379         IWSDDeviceHost* This);
380 
381     HRESULT (STDMETHODCALLTYPE *RegisterPortType)(
382         IWSDDeviceHost* This,
383         const WSD_PORT_TYPE *pPortType);
384 
385     HRESULT (STDMETHODCALLTYPE *SetMetadata)(
386         IWSDDeviceHost* This,
387         const WSD_THIS_MODEL_METADATA *pThisModelMetadata,
388         const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata,
389         const WSD_HOST_METADATA *pHostMetadata,
390         const WSD_METADATA_SECTION_LIST *pCustomMetadata);
391 
392     HRESULT (STDMETHODCALLTYPE *RegisterService)(
393         IWSDDeviceHost* This,
394         LPCWSTR pszServiceId,
395         IUnknown *pService);
396 
397     HRESULT (STDMETHODCALLTYPE *RetireService)(
398         IWSDDeviceHost* This,
399         LPCWSTR pszServiceId);
400 
401     HRESULT (STDMETHODCALLTYPE *AddDynamicService)(
402         IWSDDeviceHost* This,
403         LPCWSTR pszServiceId,
404         LPCWSTR pszEndpointAddress,
405         const WSD_PORT_TYPE *pPortType,
406         const WSDXML_NAME *pPortName,
407         const WSDXML_ELEMENT *pAny,
408         IUnknown *pService);
409 
410     HRESULT (STDMETHODCALLTYPE *RemoveDynamicService)(
411         IWSDDeviceHost* This,
412         LPCWSTR pszServiceId);
413 
414     HRESULT (STDMETHODCALLTYPE *SetServiceDiscoverable)(
415         IWSDDeviceHost* This,
416         LPCWSTR pszServiceId,
417         WINBOOL fDiscoverable);
418 
419     HRESULT (STDMETHODCALLTYPE *SignalEvent)(
420         IWSDDeviceHost* This,
421         LPCWSTR pszServiceId,
422         const void *pBody,
423         const WSD_OPERATION *pOperation);
424 
425     END_INTERFACE
426 } IWSDDeviceHostVtbl;
427 interface IWSDDeviceHost {
428     CONST_VTBL IWSDDeviceHostVtbl* lpVtbl;
429 };
430 
431 #ifdef COBJMACROS
432 #ifndef WIDL_C_INLINE_WRAPPERS
433 /*** IUnknown methods ***/
434 #define IWSDDeviceHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
435 #define IWSDDeviceHost_AddRef(This) (This)->lpVtbl->AddRef(This)
436 #define IWSDDeviceHost_Release(This) (This)->lpVtbl->Release(This)
437 /*** IWSDDeviceHost methods ***/
438 #define IWSDDeviceHost_Init(This,pszLocalId,pContext,ppHostAddresses,dwHostAddressCount) (This)->lpVtbl->Init(This,pszLocalId,pContext,ppHostAddresses,dwHostAddressCount)
439 #define IWSDDeviceHost_Start(This,ullInstanceId,pScopeList,pNotificationSink) (This)->lpVtbl->Start(This,ullInstanceId,pScopeList,pNotificationSink)
440 #define IWSDDeviceHost_Stop(This) (This)->lpVtbl->Stop(This)
441 #define IWSDDeviceHost_Terminate(This) (This)->lpVtbl->Terminate(This)
442 #define IWSDDeviceHost_RegisterPortType(This,pPortType) (This)->lpVtbl->RegisterPortType(This,pPortType)
443 #define IWSDDeviceHost_SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pHostMetadata,pCustomMetadata) (This)->lpVtbl->SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pHostMetadata,pCustomMetadata)
444 #define IWSDDeviceHost_RegisterService(This,pszServiceId,pService) (This)->lpVtbl->RegisterService(This,pszServiceId,pService)
445 #define IWSDDeviceHost_RetireService(This,pszServiceId) (This)->lpVtbl->RetireService(This,pszServiceId)
446 #define IWSDDeviceHost_AddDynamicService(This,pszServiceId,pszEndpointAddress,pPortType,pPortName,pAny,pService) (This)->lpVtbl->AddDynamicService(This,pszServiceId,pszEndpointAddress,pPortType,pPortName,pAny,pService)
447 #define IWSDDeviceHost_RemoveDynamicService(This,pszServiceId) (This)->lpVtbl->RemoveDynamicService(This,pszServiceId)
448 #define IWSDDeviceHost_SetServiceDiscoverable(This,pszServiceId,fDiscoverable) (This)->lpVtbl->SetServiceDiscoverable(This,pszServiceId,fDiscoverable)
449 #define IWSDDeviceHost_SignalEvent(This,pszServiceId,pBody,pOperation) (This)->lpVtbl->SignalEvent(This,pszServiceId,pBody,pOperation)
450 #else
451 /*** IUnknown methods ***/
452 static FORCEINLINE HRESULT IWSDDeviceHost_QueryInterface(IWSDDeviceHost* This,REFIID riid,void **ppvObject) {
453     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
454 }
455 static FORCEINLINE ULONG IWSDDeviceHost_AddRef(IWSDDeviceHost* This) {
456     return This->lpVtbl->AddRef(This);
457 }
458 static FORCEINLINE ULONG IWSDDeviceHost_Release(IWSDDeviceHost* This) {
459     return This->lpVtbl->Release(This);
460 }
461 /*** IWSDDeviceHost methods ***/
462 static FORCEINLINE HRESULT IWSDDeviceHost_Init(IWSDDeviceHost* This,LPCWSTR pszLocalId,IWSDXMLContext *pContext,IWSDAddress **ppHostAddresses,DWORD dwHostAddressCount) {
463     return This->lpVtbl->Init(This,pszLocalId,pContext,ppHostAddresses,dwHostAddressCount);
464 }
465 static FORCEINLINE HRESULT IWSDDeviceHost_Start(IWSDDeviceHost* This,ULONGLONG ullInstanceId,const WSD_URI_LIST *pScopeList,IWSDDeviceHostNotify *pNotificationSink) {
466     return This->lpVtbl->Start(This,ullInstanceId,pScopeList,pNotificationSink);
467 }
468 static FORCEINLINE HRESULT IWSDDeviceHost_Stop(IWSDDeviceHost* This) {
469     return This->lpVtbl->Stop(This);
470 }
471 static FORCEINLINE HRESULT IWSDDeviceHost_Terminate(IWSDDeviceHost* This) {
472     return This->lpVtbl->Terminate(This);
473 }
474 static FORCEINLINE HRESULT IWSDDeviceHost_RegisterPortType(IWSDDeviceHost* This,const WSD_PORT_TYPE *pPortType) {
475     return This->lpVtbl->RegisterPortType(This,pPortType);
476 }
477 static FORCEINLINE HRESULT IWSDDeviceHost_SetMetadata(IWSDDeviceHost* This,const WSD_THIS_MODEL_METADATA *pThisModelMetadata,const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata,const WSD_HOST_METADATA *pHostMetadata,const WSD_METADATA_SECTION_LIST *pCustomMetadata) {
478     return This->lpVtbl->SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pHostMetadata,pCustomMetadata);
479 }
480 static FORCEINLINE HRESULT IWSDDeviceHost_RegisterService(IWSDDeviceHost* This,LPCWSTR pszServiceId,IUnknown *pService) {
481     return This->lpVtbl->RegisterService(This,pszServiceId,pService);
482 }
483 static FORCEINLINE HRESULT IWSDDeviceHost_RetireService(IWSDDeviceHost* This,LPCWSTR pszServiceId) {
484     return This->lpVtbl->RetireService(This,pszServiceId);
485 }
486 static FORCEINLINE HRESULT IWSDDeviceHost_AddDynamicService(IWSDDeviceHost* This,LPCWSTR pszServiceId,LPCWSTR pszEndpointAddress,const WSD_PORT_TYPE *pPortType,const WSDXML_NAME *pPortName,const WSDXML_ELEMENT *pAny,IUnknown *pService) {
487     return This->lpVtbl->AddDynamicService(This,pszServiceId,pszEndpointAddress,pPortType,pPortName,pAny,pService);
488 }
489 static FORCEINLINE HRESULT IWSDDeviceHost_RemoveDynamicService(IWSDDeviceHost* This,LPCWSTR pszServiceId) {
490     return This->lpVtbl->RemoveDynamicService(This,pszServiceId);
491 }
492 static FORCEINLINE HRESULT IWSDDeviceHost_SetServiceDiscoverable(IWSDDeviceHost* This,LPCWSTR pszServiceId,WINBOOL fDiscoverable) {
493     return This->lpVtbl->SetServiceDiscoverable(This,pszServiceId,fDiscoverable);
494 }
495 static FORCEINLINE HRESULT IWSDDeviceHost_SignalEvent(IWSDDeviceHost* This,LPCWSTR pszServiceId,const void *pBody,const WSD_OPERATION *pOperation) {
496     return This->lpVtbl->SignalEvent(This,pszServiceId,pBody,pOperation);
497 }
498 #endif
499 #endif
500 
501 #endif
502 
503 HRESULT STDMETHODCALLTYPE IWSDDeviceHost_Init_Proxy(
504     IWSDDeviceHost* This,
505     LPCWSTR pszLocalId,
506     IWSDXMLContext *pContext,
507     IWSDAddress **ppHostAddresses,
508     DWORD dwHostAddressCount);
509 void __RPC_STUB IWSDDeviceHost_Init_Stub(
510     IRpcStubBuffer* This,
511     IRpcChannelBuffer* pRpcChannelBuffer,
512     PRPC_MESSAGE pRpcMessage,
513     DWORD* pdwStubPhase);
514 HRESULT STDMETHODCALLTYPE IWSDDeviceHost_Start_Proxy(
515     IWSDDeviceHost* This,
516     ULONGLONG ullInstanceId,
517     const WSD_URI_LIST *pScopeList,
518     IWSDDeviceHostNotify *pNotificationSink);
519 void __RPC_STUB IWSDDeviceHost_Start_Stub(
520     IRpcStubBuffer* This,
521     IRpcChannelBuffer* pRpcChannelBuffer,
522     PRPC_MESSAGE pRpcMessage,
523     DWORD* pdwStubPhase);
524 HRESULT STDMETHODCALLTYPE IWSDDeviceHost_Stop_Proxy(
525     IWSDDeviceHost* This);
526 void __RPC_STUB IWSDDeviceHost_Stop_Stub(
527     IRpcStubBuffer* This,
528     IRpcChannelBuffer* pRpcChannelBuffer,
529     PRPC_MESSAGE pRpcMessage,
530     DWORD* pdwStubPhase);
531 HRESULT STDMETHODCALLTYPE IWSDDeviceHost_Terminate_Proxy(
532     IWSDDeviceHost* This);
533 void __RPC_STUB IWSDDeviceHost_Terminate_Stub(
534     IRpcStubBuffer* This,
535     IRpcChannelBuffer* pRpcChannelBuffer,
536     PRPC_MESSAGE pRpcMessage,
537     DWORD* pdwStubPhase);
538 HRESULT STDMETHODCALLTYPE IWSDDeviceHost_RegisterPortType_Proxy(
539     IWSDDeviceHost* This,
540     const WSD_PORT_TYPE *pPortType);
541 void __RPC_STUB IWSDDeviceHost_RegisterPortType_Stub(
542     IRpcStubBuffer* This,
543     IRpcChannelBuffer* pRpcChannelBuffer,
544     PRPC_MESSAGE pRpcMessage,
545     DWORD* pdwStubPhase);
546 HRESULT STDMETHODCALLTYPE IWSDDeviceHost_SetMetadata_Proxy(
547     IWSDDeviceHost* This,
548     const WSD_THIS_MODEL_METADATA *pThisModelMetadata,
549     const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata,
550     const WSD_HOST_METADATA *pHostMetadata,
551     const WSD_METADATA_SECTION_LIST *pCustomMetadata);
552 void __RPC_STUB IWSDDeviceHost_SetMetadata_Stub(
553     IRpcStubBuffer* This,
554     IRpcChannelBuffer* pRpcChannelBuffer,
555     PRPC_MESSAGE pRpcMessage,
556     DWORD* pdwStubPhase);
557 HRESULT STDMETHODCALLTYPE IWSDDeviceHost_RegisterService_Proxy(
558     IWSDDeviceHost* This,
559     LPCWSTR pszServiceId,
560     IUnknown *pService);
561 void __RPC_STUB IWSDDeviceHost_RegisterService_Stub(
562     IRpcStubBuffer* This,
563     IRpcChannelBuffer* pRpcChannelBuffer,
564     PRPC_MESSAGE pRpcMessage,
565     DWORD* pdwStubPhase);
566 HRESULT STDMETHODCALLTYPE IWSDDeviceHost_RetireService_Proxy(
567     IWSDDeviceHost* This,
568     LPCWSTR pszServiceId);
569 void __RPC_STUB IWSDDeviceHost_RetireService_Stub(
570     IRpcStubBuffer* This,
571     IRpcChannelBuffer* pRpcChannelBuffer,
572     PRPC_MESSAGE pRpcMessage,
573     DWORD* pdwStubPhase);
574 HRESULT STDMETHODCALLTYPE IWSDDeviceHost_AddDynamicService_Proxy(
575     IWSDDeviceHost* This,
576     LPCWSTR pszServiceId,
577     LPCWSTR pszEndpointAddress,
578     const WSD_PORT_TYPE *pPortType,
579     const WSDXML_NAME *pPortName,
580     const WSDXML_ELEMENT *pAny,
581     IUnknown *pService);
582 void __RPC_STUB IWSDDeviceHost_AddDynamicService_Stub(
583     IRpcStubBuffer* This,
584     IRpcChannelBuffer* pRpcChannelBuffer,
585     PRPC_MESSAGE pRpcMessage,
586     DWORD* pdwStubPhase);
587 HRESULT STDMETHODCALLTYPE IWSDDeviceHost_RemoveDynamicService_Proxy(
588     IWSDDeviceHost* This,
589     LPCWSTR pszServiceId);
590 void __RPC_STUB IWSDDeviceHost_RemoveDynamicService_Stub(
591     IRpcStubBuffer* This,
592     IRpcChannelBuffer* pRpcChannelBuffer,
593     PRPC_MESSAGE pRpcMessage,
594     DWORD* pdwStubPhase);
595 HRESULT STDMETHODCALLTYPE IWSDDeviceHost_SetServiceDiscoverable_Proxy(
596     IWSDDeviceHost* This,
597     LPCWSTR pszServiceId,
598     WINBOOL fDiscoverable);
599 void __RPC_STUB IWSDDeviceHost_SetServiceDiscoverable_Stub(
600     IRpcStubBuffer* This,
601     IRpcChannelBuffer* pRpcChannelBuffer,
602     PRPC_MESSAGE pRpcMessage,
603     DWORD* pdwStubPhase);
604 HRESULT STDMETHODCALLTYPE IWSDDeviceHost_SignalEvent_Proxy(
605     IWSDDeviceHost* This,
606     LPCWSTR pszServiceId,
607     const void *pBody,
608     const WSD_OPERATION *pOperation);
609 void __RPC_STUB IWSDDeviceHost_SignalEvent_Stub(
610     IRpcStubBuffer* This,
611     IRpcChannelBuffer* pRpcChannelBuffer,
612     PRPC_MESSAGE pRpcMessage,
613     DWORD* pdwStubPhase);
614 
615 #endif  /* __IWSDDeviceHost_INTERFACE_DEFINED__ */
616 
617 HRESULT WINAPI WSDCreateDeviceHost(LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDDeviceHost **ppDeviceHost);
618 #if WINVER >= 0x601
619 HRESULT WINAPI WSDCreateDeviceHost2(LPCWSTR pszLocalId, IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDDeviceHost **ppDeviceHost);
620 #endif
621 HRESULT WINAPI WSDCreateDeviceHostAdvanced(LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDAddress** ppHostAddresses, DWORD dwHostAddressCount, IWSDDeviceHost **ppDeviceHost);
622 #endif
623 /* Begin additional prototypes for all interfaces */
624 
625 
626 /* End additional prototypes */
627 
628 #ifdef __cplusplus
629 }
630 #endif
631 
632 #endif /* __wsdhost_h__ */
633