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__
22typedef interface IWSDDeviceHostNotify IWSDDeviceHostNotify;
23#endif
24
25#ifndef __IWSDServiceMessaging_FWD_DEFINED__
26#define __IWSDServiceMessaging_FWD_DEFINED__
27typedef interface IWSDServiceMessaging IWSDServiceMessaging;
28#endif
29
30#ifndef __IWSDDeviceHost_FWD_DEFINED__
31#define __IWSDDeviceHost_FWD_DEFINED__
32typedef 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
43extern "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__
52typedef interface IWSDAddress IWSDAddress;
53#endif
54
55#ifndef __IWSDXMLContext_FWD_DEFINED__
56#define __IWSDXMLContext_FWD_DEFINED__
57typedef interface IWSDXMLContext IWSDXMLContext;
58#endif
59
60#ifndef __IWSDDeviceHost_FWD_DEFINED__
61#define __IWSDDeviceHost_FWD_DEFINED__
62typedef interface IWSDDeviceHost IWSDDeviceHost;
63#endif
64
65#ifndef __IWSDDeviceHostNotify_FWD_DEFINED__
66#define __IWSDDeviceHostNotify_FWD_DEFINED__
67typedef interface IWSDDeviceHostNotify IWSDDeviceHostNotify;
68#endif
69
70#ifndef __IWSDServiceMessaging_FWD_DEFINED__
71#define __IWSDServiceMessaging_FWD_DEFINED__
72typedef interface IWSDServiceMessaging IWSDServiceMessaging;
73#endif
74
75/*****************************************************************************
76 * IWSDDeviceHostNotify interface
77 */
78#ifndef __IWSDDeviceHostNotify_INTERFACE_DEFINED__
79#define __IWSDDeviceHostNotify_INTERFACE_DEFINED__
80
81DEFINE_GUID(IID_IWSDDeviceHostNotify, 0xb5bee9f9, 0xeeda, 0x41fe, 0x96,0xf7, 0xf4,0x5e,0x14,0x99,0x0f,0xb0);
82#if defined(__cplusplus) && !defined(CINTERFACE)
83MIDL_INTERFACE("b5bee9f9-eeda-41fe-96f7-f45e14990fb0")
84IWSDDeviceHostNotify : 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
95typedef 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;
118interface 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 ***/
132static FORCEINLINE HRESULT IWSDDeviceHostNotify_QueryInterface(IWSDDeviceHostNotify* This,REFIID riid,void **ppvObject) {
133    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
134}
135static FORCEINLINE ULONG IWSDDeviceHostNotify_AddRef(IWSDDeviceHostNotify* This) {
136    return This->lpVtbl->AddRef(This);
137}
138static FORCEINLINE ULONG IWSDDeviceHostNotify_Release(IWSDDeviceHostNotify* This) {
139    return This->lpVtbl->Release(This);
140}
141/*** IWSDDeviceHostNotify methods ***/
142static 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
150HRESULT STDMETHODCALLTYPE IWSDDeviceHostNotify_GetService_Proxy(
151    IWSDDeviceHostNotify* This,
152    LPCWSTR pszServiceId,
153    IUnknown **ppService);
154void __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
168DEFINE_GUID(IID_IWSDServiceMessaging, 0x94974cf4, 0x0cab, 0x460d, 0xa3,0xf6, 0x7a,0x0a,0xd6,0x23,0xc0,0xe6);
169#if defined(__cplusplus) && !defined(CINTERFACE)
170MIDL_INTERFACE("94974cf4-0cab-460d-a3f6-7a0ad623c0e6")
171IWSDServiceMessaging : 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
188typedef 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;
218interface 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 ***/
233static FORCEINLINE HRESULT IWSDServiceMessaging_QueryInterface(IWSDServiceMessaging* This,REFIID riid,void **ppvObject) {
234    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
235}
236static FORCEINLINE ULONG IWSDServiceMessaging_AddRef(IWSDServiceMessaging* This) {
237    return This->lpVtbl->AddRef(This);
238}
239static FORCEINLINE ULONG IWSDServiceMessaging_Release(IWSDServiceMessaging* This) {
240    return This->lpVtbl->Release(This);
241}
242/*** IWSDServiceMessaging methods ***/
243static FORCEINLINE HRESULT IWSDServiceMessaging_SendResponse(IWSDServiceMessaging* This,void *pBody,WSD_OPERATION *pOperation,IWSDMessageParameters *pMessageParameters) {
244    return This->lpVtbl->SendResponse(This,pBody,pOperation,pMessageParameters);
245}
246static 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
254HRESULT STDMETHODCALLTYPE IWSDServiceMessaging_SendResponse_Proxy(
255    IWSDServiceMessaging* This,
256    void *pBody,
257    WSD_OPERATION *pOperation,
258    IWSDMessageParameters *pMessageParameters);
259void __RPC_STUB IWSDServiceMessaging_SendResponse_Stub(
260    IRpcStubBuffer* This,
261    IRpcChannelBuffer* pRpcChannelBuffer,
262    PRPC_MESSAGE pRpcMessage,
263    DWORD* pdwStubPhase);
264HRESULT STDMETHODCALLTYPE IWSDServiceMessaging_FaultRequest_Proxy(
265    IWSDServiceMessaging* This,
266    WSD_SOAP_HEADER *pRequestHeader,
267    IWSDMessageParameters *pMessageParameters,
268    WSD_SOAP_FAULT *pFault);
269void __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
283DEFINE_GUID(IID_IWSDDeviceHost, 0x917fe891, 0x3d13, 0x4138, 0x98,0x09, 0x93,0x4c,0x8a,0xbe,0xb1,0x2c);
284#if defined(__cplusplus) && !defined(CINTERFACE)
285MIDL_INTERFACE("917fe891-3d13-4138-9809-934c8abeb12c")
286IWSDDeviceHost : 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
346typedef 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;
427interface 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 ***/
452static FORCEINLINE HRESULT IWSDDeviceHost_QueryInterface(IWSDDeviceHost* This,REFIID riid,void **ppvObject) {
453    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
454}
455static FORCEINLINE ULONG IWSDDeviceHost_AddRef(IWSDDeviceHost* This) {
456    return This->lpVtbl->AddRef(This);
457}
458static FORCEINLINE ULONG IWSDDeviceHost_Release(IWSDDeviceHost* This) {
459    return This->lpVtbl->Release(This);
460}
461/*** IWSDDeviceHost methods ***/
462static 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}
465static 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}
468static FORCEINLINE HRESULT IWSDDeviceHost_Stop(IWSDDeviceHost* This) {
469    return This->lpVtbl->Stop(This);
470}
471static FORCEINLINE HRESULT IWSDDeviceHost_Terminate(IWSDDeviceHost* This) {
472    return This->lpVtbl->Terminate(This);
473}
474static FORCEINLINE HRESULT IWSDDeviceHost_RegisterPortType(IWSDDeviceHost* This,const WSD_PORT_TYPE *pPortType) {
475    return This->lpVtbl->RegisterPortType(This,pPortType);
476}
477static 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}
480static FORCEINLINE HRESULT IWSDDeviceHost_RegisterService(IWSDDeviceHost* This,LPCWSTR pszServiceId,IUnknown *pService) {
481    return This->lpVtbl->RegisterService(This,pszServiceId,pService);
482}
483static FORCEINLINE HRESULT IWSDDeviceHost_RetireService(IWSDDeviceHost* This,LPCWSTR pszServiceId) {
484    return This->lpVtbl->RetireService(This,pszServiceId);
485}
486static 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}
489static FORCEINLINE HRESULT IWSDDeviceHost_RemoveDynamicService(IWSDDeviceHost* This,LPCWSTR pszServiceId) {
490    return This->lpVtbl->RemoveDynamicService(This,pszServiceId);
491}
492static FORCEINLINE HRESULT IWSDDeviceHost_SetServiceDiscoverable(IWSDDeviceHost* This,LPCWSTR pszServiceId,WINBOOL fDiscoverable) {
493    return This->lpVtbl->SetServiceDiscoverable(This,pszServiceId,fDiscoverable);
494}
495static 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
503HRESULT STDMETHODCALLTYPE IWSDDeviceHost_Init_Proxy(
504    IWSDDeviceHost* This,
505    LPCWSTR pszLocalId,
506    IWSDXMLContext *pContext,
507    IWSDAddress **ppHostAddresses,
508    DWORD dwHostAddressCount);
509void __RPC_STUB IWSDDeviceHost_Init_Stub(
510    IRpcStubBuffer* This,
511    IRpcChannelBuffer* pRpcChannelBuffer,
512    PRPC_MESSAGE pRpcMessage,
513    DWORD* pdwStubPhase);
514HRESULT STDMETHODCALLTYPE IWSDDeviceHost_Start_Proxy(
515    IWSDDeviceHost* This,
516    ULONGLONG ullInstanceId,
517    const WSD_URI_LIST *pScopeList,
518    IWSDDeviceHostNotify *pNotificationSink);
519void __RPC_STUB IWSDDeviceHost_Start_Stub(
520    IRpcStubBuffer* This,
521    IRpcChannelBuffer* pRpcChannelBuffer,
522    PRPC_MESSAGE pRpcMessage,
523    DWORD* pdwStubPhase);
524HRESULT STDMETHODCALLTYPE IWSDDeviceHost_Stop_Proxy(
525    IWSDDeviceHost* This);
526void __RPC_STUB IWSDDeviceHost_Stop_Stub(
527    IRpcStubBuffer* This,
528    IRpcChannelBuffer* pRpcChannelBuffer,
529    PRPC_MESSAGE pRpcMessage,
530    DWORD* pdwStubPhase);
531HRESULT STDMETHODCALLTYPE IWSDDeviceHost_Terminate_Proxy(
532    IWSDDeviceHost* This);
533void __RPC_STUB IWSDDeviceHost_Terminate_Stub(
534    IRpcStubBuffer* This,
535    IRpcChannelBuffer* pRpcChannelBuffer,
536    PRPC_MESSAGE pRpcMessage,
537    DWORD* pdwStubPhase);
538HRESULT STDMETHODCALLTYPE IWSDDeviceHost_RegisterPortType_Proxy(
539    IWSDDeviceHost* This,
540    const WSD_PORT_TYPE *pPortType);
541void __RPC_STUB IWSDDeviceHost_RegisterPortType_Stub(
542    IRpcStubBuffer* This,
543    IRpcChannelBuffer* pRpcChannelBuffer,
544    PRPC_MESSAGE pRpcMessage,
545    DWORD* pdwStubPhase);
546HRESULT 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);
552void __RPC_STUB IWSDDeviceHost_SetMetadata_Stub(
553    IRpcStubBuffer* This,
554    IRpcChannelBuffer* pRpcChannelBuffer,
555    PRPC_MESSAGE pRpcMessage,
556    DWORD* pdwStubPhase);
557HRESULT STDMETHODCALLTYPE IWSDDeviceHost_RegisterService_Proxy(
558    IWSDDeviceHost* This,
559    LPCWSTR pszServiceId,
560    IUnknown *pService);
561void __RPC_STUB IWSDDeviceHost_RegisterService_Stub(
562    IRpcStubBuffer* This,
563    IRpcChannelBuffer* pRpcChannelBuffer,
564    PRPC_MESSAGE pRpcMessage,
565    DWORD* pdwStubPhase);
566HRESULT STDMETHODCALLTYPE IWSDDeviceHost_RetireService_Proxy(
567    IWSDDeviceHost* This,
568    LPCWSTR pszServiceId);
569void __RPC_STUB IWSDDeviceHost_RetireService_Stub(
570    IRpcStubBuffer* This,
571    IRpcChannelBuffer* pRpcChannelBuffer,
572    PRPC_MESSAGE pRpcMessage,
573    DWORD* pdwStubPhase);
574HRESULT 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);
582void __RPC_STUB IWSDDeviceHost_AddDynamicService_Stub(
583    IRpcStubBuffer* This,
584    IRpcChannelBuffer* pRpcChannelBuffer,
585    PRPC_MESSAGE pRpcMessage,
586    DWORD* pdwStubPhase);
587HRESULT STDMETHODCALLTYPE IWSDDeviceHost_RemoveDynamicService_Proxy(
588    IWSDDeviceHost* This,
589    LPCWSTR pszServiceId);
590void __RPC_STUB IWSDDeviceHost_RemoveDynamicService_Stub(
591    IRpcStubBuffer* This,
592    IRpcChannelBuffer* pRpcChannelBuffer,
593    PRPC_MESSAGE pRpcMessage,
594    DWORD* pdwStubPhase);
595HRESULT STDMETHODCALLTYPE IWSDDeviceHost_SetServiceDiscoverable_Proxy(
596    IWSDDeviceHost* This,
597    LPCWSTR pszServiceId,
598    WINBOOL fDiscoverable);
599void __RPC_STUB IWSDDeviceHost_SetServiceDiscoverable_Stub(
600    IRpcStubBuffer* This,
601    IRpcChannelBuffer* pRpcChannelBuffer,
602    PRPC_MESSAGE pRpcMessage,
603    DWORD* pdwStubPhase);
604HRESULT STDMETHODCALLTYPE IWSDDeviceHost_SignalEvent_Proxy(
605    IWSDDeviceHost* This,
606    LPCWSTR pszServiceId,
607    const void *pBody,
608    const WSD_OPERATION *pOperation);
609void __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
617HRESULT WINAPI WSDCreateDeviceHost(LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDDeviceHost **ppDeviceHost);
618#if WINVER >= 0x601
619HRESULT WINAPI WSDCreateDeviceHost2(LPCWSTR pszLocalId, IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDDeviceHost **ppDeviceHost);
620#endif
621HRESULT 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