zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

wsddisco.h (49195B) - Raw


      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__
     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 inline HRESULT IWSDScopeMatchingRule_QueryInterface(IWSDScopeMatchingRule* This,REFIID riid,void **ppvObject) {
    208     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    209 }
    210 static inline ULONG IWSDScopeMatchingRule_AddRef(IWSDScopeMatchingRule* This) {
    211     return This->lpVtbl->AddRef(This);
    212 }
    213 static inline ULONG IWSDScopeMatchingRule_Release(IWSDScopeMatchingRule* This) {
    214     return This->lpVtbl->Release(This);
    215 }
    216 /*** IWSDScopeMatchingRule methods ***/
    217 static inline HRESULT IWSDScopeMatchingRule_GetScopeRule(IWSDScopeMatchingRule* This,LPCWSTR *ppszScopeMatchingRule) {
    218     return This->lpVtbl->GetScopeRule(This,ppszScopeMatchingRule);
    219 }
    220 static 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 
    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 inline HRESULT IWSDiscoveryProviderNotify_QueryInterface(IWSDiscoveryProviderNotify* This,REFIID riid,void **ppvObject) {
    314     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    315 }
    316 static inline ULONG IWSDiscoveryProviderNotify_AddRef(IWSDiscoveryProviderNotify* This) {
    317     return This->lpVtbl->AddRef(This);
    318 }
    319 static inline ULONG IWSDiscoveryProviderNotify_Release(IWSDiscoveryProviderNotify* This) {
    320     return This->lpVtbl->Release(This);
    321 }
    322 /*** IWSDiscoveryProviderNotify methods ***/
    323 static inline HRESULT IWSDiscoveryProviderNotify_Add(IWSDiscoveryProviderNotify* This,IWSDiscoveredService *pService) {
    324     return This->lpVtbl->Add(This,pService);
    325 }
    326 static inline HRESULT IWSDiscoveryProviderNotify_Remove(IWSDiscoveryProviderNotify* This,IWSDiscoveredService *pService) {
    327     return This->lpVtbl->Remove(This,pService);
    328 }
    329 static inline HRESULT IWSDiscoveryProviderNotify_SearchFailed(IWSDiscoveryProviderNotify* This,HRESULT hr,LPCWSTR pszTag) {
    330     return This->lpVtbl->SearchFailed(This,hr,pszTag);
    331 }
    332 static 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 
    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 inline HRESULT IWSDiscoveryProvider_QueryInterface(IWSDiscoveryProvider* This,REFIID riid,void **ppvObject) {
    457     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    458 }
    459 static inline ULONG IWSDiscoveryProvider_AddRef(IWSDiscoveryProvider* This) {
    460     return This->lpVtbl->AddRef(This);
    461 }
    462 static inline ULONG IWSDiscoveryProvider_Release(IWSDiscoveryProvider* This) {
    463     return This->lpVtbl->Release(This);
    464 }
    465 /*** IWSDiscoveryProvider methods ***/
    466 static inline HRESULT IWSDiscoveryProvider_SetAddressFamily(IWSDiscoveryProvider* This,DWORD dwAddressFamily) {
    467     return This->lpVtbl->SetAddressFamily(This,dwAddressFamily);
    468 }
    469 static inline HRESULT IWSDiscoveryProvider_Attach(IWSDiscoveryProvider* This,IWSDiscoveryProviderNotify *pSink) {
    470     return This->lpVtbl->Attach(This,pSink);
    471 }
    472 static inline HRESULT IWSDiscoveryProvider_Detach(IWSDiscoveryProvider* This) {
    473     return This->lpVtbl->Detach(This);
    474 }
    475 static inline HRESULT IWSDiscoveryProvider_SearchById(IWSDiscoveryProvider* This,LPCWSTR pszId,LPCWSTR pszTag) {
    476     return This->lpVtbl->SearchById(This,pszId,pszTag);
    477 }
    478 static inline HRESULT IWSDiscoveryProvider_SearchByAddress(IWSDiscoveryProvider* This,LPCWSTR pszAddress,LPCWSTR pszTag) {
    479     return This->lpVtbl->SearchByAddress(This,pszAddress,pszTag);
    480 }
    481 static 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 }
    484 static 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 
    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 inline HRESULT IWSDiscoveredService_QueryInterface(IWSDiscoveredService* This,REFIID riid,void **ppvObject) {
    634     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    635 }
    636 static inline ULONG IWSDiscoveredService_AddRef(IWSDiscoveredService* This) {
    637     return This->lpVtbl->AddRef(This);
    638 }
    639 static inline ULONG IWSDiscoveredService_Release(IWSDiscoveredService* This) {
    640     return This->lpVtbl->Release(This);
    641 }
    642 /*** IWSDiscoveredService methods ***/
    643 static inline HRESULT IWSDiscoveredService_GetEndpointReference(IWSDiscoveredService* This,WSD_ENDPOINT_REFERENCE **ppEndpointReference) {
    644     return This->lpVtbl->GetEndpointReference(This,ppEndpointReference);
    645 }
    646 static inline HRESULT IWSDiscoveredService_GetTypes(IWSDiscoveredService* This,WSD_NAME_LIST **ppTypesList) {
    647     return This->lpVtbl->GetTypes(This,ppTypesList);
    648 }
    649 static inline HRESULT IWSDiscoveredService_GetScopes(IWSDiscoveredService* This,WSD_URI_LIST **ppScopesList) {
    650     return This->lpVtbl->GetScopes(This,ppScopesList);
    651 }
    652 static inline HRESULT IWSDiscoveredService_GetXAddrs(IWSDiscoveredService* This,WSD_URI_LIST **ppXAddrsList) {
    653     return This->lpVtbl->GetXAddrs(This,ppXAddrsList);
    654 }
    655 static inline HRESULT IWSDiscoveredService_GetMetadataVersion(IWSDiscoveredService* This,ULONGLONG *pullMetadataVersion) {
    656     return This->lpVtbl->GetMetadataVersion(This,pullMetadataVersion);
    657 }
    658 static inline HRESULT IWSDiscoveredService_GetExtendedDiscoXML(IWSDiscoveredService* This,WSDXML_ELEMENT **ppHeaderAny,WSDXML_ELEMENT **ppBodyAny) {
    659     return This->lpVtbl->GetExtendedDiscoXML(This,ppHeaderAny,ppBodyAny);
    660 }
    661 static inline HRESULT IWSDiscoveredService_GetProbeResolveTag(IWSDiscoveredService* This,LPCWSTR *ppszTag) {
    662     return This->lpVtbl->GetProbeResolveTag(This,ppszTag);
    663 }
    664 static inline HRESULT IWSDiscoveredService_GetRemoteTransportAddress(IWSDiscoveredService* This,LPCWSTR *ppszRemoteTransportAddress) {
    665     return This->lpVtbl->GetRemoteTransportAddress(This,ppszRemoteTransportAddress);
    666 }
    667 static inline HRESULT IWSDiscoveredService_GetLocalTransportAddress(IWSDiscoveredService* This,LPCWSTR *ppszLocalTransportAddress) {
    668     return This->lpVtbl->GetLocalTransportAddress(This,ppszLocalTransportAddress);
    669 }
    670 static inline HRESULT IWSDiscoveredService_GetLocalInterfaceGUID(IWSDiscoveredService* This,GUID *pGuid) {
    671     return This->lpVtbl->GetLocalInterfaceGUID(This,pGuid);
    672 }
    673 static 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 
    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 inline HRESULT IWSDiscoveryPublisherNotify_QueryInterface(IWSDiscoveryPublisherNotify* This,REFIID riid,void **ppvObject) {
    753     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    754 }
    755 static inline ULONG IWSDiscoveryPublisherNotify_AddRef(IWSDiscoveryPublisherNotify* This) {
    756     return This->lpVtbl->AddRef(This);
    757 }
    758 static inline ULONG IWSDiscoveryPublisherNotify_Release(IWSDiscoveryPublisherNotify* This) {
    759     return This->lpVtbl->Release(This);
    760 }
    761 /*** IWSDiscoveryPublisherNotify methods ***/
    762 static inline HRESULT IWSDiscoveryPublisherNotify_ProbeHandler(IWSDiscoveryPublisherNotify* This,const WSD_SOAP_MESSAGE *pSoap,IWSDMessageParameters *pMessageParameters) {
    763     return This->lpVtbl->ProbeHandler(This,pSoap,pMessageParameters);
    764 }
    765 static 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 
    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 inline HRESULT IWSDiscoveryPublisher_QueryInterface(IWSDiscoveryPublisher* This,REFIID riid,void **ppvObject) {
   1067     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1068 }
   1069 static inline ULONG IWSDiscoveryPublisher_AddRef(IWSDiscoveryPublisher* This) {
   1070     return This->lpVtbl->AddRef(This);
   1071 }
   1072 static inline ULONG IWSDiscoveryPublisher_Release(IWSDiscoveryPublisher* This) {
   1073     return This->lpVtbl->Release(This);
   1074 }
   1075 /*** IWSDiscoveryPublisher methods ***/
   1076 static inline HRESULT IWSDiscoveryPublisher_SetAddressFamily(IWSDiscoveryPublisher* This,DWORD dwAddressFamily) {
   1077     return This->lpVtbl->SetAddressFamily(This,dwAddressFamily);
   1078 }
   1079 static inline HRESULT IWSDiscoveryPublisher_RegisterNotificationSink(IWSDiscoveryPublisher* This,IWSDiscoveryPublisherNotify *pSink) {
   1080     return This->lpVtbl->RegisterNotificationSink(This,pSink);
   1081 }
   1082 static inline HRESULT IWSDiscoveryPublisher_UnRegisterNotificationSink(IWSDiscoveryPublisher* This,IWSDiscoveryPublisherNotify *pSink) {
   1083     return This->lpVtbl->UnRegisterNotificationSink(This,pSink);
   1084 }
   1085 static 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 }
   1088 static 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 }
   1091 static 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 }
   1094 static 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 }
   1097 static 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 }
   1100 static 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 }
   1103 static 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 }
   1106 static inline HRESULT IWSDiscoveryPublisher_RegisterScopeMatchingRule(IWSDiscoveryPublisher* This,IWSDScopeMatchingRule *pScopeMatchingRule) {
   1107     return This->lpVtbl->RegisterScopeMatchingRule(This,pScopeMatchingRule);
   1108 }
   1109 static inline HRESULT IWSDiscoveryPublisher_UnRegisterScopeMatchingRule(IWSDiscoveryPublisher* This,IWSDScopeMatchingRule *pScopeMatchingRule) {
   1110     return This->lpVtbl->UnRegisterScopeMatchingRule(This,pScopeMatchingRule);
   1111 }
   1112 static 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 
   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__ */