1 /*** Autogenerated by WIDL 6.4 from include/wsddisco.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 __wsddisco_h__
17 #define __wsddisco_h__
18 
19 /* Forward declarations */
20 
21 #ifndef __IWSDScopeMatchingRule_FWD_DEFINED__
22 #define __IWSDScopeMatchingRule_FWD_DEFINED__
23 typedef interface IWSDScopeMatchingRule IWSDScopeMatchingRule;
24 #ifdef __cplusplus
25 interface IWSDScopeMatchingRule;
26 #endif /* __cplusplus */
27 #endif
28 
29 #ifndef __IWSDiscoveryProviderNotify_FWD_DEFINED__
30 #define __IWSDiscoveryProviderNotify_FWD_DEFINED__
31 typedef interface IWSDiscoveryProviderNotify IWSDiscoveryProviderNotify;
32 #ifdef __cplusplus
33 interface IWSDiscoveryProviderNotify;
34 #endif /* __cplusplus */
35 #endif
36 
37 #ifndef __IWSDiscoveryProvider_FWD_DEFINED__
38 #define __IWSDiscoveryProvider_FWD_DEFINED__
39 typedef interface IWSDiscoveryProvider IWSDiscoveryProvider;
40 #ifdef __cplusplus
41 interface IWSDiscoveryProvider;
42 #endif /* __cplusplus */
43 #endif
44 
45 #ifndef __IWSDiscoveredService_FWD_DEFINED__
46 #define __IWSDiscoveredService_FWD_DEFINED__
47 typedef interface IWSDiscoveredService IWSDiscoveredService;
48 #ifdef __cplusplus
49 interface IWSDiscoveredService;
50 #endif /* __cplusplus */
51 #endif
52 
53 #ifndef __IWSDiscoveryPublisherNotify_FWD_DEFINED__
54 #define __IWSDiscoveryPublisherNotify_FWD_DEFINED__
55 typedef interface IWSDiscoveryPublisherNotify IWSDiscoveryPublisherNotify;
56 #ifdef __cplusplus
57 interface IWSDiscoveryPublisherNotify;
58 #endif /* __cplusplus */
59 #endif
60 
61 #ifndef __IWSDiscoveryPublisher_FWD_DEFINED__
62 #define __IWSDiscoveryPublisher_FWD_DEFINED__
63 typedef interface IWSDiscoveryPublisher IWSDiscoveryPublisher;
64 #ifdef __cplusplus
65 interface IWSDiscoveryPublisher;
66 #endif /* __cplusplus */
67 #endif
68 
69 /* Headers for imported files */
70 
71 #include <objidl.h>
72 #include <wsdxmldom.h>
73 #include <wsdtypes.h>
74 
75 #ifdef __cplusplus
76 extern "C" {
77 #endif
78 
79 #include <winapifamily.h>
80 
81 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
82 
83 #ifndef __IWSDXMLContext_FWD_DEFINED__
84 #define __IWSDXMLContext_FWD_DEFINED__
85 typedef interface IWSDXMLContext IWSDXMLContext;
86 #ifdef __cplusplus
87 interface IWSDXMLContext;
88 #endif /* __cplusplus */
89 #endif
90 
91 #ifndef __IWSDiscoveryProvider_FWD_DEFINED__
92 #define __IWSDiscoveryProvider_FWD_DEFINED__
93 typedef interface IWSDiscoveryProvider IWSDiscoveryProvider;
94 #ifdef __cplusplus
95 interface IWSDiscoveryProvider;
96 #endif /* __cplusplus */
97 #endif
98 
99 #ifndef __IWSDiscoveryProviderNotify_FWD_DEFINED__
100 #define __IWSDiscoveryProviderNotify_FWD_DEFINED__
101 typedef interface IWSDiscoveryProviderNotify IWSDiscoveryProviderNotify;
102 #ifdef __cplusplus
103 interface IWSDiscoveryProviderNotify;
104 #endif /* __cplusplus */
105 #endif
106 
107 #ifndef __IWSDiscoveredService_FWD_DEFINED__
108 #define __IWSDiscoveredService_FWD_DEFINED__
109 typedef interface IWSDiscoveredService IWSDiscoveredService;
110 #ifdef __cplusplus
111 interface IWSDiscoveredService;
112 #endif /* __cplusplus */
113 #endif
114 
115 #ifndef __IWSDiscoveryPublisher_FWD_DEFINED__
116 #define __IWSDiscoveryPublisher_FWD_DEFINED__
117 typedef interface IWSDiscoveryPublisher IWSDiscoveryPublisher;
118 #ifdef __cplusplus
119 interface IWSDiscoveryPublisher;
120 #endif /* __cplusplus */
121 #endif
122 
123 #ifndef __IWSDiscoveryPublisherNotify_FWD_DEFINED__
124 #define __IWSDiscoveryPublisherNotify_FWD_DEFINED__
125 typedef interface IWSDiscoveryPublisherNotify IWSDiscoveryPublisherNotify;
126 #ifdef __cplusplus
127 interface IWSDiscoveryPublisherNotify;
128 #endif /* __cplusplus */
129 #endif
130 
131 #ifndef __IWSDScopeMatchingRule_FWD_DEFINED__
132 #define __IWSDScopeMatchingRule_FWD_DEFINED__
133 typedef interface IWSDScopeMatchingRule IWSDScopeMatchingRule;
134 #ifdef __cplusplus
135 interface IWSDScopeMatchingRule;
136 #endif /* __cplusplus */
137 #endif
138 
139 /*****************************************************************************
140  * IWSDScopeMatchingRule interface
141  */
142 #ifndef __IWSDScopeMatchingRule_INTERFACE_DEFINED__
143 #define __IWSDScopeMatchingRule_INTERFACE_DEFINED__
144 
145 DEFINE_GUID(IID_IWSDScopeMatchingRule, 0xfcafe424, 0xfef5, 0x481a, 0xbd,0x9f, 0x33,0xce,0x05,0x74,0x25,0x6f);
146 #if defined(__cplusplus) && !defined(CINTERFACE)
147 MIDL_INTERFACE("fcafe424-fef5-481a-bd9f-33ce0574256f")
148 IWSDScopeMatchingRule : public IUnknown
149 {
150     virtual HRESULT STDMETHODCALLTYPE GetScopeRule(
151         LPCWSTR *ppszScopeMatchingRule) = 0;
152 
153     virtual HRESULT STDMETHODCALLTYPE MatchScopes(
154         LPCWSTR pszScope1,
155         LPCWSTR pszScope2,
156         WINBOOL *pfMatch) = 0;
157 
158 };
159 #ifdef __CRT_UUID_DECL
160 __CRT_UUID_DECL(IWSDScopeMatchingRule, 0xfcafe424, 0xfef5, 0x481a, 0xbd,0x9f, 0x33,0xce,0x05,0x74,0x25,0x6f)
161 #endif
162 #else
163 typedef struct IWSDScopeMatchingRuleVtbl {
164     BEGIN_INTERFACE
165 
166     /*** IUnknown methods ***/
167     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
168         IWSDScopeMatchingRule *This,
169         REFIID riid,
170         void **ppvObject);
171 
172     ULONG (STDMETHODCALLTYPE *AddRef)(
173         IWSDScopeMatchingRule *This);
174 
175     ULONG (STDMETHODCALLTYPE *Release)(
176         IWSDScopeMatchingRule *This);
177 
178     /*** IWSDScopeMatchingRule methods ***/
179     HRESULT (STDMETHODCALLTYPE *GetScopeRule)(
180         IWSDScopeMatchingRule *This,
181         LPCWSTR *ppszScopeMatchingRule);
182 
183     HRESULT (STDMETHODCALLTYPE *MatchScopes)(
184         IWSDScopeMatchingRule *This,
185         LPCWSTR pszScope1,
186         LPCWSTR pszScope2,
187         WINBOOL *pfMatch);
188 
189     END_INTERFACE
190 } IWSDScopeMatchingRuleVtbl;
191 
192 interface IWSDScopeMatchingRule {
193     CONST_VTBL IWSDScopeMatchingRuleVtbl* lpVtbl;
194 };
195 
196 #ifdef COBJMACROS
197 #ifndef WIDL_C_INLINE_WRAPPERS
198 /*** IUnknown methods ***/
199 #define IWSDScopeMatchingRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
200 #define IWSDScopeMatchingRule_AddRef(This) (This)->lpVtbl->AddRef(This)
201 #define IWSDScopeMatchingRule_Release(This) (This)->lpVtbl->Release(This)
202 /*** IWSDScopeMatchingRule methods ***/
203 #define IWSDScopeMatchingRule_GetScopeRule(This,ppszScopeMatchingRule) (This)->lpVtbl->GetScopeRule(This,ppszScopeMatchingRule)
204 #define IWSDScopeMatchingRule_MatchScopes(This,pszScope1,pszScope2,pfMatch) (This)->lpVtbl->MatchScopes(This,pszScope1,pszScope2,pfMatch)
205 #else
206 /*** IUnknown methods ***/
207 static FORCEINLINE HRESULT IWSDScopeMatchingRule_QueryInterface(IWSDScopeMatchingRule* This,REFIID riid,void **ppvObject) {
208     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
209 }
210 static FORCEINLINE ULONG IWSDScopeMatchingRule_AddRef(IWSDScopeMatchingRule* This) {
211     return This->lpVtbl->AddRef(This);
212 }
213 static FORCEINLINE ULONG IWSDScopeMatchingRule_Release(IWSDScopeMatchingRule* This) {
214     return This->lpVtbl->Release(This);
215 }
216 /*** IWSDScopeMatchingRule methods ***/
217 static FORCEINLINE HRESULT IWSDScopeMatchingRule_GetScopeRule(IWSDScopeMatchingRule* This,LPCWSTR *ppszScopeMatchingRule) {
218     return This->lpVtbl->GetScopeRule(This,ppszScopeMatchingRule);
219 }
220 static FORCEINLINE HRESULT IWSDScopeMatchingRule_MatchScopes(IWSDScopeMatchingRule* This,LPCWSTR pszScope1,LPCWSTR pszScope2,WINBOOL *pfMatch) {
221     return This->lpVtbl->MatchScopes(This,pszScope1,pszScope2,pfMatch);
222 }
223 #endif
224 #endif
225 
226 #endif
227 
228 
229 #endif  /* __IWSDScopeMatchingRule_INTERFACE_DEFINED__ */
230 
231 /*****************************************************************************
232  * IWSDiscoveryProviderNotify interface
233  */
234 #ifndef __IWSDiscoveryProviderNotify_INTERFACE_DEFINED__
235 #define __IWSDiscoveryProviderNotify_INTERFACE_DEFINED__
236 
237 DEFINE_GUID(IID_IWSDiscoveryProviderNotify, 0x73ee3ced, 0xb6e6, 0x4329, 0xa5,0x46, 0x3e,0x8a,0xd4,0x65,0x63,0xd2);
238 #if defined(__cplusplus) && !defined(CINTERFACE)
239 MIDL_INTERFACE("73ee3ced-b6e6-4329-a546-3e8ad46563d2")
240 IWSDiscoveryProviderNotify : public IUnknown
241 {
242     virtual HRESULT STDMETHODCALLTYPE Add(
243         IWSDiscoveredService *pService) = 0;
244 
245     virtual HRESULT STDMETHODCALLTYPE Remove(
246         IWSDiscoveredService *pService) = 0;
247 
248     virtual HRESULT STDMETHODCALLTYPE SearchFailed(
249         HRESULT hr,
250         LPCWSTR pszTag) = 0;
251 
252     virtual HRESULT STDMETHODCALLTYPE SearchComplete(
253         LPCWSTR pszTag) = 0;
254 
255 };
256 #ifdef __CRT_UUID_DECL
257 __CRT_UUID_DECL(IWSDiscoveryProviderNotify, 0x73ee3ced, 0xb6e6, 0x4329, 0xa5,0x46, 0x3e,0x8a,0xd4,0x65,0x63,0xd2)
258 #endif
259 #else
260 typedef struct IWSDiscoveryProviderNotifyVtbl {
261     BEGIN_INTERFACE
262 
263     /*** IUnknown methods ***/
264     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
265         IWSDiscoveryProviderNotify *This,
266         REFIID riid,
267         void **ppvObject);
268 
269     ULONG (STDMETHODCALLTYPE *AddRef)(
270         IWSDiscoveryProviderNotify *This);
271 
272     ULONG (STDMETHODCALLTYPE *Release)(
273         IWSDiscoveryProviderNotify *This);
274 
275     /*** IWSDiscoveryProviderNotify methods ***/
276     HRESULT (STDMETHODCALLTYPE *Add)(
277         IWSDiscoveryProviderNotify *This,
278         IWSDiscoveredService *pService);
279 
280     HRESULT (STDMETHODCALLTYPE *Remove)(
281         IWSDiscoveryProviderNotify *This,
282         IWSDiscoveredService *pService);
283 
284     HRESULT (STDMETHODCALLTYPE *SearchFailed)(
285         IWSDiscoveryProviderNotify *This,
286         HRESULT hr,
287         LPCWSTR pszTag);
288 
289     HRESULT (STDMETHODCALLTYPE *SearchComplete)(
290         IWSDiscoveryProviderNotify *This,
291         LPCWSTR pszTag);
292 
293     END_INTERFACE
294 } IWSDiscoveryProviderNotifyVtbl;
295 
296 interface IWSDiscoveryProviderNotify {
297     CONST_VTBL IWSDiscoveryProviderNotifyVtbl* lpVtbl;
298 };
299 
300 #ifdef COBJMACROS
301 #ifndef WIDL_C_INLINE_WRAPPERS
302 /*** IUnknown methods ***/
303 #define IWSDiscoveryProviderNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
304 #define IWSDiscoveryProviderNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
305 #define IWSDiscoveryProviderNotify_Release(This) (This)->lpVtbl->Release(This)
306 /*** IWSDiscoveryProviderNotify methods ***/
307 #define IWSDiscoveryProviderNotify_Add(This,pService) (This)->lpVtbl->Add(This,pService)
308 #define IWSDiscoveryProviderNotify_Remove(This,pService) (This)->lpVtbl->Remove(This,pService)
309 #define IWSDiscoveryProviderNotify_SearchFailed(This,hr,pszTag) (This)->lpVtbl->SearchFailed(This,hr,pszTag)
310 #define IWSDiscoveryProviderNotify_SearchComplete(This,pszTag) (This)->lpVtbl->SearchComplete(This,pszTag)
311 #else
312 /*** IUnknown methods ***/
313 static FORCEINLINE HRESULT IWSDiscoveryProviderNotify_QueryInterface(IWSDiscoveryProviderNotify* This,REFIID riid,void **ppvObject) {
314     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
315 }
316 static FORCEINLINE ULONG IWSDiscoveryProviderNotify_AddRef(IWSDiscoveryProviderNotify* This) {
317     return This->lpVtbl->AddRef(This);
318 }
319 static FORCEINLINE ULONG IWSDiscoveryProviderNotify_Release(IWSDiscoveryProviderNotify* This) {
320     return This->lpVtbl->Release(This);
321 }
322 /*** IWSDiscoveryProviderNotify methods ***/
323 static FORCEINLINE HRESULT IWSDiscoveryProviderNotify_Add(IWSDiscoveryProviderNotify* This,IWSDiscoveredService *pService) {
324     return This->lpVtbl->Add(This,pService);
325 }
326 static FORCEINLINE HRESULT IWSDiscoveryProviderNotify_Remove(IWSDiscoveryProviderNotify* This,IWSDiscoveredService *pService) {
327     return This->lpVtbl->Remove(This,pService);
328 }
329 static FORCEINLINE HRESULT IWSDiscoveryProviderNotify_SearchFailed(IWSDiscoveryProviderNotify* This,HRESULT hr,LPCWSTR pszTag) {
330     return This->lpVtbl->SearchFailed(This,hr,pszTag);
331 }
332 static FORCEINLINE HRESULT IWSDiscoveryProviderNotify_SearchComplete(IWSDiscoveryProviderNotify* This,LPCWSTR pszTag) {
333     return This->lpVtbl->SearchComplete(This,pszTag);
334 }
335 #endif
336 #endif
337 
338 #endif
339 
340 
341 #endif  /* __IWSDiscoveryProviderNotify_INTERFACE_DEFINED__ */
342 
343 /*****************************************************************************
344  * IWSDiscoveryProvider interface
345  */
346 #ifndef __IWSDiscoveryProvider_INTERFACE_DEFINED__
347 #define __IWSDiscoveryProvider_INTERFACE_DEFINED__
348 
349 DEFINE_GUID(IID_IWSDiscoveryProvider, 0x8ffc8e55, 0xf0eb, 0x480f, 0x88,0xb7, 0xb4,0x35,0xdd,0x28,0x1d,0x45);
350 #if defined(__cplusplus) && !defined(CINTERFACE)
351 MIDL_INTERFACE("8ffc8e55-f0eb-480f-88b7-b435dd281d45")
352 IWSDiscoveryProvider : public IUnknown
353 {
354     virtual HRESULT STDMETHODCALLTYPE SetAddressFamily(
355         DWORD dwAddressFamily) = 0;
356 
357     virtual HRESULT STDMETHODCALLTYPE Attach(
358         IWSDiscoveryProviderNotify *pSink) = 0;
359 
360     virtual HRESULT STDMETHODCALLTYPE Detach(
361         ) = 0;
362 
363     virtual HRESULT STDMETHODCALLTYPE SearchById(
364         LPCWSTR pszId,
365         LPCWSTR pszTag) = 0;
366 
367     virtual HRESULT STDMETHODCALLTYPE SearchByAddress(
368         LPCWSTR pszAddress,
369         LPCWSTR pszTag) = 0;
370 
371     virtual HRESULT STDMETHODCALLTYPE SearchByType(
372         const WSD_NAME_LIST *pTypesList,
373         const WSD_URI_LIST *pScopesList,
374         LPCWSTR pszMatchBy,
375         LPCWSTR pszTag) = 0;
376 
377     virtual HRESULT STDMETHODCALLTYPE GetXMLContext(
378         IWSDXMLContext **ppContext) = 0;
379 
380 };
381 #ifdef __CRT_UUID_DECL
382 __CRT_UUID_DECL(IWSDiscoveryProvider, 0x8ffc8e55, 0xf0eb, 0x480f, 0x88,0xb7, 0xb4,0x35,0xdd,0x28,0x1d,0x45)
383 #endif
384 #else
385 typedef struct IWSDiscoveryProviderVtbl {
386     BEGIN_INTERFACE
387 
388     /*** IUnknown methods ***/
389     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
390         IWSDiscoveryProvider *This,
391         REFIID riid,
392         void **ppvObject);
393 
394     ULONG (STDMETHODCALLTYPE *AddRef)(
395         IWSDiscoveryProvider *This);
396 
397     ULONG (STDMETHODCALLTYPE *Release)(
398         IWSDiscoveryProvider *This);
399 
400     /*** IWSDiscoveryProvider methods ***/
401     HRESULT (STDMETHODCALLTYPE *SetAddressFamily)(
402         IWSDiscoveryProvider *This,
403         DWORD dwAddressFamily);
404 
405     HRESULT (STDMETHODCALLTYPE *Attach)(
406         IWSDiscoveryProvider *This,
407         IWSDiscoveryProviderNotify *pSink);
408 
409     HRESULT (STDMETHODCALLTYPE *Detach)(
410         IWSDiscoveryProvider *This);
411 
412     HRESULT (STDMETHODCALLTYPE *SearchById)(
413         IWSDiscoveryProvider *This,
414         LPCWSTR pszId,
415         LPCWSTR pszTag);
416 
417     HRESULT (STDMETHODCALLTYPE *SearchByAddress)(
418         IWSDiscoveryProvider *This,
419         LPCWSTR pszAddress,
420         LPCWSTR pszTag);
421 
422     HRESULT (STDMETHODCALLTYPE *SearchByType)(
423         IWSDiscoveryProvider *This,
424         const WSD_NAME_LIST *pTypesList,
425         const WSD_URI_LIST *pScopesList,
426         LPCWSTR pszMatchBy,
427         LPCWSTR pszTag);
428 
429     HRESULT (STDMETHODCALLTYPE *GetXMLContext)(
430         IWSDiscoveryProvider *This,
431         IWSDXMLContext **ppContext);
432 
433     END_INTERFACE
434 } IWSDiscoveryProviderVtbl;
435 
436 interface IWSDiscoveryProvider {
437     CONST_VTBL IWSDiscoveryProviderVtbl* lpVtbl;
438 };
439 
440 #ifdef COBJMACROS
441 #ifndef WIDL_C_INLINE_WRAPPERS
442 /*** IUnknown methods ***/
443 #define IWSDiscoveryProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
444 #define IWSDiscoveryProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
445 #define IWSDiscoveryProvider_Release(This) (This)->lpVtbl->Release(This)
446 /*** IWSDiscoveryProvider methods ***/
447 #define IWSDiscoveryProvider_SetAddressFamily(This,dwAddressFamily) (This)->lpVtbl->SetAddressFamily(This,dwAddressFamily)
448 #define IWSDiscoveryProvider_Attach(This,pSink) (This)->lpVtbl->Attach(This,pSink)
449 #define IWSDiscoveryProvider_Detach(This) (This)->lpVtbl->Detach(This)
450 #define IWSDiscoveryProvider_SearchById(This,pszId,pszTag) (This)->lpVtbl->SearchById(This,pszId,pszTag)
451 #define IWSDiscoveryProvider_SearchByAddress(This,pszAddress,pszTag) (This)->lpVtbl->SearchByAddress(This,pszAddress,pszTag)
452 #define IWSDiscoveryProvider_SearchByType(This,pTypesList,pScopesList,pszMatchBy,pszTag) (This)->lpVtbl->SearchByType(This,pTypesList,pScopesList,pszMatchBy,pszTag)
453 #define IWSDiscoveryProvider_GetXMLContext(This,ppContext) (This)->lpVtbl->GetXMLContext(This,ppContext)
454 #else
455 /*** IUnknown methods ***/
456 static FORCEINLINE HRESULT IWSDiscoveryProvider_QueryInterface(IWSDiscoveryProvider* This,REFIID riid,void **ppvObject) {
457     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
458 }
459 static FORCEINLINE ULONG IWSDiscoveryProvider_AddRef(IWSDiscoveryProvider* This) {
460     return This->lpVtbl->AddRef(This);
461 }
462 static FORCEINLINE ULONG IWSDiscoveryProvider_Release(IWSDiscoveryProvider* This) {
463     return This->lpVtbl->Release(This);
464 }
465 /*** IWSDiscoveryProvider methods ***/
466 static FORCEINLINE HRESULT IWSDiscoveryProvider_SetAddressFamily(IWSDiscoveryProvider* This,DWORD dwAddressFamily) {
467     return This->lpVtbl->SetAddressFamily(This,dwAddressFamily);
468 }
469 static FORCEINLINE HRESULT IWSDiscoveryProvider_Attach(IWSDiscoveryProvider* This,IWSDiscoveryProviderNotify *pSink) {
470     return This->lpVtbl->Attach(This,pSink);
471 }
472 static FORCEINLINE HRESULT IWSDiscoveryProvider_Detach(IWSDiscoveryProvider* This) {
473     return This->lpVtbl->Detach(This);
474 }
475 static FORCEINLINE HRESULT IWSDiscoveryProvider_SearchById(IWSDiscoveryProvider* This,LPCWSTR pszId,LPCWSTR pszTag) {
476     return This->lpVtbl->SearchById(This,pszId,pszTag);
477 }
478 static FORCEINLINE HRESULT IWSDiscoveryProvider_SearchByAddress(IWSDiscoveryProvider* This,LPCWSTR pszAddress,LPCWSTR pszTag) {
479     return This->lpVtbl->SearchByAddress(This,pszAddress,pszTag);
480 }
481 static FORCEINLINE HRESULT IWSDiscoveryProvider_SearchByType(IWSDiscoveryProvider* This,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,LPCWSTR pszMatchBy,LPCWSTR pszTag) {
482     return This->lpVtbl->SearchByType(This,pTypesList,pScopesList,pszMatchBy,pszTag);
483 }
484 static FORCEINLINE HRESULT IWSDiscoveryProvider_GetXMLContext(IWSDiscoveryProvider* This,IWSDXMLContext **ppContext) {
485     return This->lpVtbl->GetXMLContext(This,ppContext);
486 }
487 #endif
488 #endif
489 
490 #endif
491 
492 
493 #endif  /* __IWSDiscoveryProvider_INTERFACE_DEFINED__ */
494 
495 /*****************************************************************************
496  * IWSDiscoveredService interface
497  */
498 #ifndef __IWSDiscoveredService_INTERFACE_DEFINED__
499 #define __IWSDiscoveredService_INTERFACE_DEFINED__
500 
501 DEFINE_GUID(IID_IWSDiscoveredService, 0x4bad8a3b, 0xb374, 0x4420, 0x96,0x32, 0xaa,0xc9,0x45,0xb3,0x74,0xaa);
502 #if defined(__cplusplus) && !defined(CINTERFACE)
503 MIDL_INTERFACE("4bad8a3b-b374-4420-9632-aac945b374aa")
504 IWSDiscoveredService : public IUnknown
505 {
506     virtual HRESULT STDMETHODCALLTYPE GetEndpointReference(
507         WSD_ENDPOINT_REFERENCE **ppEndpointReference) = 0;
508 
509     virtual HRESULT STDMETHODCALLTYPE GetTypes(
510         WSD_NAME_LIST **ppTypesList) = 0;
511 
512     virtual HRESULT STDMETHODCALLTYPE GetScopes(
513         WSD_URI_LIST **ppScopesList) = 0;
514 
515     virtual HRESULT STDMETHODCALLTYPE GetXAddrs(
516         WSD_URI_LIST **ppXAddrsList) = 0;
517 
518     virtual HRESULT STDMETHODCALLTYPE GetMetadataVersion(
519         ULONGLONG *pullMetadataVersion) = 0;
520 
521     virtual HRESULT STDMETHODCALLTYPE GetExtendedDiscoXML(
522         WSDXML_ELEMENT **ppHeaderAny,
523         WSDXML_ELEMENT **ppBodyAny) = 0;
524 
525     virtual HRESULT STDMETHODCALLTYPE GetProbeResolveTag(
526         LPCWSTR *ppszTag) = 0;
527 
528     virtual HRESULT STDMETHODCALLTYPE GetRemoteTransportAddress(
529         LPCWSTR *ppszRemoteTransportAddress) = 0;
530 
531     virtual HRESULT STDMETHODCALLTYPE GetLocalTransportAddress(
532         LPCWSTR *ppszLocalTransportAddress) = 0;
533 
534     virtual HRESULT STDMETHODCALLTYPE GetLocalInterfaceGUID(
535         GUID *pGuid) = 0;
536 
537     virtual HRESULT STDMETHODCALLTYPE GetInstanceId(
538         ULONGLONG *pullInstanceId) = 0;
539 
540 };
541 #ifdef __CRT_UUID_DECL
542 __CRT_UUID_DECL(IWSDiscoveredService, 0x4bad8a3b, 0xb374, 0x4420, 0x96,0x32, 0xaa,0xc9,0x45,0xb3,0x74,0xaa)
543 #endif
544 #else
545 typedef struct IWSDiscoveredServiceVtbl {
546     BEGIN_INTERFACE
547 
548     /*** IUnknown methods ***/
549     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
550         IWSDiscoveredService *This,
551         REFIID riid,
552         void **ppvObject);
553 
554     ULONG (STDMETHODCALLTYPE *AddRef)(
555         IWSDiscoveredService *This);
556 
557     ULONG (STDMETHODCALLTYPE *Release)(
558         IWSDiscoveredService *This);
559 
560     /*** IWSDiscoveredService methods ***/
561     HRESULT (STDMETHODCALLTYPE *GetEndpointReference)(
562         IWSDiscoveredService *This,
563         WSD_ENDPOINT_REFERENCE **ppEndpointReference);
564 
565     HRESULT (STDMETHODCALLTYPE *GetTypes)(
566         IWSDiscoveredService *This,
567         WSD_NAME_LIST **ppTypesList);
568 
569     HRESULT (STDMETHODCALLTYPE *GetScopes)(
570         IWSDiscoveredService *This,
571         WSD_URI_LIST **ppScopesList);
572 
573     HRESULT (STDMETHODCALLTYPE *GetXAddrs)(
574         IWSDiscoveredService *This,
575         WSD_URI_LIST **ppXAddrsList);
576 
577     HRESULT (STDMETHODCALLTYPE *GetMetadataVersion)(
578         IWSDiscoveredService *This,
579         ULONGLONG *pullMetadataVersion);
580 
581     HRESULT (STDMETHODCALLTYPE *GetExtendedDiscoXML)(
582         IWSDiscoveredService *This,
583         WSDXML_ELEMENT **ppHeaderAny,
584         WSDXML_ELEMENT **ppBodyAny);
585 
586     HRESULT (STDMETHODCALLTYPE *GetProbeResolveTag)(
587         IWSDiscoveredService *This,
588         LPCWSTR *ppszTag);
589 
590     HRESULT (STDMETHODCALLTYPE *GetRemoteTransportAddress)(
591         IWSDiscoveredService *This,
592         LPCWSTR *ppszRemoteTransportAddress);
593 
594     HRESULT (STDMETHODCALLTYPE *GetLocalTransportAddress)(
595         IWSDiscoveredService *This,
596         LPCWSTR *ppszLocalTransportAddress);
597 
598     HRESULT (STDMETHODCALLTYPE *GetLocalInterfaceGUID)(
599         IWSDiscoveredService *This,
600         GUID *pGuid);
601 
602     HRESULT (STDMETHODCALLTYPE *GetInstanceId)(
603         IWSDiscoveredService *This,
604         ULONGLONG *pullInstanceId);
605 
606     END_INTERFACE
607 } IWSDiscoveredServiceVtbl;
608 
609 interface IWSDiscoveredService {
610     CONST_VTBL IWSDiscoveredServiceVtbl* lpVtbl;
611 };
612 
613 #ifdef COBJMACROS
614 #ifndef WIDL_C_INLINE_WRAPPERS
615 /*** IUnknown methods ***/
616 #define IWSDiscoveredService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
617 #define IWSDiscoveredService_AddRef(This) (This)->lpVtbl->AddRef(This)
618 #define IWSDiscoveredService_Release(This) (This)->lpVtbl->Release(This)
619 /*** IWSDiscoveredService methods ***/
620 #define IWSDiscoveredService_GetEndpointReference(This,ppEndpointReference) (This)->lpVtbl->GetEndpointReference(This,ppEndpointReference)
621 #define IWSDiscoveredService_GetTypes(This,ppTypesList) (This)->lpVtbl->GetTypes(This,ppTypesList)
622 #define IWSDiscoveredService_GetScopes(This,ppScopesList) (This)->lpVtbl->GetScopes(This,ppScopesList)
623 #define IWSDiscoveredService_GetXAddrs(This,ppXAddrsList) (This)->lpVtbl->GetXAddrs(This,ppXAddrsList)
624 #define IWSDiscoveredService_GetMetadataVersion(This,pullMetadataVersion) (This)->lpVtbl->GetMetadataVersion(This,pullMetadataVersion)
625 #define IWSDiscoveredService_GetExtendedDiscoXML(This,ppHeaderAny,ppBodyAny) (This)->lpVtbl->GetExtendedDiscoXML(This,ppHeaderAny,ppBodyAny)
626 #define IWSDiscoveredService_GetProbeResolveTag(This,ppszTag) (This)->lpVtbl->GetProbeResolveTag(This,ppszTag)
627 #define IWSDiscoveredService_GetRemoteTransportAddress(This,ppszRemoteTransportAddress) (This)->lpVtbl->GetRemoteTransportAddress(This,ppszRemoteTransportAddress)
628 #define IWSDiscoveredService_GetLocalTransportAddress(This,ppszLocalTransportAddress) (This)->lpVtbl->GetLocalTransportAddress(This,ppszLocalTransportAddress)
629 #define IWSDiscoveredService_GetLocalInterfaceGUID(This,pGuid) (This)->lpVtbl->GetLocalInterfaceGUID(This,pGuid)
630 #define IWSDiscoveredService_GetInstanceId(This,pullInstanceId) (This)->lpVtbl->GetInstanceId(This,pullInstanceId)
631 #else
632 /*** IUnknown methods ***/
633 static FORCEINLINE HRESULT IWSDiscoveredService_QueryInterface(IWSDiscoveredService* This,REFIID riid,void **ppvObject) {
634     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
635 }
636 static FORCEINLINE ULONG IWSDiscoveredService_AddRef(IWSDiscoveredService* This) {
637     return This->lpVtbl->AddRef(This);
638 }
639 static FORCEINLINE ULONG IWSDiscoveredService_Release(IWSDiscoveredService* This) {
640     return This->lpVtbl->Release(This);
641 }
642 /*** IWSDiscoveredService methods ***/
643 static FORCEINLINE HRESULT IWSDiscoveredService_GetEndpointReference(IWSDiscoveredService* This,WSD_ENDPOINT_REFERENCE **ppEndpointReference) {
644     return This->lpVtbl->GetEndpointReference(This,ppEndpointReference);
645 }
646 static FORCEINLINE HRESULT IWSDiscoveredService_GetTypes(IWSDiscoveredService* This,WSD_NAME_LIST **ppTypesList) {
647     return This->lpVtbl->GetTypes(This,ppTypesList);
648 }
649 static FORCEINLINE HRESULT IWSDiscoveredService_GetScopes(IWSDiscoveredService* This,WSD_URI_LIST **ppScopesList) {
650     return This->lpVtbl->GetScopes(This,ppScopesList);
651 }
652 static FORCEINLINE HRESULT IWSDiscoveredService_GetXAddrs(IWSDiscoveredService* This,WSD_URI_LIST **ppXAddrsList) {
653     return This->lpVtbl->GetXAddrs(This,ppXAddrsList);
654 }
655 static FORCEINLINE HRESULT IWSDiscoveredService_GetMetadataVersion(IWSDiscoveredService* This,ULONGLONG *pullMetadataVersion) {
656     return This->lpVtbl->GetMetadataVersion(This,pullMetadataVersion);
657 }
658 static FORCEINLINE HRESULT IWSDiscoveredService_GetExtendedDiscoXML(IWSDiscoveredService* This,WSDXML_ELEMENT **ppHeaderAny,WSDXML_ELEMENT **ppBodyAny) {
659     return This->lpVtbl->GetExtendedDiscoXML(This,ppHeaderAny,ppBodyAny);
660 }
661 static FORCEINLINE HRESULT IWSDiscoveredService_GetProbeResolveTag(IWSDiscoveredService* This,LPCWSTR *ppszTag) {
662     return This->lpVtbl->GetProbeResolveTag(This,ppszTag);
663 }
664 static FORCEINLINE HRESULT IWSDiscoveredService_GetRemoteTransportAddress(IWSDiscoveredService* This,LPCWSTR *ppszRemoteTransportAddress) {
665     return This->lpVtbl->GetRemoteTransportAddress(This,ppszRemoteTransportAddress);
666 }
667 static FORCEINLINE HRESULT IWSDiscoveredService_GetLocalTransportAddress(IWSDiscoveredService* This,LPCWSTR *ppszLocalTransportAddress) {
668     return This->lpVtbl->GetLocalTransportAddress(This,ppszLocalTransportAddress);
669 }
670 static FORCEINLINE HRESULT IWSDiscoveredService_GetLocalInterfaceGUID(IWSDiscoveredService* This,GUID *pGuid) {
671     return This->lpVtbl->GetLocalInterfaceGUID(This,pGuid);
672 }
673 static FORCEINLINE HRESULT IWSDiscoveredService_GetInstanceId(IWSDiscoveredService* This,ULONGLONG *pullInstanceId) {
674     return This->lpVtbl->GetInstanceId(This,pullInstanceId);
675 }
676 #endif
677 #endif
678 
679 #endif
680 
681 
682 #endif  /* __IWSDiscoveredService_INTERFACE_DEFINED__ */
683 
684 /*****************************************************************************
685  * IWSDiscoveryPublisherNotify interface
686  */
687 #ifndef __IWSDiscoveryPublisherNotify_INTERFACE_DEFINED__
688 #define __IWSDiscoveryPublisherNotify_INTERFACE_DEFINED__
689 
690 DEFINE_GUID(IID_IWSDiscoveryPublisherNotify, 0xe67651b0, 0x337a, 0x4b3c, 0x97,0x58, 0x73,0x33,0x88,0x56,0x82,0x51);
691 #if defined(__cplusplus) && !defined(CINTERFACE)
692 MIDL_INTERFACE("e67651b0-337a-4b3c-9758-733388568251")
693 IWSDiscoveryPublisherNotify : public IUnknown
694 {
695     virtual HRESULT STDMETHODCALLTYPE ProbeHandler(
696         const WSD_SOAP_MESSAGE *pSoap,
697         IWSDMessageParameters *pMessageParameters) = 0;
698 
699     virtual HRESULT STDMETHODCALLTYPE ResolveHandler(
700         const WSD_SOAP_MESSAGE *pSoap,
701         IWSDMessageParameters *pMessageParameters) = 0;
702 
703 };
704 #ifdef __CRT_UUID_DECL
705 __CRT_UUID_DECL(IWSDiscoveryPublisherNotify, 0xe67651b0, 0x337a, 0x4b3c, 0x97,0x58, 0x73,0x33,0x88,0x56,0x82,0x51)
706 #endif
707 #else
708 typedef struct IWSDiscoveryPublisherNotifyVtbl {
709     BEGIN_INTERFACE
710 
711     /*** IUnknown methods ***/
712     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
713         IWSDiscoveryPublisherNotify *This,
714         REFIID riid,
715         void **ppvObject);
716 
717     ULONG (STDMETHODCALLTYPE *AddRef)(
718         IWSDiscoveryPublisherNotify *This);
719 
720     ULONG (STDMETHODCALLTYPE *Release)(
721         IWSDiscoveryPublisherNotify *This);
722 
723     /*** IWSDiscoveryPublisherNotify methods ***/
724     HRESULT (STDMETHODCALLTYPE *ProbeHandler)(
725         IWSDiscoveryPublisherNotify *This,
726         const WSD_SOAP_MESSAGE *pSoap,
727         IWSDMessageParameters *pMessageParameters);
728 
729     HRESULT (STDMETHODCALLTYPE *ResolveHandler)(
730         IWSDiscoveryPublisherNotify *This,
731         const WSD_SOAP_MESSAGE *pSoap,
732         IWSDMessageParameters *pMessageParameters);
733 
734     END_INTERFACE
735 } IWSDiscoveryPublisherNotifyVtbl;
736 
737 interface IWSDiscoveryPublisherNotify {
738     CONST_VTBL IWSDiscoveryPublisherNotifyVtbl* lpVtbl;
739 };
740 
741 #ifdef COBJMACROS
742 #ifndef WIDL_C_INLINE_WRAPPERS
743 /*** IUnknown methods ***/
744 #define IWSDiscoveryPublisherNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
745 #define IWSDiscoveryPublisherNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
746 #define IWSDiscoveryPublisherNotify_Release(This) (This)->lpVtbl->Release(This)
747 /*** IWSDiscoveryPublisherNotify methods ***/
748 #define IWSDiscoveryPublisherNotify_ProbeHandler(This,pSoap,pMessageParameters) (This)->lpVtbl->ProbeHandler(This,pSoap,pMessageParameters)
749 #define IWSDiscoveryPublisherNotify_ResolveHandler(This,pSoap,pMessageParameters) (This)->lpVtbl->ResolveHandler(This,pSoap,pMessageParameters)
750 #else
751 /*** IUnknown methods ***/
752 static FORCEINLINE HRESULT IWSDiscoveryPublisherNotify_QueryInterface(IWSDiscoveryPublisherNotify* This,REFIID riid,void **ppvObject) {
753     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
754 }
755 static FORCEINLINE ULONG IWSDiscoveryPublisherNotify_AddRef(IWSDiscoveryPublisherNotify* This) {
756     return This->lpVtbl->AddRef(This);
757 }
758 static FORCEINLINE ULONG IWSDiscoveryPublisherNotify_Release(IWSDiscoveryPublisherNotify* This) {
759     return This->lpVtbl->Release(This);
760 }
761 /*** IWSDiscoveryPublisherNotify methods ***/
762 static FORCEINLINE HRESULT IWSDiscoveryPublisherNotify_ProbeHandler(IWSDiscoveryPublisherNotify* This,const WSD_SOAP_MESSAGE *pSoap,IWSDMessageParameters *pMessageParameters) {
763     return This->lpVtbl->ProbeHandler(This,pSoap,pMessageParameters);
764 }
765 static FORCEINLINE HRESULT IWSDiscoveryPublisherNotify_ResolveHandler(IWSDiscoveryPublisherNotify* This,const WSD_SOAP_MESSAGE *pSoap,IWSDMessageParameters *pMessageParameters) {
766     return This->lpVtbl->ResolveHandler(This,pSoap,pMessageParameters);
767 }
768 #endif
769 #endif
770 
771 #endif
772 
773 
774 #endif  /* __IWSDiscoveryPublisherNotify_INTERFACE_DEFINED__ */
775 
776 /*****************************************************************************
777  * IWSDiscoveryPublisher interface
778  */
779 #ifndef __IWSDiscoveryPublisher_INTERFACE_DEFINED__
780 #define __IWSDiscoveryPublisher_INTERFACE_DEFINED__
781 
782 DEFINE_GUID(IID_IWSDiscoveryPublisher, 0xae01e1a8, 0x3ff9, 0x4148, 0x81,0x16, 0x05,0x7c,0xc6,0x16,0xfe,0x13);
783 #if defined(__cplusplus) && !defined(CINTERFACE)
784 MIDL_INTERFACE("ae01e1a8-3ff9-4148-8116-057cc616fe13")
785 IWSDiscoveryPublisher : public IUnknown
786 {
787     virtual HRESULT STDMETHODCALLTYPE SetAddressFamily(
788         DWORD dwAddressFamily) = 0;
789 
790     virtual HRESULT STDMETHODCALLTYPE RegisterNotificationSink(
791         IWSDiscoveryPublisherNotify *pSink) = 0;
792 
793     virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationSink(
794         IWSDiscoveryPublisherNotify *pSink) = 0;
795 
796     virtual HRESULT STDMETHODCALLTYPE Publish(
797         LPCWSTR pszId,
798         ULONGLONG ullMetadataVersion,
799         ULONGLONG ullInstanceId,
800         ULONGLONG ullMessageNumber,
801         LPCWSTR pszSessionId,
802         const WSD_NAME_LIST *pTypesList,
803         const WSD_URI_LIST *pScopesList,
804         const WSD_URI_LIST *pXAddrsList) = 0;
805 
806     virtual HRESULT STDMETHODCALLTYPE UnPublish(
807         LPCWSTR pszId,
808         ULONGLONG ullInstanceId,
809         ULONGLONG ullMessageNumber,
810         LPCWSTR pszSessionId,
811         const WSDXML_ELEMENT *pAny) = 0;
812 
813     virtual HRESULT STDMETHODCALLTYPE MatchProbe(
814         const WSD_SOAP_MESSAGE *pProbeMessage,
815         IWSDMessageParameters *pMessageParameters,
816         LPCWSTR pszId,
817         ULONGLONG ullMetadataVersion,
818         ULONGLONG ullInstanceId,
819         ULONGLONG ullMessageNumber,
820         LPCWSTR pszSessionId,
821         const WSD_NAME_LIST *pTypesList,
822         const WSD_URI_LIST *pScopesList,
823         const WSD_URI_LIST *pXAddrsList) = 0;
824 
825     virtual HRESULT STDMETHODCALLTYPE MatchResolve(
826         const WSD_SOAP_MESSAGE *pResolveMessage,
827         IWSDMessageParameters *pMessageParameters,
828         LPCWSTR pszId,
829         ULONGLONG ullMetadataVersion,
830         ULONGLONG ullInstanceId,
831         ULONGLONG ullMessageNumber,
832         LPCWSTR pszSessionId,
833         const WSD_NAME_LIST *pTypesList,
834         const WSD_URI_LIST *pScopesList,
835         const WSD_URI_LIST *pXAddrsList) = 0;
836 
837     virtual HRESULT STDMETHODCALLTYPE PublishEx(
838         LPCWSTR pszId,
839         ULONGLONG ullMetadataVersion,
840         ULONGLONG ullInstanceId,
841         ULONGLONG ullMessageNumber,
842         LPCWSTR pszSessionId,
843         const WSD_NAME_LIST *pTypesList,
844         const WSD_URI_LIST *pScopesList,
845         const WSD_URI_LIST *pXAddrsList,
846         const WSDXML_ELEMENT *pHeaderAny,
847         const WSDXML_ELEMENT *pReferenceParameterAny,
848         const WSDXML_ELEMENT *pPolicyAny,
849         const WSDXML_ELEMENT *pEndpointReferenceAny,
850         const WSDXML_ELEMENT *pAny) = 0;
851 
852     virtual HRESULT STDMETHODCALLTYPE MatchProbeEx(
853         const WSD_SOAP_MESSAGE *pProbeMessage,
854         IWSDMessageParameters *pMessageParameters,
855         LPCWSTR pszId,
856         ULONGLONG ullMetadataVersion,
857         ULONGLONG ullInstanceId,
858         ULONGLONG ullMessageNumber,
859         LPCWSTR pszSessionId,
860         const WSD_NAME_LIST *pTypesList,
861         const WSD_URI_LIST *pScopesList,
862         const WSD_URI_LIST *pXAddrsList,
863         const WSDXML_ELEMENT *pHeaderAny,
864         const WSDXML_ELEMENT *pReferenceParameterAny,
865         const WSDXML_ELEMENT *pPolicyAny,
866         const WSDXML_ELEMENT *pEndpointReferenceAny,
867         const WSDXML_ELEMENT *pAny) = 0;
868 
869     virtual HRESULT STDMETHODCALLTYPE MatchResolveEx(
870         const WSD_SOAP_MESSAGE *pResolveMessage,
871         IWSDMessageParameters *pMessageParameters,
872         LPCWSTR pszId,
873         ULONGLONG ullMetadataVersion,
874         ULONGLONG ullInstanceId,
875         ULONGLONG ullMessageNumber,
876         LPCWSTR pszSessionId,
877         const WSD_NAME_LIST *pTypesList,
878         const WSD_URI_LIST *pScopesList,
879         const WSD_URI_LIST *pXAddrsList,
880         const WSDXML_ELEMENT *pHeaderAny,
881         const WSDXML_ELEMENT *pReferenceParameterAny,
882         const WSDXML_ELEMENT *pPolicyAny,
883         const WSDXML_ELEMENT *pEndpointReferenceAny,
884         const WSDXML_ELEMENT *pAny) = 0;
885 
886     virtual HRESULT STDMETHODCALLTYPE RegisterScopeMatchingRule(
887         IWSDScopeMatchingRule *pScopeMatchingRule) = 0;
888 
889     virtual HRESULT STDMETHODCALLTYPE UnRegisterScopeMatchingRule(
890         IWSDScopeMatchingRule *pScopeMatchingRule) = 0;
891 
892     virtual HRESULT STDMETHODCALLTYPE GetXMLContext(
893         IWSDXMLContext **ppContext) = 0;
894 
895 };
896 #ifdef __CRT_UUID_DECL
897 __CRT_UUID_DECL(IWSDiscoveryPublisher, 0xae01e1a8, 0x3ff9, 0x4148, 0x81,0x16, 0x05,0x7c,0xc6,0x16,0xfe,0x13)
898 #endif
899 #else
900 typedef struct IWSDiscoveryPublisherVtbl {
901     BEGIN_INTERFACE
902 
903     /*** IUnknown methods ***/
904     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
905         IWSDiscoveryPublisher *This,
906         REFIID riid,
907         void **ppvObject);
908 
909     ULONG (STDMETHODCALLTYPE *AddRef)(
910         IWSDiscoveryPublisher *This);
911 
912     ULONG (STDMETHODCALLTYPE *Release)(
913         IWSDiscoveryPublisher *This);
914 
915     /*** IWSDiscoveryPublisher methods ***/
916     HRESULT (STDMETHODCALLTYPE *SetAddressFamily)(
917         IWSDiscoveryPublisher *This,
918         DWORD dwAddressFamily);
919 
920     HRESULT (STDMETHODCALLTYPE *RegisterNotificationSink)(
921         IWSDiscoveryPublisher *This,
922         IWSDiscoveryPublisherNotify *pSink);
923 
924     HRESULT (STDMETHODCALLTYPE *UnRegisterNotificationSink)(
925         IWSDiscoveryPublisher *This,
926         IWSDiscoveryPublisherNotify *pSink);
927 
928     HRESULT (STDMETHODCALLTYPE *Publish)(
929         IWSDiscoveryPublisher *This,
930         LPCWSTR pszId,
931         ULONGLONG ullMetadataVersion,
932         ULONGLONG ullInstanceId,
933         ULONGLONG ullMessageNumber,
934         LPCWSTR pszSessionId,
935         const WSD_NAME_LIST *pTypesList,
936         const WSD_URI_LIST *pScopesList,
937         const WSD_URI_LIST *pXAddrsList);
938 
939     HRESULT (STDMETHODCALLTYPE *UnPublish)(
940         IWSDiscoveryPublisher *This,
941         LPCWSTR pszId,
942         ULONGLONG ullInstanceId,
943         ULONGLONG ullMessageNumber,
944         LPCWSTR pszSessionId,
945         const WSDXML_ELEMENT *pAny);
946 
947     HRESULT (STDMETHODCALLTYPE *MatchProbe)(
948         IWSDiscoveryPublisher *This,
949         const WSD_SOAP_MESSAGE *pProbeMessage,
950         IWSDMessageParameters *pMessageParameters,
951         LPCWSTR pszId,
952         ULONGLONG ullMetadataVersion,
953         ULONGLONG ullInstanceId,
954         ULONGLONG ullMessageNumber,
955         LPCWSTR pszSessionId,
956         const WSD_NAME_LIST *pTypesList,
957         const WSD_URI_LIST *pScopesList,
958         const WSD_URI_LIST *pXAddrsList);
959 
960     HRESULT (STDMETHODCALLTYPE *MatchResolve)(
961         IWSDiscoveryPublisher *This,
962         const WSD_SOAP_MESSAGE *pResolveMessage,
963         IWSDMessageParameters *pMessageParameters,
964         LPCWSTR pszId,
965         ULONGLONG ullMetadataVersion,
966         ULONGLONG ullInstanceId,
967         ULONGLONG ullMessageNumber,
968         LPCWSTR pszSessionId,
969         const WSD_NAME_LIST *pTypesList,
970         const WSD_URI_LIST *pScopesList,
971         const WSD_URI_LIST *pXAddrsList);
972 
973     HRESULT (STDMETHODCALLTYPE *PublishEx)(
974         IWSDiscoveryPublisher *This,
975         LPCWSTR pszId,
976         ULONGLONG ullMetadataVersion,
977         ULONGLONG ullInstanceId,
978         ULONGLONG ullMessageNumber,
979         LPCWSTR pszSessionId,
980         const WSD_NAME_LIST *pTypesList,
981         const WSD_URI_LIST *pScopesList,
982         const WSD_URI_LIST *pXAddrsList,
983         const WSDXML_ELEMENT *pHeaderAny,
984         const WSDXML_ELEMENT *pReferenceParameterAny,
985         const WSDXML_ELEMENT *pPolicyAny,
986         const WSDXML_ELEMENT *pEndpointReferenceAny,
987         const WSDXML_ELEMENT *pAny);
988 
989     HRESULT (STDMETHODCALLTYPE *MatchProbeEx)(
990         IWSDiscoveryPublisher *This,
991         const WSD_SOAP_MESSAGE *pProbeMessage,
992         IWSDMessageParameters *pMessageParameters,
993         LPCWSTR pszId,
994         ULONGLONG ullMetadataVersion,
995         ULONGLONG ullInstanceId,
996         ULONGLONG ullMessageNumber,
997         LPCWSTR pszSessionId,
998         const WSD_NAME_LIST *pTypesList,
999         const WSD_URI_LIST *pScopesList,
1000         const WSD_URI_LIST *pXAddrsList,
1001         const WSDXML_ELEMENT *pHeaderAny,
1002         const WSDXML_ELEMENT *pReferenceParameterAny,
1003         const WSDXML_ELEMENT *pPolicyAny,
1004         const WSDXML_ELEMENT *pEndpointReferenceAny,
1005         const WSDXML_ELEMENT *pAny);
1006 
1007     HRESULT (STDMETHODCALLTYPE *MatchResolveEx)(
1008         IWSDiscoveryPublisher *This,
1009         const WSD_SOAP_MESSAGE *pResolveMessage,
1010         IWSDMessageParameters *pMessageParameters,
1011         LPCWSTR pszId,
1012         ULONGLONG ullMetadataVersion,
1013         ULONGLONG ullInstanceId,
1014         ULONGLONG ullMessageNumber,
1015         LPCWSTR pszSessionId,
1016         const WSD_NAME_LIST *pTypesList,
1017         const WSD_URI_LIST *pScopesList,
1018         const WSD_URI_LIST *pXAddrsList,
1019         const WSDXML_ELEMENT *pHeaderAny,
1020         const WSDXML_ELEMENT *pReferenceParameterAny,
1021         const WSDXML_ELEMENT *pPolicyAny,
1022         const WSDXML_ELEMENT *pEndpointReferenceAny,
1023         const WSDXML_ELEMENT *pAny);
1024 
1025     HRESULT (STDMETHODCALLTYPE *RegisterScopeMatchingRule)(
1026         IWSDiscoveryPublisher *This,
1027         IWSDScopeMatchingRule *pScopeMatchingRule);
1028 
1029     HRESULT (STDMETHODCALLTYPE *UnRegisterScopeMatchingRule)(
1030         IWSDiscoveryPublisher *This,
1031         IWSDScopeMatchingRule *pScopeMatchingRule);
1032 
1033     HRESULT (STDMETHODCALLTYPE *GetXMLContext)(
1034         IWSDiscoveryPublisher *This,
1035         IWSDXMLContext **ppContext);
1036 
1037     END_INTERFACE
1038 } IWSDiscoveryPublisherVtbl;
1039 
1040 interface IWSDiscoveryPublisher {
1041     CONST_VTBL IWSDiscoveryPublisherVtbl* lpVtbl;
1042 };
1043 
1044 #ifdef COBJMACROS
1045 #ifndef WIDL_C_INLINE_WRAPPERS
1046 /*** IUnknown methods ***/
1047 #define IWSDiscoveryPublisher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1048 #define IWSDiscoveryPublisher_AddRef(This) (This)->lpVtbl->AddRef(This)
1049 #define IWSDiscoveryPublisher_Release(This) (This)->lpVtbl->Release(This)
1050 /*** IWSDiscoveryPublisher methods ***/
1051 #define IWSDiscoveryPublisher_SetAddressFamily(This,dwAddressFamily) (This)->lpVtbl->SetAddressFamily(This,dwAddressFamily)
1052 #define IWSDiscoveryPublisher_RegisterNotificationSink(This,pSink) (This)->lpVtbl->RegisterNotificationSink(This,pSink)
1053 #define IWSDiscoveryPublisher_UnRegisterNotificationSink(This,pSink) (This)->lpVtbl->UnRegisterNotificationSink(This,pSink)
1054 #define IWSDiscoveryPublisher_Publish(This,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList) (This)->lpVtbl->Publish(This,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList)
1055 #define IWSDiscoveryPublisher_UnPublish(This,pszId,ullInstanceId,ullMessageNumber,pszSessionId,pAny) (This)->lpVtbl->UnPublish(This,pszId,ullInstanceId,ullMessageNumber,pszSessionId,pAny)
1056 #define IWSDiscoveryPublisher_MatchProbe(This,pProbeMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList) (This)->lpVtbl->MatchProbe(This,pProbeMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList)
1057 #define IWSDiscoveryPublisher_MatchResolve(This,pResolveMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList) (This)->lpVtbl->MatchResolve(This,pResolveMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList)
1058 #define IWSDiscoveryPublisher_PublishEx(This,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny) (This)->lpVtbl->PublishEx(This,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny)
1059 #define IWSDiscoveryPublisher_MatchProbeEx(This,pProbeMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny) (This)->lpVtbl->MatchProbeEx(This,pProbeMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny)
1060 #define IWSDiscoveryPublisher_MatchResolveEx(This,pResolveMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny) (This)->lpVtbl->MatchResolveEx(This,pResolveMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny)
1061 #define IWSDiscoveryPublisher_RegisterScopeMatchingRule(This,pScopeMatchingRule) (This)->lpVtbl->RegisterScopeMatchingRule(This,pScopeMatchingRule)
1062 #define IWSDiscoveryPublisher_UnRegisterScopeMatchingRule(This,pScopeMatchingRule) (This)->lpVtbl->UnRegisterScopeMatchingRule(This,pScopeMatchingRule)
1063 #define IWSDiscoveryPublisher_GetXMLContext(This,ppContext) (This)->lpVtbl->GetXMLContext(This,ppContext)
1064 #else
1065 /*** IUnknown methods ***/
1066 static FORCEINLINE HRESULT IWSDiscoveryPublisher_QueryInterface(IWSDiscoveryPublisher* This,REFIID riid,void **ppvObject) {
1067     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1068 }
1069 static FORCEINLINE ULONG IWSDiscoveryPublisher_AddRef(IWSDiscoveryPublisher* This) {
1070     return This->lpVtbl->AddRef(This);
1071 }
1072 static FORCEINLINE ULONG IWSDiscoveryPublisher_Release(IWSDiscoveryPublisher* This) {
1073     return This->lpVtbl->Release(This);
1074 }
1075 /*** IWSDiscoveryPublisher methods ***/
1076 static FORCEINLINE HRESULT IWSDiscoveryPublisher_SetAddressFamily(IWSDiscoveryPublisher* This,DWORD dwAddressFamily) {
1077     return This->lpVtbl->SetAddressFamily(This,dwAddressFamily);
1078 }
1079 static FORCEINLINE HRESULT IWSDiscoveryPublisher_RegisterNotificationSink(IWSDiscoveryPublisher* This,IWSDiscoveryPublisherNotify *pSink) {
1080     return This->lpVtbl->RegisterNotificationSink(This,pSink);
1081 }
1082 static FORCEINLINE HRESULT IWSDiscoveryPublisher_UnRegisterNotificationSink(IWSDiscoveryPublisher* This,IWSDiscoveryPublisherNotify *pSink) {
1083     return This->lpVtbl->UnRegisterNotificationSink(This,pSink);
1084 }
1085 static FORCEINLINE HRESULT IWSDiscoveryPublisher_Publish(IWSDiscoveryPublisher* This,LPCWSTR pszId,ULONGLONG ullMetadataVersion,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,const WSD_URI_LIST *pXAddrsList) {
1086     return This->lpVtbl->Publish(This,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList);
1087 }
1088 static FORCEINLINE HRESULT IWSDiscoveryPublisher_UnPublish(IWSDiscoveryPublisher* This,LPCWSTR pszId,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSDXML_ELEMENT *pAny) {
1089     return This->lpVtbl->UnPublish(This,pszId,ullInstanceId,ullMessageNumber,pszSessionId,pAny);
1090 }
1091 static FORCEINLINE HRESULT IWSDiscoveryPublisher_MatchProbe(IWSDiscoveryPublisher* This,const WSD_SOAP_MESSAGE *pProbeMessage,IWSDMessageParameters *pMessageParameters,LPCWSTR pszId,ULONGLONG ullMetadataVersion,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,const WSD_URI_LIST *pXAddrsList) {
1092     return This->lpVtbl->MatchProbe(This,pProbeMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList);
1093 }
1094 static FORCEINLINE HRESULT IWSDiscoveryPublisher_MatchResolve(IWSDiscoveryPublisher* This,const WSD_SOAP_MESSAGE *pResolveMessage,IWSDMessageParameters *pMessageParameters,LPCWSTR pszId,ULONGLONG ullMetadataVersion,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,const WSD_URI_LIST *pXAddrsList) {
1095     return This->lpVtbl->MatchResolve(This,pResolveMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList);
1096 }
1097 static FORCEINLINE HRESULT IWSDiscoveryPublisher_PublishEx(IWSDiscoveryPublisher* This,LPCWSTR pszId,ULONGLONG ullMetadataVersion,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,const WSD_URI_LIST *pXAddrsList,const WSDXML_ELEMENT *pHeaderAny,const WSDXML_ELEMENT *pReferenceParameterAny,const WSDXML_ELEMENT *pPolicyAny,const WSDXML_ELEMENT *pEndpointReferenceAny,const WSDXML_ELEMENT *pAny) {
1098     return This->lpVtbl->PublishEx(This,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny);
1099 }
1100 static FORCEINLINE HRESULT IWSDiscoveryPublisher_MatchProbeEx(IWSDiscoveryPublisher* This,const WSD_SOAP_MESSAGE *pProbeMessage,IWSDMessageParameters *pMessageParameters,LPCWSTR pszId,ULONGLONG ullMetadataVersion,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,const WSD_URI_LIST *pXAddrsList,const WSDXML_ELEMENT *pHeaderAny,const WSDXML_ELEMENT *pReferenceParameterAny,const WSDXML_ELEMENT *pPolicyAny,const WSDXML_ELEMENT *pEndpointReferenceAny,const WSDXML_ELEMENT *pAny) {
1101     return This->lpVtbl->MatchProbeEx(This,pProbeMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny);
1102 }
1103 static FORCEINLINE HRESULT IWSDiscoveryPublisher_MatchResolveEx(IWSDiscoveryPublisher* This,const WSD_SOAP_MESSAGE *pResolveMessage,IWSDMessageParameters *pMessageParameters,LPCWSTR pszId,ULONGLONG ullMetadataVersion,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,const WSD_URI_LIST *pXAddrsList,const WSDXML_ELEMENT *pHeaderAny,const WSDXML_ELEMENT *pReferenceParameterAny,const WSDXML_ELEMENT *pPolicyAny,const WSDXML_ELEMENT *pEndpointReferenceAny,const WSDXML_ELEMENT *pAny) {
1104     return This->lpVtbl->MatchResolveEx(This,pResolveMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny);
1105 }
1106 static FORCEINLINE HRESULT IWSDiscoveryPublisher_RegisterScopeMatchingRule(IWSDiscoveryPublisher* This,IWSDScopeMatchingRule *pScopeMatchingRule) {
1107     return This->lpVtbl->RegisterScopeMatchingRule(This,pScopeMatchingRule);
1108 }
1109 static FORCEINLINE HRESULT IWSDiscoveryPublisher_UnRegisterScopeMatchingRule(IWSDiscoveryPublisher* This,IWSDScopeMatchingRule *pScopeMatchingRule) {
1110     return This->lpVtbl->UnRegisterScopeMatchingRule(This,pScopeMatchingRule);
1111 }
1112 static FORCEINLINE HRESULT IWSDiscoveryPublisher_GetXMLContext(IWSDiscoveryPublisher* This,IWSDXMLContext **ppContext) {
1113     return This->lpVtbl->GetXMLContext(This,ppContext);
1114 }
1115 #endif
1116 #endif
1117 
1118 #endif
1119 
1120 
1121 #endif  /* __IWSDiscoveryPublisher_INTERFACE_DEFINED__ */
1122 
1123 HRESULT WINAPI WSDCreateDiscoveryProvider(IWSDXMLContext *pContext, IWSDiscoveryProvider **ppProvider);
1124 HRESULT WINAPI WSDCreateDiscoveryPublisher(IWSDXMLContext* pContext, IWSDiscoveryPublisher **ppPublisher);
1125 #if WINVER >= 0x601
1126 HRESULT WINAPI WSDCreateDiscoveryProvider2(IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDiscoveryProvider **ppProvider);
1127 HRESULT WINAPI WSDCreateDiscoveryPublisher2(IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDiscoveryPublisher **ppPublisher);
1128 #endif
1129 #endif
1130 /* Begin additional prototypes for all interfaces */
1131 
1132 
1133 /* End additional prototypes */
1134 
1135 #ifdef __cplusplus
1136 }
1137 #endif
1138 
1139 #endif /* __wsddisco_h__ */
1140