master
   1/*** Autogenerated by WIDL 10.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__
  23typedef interface IWSDScopeMatchingRule IWSDScopeMatchingRule;
  24#ifdef __cplusplus
  25interface IWSDScopeMatchingRule;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __IWSDiscoveryProviderNotify_FWD_DEFINED__
  30#define __IWSDiscoveryProviderNotify_FWD_DEFINED__
  31typedef interface IWSDiscoveryProviderNotify IWSDiscoveryProviderNotify;
  32#ifdef __cplusplus
  33interface IWSDiscoveryProviderNotify;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __IWSDiscoveryProvider_FWD_DEFINED__
  38#define __IWSDiscoveryProvider_FWD_DEFINED__
  39typedef interface IWSDiscoveryProvider IWSDiscoveryProvider;
  40#ifdef __cplusplus
  41interface IWSDiscoveryProvider;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __IWSDiscoveredService_FWD_DEFINED__
  46#define __IWSDiscoveredService_FWD_DEFINED__
  47typedef interface IWSDiscoveredService IWSDiscoveredService;
  48#ifdef __cplusplus
  49interface IWSDiscoveredService;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __IWSDiscoveryPublisherNotify_FWD_DEFINED__
  54#define __IWSDiscoveryPublisherNotify_FWD_DEFINED__
  55typedef interface IWSDiscoveryPublisherNotify IWSDiscoveryPublisherNotify;
  56#ifdef __cplusplus
  57interface IWSDiscoveryPublisherNotify;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __IWSDiscoveryPublisher_FWD_DEFINED__
  62#define __IWSDiscoveryPublisher_FWD_DEFINED__
  63typedef interface IWSDiscoveryPublisher IWSDiscoveryPublisher;
  64#ifdef __cplusplus
  65interface 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
  76extern "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__
  85typedef interface IWSDXMLContext IWSDXMLContext;
  86#ifdef __cplusplus
  87interface IWSDXMLContext;
  88#endif /* __cplusplus */
  89#endif
  90
  91#ifndef __IWSDiscoveryProvider_FWD_DEFINED__
  92#define __IWSDiscoveryProvider_FWD_DEFINED__
  93typedef interface IWSDiscoveryProvider IWSDiscoveryProvider;
  94#ifdef __cplusplus
  95interface IWSDiscoveryProvider;
  96#endif /* __cplusplus */
  97#endif
  98
  99#ifndef __IWSDiscoveryProviderNotify_FWD_DEFINED__
 100#define __IWSDiscoveryProviderNotify_FWD_DEFINED__
 101typedef interface IWSDiscoveryProviderNotify IWSDiscoveryProviderNotify;
 102#ifdef __cplusplus
 103interface IWSDiscoveryProviderNotify;
 104#endif /* __cplusplus */
 105#endif
 106
 107#ifndef __IWSDiscoveredService_FWD_DEFINED__
 108#define __IWSDiscoveredService_FWD_DEFINED__
 109typedef interface IWSDiscoveredService IWSDiscoveredService;
 110#ifdef __cplusplus
 111interface IWSDiscoveredService;
 112#endif /* __cplusplus */
 113#endif
 114
 115#ifndef __IWSDiscoveryPublisher_FWD_DEFINED__
 116#define __IWSDiscoveryPublisher_FWD_DEFINED__
 117typedef interface IWSDiscoveryPublisher IWSDiscoveryPublisher;
 118#ifdef __cplusplus
 119interface IWSDiscoveryPublisher;
 120#endif /* __cplusplus */
 121#endif
 122
 123#ifndef __IWSDiscoveryPublisherNotify_FWD_DEFINED__
 124#define __IWSDiscoveryPublisherNotify_FWD_DEFINED__
 125typedef interface IWSDiscoveryPublisherNotify IWSDiscoveryPublisherNotify;
 126#ifdef __cplusplus
 127interface IWSDiscoveryPublisherNotify;
 128#endif /* __cplusplus */
 129#endif
 130
 131#ifndef __IWSDScopeMatchingRule_FWD_DEFINED__
 132#define __IWSDScopeMatchingRule_FWD_DEFINED__
 133typedef interface IWSDScopeMatchingRule IWSDScopeMatchingRule;
 134#ifdef __cplusplus
 135interface IWSDScopeMatchingRule;
 136#endif /* __cplusplus */
 137#endif
 138
 139/*****************************************************************************
 140 * IWSDScopeMatchingRule interface
 141 */
 142#ifndef __IWSDScopeMatchingRule_INTERFACE_DEFINED__
 143#define __IWSDScopeMatchingRule_INTERFACE_DEFINED__
 144
 145DEFINE_GUID(IID_IWSDScopeMatchingRule, 0xfcafe424, 0xfef5, 0x481a, 0xbd,0x9f, 0x33,0xce,0x05,0x74,0x25,0x6f);
 146#if defined(__cplusplus) && !defined(CINTERFACE)
 147MIDL_INTERFACE("fcafe424-fef5-481a-bd9f-33ce0574256f")
 148IWSDScopeMatchingRule : 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
 163typedef 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
 192interface 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 ***/
 207static inline HRESULT IWSDScopeMatchingRule_QueryInterface(IWSDScopeMatchingRule* This,REFIID riid,void **ppvObject) {
 208    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 209}
 210static inline ULONG IWSDScopeMatchingRule_AddRef(IWSDScopeMatchingRule* This) {
 211    return This->lpVtbl->AddRef(This);
 212}
 213static inline ULONG IWSDScopeMatchingRule_Release(IWSDScopeMatchingRule* This) {
 214    return This->lpVtbl->Release(This);
 215}
 216/*** IWSDScopeMatchingRule methods ***/
 217static inline HRESULT IWSDScopeMatchingRule_GetScopeRule(IWSDScopeMatchingRule* This,LPCWSTR *ppszScopeMatchingRule) {
 218    return This->lpVtbl->GetScopeRule(This,ppszScopeMatchingRule);
 219}
 220static inline 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
 237DEFINE_GUID(IID_IWSDiscoveryProviderNotify, 0x73ee3ced, 0xb6e6, 0x4329, 0xa5,0x46, 0x3e,0x8a,0xd4,0x65,0x63,0xd2);
 238#if defined(__cplusplus) && !defined(CINTERFACE)
 239MIDL_INTERFACE("73ee3ced-b6e6-4329-a546-3e8ad46563d2")
 240IWSDiscoveryProviderNotify : 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
 260typedef 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
 296interface 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 ***/
 313static inline HRESULT IWSDiscoveryProviderNotify_QueryInterface(IWSDiscoveryProviderNotify* This,REFIID riid,void **ppvObject) {
 314    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 315}
 316static inline ULONG IWSDiscoveryProviderNotify_AddRef(IWSDiscoveryProviderNotify* This) {
 317    return This->lpVtbl->AddRef(This);
 318}
 319static inline ULONG IWSDiscoveryProviderNotify_Release(IWSDiscoveryProviderNotify* This) {
 320    return This->lpVtbl->Release(This);
 321}
 322/*** IWSDiscoveryProviderNotify methods ***/
 323static inline HRESULT IWSDiscoveryProviderNotify_Add(IWSDiscoveryProviderNotify* This,IWSDiscoveredService *pService) {
 324    return This->lpVtbl->Add(This,pService);
 325}
 326static inline HRESULT IWSDiscoveryProviderNotify_Remove(IWSDiscoveryProviderNotify* This,IWSDiscoveredService *pService) {
 327    return This->lpVtbl->Remove(This,pService);
 328}
 329static inline HRESULT IWSDiscoveryProviderNotify_SearchFailed(IWSDiscoveryProviderNotify* This,HRESULT hr,LPCWSTR pszTag) {
 330    return This->lpVtbl->SearchFailed(This,hr,pszTag);
 331}
 332static inline 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
 349DEFINE_GUID(IID_IWSDiscoveryProvider, 0x8ffc8e55, 0xf0eb, 0x480f, 0x88,0xb7, 0xb4,0x35,0xdd,0x28,0x1d,0x45);
 350#if defined(__cplusplus) && !defined(CINTERFACE)
 351MIDL_INTERFACE("8ffc8e55-f0eb-480f-88b7-b435dd281d45")
 352IWSDiscoveryProvider : 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
 385typedef 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
 436interface 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 ***/
 456static inline HRESULT IWSDiscoveryProvider_QueryInterface(IWSDiscoveryProvider* This,REFIID riid,void **ppvObject) {
 457    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 458}
 459static inline ULONG IWSDiscoveryProvider_AddRef(IWSDiscoveryProvider* This) {
 460    return This->lpVtbl->AddRef(This);
 461}
 462static inline ULONG IWSDiscoveryProvider_Release(IWSDiscoveryProvider* This) {
 463    return This->lpVtbl->Release(This);
 464}
 465/*** IWSDiscoveryProvider methods ***/
 466static inline HRESULT IWSDiscoveryProvider_SetAddressFamily(IWSDiscoveryProvider* This,DWORD dwAddressFamily) {
 467    return This->lpVtbl->SetAddressFamily(This,dwAddressFamily);
 468}
 469static inline HRESULT IWSDiscoveryProvider_Attach(IWSDiscoveryProvider* This,IWSDiscoveryProviderNotify *pSink) {
 470    return This->lpVtbl->Attach(This,pSink);
 471}
 472static inline HRESULT IWSDiscoveryProvider_Detach(IWSDiscoveryProvider* This) {
 473    return This->lpVtbl->Detach(This);
 474}
 475static inline HRESULT IWSDiscoveryProvider_SearchById(IWSDiscoveryProvider* This,LPCWSTR pszId,LPCWSTR pszTag) {
 476    return This->lpVtbl->SearchById(This,pszId,pszTag);
 477}
 478static inline HRESULT IWSDiscoveryProvider_SearchByAddress(IWSDiscoveryProvider* This,LPCWSTR pszAddress,LPCWSTR pszTag) {
 479    return This->lpVtbl->SearchByAddress(This,pszAddress,pszTag);
 480}
 481static inline 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}
 484static inline 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
 501DEFINE_GUID(IID_IWSDiscoveredService, 0x4bad8a3b, 0xb374, 0x4420, 0x96,0x32, 0xaa,0xc9,0x45,0xb3,0x74,0xaa);
 502#if defined(__cplusplus) && !defined(CINTERFACE)
 503MIDL_INTERFACE("4bad8a3b-b374-4420-9632-aac945b374aa")
 504IWSDiscoveredService : 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
 545typedef 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
 609interface 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 ***/
 633static inline HRESULT IWSDiscoveredService_QueryInterface(IWSDiscoveredService* This,REFIID riid,void **ppvObject) {
 634    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 635}
 636static inline ULONG IWSDiscoveredService_AddRef(IWSDiscoveredService* This) {
 637    return This->lpVtbl->AddRef(This);
 638}
 639static inline ULONG IWSDiscoveredService_Release(IWSDiscoveredService* This) {
 640    return This->lpVtbl->Release(This);
 641}
 642/*** IWSDiscoveredService methods ***/
 643static inline HRESULT IWSDiscoveredService_GetEndpointReference(IWSDiscoveredService* This,WSD_ENDPOINT_REFERENCE **ppEndpointReference) {
 644    return This->lpVtbl->GetEndpointReference(This,ppEndpointReference);
 645}
 646static inline HRESULT IWSDiscoveredService_GetTypes(IWSDiscoveredService* This,WSD_NAME_LIST **ppTypesList) {
 647    return This->lpVtbl->GetTypes(This,ppTypesList);
 648}
 649static inline HRESULT IWSDiscoveredService_GetScopes(IWSDiscoveredService* This,WSD_URI_LIST **ppScopesList) {
 650    return This->lpVtbl->GetScopes(This,ppScopesList);
 651}
 652static inline HRESULT IWSDiscoveredService_GetXAddrs(IWSDiscoveredService* This,WSD_URI_LIST **ppXAddrsList) {
 653    return This->lpVtbl->GetXAddrs(This,ppXAddrsList);
 654}
 655static inline HRESULT IWSDiscoveredService_GetMetadataVersion(IWSDiscoveredService* This,ULONGLONG *pullMetadataVersion) {
 656    return This->lpVtbl->GetMetadataVersion(This,pullMetadataVersion);
 657}
 658static inline HRESULT IWSDiscoveredService_GetExtendedDiscoXML(IWSDiscoveredService* This,WSDXML_ELEMENT **ppHeaderAny,WSDXML_ELEMENT **ppBodyAny) {
 659    return This->lpVtbl->GetExtendedDiscoXML(This,ppHeaderAny,ppBodyAny);
 660}
 661static inline HRESULT IWSDiscoveredService_GetProbeResolveTag(IWSDiscoveredService* This,LPCWSTR *ppszTag) {
 662    return This->lpVtbl->GetProbeResolveTag(This,ppszTag);
 663}
 664static inline HRESULT IWSDiscoveredService_GetRemoteTransportAddress(IWSDiscoveredService* This,LPCWSTR *ppszRemoteTransportAddress) {
 665    return This->lpVtbl->GetRemoteTransportAddress(This,ppszRemoteTransportAddress);
 666}
 667static inline HRESULT IWSDiscoveredService_GetLocalTransportAddress(IWSDiscoveredService* This,LPCWSTR *ppszLocalTransportAddress) {
 668    return This->lpVtbl->GetLocalTransportAddress(This,ppszLocalTransportAddress);
 669}
 670static inline HRESULT IWSDiscoveredService_GetLocalInterfaceGUID(IWSDiscoveredService* This,GUID *pGuid) {
 671    return This->lpVtbl->GetLocalInterfaceGUID(This,pGuid);
 672}
 673static inline 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
 690DEFINE_GUID(IID_IWSDiscoveryPublisherNotify, 0xe67651b0, 0x337a, 0x4b3c, 0x97,0x58, 0x73,0x33,0x88,0x56,0x82,0x51);
 691#if defined(__cplusplus) && !defined(CINTERFACE)
 692MIDL_INTERFACE("e67651b0-337a-4b3c-9758-733388568251")
 693IWSDiscoveryPublisherNotify : 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
 708typedef 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
 737interface 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 ***/
 752static inline HRESULT IWSDiscoveryPublisherNotify_QueryInterface(IWSDiscoveryPublisherNotify* This,REFIID riid,void **ppvObject) {
 753    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 754}
 755static inline ULONG IWSDiscoveryPublisherNotify_AddRef(IWSDiscoveryPublisherNotify* This) {
 756    return This->lpVtbl->AddRef(This);
 757}
 758static inline ULONG IWSDiscoveryPublisherNotify_Release(IWSDiscoveryPublisherNotify* This) {
 759    return This->lpVtbl->Release(This);
 760}
 761/*** IWSDiscoveryPublisherNotify methods ***/
 762static inline HRESULT IWSDiscoveryPublisherNotify_ProbeHandler(IWSDiscoveryPublisherNotify* This,const WSD_SOAP_MESSAGE *pSoap,IWSDMessageParameters *pMessageParameters) {
 763    return This->lpVtbl->ProbeHandler(This,pSoap,pMessageParameters);
 764}
 765static inline 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
 782DEFINE_GUID(IID_IWSDiscoveryPublisher, 0xae01e1a8, 0x3ff9, 0x4148, 0x81,0x16, 0x05,0x7c,0xc6,0x16,0xfe,0x13);
 783#if defined(__cplusplus) && !defined(CINTERFACE)
 784MIDL_INTERFACE("ae01e1a8-3ff9-4148-8116-057cc616fe13")
 785IWSDiscoveryPublisher : 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
 900typedef 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
1040interface 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 ***/
1066static inline HRESULT IWSDiscoveryPublisher_QueryInterface(IWSDiscoveryPublisher* This,REFIID riid,void **ppvObject) {
1067    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1068}
1069static inline ULONG IWSDiscoveryPublisher_AddRef(IWSDiscoveryPublisher* This) {
1070    return This->lpVtbl->AddRef(This);
1071}
1072static inline ULONG IWSDiscoveryPublisher_Release(IWSDiscoveryPublisher* This) {
1073    return This->lpVtbl->Release(This);
1074}
1075/*** IWSDiscoveryPublisher methods ***/
1076static inline HRESULT IWSDiscoveryPublisher_SetAddressFamily(IWSDiscoveryPublisher* This,DWORD dwAddressFamily) {
1077    return This->lpVtbl->SetAddressFamily(This,dwAddressFamily);
1078}
1079static inline HRESULT IWSDiscoveryPublisher_RegisterNotificationSink(IWSDiscoveryPublisher* This,IWSDiscoveryPublisherNotify *pSink) {
1080    return This->lpVtbl->RegisterNotificationSink(This,pSink);
1081}
1082static inline HRESULT IWSDiscoveryPublisher_UnRegisterNotificationSink(IWSDiscoveryPublisher* This,IWSDiscoveryPublisherNotify *pSink) {
1083    return This->lpVtbl->UnRegisterNotificationSink(This,pSink);
1084}
1085static inline 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}
1088static inline 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}
1091static inline 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}
1094static inline 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}
1097static inline 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}
1100static inline 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}
1103static inline 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}
1106static inline HRESULT IWSDiscoveryPublisher_RegisterScopeMatchingRule(IWSDiscoveryPublisher* This,IWSDScopeMatchingRule *pScopeMatchingRule) {
1107    return This->lpVtbl->RegisterScopeMatchingRule(This,pScopeMatchingRule);
1108}
1109static inline HRESULT IWSDiscoveryPublisher_UnRegisterScopeMatchingRule(IWSDiscoveryPublisher* This,IWSDScopeMatchingRule *pScopeMatchingRule) {
1110    return This->lpVtbl->UnRegisterScopeMatchingRule(This,pScopeMatchingRule);
1111}
1112static inline 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
1123HRESULT WINAPI WSDCreateDiscoveryProvider(IWSDXMLContext *pContext, IWSDiscoveryProvider **ppProvider);
1124HRESULT WINAPI WSDCreateDiscoveryPublisher(IWSDXMLContext* pContext, IWSDiscoveryPublisher **ppPublisher);
1125#if WINVER >= 0x601
1126HRESULT WINAPI WSDCreateDiscoveryProvider2(IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDiscoveryProvider **ppProvider);
1127HRESULT 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__ */