master
   1/*** Autogenerated by WIDL 10.4 from include/wsdbase.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 __wsdbase_h__
  17#define __wsdbase_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __IWSDAddress_FWD_DEFINED__
  22#define __IWSDAddress_FWD_DEFINED__
  23typedef interface IWSDAddress IWSDAddress;
  24#ifdef __cplusplus
  25interface IWSDAddress;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __IWSDTransportAddress_FWD_DEFINED__
  30#define __IWSDTransportAddress_FWD_DEFINED__
  31typedef interface IWSDTransportAddress IWSDTransportAddress;
  32#ifdef __cplusplus
  33interface IWSDTransportAddress;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __IWSDMessageParameters_FWD_DEFINED__
  38#define __IWSDMessageParameters_FWD_DEFINED__
  39typedef interface IWSDMessageParameters IWSDMessageParameters;
  40#ifdef __cplusplus
  41interface IWSDMessageParameters;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __IWSDUdpMessageParameters_FWD_DEFINED__
  46#define __IWSDUdpMessageParameters_FWD_DEFINED__
  47typedef interface IWSDUdpMessageParameters IWSDUdpMessageParameters;
  48#ifdef __cplusplus
  49interface IWSDUdpMessageParameters;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __IWSDUdpAddress_FWD_DEFINED__
  54#define __IWSDUdpAddress_FWD_DEFINED__
  55typedef interface IWSDUdpAddress IWSDUdpAddress;
  56#ifdef __cplusplus
  57interface IWSDUdpAddress;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __IWSDHttpMessageParameters_FWD_DEFINED__
  62#define __IWSDHttpMessageParameters_FWD_DEFINED__
  63typedef interface IWSDHttpMessageParameters IWSDHttpMessageParameters;
  64#ifdef __cplusplus
  65interface IWSDHttpMessageParameters;
  66#endif /* __cplusplus */
  67#endif
  68
  69#ifndef __IWSDHttpAddress_FWD_DEFINED__
  70#define __IWSDHttpAddress_FWD_DEFINED__
  71typedef interface IWSDHttpAddress IWSDHttpAddress;
  72#ifdef __cplusplus
  73interface IWSDHttpAddress;
  74#endif /* __cplusplus */
  75#endif
  76
  77#ifndef __IWSDSSLClientCertificate_FWD_DEFINED__
  78#define __IWSDSSLClientCertificate_FWD_DEFINED__
  79typedef interface IWSDSSLClientCertificate IWSDSSLClientCertificate;
  80#ifdef __cplusplus
  81interface IWSDSSLClientCertificate;
  82#endif /* __cplusplus */
  83#endif
  84
  85#ifndef __IWSDHttpAuthParameters_FWD_DEFINED__
  86#define __IWSDHttpAuthParameters_FWD_DEFINED__
  87typedef interface IWSDHttpAuthParameters IWSDHttpAuthParameters;
  88#ifdef __cplusplus
  89interface IWSDHttpAuthParameters;
  90#endif /* __cplusplus */
  91#endif
  92
  93#ifndef __IWSDSignatureProperty_FWD_DEFINED__
  94#define __IWSDSignatureProperty_FWD_DEFINED__
  95typedef interface IWSDSignatureProperty IWSDSignatureProperty;
  96#ifdef __cplusplus
  97interface IWSDSignatureProperty;
  98#endif /* __cplusplus */
  99#endif
 100
 101/* Headers for imported files */
 102
 103#include <objidl.h>
 104#include <wincrypt.h>
 105
 106#ifdef __cplusplus
 107extern "C" {
 108#endif
 109
 110#include <winapifamily.h>
 111
 112#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
 113
 114#ifndef __IWSDAddress_FWD_DEFINED__
 115#define __IWSDAddress_FWD_DEFINED__
 116typedef interface IWSDAddress IWSDAddress;
 117#ifdef __cplusplus
 118interface IWSDAddress;
 119#endif /* __cplusplus */
 120#endif
 121
 122#ifndef __IWSDMessageParameters_FWD_DEFINED__
 123#define __IWSDMessageParameters_FWD_DEFINED__
 124typedef interface IWSDMessageParameters IWSDMessageParameters;
 125#ifdef __cplusplus
 126interface IWSDMessageParameters;
 127#endif /* __cplusplus */
 128#endif
 129
 130#ifndef __IWSDUdpAddress_FWD_DEFINED__
 131#define __IWSDUdpAddress_FWD_DEFINED__
 132typedef interface IWSDUdpAddress IWSDUdpAddress;
 133#ifdef __cplusplus
 134interface IWSDUdpAddress;
 135#endif /* __cplusplus */
 136#endif
 137
 138#ifndef __IWSDUdpMessageParameters_FWD_DEFINED__
 139#define __IWSDUdpMessageParameters_FWD_DEFINED__
 140typedef interface IWSDUdpMessageParameters IWSDUdpMessageParameters;
 141#ifdef __cplusplus
 142interface IWSDUdpMessageParameters;
 143#endif /* __cplusplus */
 144#endif
 145
 146#ifndef __IWSDHttpAddress_FWD_DEFINED__
 147#define __IWSDHttpAddress_FWD_DEFINED__
 148typedef interface IWSDHttpAddress IWSDHttpAddress;
 149#ifdef __cplusplus
 150interface IWSDHttpAddress;
 151#endif /* __cplusplus */
 152#endif
 153
 154#ifndef __IWSDHttpMessageParameters_FWD_DEFINED__
 155#define __IWSDHttpMessageParameters_FWD_DEFINED__
 156typedef interface IWSDHttpMessageParameters IWSDHttpMessageParameters;
 157#ifdef __cplusplus
 158interface IWSDHttpMessageParameters;
 159#endif /* __cplusplus */
 160#endif
 161
 162
 163#if WINVER >= 0x601
 164typedef enum __WIDL_wsdbase_generated_name_00000015 {
 165    WSD_CONFIG_MAX_INBOUND_MESSAGE_SIZE = 1,
 166    WSD_CONFIG_MAX_OUTBOUND_MESSAGE_SIZE = 2,
 167    WSD_SECURITY_SSL_CERT_FOR_CLIENT_AUTH = 3,
 168    WSD_SECURITY_SSL_SERVER_CERT_VALIDATION = 4,
 169    WSD_SECURITY_SSL_CLIENT_CERT_VALIDATION = 5,
 170    WSD_SECURITY_SSL_NEGOTIATE_CLIENT_CERT = 6,
 171    WSD_SECURITY_COMPACTSIG_SIGNING_CERT = 7,
 172    WSD_SECURITY_COMPACTSIG_VALIDATION = 8,
 173    WSD_CONFIG_HOSTING_ADDRESSES = 9,
 174    WSD_CONFIG_DEVICE_ADDRESSES = 10,
 175    WSD_SECURITY_REQUIRE_HTTP_CLIENT_AUTH = 11,
 176    WSD_SECURITY_REQUIRE_CLIENT_CERT_OR_HTTP_CLIENT_AUTH = 12,
 177    WSD_SECURITY_USE_HTTP_CLIENT_AUTH = 13
 178} WSD_CONFIG_PARAM_TYPE;
 179typedef struct _WSD_CONFIG_PARAM {
 180    WSD_CONFIG_PARAM_TYPE configParamType;
 181    PVOID pConfigData;
 182    DWORD dwConfigDataSize;
 183} WSD_CONFIG_PARAM;
 184typedef struct _WSD_CONFIG_PARAM *PWSD_CONFIG_PARAM;
 185typedef struct _WSD_SECURITY_CERT_VALIDATION_V1 {
 186    PCCERT_CONTEXT *certMatchArray;
 187    DWORD dwCertMatchArrayCount;
 188    HCERTSTORE hCertMatchStore;
 189    HCERTSTORE hCertIssuerStore;
 190    DWORD dwCertCheckOptions;
 191} WSD_SECURITY_CERT_VALIDATION_V1;
 192#if _WIN32_WINNT >= 0x602
 193typedef struct _WSD_SECURITY_CERT_VALIDATION {
 194    PCCERT_CONTEXT *certMatchArray;
 195    DWORD dwCertMatchArrayCount;
 196    HCERTSTORE hCertMatchStore;
 197    HCERTSTORE hCertIssuerStore;
 198    DWORD dwCertCheckOptions;
 199    LPCWSTR pszCNGHashAlgId;
 200    BYTE *pbCertHash;
 201    DWORD dwCertHashSize;
 202} WSD_SECURITY_CERT_VALIDATION;
 203#else
 204typedef WSD_SECURITY_CERT_VALIDATION_V1 WSD_SECURITY_CERT_VALIDATION;
 205#endif
 206
 207typedef WSD_SECURITY_CERT_VALIDATION *PWSD_SECURITY_CERT_VALIDATION;
 208typedef struct _WSD_SECURITY_SIGNATURE_VALIDATION {
 209    PCCERT_CONTEXT *signingCertArray;
 210    DWORD dwSigningCertArrayCount;
 211    HCERTSTORE hSigningCertStore;
 212    DWORD dwFlags;
 213} WSD_SECURITY_SIGNATURE_VALIDATION;
 214typedef struct _WSD_SECURITY_SIGNATURE_VALIDATION *PWSD_SECURITY_SIGNATURE_VALIDATION;
 215typedef DWORD WSD_SECURITY_HTTP_AUTH_SCHEMES;
 216typedef DWORD *PWSD_SECURITY_HTTP_AUTH_SCHEMES;
 217
 218#define WSDAPI_SSL_CERT_APPLY_DEFAULT_CHECKS 0x0
 219#define WSDAPI_SSL_CERT_IGNORE_REVOCATION 0x1
 220#define WSDAPI_SSL_CERT_IGNORE_EXPIRY 0x2
 221#define WSDAPI_SSL_CERT_IGNORE_WRONG_USAGE 0x4
 222#define WSDAPI_SSL_CERT_IGNORE_UNKNOWN_CA 0x8
 223#define WSDAPI_SSL_CERT_IGNORE_INVALID_CN 0x10
 224
 225#define WSDAPI_COMPACTSIG_ACCEPT_ALL_MESSAGES 0x1
 226
 227#define WSD_SECURITY_HTTP_AUTH_SCHEME_NEGOTIATE 0x1
 228#define WSD_SECURITY_HTTP_AUTH_SCHEME_NTLM 0x2
 229
 230typedef struct _WSD_CONFIG_ADDRESSES {
 231    IWSDAddress **addresses;
 232    DWORD dwAddressCount;
 233} WSD_CONFIG_ADDRESSES;
 234typedef struct _WSD_CONFIG_ADDRESSES *PWSD_CONFIG_ADDRESSES;
 235#endif
 236#define WSDAPI_ADDRESSFAMILY_IPV4 1
 237#define WSDAPI_ADDRESSFAMILY_IPV6 2
 238/*****************************************************************************
 239 * IWSDAddress interface
 240 */
 241#ifndef __IWSDAddress_INTERFACE_DEFINED__
 242#define __IWSDAddress_INTERFACE_DEFINED__
 243
 244DEFINE_GUID(IID_IWSDAddress, 0xb9574c6c, 0x12a6, 0x4f74, 0x93,0xa1, 0x33,0x18,0xff,0x60,0x57,0x59);
 245#if defined(__cplusplus) && !defined(CINTERFACE)
 246MIDL_INTERFACE("b9574c6c-12a6-4f74-93a1-3318ff605759")
 247IWSDAddress : public IUnknown
 248{
 249    virtual HRESULT STDMETHODCALLTYPE Serialize(
 250        LPWSTR pszBuffer,
 251        DWORD cchLength,
 252        WINBOOL fSafe) = 0;
 253
 254    virtual HRESULT STDMETHODCALLTYPE Deserialize(
 255        LPCWSTR pszBuffer) = 0;
 256
 257};
 258#ifdef __CRT_UUID_DECL
 259__CRT_UUID_DECL(IWSDAddress, 0xb9574c6c, 0x12a6, 0x4f74, 0x93,0xa1, 0x33,0x18,0xff,0x60,0x57,0x59)
 260#endif
 261#else
 262typedef struct IWSDAddressVtbl {
 263    BEGIN_INTERFACE
 264
 265    /*** IUnknown methods ***/
 266    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 267        IWSDAddress *This,
 268        REFIID riid,
 269        void **ppvObject);
 270
 271    ULONG (STDMETHODCALLTYPE *AddRef)(
 272        IWSDAddress *This);
 273
 274    ULONG (STDMETHODCALLTYPE *Release)(
 275        IWSDAddress *This);
 276
 277    /*** IWSDAddress methods ***/
 278    HRESULT (STDMETHODCALLTYPE *Serialize)(
 279        IWSDAddress *This,
 280        LPWSTR pszBuffer,
 281        DWORD cchLength,
 282        WINBOOL fSafe);
 283
 284    HRESULT (STDMETHODCALLTYPE *Deserialize)(
 285        IWSDAddress *This,
 286        LPCWSTR pszBuffer);
 287
 288    END_INTERFACE
 289} IWSDAddressVtbl;
 290
 291interface IWSDAddress {
 292    CONST_VTBL IWSDAddressVtbl* lpVtbl;
 293};
 294
 295#ifdef COBJMACROS
 296#ifndef WIDL_C_INLINE_WRAPPERS
 297/*** IUnknown methods ***/
 298#define IWSDAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 299#define IWSDAddress_AddRef(This) (This)->lpVtbl->AddRef(This)
 300#define IWSDAddress_Release(This) (This)->lpVtbl->Release(This)
 301/*** IWSDAddress methods ***/
 302#define IWSDAddress_Serialize(This,pszBuffer,cchLength,fSafe) (This)->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe)
 303#define IWSDAddress_Deserialize(This,pszBuffer) (This)->lpVtbl->Deserialize(This,pszBuffer)
 304#else
 305/*** IUnknown methods ***/
 306static inline HRESULT IWSDAddress_QueryInterface(IWSDAddress* This,REFIID riid,void **ppvObject) {
 307    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 308}
 309static inline ULONG IWSDAddress_AddRef(IWSDAddress* This) {
 310    return This->lpVtbl->AddRef(This);
 311}
 312static inline ULONG IWSDAddress_Release(IWSDAddress* This) {
 313    return This->lpVtbl->Release(This);
 314}
 315/*** IWSDAddress methods ***/
 316static inline HRESULT IWSDAddress_Serialize(IWSDAddress* This,LPWSTR pszBuffer,DWORD cchLength,WINBOOL fSafe) {
 317    return This->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe);
 318}
 319static inline HRESULT IWSDAddress_Deserialize(IWSDAddress* This,LPCWSTR pszBuffer) {
 320    return This->lpVtbl->Deserialize(This,pszBuffer);
 321}
 322#endif
 323#endif
 324
 325#endif
 326
 327
 328#endif  /* __IWSDAddress_INTERFACE_DEFINED__ */
 329
 330/*****************************************************************************
 331 * IWSDTransportAddress interface
 332 */
 333#ifndef __IWSDTransportAddress_INTERFACE_DEFINED__
 334#define __IWSDTransportAddress_INTERFACE_DEFINED__
 335
 336DEFINE_GUID(IID_IWSDTransportAddress, 0x70d23498, 0x4ee6, 0x4340, 0xa3,0xdf, 0xd8,0x45,0xd2,0x23,0x54,0x67);
 337#if defined(__cplusplus) && !defined(CINTERFACE)
 338MIDL_INTERFACE("70d23498-4ee6-4340-a3df-d845d2235467")
 339IWSDTransportAddress : public IWSDAddress
 340{
 341    virtual HRESULT STDMETHODCALLTYPE GetPort(
 342        WORD *pwPort) = 0;
 343
 344    virtual HRESULT STDMETHODCALLTYPE SetPort(
 345        WORD wPort) = 0;
 346
 347    virtual HRESULT STDMETHODCALLTYPE GetTransportAddress(
 348        LPCWSTR *ppszAddress) = 0;
 349
 350    virtual HRESULT STDMETHODCALLTYPE GetTransportAddressEx(
 351        WINBOOL fSafe,
 352        LPCWSTR *ppszAddress) = 0;
 353
 354    virtual HRESULT STDMETHODCALLTYPE SetTransportAddress(
 355        LPCWSTR pszAddress) = 0;
 356
 357};
 358#ifdef __CRT_UUID_DECL
 359__CRT_UUID_DECL(IWSDTransportAddress, 0x70d23498, 0x4ee6, 0x4340, 0xa3,0xdf, 0xd8,0x45,0xd2,0x23,0x54,0x67)
 360#endif
 361#else
 362typedef struct IWSDTransportAddressVtbl {
 363    BEGIN_INTERFACE
 364
 365    /*** IUnknown methods ***/
 366    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 367        IWSDTransportAddress *This,
 368        REFIID riid,
 369        void **ppvObject);
 370
 371    ULONG (STDMETHODCALLTYPE *AddRef)(
 372        IWSDTransportAddress *This);
 373
 374    ULONG (STDMETHODCALLTYPE *Release)(
 375        IWSDTransportAddress *This);
 376
 377    /*** IWSDAddress methods ***/
 378    HRESULT (STDMETHODCALLTYPE *Serialize)(
 379        IWSDTransportAddress *This,
 380        LPWSTR pszBuffer,
 381        DWORD cchLength,
 382        WINBOOL fSafe);
 383
 384    HRESULT (STDMETHODCALLTYPE *Deserialize)(
 385        IWSDTransportAddress *This,
 386        LPCWSTR pszBuffer);
 387
 388    /*** IWSDTransportAddress methods ***/
 389    HRESULT (STDMETHODCALLTYPE *GetPort)(
 390        IWSDTransportAddress *This,
 391        WORD *pwPort);
 392
 393    HRESULT (STDMETHODCALLTYPE *SetPort)(
 394        IWSDTransportAddress *This,
 395        WORD wPort);
 396
 397    HRESULT (STDMETHODCALLTYPE *GetTransportAddress)(
 398        IWSDTransportAddress *This,
 399        LPCWSTR *ppszAddress);
 400
 401    HRESULT (STDMETHODCALLTYPE *GetTransportAddressEx)(
 402        IWSDTransportAddress *This,
 403        WINBOOL fSafe,
 404        LPCWSTR *ppszAddress);
 405
 406    HRESULT (STDMETHODCALLTYPE *SetTransportAddress)(
 407        IWSDTransportAddress *This,
 408        LPCWSTR pszAddress);
 409
 410    END_INTERFACE
 411} IWSDTransportAddressVtbl;
 412
 413interface IWSDTransportAddress {
 414    CONST_VTBL IWSDTransportAddressVtbl* lpVtbl;
 415};
 416
 417#ifdef COBJMACROS
 418#ifndef WIDL_C_INLINE_WRAPPERS
 419/*** IUnknown methods ***/
 420#define IWSDTransportAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 421#define IWSDTransportAddress_AddRef(This) (This)->lpVtbl->AddRef(This)
 422#define IWSDTransportAddress_Release(This) (This)->lpVtbl->Release(This)
 423/*** IWSDAddress methods ***/
 424#define IWSDTransportAddress_Serialize(This,pszBuffer,cchLength,fSafe) (This)->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe)
 425#define IWSDTransportAddress_Deserialize(This,pszBuffer) (This)->lpVtbl->Deserialize(This,pszBuffer)
 426/*** IWSDTransportAddress methods ***/
 427#define IWSDTransportAddress_GetPort(This,pwPort) (This)->lpVtbl->GetPort(This,pwPort)
 428#define IWSDTransportAddress_SetPort(This,wPort) (This)->lpVtbl->SetPort(This,wPort)
 429#define IWSDTransportAddress_GetTransportAddress(This,ppszAddress) (This)->lpVtbl->GetTransportAddress(This,ppszAddress)
 430#define IWSDTransportAddress_GetTransportAddressEx(This,fSafe,ppszAddress) (This)->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress)
 431#define IWSDTransportAddress_SetTransportAddress(This,pszAddress) (This)->lpVtbl->SetTransportAddress(This,pszAddress)
 432#else
 433/*** IUnknown methods ***/
 434static inline HRESULT IWSDTransportAddress_QueryInterface(IWSDTransportAddress* This,REFIID riid,void **ppvObject) {
 435    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 436}
 437static inline ULONG IWSDTransportAddress_AddRef(IWSDTransportAddress* This) {
 438    return This->lpVtbl->AddRef(This);
 439}
 440static inline ULONG IWSDTransportAddress_Release(IWSDTransportAddress* This) {
 441    return This->lpVtbl->Release(This);
 442}
 443/*** IWSDAddress methods ***/
 444static inline HRESULT IWSDTransportAddress_Serialize(IWSDTransportAddress* This,LPWSTR pszBuffer,DWORD cchLength,WINBOOL fSafe) {
 445    return This->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe);
 446}
 447static inline HRESULT IWSDTransportAddress_Deserialize(IWSDTransportAddress* This,LPCWSTR pszBuffer) {
 448    return This->lpVtbl->Deserialize(This,pszBuffer);
 449}
 450/*** IWSDTransportAddress methods ***/
 451static inline HRESULT IWSDTransportAddress_GetPort(IWSDTransportAddress* This,WORD *pwPort) {
 452    return This->lpVtbl->GetPort(This,pwPort);
 453}
 454static inline HRESULT IWSDTransportAddress_SetPort(IWSDTransportAddress* This,WORD wPort) {
 455    return This->lpVtbl->SetPort(This,wPort);
 456}
 457static inline HRESULT IWSDTransportAddress_GetTransportAddress(IWSDTransportAddress* This,LPCWSTR *ppszAddress) {
 458    return This->lpVtbl->GetTransportAddress(This,ppszAddress);
 459}
 460static inline HRESULT IWSDTransportAddress_GetTransportAddressEx(IWSDTransportAddress* This,WINBOOL fSafe,LPCWSTR *ppszAddress) {
 461    return This->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress);
 462}
 463static inline HRESULT IWSDTransportAddress_SetTransportAddress(IWSDTransportAddress* This,LPCWSTR pszAddress) {
 464    return This->lpVtbl->SetTransportAddress(This,pszAddress);
 465}
 466#endif
 467#endif
 468
 469#endif
 470
 471
 472#endif  /* __IWSDTransportAddress_INTERFACE_DEFINED__ */
 473
 474/*****************************************************************************
 475 * IWSDMessageParameters interface
 476 */
 477#ifndef __IWSDMessageParameters_INTERFACE_DEFINED__
 478#define __IWSDMessageParameters_INTERFACE_DEFINED__
 479
 480DEFINE_GUID(IID_IWSDMessageParameters, 0x1fafe8a2, 0xe6fc, 0x4b80, 0xb6,0xcf, 0xb7,0xd4,0x5c,0x41,0x6d,0x7c);
 481#if defined(__cplusplus) && !defined(CINTERFACE)
 482MIDL_INTERFACE("1fafe8a2-e6fc-4b80-b6cf-b7d45c416d7c")
 483IWSDMessageParameters : public IUnknown
 484{
 485    virtual HRESULT STDMETHODCALLTYPE GetLocalAddress(
 486        IWSDAddress **ppAddress) = 0;
 487
 488    virtual HRESULT STDMETHODCALLTYPE SetLocalAddress(
 489        IWSDAddress *pAddress) = 0;
 490
 491    virtual HRESULT STDMETHODCALLTYPE GetRemoteAddress(
 492        IWSDAddress **ppAddress) = 0;
 493
 494    virtual HRESULT STDMETHODCALLTYPE SetRemoteAddress(
 495        IWSDAddress *pAddress) = 0;
 496
 497    virtual HRESULT STDMETHODCALLTYPE GetLowerParameters(
 498        IWSDMessageParameters **ppTxParams) = 0;
 499
 500};
 501#ifdef __CRT_UUID_DECL
 502__CRT_UUID_DECL(IWSDMessageParameters, 0x1fafe8a2, 0xe6fc, 0x4b80, 0xb6,0xcf, 0xb7,0xd4,0x5c,0x41,0x6d,0x7c)
 503#endif
 504#else
 505typedef struct IWSDMessageParametersVtbl {
 506    BEGIN_INTERFACE
 507
 508    /*** IUnknown methods ***/
 509    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 510        IWSDMessageParameters *This,
 511        REFIID riid,
 512        void **ppvObject);
 513
 514    ULONG (STDMETHODCALLTYPE *AddRef)(
 515        IWSDMessageParameters *This);
 516
 517    ULONG (STDMETHODCALLTYPE *Release)(
 518        IWSDMessageParameters *This);
 519
 520    /*** IWSDMessageParameters methods ***/
 521    HRESULT (STDMETHODCALLTYPE *GetLocalAddress)(
 522        IWSDMessageParameters *This,
 523        IWSDAddress **ppAddress);
 524
 525    HRESULT (STDMETHODCALLTYPE *SetLocalAddress)(
 526        IWSDMessageParameters *This,
 527        IWSDAddress *pAddress);
 528
 529    HRESULT (STDMETHODCALLTYPE *GetRemoteAddress)(
 530        IWSDMessageParameters *This,
 531        IWSDAddress **ppAddress);
 532
 533    HRESULT (STDMETHODCALLTYPE *SetRemoteAddress)(
 534        IWSDMessageParameters *This,
 535        IWSDAddress *pAddress);
 536
 537    HRESULT (STDMETHODCALLTYPE *GetLowerParameters)(
 538        IWSDMessageParameters *This,
 539        IWSDMessageParameters **ppTxParams);
 540
 541    END_INTERFACE
 542} IWSDMessageParametersVtbl;
 543
 544interface IWSDMessageParameters {
 545    CONST_VTBL IWSDMessageParametersVtbl* lpVtbl;
 546};
 547
 548#ifdef COBJMACROS
 549#ifndef WIDL_C_INLINE_WRAPPERS
 550/*** IUnknown methods ***/
 551#define IWSDMessageParameters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 552#define IWSDMessageParameters_AddRef(This) (This)->lpVtbl->AddRef(This)
 553#define IWSDMessageParameters_Release(This) (This)->lpVtbl->Release(This)
 554/*** IWSDMessageParameters methods ***/
 555#define IWSDMessageParameters_GetLocalAddress(This,ppAddress) (This)->lpVtbl->GetLocalAddress(This,ppAddress)
 556#define IWSDMessageParameters_SetLocalAddress(This,pAddress) (This)->lpVtbl->SetLocalAddress(This,pAddress)
 557#define IWSDMessageParameters_GetRemoteAddress(This,ppAddress) (This)->lpVtbl->GetRemoteAddress(This,ppAddress)
 558#define IWSDMessageParameters_SetRemoteAddress(This,pAddress) (This)->lpVtbl->SetRemoteAddress(This,pAddress)
 559#define IWSDMessageParameters_GetLowerParameters(This,ppTxParams) (This)->lpVtbl->GetLowerParameters(This,ppTxParams)
 560#else
 561/*** IUnknown methods ***/
 562static inline HRESULT IWSDMessageParameters_QueryInterface(IWSDMessageParameters* This,REFIID riid,void **ppvObject) {
 563    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 564}
 565static inline ULONG IWSDMessageParameters_AddRef(IWSDMessageParameters* This) {
 566    return This->lpVtbl->AddRef(This);
 567}
 568static inline ULONG IWSDMessageParameters_Release(IWSDMessageParameters* This) {
 569    return This->lpVtbl->Release(This);
 570}
 571/*** IWSDMessageParameters methods ***/
 572static inline HRESULT IWSDMessageParameters_GetLocalAddress(IWSDMessageParameters* This,IWSDAddress **ppAddress) {
 573    return This->lpVtbl->GetLocalAddress(This,ppAddress);
 574}
 575static inline HRESULT IWSDMessageParameters_SetLocalAddress(IWSDMessageParameters* This,IWSDAddress *pAddress) {
 576    return This->lpVtbl->SetLocalAddress(This,pAddress);
 577}
 578static inline HRESULT IWSDMessageParameters_GetRemoteAddress(IWSDMessageParameters* This,IWSDAddress **ppAddress) {
 579    return This->lpVtbl->GetRemoteAddress(This,ppAddress);
 580}
 581static inline HRESULT IWSDMessageParameters_SetRemoteAddress(IWSDMessageParameters* This,IWSDAddress *pAddress) {
 582    return This->lpVtbl->SetRemoteAddress(This,pAddress);
 583}
 584static inline HRESULT IWSDMessageParameters_GetLowerParameters(IWSDMessageParameters* This,IWSDMessageParameters **ppTxParams) {
 585    return This->lpVtbl->GetLowerParameters(This,ppTxParams);
 586}
 587#endif
 588#endif
 589
 590#endif
 591
 592
 593#endif  /* __IWSDMessageParameters_INTERFACE_DEFINED__ */
 594
 595HRESULT WINAPI
 596WSDCreateUdpMessageParameters(
 597IWSDUdpMessageParameters** ppTxParams);
 598typedef struct _WSDUdpRetransmitParams {
 599    ULONG ulSendDelay;
 600    ULONG ulRepeat;
 601    ULONG ulRepeatMinDelay;
 602    ULONG ulRepeatMaxDelay;
 603    ULONG ulRepeatUpperDelay;
 604} WSDUdpRetransmitParams;
 605/*****************************************************************************
 606 * IWSDUdpMessageParameters interface
 607 */
 608#ifndef __IWSDUdpMessageParameters_INTERFACE_DEFINED__
 609#define __IWSDUdpMessageParameters_INTERFACE_DEFINED__
 610
 611DEFINE_GUID(IID_IWSDUdpMessageParameters, 0x9934149f, 0x8f0c, 0x447b, 0xaa,0x0b, 0x73,0x12,0x4b,0x0c,0xa7,0xf0);
 612#if defined(__cplusplus) && !defined(CINTERFACE)
 613MIDL_INTERFACE("9934149f-8f0c-447b-aa0b-73124b0ca7f0")
 614IWSDUdpMessageParameters : public IWSDMessageParameters
 615{
 616    virtual HRESULT STDMETHODCALLTYPE SetRetransmitParams(
 617        const WSDUdpRetransmitParams *pParams) = 0;
 618
 619    virtual HRESULT STDMETHODCALLTYPE GetRetransmitParams(
 620        WSDUdpRetransmitParams *pParams) = 0;
 621
 622};
 623#ifdef __CRT_UUID_DECL
 624__CRT_UUID_DECL(IWSDUdpMessageParameters, 0x9934149f, 0x8f0c, 0x447b, 0xaa,0x0b, 0x73,0x12,0x4b,0x0c,0xa7,0xf0)
 625#endif
 626#else
 627typedef struct IWSDUdpMessageParametersVtbl {
 628    BEGIN_INTERFACE
 629
 630    /*** IUnknown methods ***/
 631    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 632        IWSDUdpMessageParameters *This,
 633        REFIID riid,
 634        void **ppvObject);
 635
 636    ULONG (STDMETHODCALLTYPE *AddRef)(
 637        IWSDUdpMessageParameters *This);
 638
 639    ULONG (STDMETHODCALLTYPE *Release)(
 640        IWSDUdpMessageParameters *This);
 641
 642    /*** IWSDMessageParameters methods ***/
 643    HRESULT (STDMETHODCALLTYPE *GetLocalAddress)(
 644        IWSDUdpMessageParameters *This,
 645        IWSDAddress **ppAddress);
 646
 647    HRESULT (STDMETHODCALLTYPE *SetLocalAddress)(
 648        IWSDUdpMessageParameters *This,
 649        IWSDAddress *pAddress);
 650
 651    HRESULT (STDMETHODCALLTYPE *GetRemoteAddress)(
 652        IWSDUdpMessageParameters *This,
 653        IWSDAddress **ppAddress);
 654
 655    HRESULT (STDMETHODCALLTYPE *SetRemoteAddress)(
 656        IWSDUdpMessageParameters *This,
 657        IWSDAddress *pAddress);
 658
 659    HRESULT (STDMETHODCALLTYPE *GetLowerParameters)(
 660        IWSDUdpMessageParameters *This,
 661        IWSDMessageParameters **ppTxParams);
 662
 663    /*** IWSDUdpMessageParameters methods ***/
 664    HRESULT (STDMETHODCALLTYPE *SetRetransmitParams)(
 665        IWSDUdpMessageParameters *This,
 666        const WSDUdpRetransmitParams *pParams);
 667
 668    HRESULT (STDMETHODCALLTYPE *GetRetransmitParams)(
 669        IWSDUdpMessageParameters *This,
 670        WSDUdpRetransmitParams *pParams);
 671
 672    END_INTERFACE
 673} IWSDUdpMessageParametersVtbl;
 674
 675interface IWSDUdpMessageParameters {
 676    CONST_VTBL IWSDUdpMessageParametersVtbl* lpVtbl;
 677};
 678
 679#ifdef COBJMACROS
 680#ifndef WIDL_C_INLINE_WRAPPERS
 681/*** IUnknown methods ***/
 682#define IWSDUdpMessageParameters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 683#define IWSDUdpMessageParameters_AddRef(This) (This)->lpVtbl->AddRef(This)
 684#define IWSDUdpMessageParameters_Release(This) (This)->lpVtbl->Release(This)
 685/*** IWSDMessageParameters methods ***/
 686#define IWSDUdpMessageParameters_GetLocalAddress(This,ppAddress) (This)->lpVtbl->GetLocalAddress(This,ppAddress)
 687#define IWSDUdpMessageParameters_SetLocalAddress(This,pAddress) (This)->lpVtbl->SetLocalAddress(This,pAddress)
 688#define IWSDUdpMessageParameters_GetRemoteAddress(This,ppAddress) (This)->lpVtbl->GetRemoteAddress(This,ppAddress)
 689#define IWSDUdpMessageParameters_SetRemoteAddress(This,pAddress) (This)->lpVtbl->SetRemoteAddress(This,pAddress)
 690#define IWSDUdpMessageParameters_GetLowerParameters(This,ppTxParams) (This)->lpVtbl->GetLowerParameters(This,ppTxParams)
 691/*** IWSDUdpMessageParameters methods ***/
 692#define IWSDUdpMessageParameters_SetRetransmitParams(This,pParams) (This)->lpVtbl->SetRetransmitParams(This,pParams)
 693#define IWSDUdpMessageParameters_GetRetransmitParams(This,pParams) (This)->lpVtbl->GetRetransmitParams(This,pParams)
 694#else
 695/*** IUnknown methods ***/
 696static inline HRESULT IWSDUdpMessageParameters_QueryInterface(IWSDUdpMessageParameters* This,REFIID riid,void **ppvObject) {
 697    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 698}
 699static inline ULONG IWSDUdpMessageParameters_AddRef(IWSDUdpMessageParameters* This) {
 700    return This->lpVtbl->AddRef(This);
 701}
 702static inline ULONG IWSDUdpMessageParameters_Release(IWSDUdpMessageParameters* This) {
 703    return This->lpVtbl->Release(This);
 704}
 705/*** IWSDMessageParameters methods ***/
 706static inline HRESULT IWSDUdpMessageParameters_GetLocalAddress(IWSDUdpMessageParameters* This,IWSDAddress **ppAddress) {
 707    return This->lpVtbl->GetLocalAddress(This,ppAddress);
 708}
 709static inline HRESULT IWSDUdpMessageParameters_SetLocalAddress(IWSDUdpMessageParameters* This,IWSDAddress *pAddress) {
 710    return This->lpVtbl->SetLocalAddress(This,pAddress);
 711}
 712static inline HRESULT IWSDUdpMessageParameters_GetRemoteAddress(IWSDUdpMessageParameters* This,IWSDAddress **ppAddress) {
 713    return This->lpVtbl->GetRemoteAddress(This,ppAddress);
 714}
 715static inline HRESULT IWSDUdpMessageParameters_SetRemoteAddress(IWSDUdpMessageParameters* This,IWSDAddress *pAddress) {
 716    return This->lpVtbl->SetRemoteAddress(This,pAddress);
 717}
 718static inline HRESULT IWSDUdpMessageParameters_GetLowerParameters(IWSDUdpMessageParameters* This,IWSDMessageParameters **ppTxParams) {
 719    return This->lpVtbl->GetLowerParameters(This,ppTxParams);
 720}
 721/*** IWSDUdpMessageParameters methods ***/
 722static inline HRESULT IWSDUdpMessageParameters_SetRetransmitParams(IWSDUdpMessageParameters* This,const WSDUdpRetransmitParams *pParams) {
 723    return This->lpVtbl->SetRetransmitParams(This,pParams);
 724}
 725static inline HRESULT IWSDUdpMessageParameters_GetRetransmitParams(IWSDUdpMessageParameters* This,WSDUdpRetransmitParams *pParams) {
 726    return This->lpVtbl->GetRetransmitParams(This,pParams);
 727}
 728#endif
 729#endif
 730
 731#endif
 732
 733
 734#endif  /* __IWSDUdpMessageParameters_INTERFACE_DEFINED__ */
 735
 736HRESULT WINAPI
 737WSDCreateUdpAddress(
 738 IWSDUdpAddress** ppAddress);
 739#if 1
 740
 741#ifndef __CSADDR_DEFINED__
 742struct SOCKADDR_STORAGE;
 743#endif
 744#else
 745typedef void SOCKADDR_STORAGE;
 746#endif
 747typedef enum _WSDUdpMessageType {
 748    ONE_WAY = 0,
 749    TWO_WAY = 1
 750} WSDUdpMessageType;
 751/*****************************************************************************
 752 * IWSDUdpAddress interface
 753 */
 754#ifndef __IWSDUdpAddress_INTERFACE_DEFINED__
 755#define __IWSDUdpAddress_INTERFACE_DEFINED__
 756
 757DEFINE_GUID(IID_IWSDUdpAddress, 0x74d6124a, 0xa441, 0x4f78, 0xa1,0xeb, 0x97,0xa8,0xd1,0x99,0x68,0x93);
 758#if defined(__cplusplus) && !defined(CINTERFACE)
 759MIDL_INTERFACE("74d6124a-a441-4f78-a1eb-97a8d1996893")
 760IWSDUdpAddress : public IWSDTransportAddress
 761{
 762    virtual HRESULT STDMETHODCALLTYPE SetSockaddr(
 763        const SOCKADDR_STORAGE *pSockAddr) = 0;
 764
 765    virtual HRESULT STDMETHODCALLTYPE GetSockaddr(
 766        SOCKADDR_STORAGE *pSockAddr) = 0;
 767
 768    virtual HRESULT STDMETHODCALLTYPE SetExclusive(
 769        WINBOOL fExclusive) = 0;
 770
 771    virtual HRESULT STDMETHODCALLTYPE GetExclusive(
 772        ) = 0;
 773
 774    virtual HRESULT STDMETHODCALLTYPE SetMessageType(
 775        WSDUdpMessageType messageType) = 0;
 776
 777    virtual HRESULT STDMETHODCALLTYPE GetMessageType(
 778        WSDUdpMessageType *pMessageType) = 0;
 779
 780    virtual HRESULT STDMETHODCALLTYPE SetTTL(
 781        DWORD dwTTL) = 0;
 782
 783    virtual HRESULT STDMETHODCALLTYPE GetTTL(
 784        DWORD *pdwTTL) = 0;
 785
 786    virtual HRESULT STDMETHODCALLTYPE SetAlias(
 787        const GUID *pAlias) = 0;
 788
 789    virtual HRESULT STDMETHODCALLTYPE GetAlias(
 790        GUID *pAlias) = 0;
 791
 792};
 793#ifdef __CRT_UUID_DECL
 794__CRT_UUID_DECL(IWSDUdpAddress, 0x74d6124a, 0xa441, 0x4f78, 0xa1,0xeb, 0x97,0xa8,0xd1,0x99,0x68,0x93)
 795#endif
 796#else
 797typedef struct IWSDUdpAddressVtbl {
 798    BEGIN_INTERFACE
 799
 800    /*** IUnknown methods ***/
 801    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 802        IWSDUdpAddress *This,
 803        REFIID riid,
 804        void **ppvObject);
 805
 806    ULONG (STDMETHODCALLTYPE *AddRef)(
 807        IWSDUdpAddress *This);
 808
 809    ULONG (STDMETHODCALLTYPE *Release)(
 810        IWSDUdpAddress *This);
 811
 812    /*** IWSDAddress methods ***/
 813    HRESULT (STDMETHODCALLTYPE *Serialize)(
 814        IWSDUdpAddress *This,
 815        LPWSTR pszBuffer,
 816        DWORD cchLength,
 817        WINBOOL fSafe);
 818
 819    HRESULT (STDMETHODCALLTYPE *Deserialize)(
 820        IWSDUdpAddress *This,
 821        LPCWSTR pszBuffer);
 822
 823    /*** IWSDTransportAddress methods ***/
 824    HRESULT (STDMETHODCALLTYPE *GetPort)(
 825        IWSDUdpAddress *This,
 826        WORD *pwPort);
 827
 828    HRESULT (STDMETHODCALLTYPE *SetPort)(
 829        IWSDUdpAddress *This,
 830        WORD wPort);
 831
 832    HRESULT (STDMETHODCALLTYPE *GetTransportAddress)(
 833        IWSDUdpAddress *This,
 834        LPCWSTR *ppszAddress);
 835
 836    HRESULT (STDMETHODCALLTYPE *GetTransportAddressEx)(
 837        IWSDUdpAddress *This,
 838        WINBOOL fSafe,
 839        LPCWSTR *ppszAddress);
 840
 841    HRESULT (STDMETHODCALLTYPE *SetTransportAddress)(
 842        IWSDUdpAddress *This,
 843        LPCWSTR pszAddress);
 844
 845    /*** IWSDUdpAddress methods ***/
 846    HRESULT (STDMETHODCALLTYPE *SetSockaddr)(
 847        IWSDUdpAddress *This,
 848        const SOCKADDR_STORAGE *pSockAddr);
 849
 850    HRESULT (STDMETHODCALLTYPE *GetSockaddr)(
 851        IWSDUdpAddress *This,
 852        SOCKADDR_STORAGE *pSockAddr);
 853
 854    HRESULT (STDMETHODCALLTYPE *SetExclusive)(
 855        IWSDUdpAddress *This,
 856        WINBOOL fExclusive);
 857
 858    HRESULT (STDMETHODCALLTYPE *GetExclusive)(
 859        IWSDUdpAddress *This);
 860
 861    HRESULT (STDMETHODCALLTYPE *SetMessageType)(
 862        IWSDUdpAddress *This,
 863        WSDUdpMessageType messageType);
 864
 865    HRESULT (STDMETHODCALLTYPE *GetMessageType)(
 866        IWSDUdpAddress *This,
 867        WSDUdpMessageType *pMessageType);
 868
 869    HRESULT (STDMETHODCALLTYPE *SetTTL)(
 870        IWSDUdpAddress *This,
 871        DWORD dwTTL);
 872
 873    HRESULT (STDMETHODCALLTYPE *GetTTL)(
 874        IWSDUdpAddress *This,
 875        DWORD *pdwTTL);
 876
 877    HRESULT (STDMETHODCALLTYPE *SetAlias)(
 878        IWSDUdpAddress *This,
 879        const GUID *pAlias);
 880
 881    HRESULT (STDMETHODCALLTYPE *GetAlias)(
 882        IWSDUdpAddress *This,
 883        GUID *pAlias);
 884
 885    END_INTERFACE
 886} IWSDUdpAddressVtbl;
 887
 888interface IWSDUdpAddress {
 889    CONST_VTBL IWSDUdpAddressVtbl* lpVtbl;
 890};
 891
 892#ifdef COBJMACROS
 893#ifndef WIDL_C_INLINE_WRAPPERS
 894/*** IUnknown methods ***/
 895#define IWSDUdpAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 896#define IWSDUdpAddress_AddRef(This) (This)->lpVtbl->AddRef(This)
 897#define IWSDUdpAddress_Release(This) (This)->lpVtbl->Release(This)
 898/*** IWSDAddress methods ***/
 899#define IWSDUdpAddress_Serialize(This,pszBuffer,cchLength,fSafe) (This)->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe)
 900#define IWSDUdpAddress_Deserialize(This,pszBuffer) (This)->lpVtbl->Deserialize(This,pszBuffer)
 901/*** IWSDTransportAddress methods ***/
 902#define IWSDUdpAddress_GetPort(This,pwPort) (This)->lpVtbl->GetPort(This,pwPort)
 903#define IWSDUdpAddress_SetPort(This,wPort) (This)->lpVtbl->SetPort(This,wPort)
 904#define IWSDUdpAddress_GetTransportAddress(This,ppszAddress) (This)->lpVtbl->GetTransportAddress(This,ppszAddress)
 905#define IWSDUdpAddress_GetTransportAddressEx(This,fSafe,ppszAddress) (This)->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress)
 906#define IWSDUdpAddress_SetTransportAddress(This,pszAddress) (This)->lpVtbl->SetTransportAddress(This,pszAddress)
 907/*** IWSDUdpAddress methods ***/
 908#define IWSDUdpAddress_SetSockaddr(This,pSockAddr) (This)->lpVtbl->SetSockaddr(This,pSockAddr)
 909#define IWSDUdpAddress_GetSockaddr(This,pSockAddr) (This)->lpVtbl->GetSockaddr(This,pSockAddr)
 910#define IWSDUdpAddress_SetExclusive(This,fExclusive) (This)->lpVtbl->SetExclusive(This,fExclusive)
 911#define IWSDUdpAddress_GetExclusive(This) (This)->lpVtbl->GetExclusive(This)
 912#define IWSDUdpAddress_SetMessageType(This,messageType) (This)->lpVtbl->SetMessageType(This,messageType)
 913#define IWSDUdpAddress_GetMessageType(This,pMessageType) (This)->lpVtbl->GetMessageType(This,pMessageType)
 914#define IWSDUdpAddress_SetTTL(This,dwTTL) (This)->lpVtbl->SetTTL(This,dwTTL)
 915#define IWSDUdpAddress_GetTTL(This,pdwTTL) (This)->lpVtbl->GetTTL(This,pdwTTL)
 916#define IWSDUdpAddress_SetAlias(This,pAlias) (This)->lpVtbl->SetAlias(This,pAlias)
 917#define IWSDUdpAddress_GetAlias(This,pAlias) (This)->lpVtbl->GetAlias(This,pAlias)
 918#else
 919/*** IUnknown methods ***/
 920static inline HRESULT IWSDUdpAddress_QueryInterface(IWSDUdpAddress* This,REFIID riid,void **ppvObject) {
 921    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 922}
 923static inline ULONG IWSDUdpAddress_AddRef(IWSDUdpAddress* This) {
 924    return This->lpVtbl->AddRef(This);
 925}
 926static inline ULONG IWSDUdpAddress_Release(IWSDUdpAddress* This) {
 927    return This->lpVtbl->Release(This);
 928}
 929/*** IWSDAddress methods ***/
 930static inline HRESULT IWSDUdpAddress_Serialize(IWSDUdpAddress* This,LPWSTR pszBuffer,DWORD cchLength,WINBOOL fSafe) {
 931    return This->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe);
 932}
 933static inline HRESULT IWSDUdpAddress_Deserialize(IWSDUdpAddress* This,LPCWSTR pszBuffer) {
 934    return This->lpVtbl->Deserialize(This,pszBuffer);
 935}
 936/*** IWSDTransportAddress methods ***/
 937static inline HRESULT IWSDUdpAddress_GetPort(IWSDUdpAddress* This,WORD *pwPort) {
 938    return This->lpVtbl->GetPort(This,pwPort);
 939}
 940static inline HRESULT IWSDUdpAddress_SetPort(IWSDUdpAddress* This,WORD wPort) {
 941    return This->lpVtbl->SetPort(This,wPort);
 942}
 943static inline HRESULT IWSDUdpAddress_GetTransportAddress(IWSDUdpAddress* This,LPCWSTR *ppszAddress) {
 944    return This->lpVtbl->GetTransportAddress(This,ppszAddress);
 945}
 946static inline HRESULT IWSDUdpAddress_GetTransportAddressEx(IWSDUdpAddress* This,WINBOOL fSafe,LPCWSTR *ppszAddress) {
 947    return This->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress);
 948}
 949static inline HRESULT IWSDUdpAddress_SetTransportAddress(IWSDUdpAddress* This,LPCWSTR pszAddress) {
 950    return This->lpVtbl->SetTransportAddress(This,pszAddress);
 951}
 952/*** IWSDUdpAddress methods ***/
 953static inline HRESULT IWSDUdpAddress_SetSockaddr(IWSDUdpAddress* This,const SOCKADDR_STORAGE *pSockAddr) {
 954    return This->lpVtbl->SetSockaddr(This,pSockAddr);
 955}
 956static inline HRESULT IWSDUdpAddress_GetSockaddr(IWSDUdpAddress* This,SOCKADDR_STORAGE *pSockAddr) {
 957    return This->lpVtbl->GetSockaddr(This,pSockAddr);
 958}
 959static inline HRESULT IWSDUdpAddress_SetExclusive(IWSDUdpAddress* This,WINBOOL fExclusive) {
 960    return This->lpVtbl->SetExclusive(This,fExclusive);
 961}
 962static inline HRESULT IWSDUdpAddress_GetExclusive(IWSDUdpAddress* This) {
 963    return This->lpVtbl->GetExclusive(This);
 964}
 965static inline HRESULT IWSDUdpAddress_SetMessageType(IWSDUdpAddress* This,WSDUdpMessageType messageType) {
 966    return This->lpVtbl->SetMessageType(This,messageType);
 967}
 968static inline HRESULT IWSDUdpAddress_GetMessageType(IWSDUdpAddress* This,WSDUdpMessageType *pMessageType) {
 969    return This->lpVtbl->GetMessageType(This,pMessageType);
 970}
 971static inline HRESULT IWSDUdpAddress_SetTTL(IWSDUdpAddress* This,DWORD dwTTL) {
 972    return This->lpVtbl->SetTTL(This,dwTTL);
 973}
 974static inline HRESULT IWSDUdpAddress_GetTTL(IWSDUdpAddress* This,DWORD *pdwTTL) {
 975    return This->lpVtbl->GetTTL(This,pdwTTL);
 976}
 977static inline HRESULT IWSDUdpAddress_SetAlias(IWSDUdpAddress* This,const GUID *pAlias) {
 978    return This->lpVtbl->SetAlias(This,pAlias);
 979}
 980static inline HRESULT IWSDUdpAddress_GetAlias(IWSDUdpAddress* This,GUID *pAlias) {
 981    return This->lpVtbl->GetAlias(This,pAlias);
 982}
 983#endif
 984#endif
 985
 986#endif
 987
 988
 989#endif  /* __IWSDUdpAddress_INTERFACE_DEFINED__ */
 990
 991/*****************************************************************************
 992 * IWSDHttpMessageParameters interface
 993 */
 994#ifndef __IWSDHttpMessageParameters_INTERFACE_DEFINED__
 995#define __IWSDHttpMessageParameters_INTERFACE_DEFINED__
 996
 997DEFINE_GUID(IID_IWSDHttpMessageParameters, 0x540bd122, 0x5c83, 0x4dec, 0xb3,0x96, 0xea,0x62,0xa2,0x69,0x7f,0xdf);
 998#if defined(__cplusplus) && !defined(CINTERFACE)
 999MIDL_INTERFACE("540bd122-5c83-4dec-b396-ea62a2697fdf")
1000IWSDHttpMessageParameters : public IWSDMessageParameters
1001{
1002    virtual HRESULT STDMETHODCALLTYPE SetInboundHttpHeaders(
1003        LPCWSTR pszHeaders) = 0;
1004
1005    virtual HRESULT STDMETHODCALLTYPE GetInboundHttpHeaders(
1006        LPCWSTR *ppszHeaders) = 0;
1007
1008    virtual HRESULT STDMETHODCALLTYPE SetOutboundHttpHeaders(
1009        LPCWSTR pszHeaders) = 0;
1010
1011    virtual HRESULT STDMETHODCALLTYPE GetOutboundHttpHeaders(
1012        LPCWSTR *ppszHeaders) = 0;
1013
1014    virtual HRESULT STDMETHODCALLTYPE SetID(
1015        LPCWSTR pszId) = 0;
1016
1017    virtual HRESULT STDMETHODCALLTYPE GetID(
1018        LPCWSTR *ppszId) = 0;
1019
1020    virtual HRESULT STDMETHODCALLTYPE SetContext(
1021        IUnknown *pContext) = 0;
1022
1023    virtual HRESULT STDMETHODCALLTYPE GetContext(
1024        IUnknown **ppContext) = 0;
1025
1026    virtual HRESULT STDMETHODCALLTYPE Clear(
1027        ) = 0;
1028
1029};
1030#ifdef __CRT_UUID_DECL
1031__CRT_UUID_DECL(IWSDHttpMessageParameters, 0x540bd122, 0x5c83, 0x4dec, 0xb3,0x96, 0xea,0x62,0xa2,0x69,0x7f,0xdf)
1032#endif
1033#else
1034typedef struct IWSDHttpMessageParametersVtbl {
1035    BEGIN_INTERFACE
1036
1037    /*** IUnknown methods ***/
1038    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1039        IWSDHttpMessageParameters *This,
1040        REFIID riid,
1041        void **ppvObject);
1042
1043    ULONG (STDMETHODCALLTYPE *AddRef)(
1044        IWSDHttpMessageParameters *This);
1045
1046    ULONG (STDMETHODCALLTYPE *Release)(
1047        IWSDHttpMessageParameters *This);
1048
1049    /*** IWSDMessageParameters methods ***/
1050    HRESULT (STDMETHODCALLTYPE *GetLocalAddress)(
1051        IWSDHttpMessageParameters *This,
1052        IWSDAddress **ppAddress);
1053
1054    HRESULT (STDMETHODCALLTYPE *SetLocalAddress)(
1055        IWSDHttpMessageParameters *This,
1056        IWSDAddress *pAddress);
1057
1058    HRESULT (STDMETHODCALLTYPE *GetRemoteAddress)(
1059        IWSDHttpMessageParameters *This,
1060        IWSDAddress **ppAddress);
1061
1062    HRESULT (STDMETHODCALLTYPE *SetRemoteAddress)(
1063        IWSDHttpMessageParameters *This,
1064        IWSDAddress *pAddress);
1065
1066    HRESULT (STDMETHODCALLTYPE *GetLowerParameters)(
1067        IWSDHttpMessageParameters *This,
1068        IWSDMessageParameters **ppTxParams);
1069
1070    /*** IWSDHttpMessageParameters methods ***/
1071    HRESULT (STDMETHODCALLTYPE *SetInboundHttpHeaders)(
1072        IWSDHttpMessageParameters *This,
1073        LPCWSTR pszHeaders);
1074
1075    HRESULT (STDMETHODCALLTYPE *GetInboundHttpHeaders)(
1076        IWSDHttpMessageParameters *This,
1077        LPCWSTR *ppszHeaders);
1078
1079    HRESULT (STDMETHODCALLTYPE *SetOutboundHttpHeaders)(
1080        IWSDHttpMessageParameters *This,
1081        LPCWSTR pszHeaders);
1082
1083    HRESULT (STDMETHODCALLTYPE *GetOutboundHttpHeaders)(
1084        IWSDHttpMessageParameters *This,
1085        LPCWSTR *ppszHeaders);
1086
1087    HRESULT (STDMETHODCALLTYPE *SetID)(
1088        IWSDHttpMessageParameters *This,
1089        LPCWSTR pszId);
1090
1091    HRESULT (STDMETHODCALLTYPE *GetID)(
1092        IWSDHttpMessageParameters *This,
1093        LPCWSTR *ppszId);
1094
1095    HRESULT (STDMETHODCALLTYPE *SetContext)(
1096        IWSDHttpMessageParameters *This,
1097        IUnknown *pContext);
1098
1099    HRESULT (STDMETHODCALLTYPE *GetContext)(
1100        IWSDHttpMessageParameters *This,
1101        IUnknown **ppContext);
1102
1103    HRESULT (STDMETHODCALLTYPE *Clear)(
1104        IWSDHttpMessageParameters *This);
1105
1106    END_INTERFACE
1107} IWSDHttpMessageParametersVtbl;
1108
1109interface IWSDHttpMessageParameters {
1110    CONST_VTBL IWSDHttpMessageParametersVtbl* lpVtbl;
1111};
1112
1113#ifdef COBJMACROS
1114#ifndef WIDL_C_INLINE_WRAPPERS
1115/*** IUnknown methods ***/
1116#define IWSDHttpMessageParameters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1117#define IWSDHttpMessageParameters_AddRef(This) (This)->lpVtbl->AddRef(This)
1118#define IWSDHttpMessageParameters_Release(This) (This)->lpVtbl->Release(This)
1119/*** IWSDMessageParameters methods ***/
1120#define IWSDHttpMessageParameters_GetLocalAddress(This,ppAddress) (This)->lpVtbl->GetLocalAddress(This,ppAddress)
1121#define IWSDHttpMessageParameters_SetLocalAddress(This,pAddress) (This)->lpVtbl->SetLocalAddress(This,pAddress)
1122#define IWSDHttpMessageParameters_GetRemoteAddress(This,ppAddress) (This)->lpVtbl->GetRemoteAddress(This,ppAddress)
1123#define IWSDHttpMessageParameters_SetRemoteAddress(This,pAddress) (This)->lpVtbl->SetRemoteAddress(This,pAddress)
1124#define IWSDHttpMessageParameters_GetLowerParameters(This,ppTxParams) (This)->lpVtbl->GetLowerParameters(This,ppTxParams)
1125/*** IWSDHttpMessageParameters methods ***/
1126#define IWSDHttpMessageParameters_SetInboundHttpHeaders(This,pszHeaders) (This)->lpVtbl->SetInboundHttpHeaders(This,pszHeaders)
1127#define IWSDHttpMessageParameters_GetInboundHttpHeaders(This,ppszHeaders) (This)->lpVtbl->GetInboundHttpHeaders(This,ppszHeaders)
1128#define IWSDHttpMessageParameters_SetOutboundHttpHeaders(This,pszHeaders) (This)->lpVtbl->SetOutboundHttpHeaders(This,pszHeaders)
1129#define IWSDHttpMessageParameters_GetOutboundHttpHeaders(This,ppszHeaders) (This)->lpVtbl->GetOutboundHttpHeaders(This,ppszHeaders)
1130#define IWSDHttpMessageParameters_SetID(This,pszId) (This)->lpVtbl->SetID(This,pszId)
1131#define IWSDHttpMessageParameters_GetID(This,ppszId) (This)->lpVtbl->GetID(This,ppszId)
1132#define IWSDHttpMessageParameters_SetContext(This,pContext) (This)->lpVtbl->SetContext(This,pContext)
1133#define IWSDHttpMessageParameters_GetContext(This,ppContext) (This)->lpVtbl->GetContext(This,ppContext)
1134#define IWSDHttpMessageParameters_Clear(This) (This)->lpVtbl->Clear(This)
1135#else
1136/*** IUnknown methods ***/
1137static inline HRESULT IWSDHttpMessageParameters_QueryInterface(IWSDHttpMessageParameters* This,REFIID riid,void **ppvObject) {
1138    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1139}
1140static inline ULONG IWSDHttpMessageParameters_AddRef(IWSDHttpMessageParameters* This) {
1141    return This->lpVtbl->AddRef(This);
1142}
1143static inline ULONG IWSDHttpMessageParameters_Release(IWSDHttpMessageParameters* This) {
1144    return This->lpVtbl->Release(This);
1145}
1146/*** IWSDMessageParameters methods ***/
1147static inline HRESULT IWSDHttpMessageParameters_GetLocalAddress(IWSDHttpMessageParameters* This,IWSDAddress **ppAddress) {
1148    return This->lpVtbl->GetLocalAddress(This,ppAddress);
1149}
1150static inline HRESULT IWSDHttpMessageParameters_SetLocalAddress(IWSDHttpMessageParameters* This,IWSDAddress *pAddress) {
1151    return This->lpVtbl->SetLocalAddress(This,pAddress);
1152}
1153static inline HRESULT IWSDHttpMessageParameters_GetRemoteAddress(IWSDHttpMessageParameters* This,IWSDAddress **ppAddress) {
1154    return This->lpVtbl->GetRemoteAddress(This,ppAddress);
1155}
1156static inline HRESULT IWSDHttpMessageParameters_SetRemoteAddress(IWSDHttpMessageParameters* This,IWSDAddress *pAddress) {
1157    return This->lpVtbl->SetRemoteAddress(This,pAddress);
1158}
1159static inline HRESULT IWSDHttpMessageParameters_GetLowerParameters(IWSDHttpMessageParameters* This,IWSDMessageParameters **ppTxParams) {
1160    return This->lpVtbl->GetLowerParameters(This,ppTxParams);
1161}
1162/*** IWSDHttpMessageParameters methods ***/
1163static inline HRESULT IWSDHttpMessageParameters_SetInboundHttpHeaders(IWSDHttpMessageParameters* This,LPCWSTR pszHeaders) {
1164    return This->lpVtbl->SetInboundHttpHeaders(This,pszHeaders);
1165}
1166static inline HRESULT IWSDHttpMessageParameters_GetInboundHttpHeaders(IWSDHttpMessageParameters* This,LPCWSTR *ppszHeaders) {
1167    return This->lpVtbl->GetInboundHttpHeaders(This,ppszHeaders);
1168}
1169static inline HRESULT IWSDHttpMessageParameters_SetOutboundHttpHeaders(IWSDHttpMessageParameters* This,LPCWSTR pszHeaders) {
1170    return This->lpVtbl->SetOutboundHttpHeaders(This,pszHeaders);
1171}
1172static inline HRESULT IWSDHttpMessageParameters_GetOutboundHttpHeaders(IWSDHttpMessageParameters* This,LPCWSTR *ppszHeaders) {
1173    return This->lpVtbl->GetOutboundHttpHeaders(This,ppszHeaders);
1174}
1175static inline HRESULT IWSDHttpMessageParameters_SetID(IWSDHttpMessageParameters* This,LPCWSTR pszId) {
1176    return This->lpVtbl->SetID(This,pszId);
1177}
1178static inline HRESULT IWSDHttpMessageParameters_GetID(IWSDHttpMessageParameters* This,LPCWSTR *ppszId) {
1179    return This->lpVtbl->GetID(This,ppszId);
1180}
1181static inline HRESULT IWSDHttpMessageParameters_SetContext(IWSDHttpMessageParameters* This,IUnknown *pContext) {
1182    return This->lpVtbl->SetContext(This,pContext);
1183}
1184static inline HRESULT IWSDHttpMessageParameters_GetContext(IWSDHttpMessageParameters* This,IUnknown **ppContext) {
1185    return This->lpVtbl->GetContext(This,ppContext);
1186}
1187static inline HRESULT IWSDHttpMessageParameters_Clear(IWSDHttpMessageParameters* This) {
1188    return This->lpVtbl->Clear(This);
1189}
1190#endif
1191#endif
1192
1193#endif
1194
1195
1196#endif  /* __IWSDHttpMessageParameters_INTERFACE_DEFINED__ */
1197
1198/*****************************************************************************
1199 * IWSDHttpAddress interface
1200 */
1201#ifndef __IWSDHttpAddress_INTERFACE_DEFINED__
1202#define __IWSDHttpAddress_INTERFACE_DEFINED__
1203
1204DEFINE_GUID(IID_IWSDHttpAddress, 0xd09ac7bd, 0x2a3e, 0x4b85, 0x86,0x05, 0x27,0x37,0xff,0x3e,0x4e,0xa0);
1205#if defined(__cplusplus) && !defined(CINTERFACE)
1206MIDL_INTERFACE("d09ac7bd-2a3e-4b85-8605-2737ff3e4ea0")
1207IWSDHttpAddress : public IWSDTransportAddress
1208{
1209    virtual HRESULT STDMETHODCALLTYPE GetSecure(
1210        ) = 0;
1211
1212    virtual HRESULT STDMETHODCALLTYPE SetSecure(
1213        WINBOOL fSecure) = 0;
1214
1215    virtual HRESULT STDMETHODCALLTYPE GetPath(
1216        LPCWSTR *ppszPath) = 0;
1217
1218    virtual HRESULT STDMETHODCALLTYPE SetPath(
1219        LPCWSTR pszPath) = 0;
1220
1221};
1222#ifdef __CRT_UUID_DECL
1223__CRT_UUID_DECL(IWSDHttpAddress, 0xd09ac7bd, 0x2a3e, 0x4b85, 0x86,0x05, 0x27,0x37,0xff,0x3e,0x4e,0xa0)
1224#endif
1225#else
1226typedef struct IWSDHttpAddressVtbl {
1227    BEGIN_INTERFACE
1228
1229    /*** IUnknown methods ***/
1230    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1231        IWSDHttpAddress *This,
1232        REFIID riid,
1233        void **ppvObject);
1234
1235    ULONG (STDMETHODCALLTYPE *AddRef)(
1236        IWSDHttpAddress *This);
1237
1238    ULONG (STDMETHODCALLTYPE *Release)(
1239        IWSDHttpAddress *This);
1240
1241    /*** IWSDAddress methods ***/
1242    HRESULT (STDMETHODCALLTYPE *Serialize)(
1243        IWSDHttpAddress *This,
1244        LPWSTR pszBuffer,
1245        DWORD cchLength,
1246        WINBOOL fSafe);
1247
1248    HRESULT (STDMETHODCALLTYPE *Deserialize)(
1249        IWSDHttpAddress *This,
1250        LPCWSTR pszBuffer);
1251
1252    /*** IWSDTransportAddress methods ***/
1253    HRESULT (STDMETHODCALLTYPE *GetPort)(
1254        IWSDHttpAddress *This,
1255        WORD *pwPort);
1256
1257    HRESULT (STDMETHODCALLTYPE *SetPort)(
1258        IWSDHttpAddress *This,
1259        WORD wPort);
1260
1261    HRESULT (STDMETHODCALLTYPE *GetTransportAddress)(
1262        IWSDHttpAddress *This,
1263        LPCWSTR *ppszAddress);
1264
1265    HRESULT (STDMETHODCALLTYPE *GetTransportAddressEx)(
1266        IWSDHttpAddress *This,
1267        WINBOOL fSafe,
1268        LPCWSTR *ppszAddress);
1269
1270    HRESULT (STDMETHODCALLTYPE *SetTransportAddress)(
1271        IWSDHttpAddress *This,
1272        LPCWSTR pszAddress);
1273
1274    /*** IWSDHttpAddress methods ***/
1275    HRESULT (STDMETHODCALLTYPE *GetSecure)(
1276        IWSDHttpAddress *This);
1277
1278    HRESULT (STDMETHODCALLTYPE *SetSecure)(
1279        IWSDHttpAddress *This,
1280        WINBOOL fSecure);
1281
1282    HRESULT (STDMETHODCALLTYPE *GetPath)(
1283        IWSDHttpAddress *This,
1284        LPCWSTR *ppszPath);
1285
1286    HRESULT (STDMETHODCALLTYPE *SetPath)(
1287        IWSDHttpAddress *This,
1288        LPCWSTR pszPath);
1289
1290    END_INTERFACE
1291} IWSDHttpAddressVtbl;
1292
1293interface IWSDHttpAddress {
1294    CONST_VTBL IWSDHttpAddressVtbl* lpVtbl;
1295};
1296
1297#ifdef COBJMACROS
1298#ifndef WIDL_C_INLINE_WRAPPERS
1299/*** IUnknown methods ***/
1300#define IWSDHttpAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1301#define IWSDHttpAddress_AddRef(This) (This)->lpVtbl->AddRef(This)
1302#define IWSDHttpAddress_Release(This) (This)->lpVtbl->Release(This)
1303/*** IWSDAddress methods ***/
1304#define IWSDHttpAddress_Serialize(This,pszBuffer,cchLength,fSafe) (This)->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe)
1305#define IWSDHttpAddress_Deserialize(This,pszBuffer) (This)->lpVtbl->Deserialize(This,pszBuffer)
1306/*** IWSDTransportAddress methods ***/
1307#define IWSDHttpAddress_GetPort(This,pwPort) (This)->lpVtbl->GetPort(This,pwPort)
1308#define IWSDHttpAddress_SetPort(This,wPort) (This)->lpVtbl->SetPort(This,wPort)
1309#define IWSDHttpAddress_GetTransportAddress(This,ppszAddress) (This)->lpVtbl->GetTransportAddress(This,ppszAddress)
1310#define IWSDHttpAddress_GetTransportAddressEx(This,fSafe,ppszAddress) (This)->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress)
1311#define IWSDHttpAddress_SetTransportAddress(This,pszAddress) (This)->lpVtbl->SetTransportAddress(This,pszAddress)
1312/*** IWSDHttpAddress methods ***/
1313#define IWSDHttpAddress_GetSecure(This) (This)->lpVtbl->GetSecure(This)
1314#define IWSDHttpAddress_SetSecure(This,fSecure) (This)->lpVtbl->SetSecure(This,fSecure)
1315#define IWSDHttpAddress_GetPath(This,ppszPath) (This)->lpVtbl->GetPath(This,ppszPath)
1316#define IWSDHttpAddress_SetPath(This,pszPath) (This)->lpVtbl->SetPath(This,pszPath)
1317#else
1318/*** IUnknown methods ***/
1319static inline HRESULT IWSDHttpAddress_QueryInterface(IWSDHttpAddress* This,REFIID riid,void **ppvObject) {
1320    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1321}
1322static inline ULONG IWSDHttpAddress_AddRef(IWSDHttpAddress* This) {
1323    return This->lpVtbl->AddRef(This);
1324}
1325static inline ULONG IWSDHttpAddress_Release(IWSDHttpAddress* This) {
1326    return This->lpVtbl->Release(This);
1327}
1328/*** IWSDAddress methods ***/
1329static inline HRESULT IWSDHttpAddress_Serialize(IWSDHttpAddress* This,LPWSTR pszBuffer,DWORD cchLength,WINBOOL fSafe) {
1330    return This->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe);
1331}
1332static inline HRESULT IWSDHttpAddress_Deserialize(IWSDHttpAddress* This,LPCWSTR pszBuffer) {
1333    return This->lpVtbl->Deserialize(This,pszBuffer);
1334}
1335/*** IWSDTransportAddress methods ***/
1336static inline HRESULT IWSDHttpAddress_GetPort(IWSDHttpAddress* This,WORD *pwPort) {
1337    return This->lpVtbl->GetPort(This,pwPort);
1338}
1339static inline HRESULT IWSDHttpAddress_SetPort(IWSDHttpAddress* This,WORD wPort) {
1340    return This->lpVtbl->SetPort(This,wPort);
1341}
1342static inline HRESULT IWSDHttpAddress_GetTransportAddress(IWSDHttpAddress* This,LPCWSTR *ppszAddress) {
1343    return This->lpVtbl->GetTransportAddress(This,ppszAddress);
1344}
1345static inline HRESULT IWSDHttpAddress_GetTransportAddressEx(IWSDHttpAddress* This,WINBOOL fSafe,LPCWSTR *ppszAddress) {
1346    return This->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress);
1347}
1348static inline HRESULT IWSDHttpAddress_SetTransportAddress(IWSDHttpAddress* This,LPCWSTR pszAddress) {
1349    return This->lpVtbl->SetTransportAddress(This,pszAddress);
1350}
1351/*** IWSDHttpAddress methods ***/
1352static inline HRESULT IWSDHttpAddress_GetSecure(IWSDHttpAddress* This) {
1353    return This->lpVtbl->GetSecure(This);
1354}
1355static inline HRESULT IWSDHttpAddress_SetSecure(IWSDHttpAddress* This,WINBOOL fSecure) {
1356    return This->lpVtbl->SetSecure(This,fSecure);
1357}
1358static inline HRESULT IWSDHttpAddress_GetPath(IWSDHttpAddress* This,LPCWSTR *ppszPath) {
1359    return This->lpVtbl->GetPath(This,ppszPath);
1360}
1361static inline HRESULT IWSDHttpAddress_SetPath(IWSDHttpAddress* This,LPCWSTR pszPath) {
1362    return This->lpVtbl->SetPath(This,pszPath);
1363}
1364#endif
1365#endif
1366
1367#endif
1368
1369
1370#endif  /* __IWSDHttpAddress_INTERFACE_DEFINED__ */
1371
1372#if WINVER >= 0x601
1373/*****************************************************************************
1374 * IWSDSSLClientCertificate interface
1375 */
1376#ifndef __IWSDSSLClientCertificate_INTERFACE_DEFINED__
1377#define __IWSDSSLClientCertificate_INTERFACE_DEFINED__
1378
1379DEFINE_GUID(IID_IWSDSSLClientCertificate, 0xde105e87, 0xa0da, 0x418e, 0x98,0xad, 0x27,0xb9,0xee,0xd8,0x7b,0xdc);
1380#if defined(__cplusplus) && !defined(CINTERFACE)
1381MIDL_INTERFACE("de105e87-a0da-418e-98ad-27b9eed87bdc")
1382IWSDSSLClientCertificate : public IUnknown
1383{
1384    virtual HRESULT STDMETHODCALLTYPE GetClientCertificate(
1385        PCCERT_CONTEXT *ppCertContext) = 0;
1386
1387    virtual HRESULT STDMETHODCALLTYPE GetMappedAccessToken(
1388        HANDLE *phToken) = 0;
1389
1390};
1391#ifdef __CRT_UUID_DECL
1392__CRT_UUID_DECL(IWSDSSLClientCertificate, 0xde105e87, 0xa0da, 0x418e, 0x98,0xad, 0x27,0xb9,0xee,0xd8,0x7b,0xdc)
1393#endif
1394#else
1395typedef struct IWSDSSLClientCertificateVtbl {
1396    BEGIN_INTERFACE
1397
1398    /*** IUnknown methods ***/
1399    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1400        IWSDSSLClientCertificate *This,
1401        REFIID riid,
1402        void **ppvObject);
1403
1404    ULONG (STDMETHODCALLTYPE *AddRef)(
1405        IWSDSSLClientCertificate *This);
1406
1407    ULONG (STDMETHODCALLTYPE *Release)(
1408        IWSDSSLClientCertificate *This);
1409
1410    /*** IWSDSSLClientCertificate methods ***/
1411    HRESULT (STDMETHODCALLTYPE *GetClientCertificate)(
1412        IWSDSSLClientCertificate *This,
1413        PCCERT_CONTEXT *ppCertContext);
1414
1415    HRESULT (STDMETHODCALLTYPE *GetMappedAccessToken)(
1416        IWSDSSLClientCertificate *This,
1417        HANDLE *phToken);
1418
1419    END_INTERFACE
1420} IWSDSSLClientCertificateVtbl;
1421
1422interface IWSDSSLClientCertificate {
1423    CONST_VTBL IWSDSSLClientCertificateVtbl* lpVtbl;
1424};
1425
1426#ifdef COBJMACROS
1427#ifndef WIDL_C_INLINE_WRAPPERS
1428/*** IUnknown methods ***/
1429#define IWSDSSLClientCertificate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1430#define IWSDSSLClientCertificate_AddRef(This) (This)->lpVtbl->AddRef(This)
1431#define IWSDSSLClientCertificate_Release(This) (This)->lpVtbl->Release(This)
1432/*** IWSDSSLClientCertificate methods ***/
1433#define IWSDSSLClientCertificate_GetClientCertificate(This,ppCertContext) (This)->lpVtbl->GetClientCertificate(This,ppCertContext)
1434#define IWSDSSLClientCertificate_GetMappedAccessToken(This,phToken) (This)->lpVtbl->GetMappedAccessToken(This,phToken)
1435#else
1436/*** IUnknown methods ***/
1437static inline HRESULT IWSDSSLClientCertificate_QueryInterface(IWSDSSLClientCertificate* This,REFIID riid,void **ppvObject) {
1438    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1439}
1440static inline ULONG IWSDSSLClientCertificate_AddRef(IWSDSSLClientCertificate* This) {
1441    return This->lpVtbl->AddRef(This);
1442}
1443static inline ULONG IWSDSSLClientCertificate_Release(IWSDSSLClientCertificate* This) {
1444    return This->lpVtbl->Release(This);
1445}
1446/*** IWSDSSLClientCertificate methods ***/
1447static inline HRESULT IWSDSSLClientCertificate_GetClientCertificate(IWSDSSLClientCertificate* This,PCCERT_CONTEXT *ppCertContext) {
1448    return This->lpVtbl->GetClientCertificate(This,ppCertContext);
1449}
1450static inline HRESULT IWSDSSLClientCertificate_GetMappedAccessToken(IWSDSSLClientCertificate* This,HANDLE *phToken) {
1451    return This->lpVtbl->GetMappedAccessToken(This,phToken);
1452}
1453#endif
1454#endif
1455
1456#endif
1457
1458
1459#endif  /* __IWSDSSLClientCertificate_INTERFACE_DEFINED__ */
1460
1461/*****************************************************************************
1462 * IWSDHttpAuthParameters interface
1463 */
1464#ifndef __IWSDHttpAuthParameters_INTERFACE_DEFINED__
1465#define __IWSDHttpAuthParameters_INTERFACE_DEFINED__
1466
1467DEFINE_GUID(IID_IWSDHttpAuthParameters, 0x0b476df0, 0x8dac, 0x480d, 0xb0,0x5c, 0x99,0x78,0x1a,0x58,0x84,0xaa);
1468#if defined(__cplusplus) && !defined(CINTERFACE)
1469MIDL_INTERFACE("0b476df0-8dac-480d-b05c-99781a5884aa")
1470IWSDHttpAuthParameters : public IUnknown
1471{
1472    virtual HRESULT STDMETHODCALLTYPE GetClientAccessToken(
1473        HANDLE *phToken) = 0;
1474
1475    virtual HRESULT STDMETHODCALLTYPE GetAuthType(
1476        PWSD_SECURITY_HTTP_AUTH_SCHEMES pAuthType) = 0;
1477
1478};
1479#ifdef __CRT_UUID_DECL
1480__CRT_UUID_DECL(IWSDHttpAuthParameters, 0x0b476df0, 0x8dac, 0x480d, 0xb0,0x5c, 0x99,0x78,0x1a,0x58,0x84,0xaa)
1481#endif
1482#else
1483typedef struct IWSDHttpAuthParametersVtbl {
1484    BEGIN_INTERFACE
1485
1486    /*** IUnknown methods ***/
1487    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1488        IWSDHttpAuthParameters *This,
1489        REFIID riid,
1490        void **ppvObject);
1491
1492    ULONG (STDMETHODCALLTYPE *AddRef)(
1493        IWSDHttpAuthParameters *This);
1494
1495    ULONG (STDMETHODCALLTYPE *Release)(
1496        IWSDHttpAuthParameters *This);
1497
1498    /*** IWSDHttpAuthParameters methods ***/
1499    HRESULT (STDMETHODCALLTYPE *GetClientAccessToken)(
1500        IWSDHttpAuthParameters *This,
1501        HANDLE *phToken);
1502
1503    HRESULT (STDMETHODCALLTYPE *GetAuthType)(
1504        IWSDHttpAuthParameters *This,
1505        PWSD_SECURITY_HTTP_AUTH_SCHEMES pAuthType);
1506
1507    END_INTERFACE
1508} IWSDHttpAuthParametersVtbl;
1509
1510interface IWSDHttpAuthParameters {
1511    CONST_VTBL IWSDHttpAuthParametersVtbl* lpVtbl;
1512};
1513
1514#ifdef COBJMACROS
1515#ifndef WIDL_C_INLINE_WRAPPERS
1516/*** IUnknown methods ***/
1517#define IWSDHttpAuthParameters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1518#define IWSDHttpAuthParameters_AddRef(This) (This)->lpVtbl->AddRef(This)
1519#define IWSDHttpAuthParameters_Release(This) (This)->lpVtbl->Release(This)
1520/*** IWSDHttpAuthParameters methods ***/
1521#define IWSDHttpAuthParameters_GetClientAccessToken(This,phToken) (This)->lpVtbl->GetClientAccessToken(This,phToken)
1522#define IWSDHttpAuthParameters_GetAuthType(This,pAuthType) (This)->lpVtbl->GetAuthType(This,pAuthType)
1523#else
1524/*** IUnknown methods ***/
1525static inline HRESULT IWSDHttpAuthParameters_QueryInterface(IWSDHttpAuthParameters* This,REFIID riid,void **ppvObject) {
1526    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1527}
1528static inline ULONG IWSDHttpAuthParameters_AddRef(IWSDHttpAuthParameters* This) {
1529    return This->lpVtbl->AddRef(This);
1530}
1531static inline ULONG IWSDHttpAuthParameters_Release(IWSDHttpAuthParameters* This) {
1532    return This->lpVtbl->Release(This);
1533}
1534/*** IWSDHttpAuthParameters methods ***/
1535static inline HRESULT IWSDHttpAuthParameters_GetClientAccessToken(IWSDHttpAuthParameters* This,HANDLE *phToken) {
1536    return This->lpVtbl->GetClientAccessToken(This,phToken);
1537}
1538static inline HRESULT IWSDHttpAuthParameters_GetAuthType(IWSDHttpAuthParameters* This,PWSD_SECURITY_HTTP_AUTH_SCHEMES pAuthType) {
1539    return This->lpVtbl->GetAuthType(This,pAuthType);
1540}
1541#endif
1542#endif
1543
1544#endif
1545
1546
1547#endif  /* __IWSDHttpAuthParameters_INTERFACE_DEFINED__ */
1548
1549/*****************************************************************************
1550 * IWSDSignatureProperty interface
1551 */
1552#ifndef __IWSDSignatureProperty_INTERFACE_DEFINED__
1553#define __IWSDSignatureProperty_INTERFACE_DEFINED__
1554
1555DEFINE_GUID(IID_IWSDSignatureProperty, 0x03ce20aa, 0x71c4, 0x45e2, 0xb3,0x2e, 0x37,0x66,0xc6,0x1c,0x79,0x0f);
1556#if defined(__cplusplus) && !defined(CINTERFACE)
1557MIDL_INTERFACE("03ce20aa-71c4-45e2-b32e-3766c61c790f")
1558IWSDSignatureProperty : public IUnknown
1559{
1560    virtual HRESULT STDMETHODCALLTYPE IsMessageSigned(
1561        WINBOOL *pbSigned) = 0;
1562
1563    virtual HRESULT STDMETHODCALLTYPE IsMessageSignatureTrusted(
1564        WINBOOL *pbSignatureTrusted) = 0;
1565
1566    virtual HRESULT STDMETHODCALLTYPE GetKeyInfo(
1567        BYTE *pbKeyInfo,
1568        DWORD *pdwKeyInfoSize) = 0;
1569
1570    virtual HRESULT STDMETHODCALLTYPE GetSignature(
1571        BYTE *pbSignature,
1572        DWORD *pdwSignatureSize) = 0;
1573
1574    virtual HRESULT STDMETHODCALLTYPE GetSignedInfoHash(
1575        BYTE *pbSignedInfoHash,
1576        DWORD *pdwHashSize) = 0;
1577
1578};
1579#ifdef __CRT_UUID_DECL
1580__CRT_UUID_DECL(IWSDSignatureProperty, 0x03ce20aa, 0x71c4, 0x45e2, 0xb3,0x2e, 0x37,0x66,0xc6,0x1c,0x79,0x0f)
1581#endif
1582#else
1583typedef struct IWSDSignaturePropertyVtbl {
1584    BEGIN_INTERFACE
1585
1586    /*** IUnknown methods ***/
1587    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1588        IWSDSignatureProperty *This,
1589        REFIID riid,
1590        void **ppvObject);
1591
1592    ULONG (STDMETHODCALLTYPE *AddRef)(
1593        IWSDSignatureProperty *This);
1594
1595    ULONG (STDMETHODCALLTYPE *Release)(
1596        IWSDSignatureProperty *This);
1597
1598    /*** IWSDSignatureProperty methods ***/
1599    HRESULT (STDMETHODCALLTYPE *IsMessageSigned)(
1600        IWSDSignatureProperty *This,
1601        WINBOOL *pbSigned);
1602
1603    HRESULT (STDMETHODCALLTYPE *IsMessageSignatureTrusted)(
1604        IWSDSignatureProperty *This,
1605        WINBOOL *pbSignatureTrusted);
1606
1607    HRESULT (STDMETHODCALLTYPE *GetKeyInfo)(
1608        IWSDSignatureProperty *This,
1609        BYTE *pbKeyInfo,
1610        DWORD *pdwKeyInfoSize);
1611
1612    HRESULT (STDMETHODCALLTYPE *GetSignature)(
1613        IWSDSignatureProperty *This,
1614        BYTE *pbSignature,
1615        DWORD *pdwSignatureSize);
1616
1617    HRESULT (STDMETHODCALLTYPE *GetSignedInfoHash)(
1618        IWSDSignatureProperty *This,
1619        BYTE *pbSignedInfoHash,
1620        DWORD *pdwHashSize);
1621
1622    END_INTERFACE
1623} IWSDSignaturePropertyVtbl;
1624
1625interface IWSDSignatureProperty {
1626    CONST_VTBL IWSDSignaturePropertyVtbl* lpVtbl;
1627};
1628
1629#ifdef COBJMACROS
1630#ifndef WIDL_C_INLINE_WRAPPERS
1631/*** IUnknown methods ***/
1632#define IWSDSignatureProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1633#define IWSDSignatureProperty_AddRef(This) (This)->lpVtbl->AddRef(This)
1634#define IWSDSignatureProperty_Release(This) (This)->lpVtbl->Release(This)
1635/*** IWSDSignatureProperty methods ***/
1636#define IWSDSignatureProperty_IsMessageSigned(This,pbSigned) (This)->lpVtbl->IsMessageSigned(This,pbSigned)
1637#define IWSDSignatureProperty_IsMessageSignatureTrusted(This,pbSignatureTrusted) (This)->lpVtbl->IsMessageSignatureTrusted(This,pbSignatureTrusted)
1638#define IWSDSignatureProperty_GetKeyInfo(This,pbKeyInfo,pdwKeyInfoSize) (This)->lpVtbl->GetKeyInfo(This,pbKeyInfo,pdwKeyInfoSize)
1639#define IWSDSignatureProperty_GetSignature(This,pbSignature,pdwSignatureSize) (This)->lpVtbl->GetSignature(This,pbSignature,pdwSignatureSize)
1640#define IWSDSignatureProperty_GetSignedInfoHash(This,pbSignedInfoHash,pdwHashSize) (This)->lpVtbl->GetSignedInfoHash(This,pbSignedInfoHash,pdwHashSize)
1641#else
1642/*** IUnknown methods ***/
1643static inline HRESULT IWSDSignatureProperty_QueryInterface(IWSDSignatureProperty* This,REFIID riid,void **ppvObject) {
1644    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1645}
1646static inline ULONG IWSDSignatureProperty_AddRef(IWSDSignatureProperty* This) {
1647    return This->lpVtbl->AddRef(This);
1648}
1649static inline ULONG IWSDSignatureProperty_Release(IWSDSignatureProperty* This) {
1650    return This->lpVtbl->Release(This);
1651}
1652/*** IWSDSignatureProperty methods ***/
1653static inline HRESULT IWSDSignatureProperty_IsMessageSigned(IWSDSignatureProperty* This,WINBOOL *pbSigned) {
1654    return This->lpVtbl->IsMessageSigned(This,pbSigned);
1655}
1656static inline HRESULT IWSDSignatureProperty_IsMessageSignatureTrusted(IWSDSignatureProperty* This,WINBOOL *pbSignatureTrusted) {
1657    return This->lpVtbl->IsMessageSignatureTrusted(This,pbSignatureTrusted);
1658}
1659static inline HRESULT IWSDSignatureProperty_GetKeyInfo(IWSDSignatureProperty* This,BYTE *pbKeyInfo,DWORD *pdwKeyInfoSize) {
1660    return This->lpVtbl->GetKeyInfo(This,pbKeyInfo,pdwKeyInfoSize);
1661}
1662static inline HRESULT IWSDSignatureProperty_GetSignature(IWSDSignatureProperty* This,BYTE *pbSignature,DWORD *pdwSignatureSize) {
1663    return This->lpVtbl->GetSignature(This,pbSignature,pdwSignatureSize);
1664}
1665static inline HRESULT IWSDSignatureProperty_GetSignedInfoHash(IWSDSignatureProperty* This,BYTE *pbSignedInfoHash,DWORD *pdwHashSize) {
1666    return This->lpVtbl->GetSignedInfoHash(This,pbSignedInfoHash,pdwHashSize);
1667}
1668#endif
1669#endif
1670
1671#endif
1672
1673
1674#endif  /* __IWSDSignatureProperty_INTERFACE_DEFINED__ */
1675
1676#endif
1677HRESULT WINAPI WSDCreateHttpAddress(IWSDHttpAddress **ppAdress);
1678HRESULT WINAPI WSDCreateHttpMessageParameters(IWSDHttpMessageParameters **ppTxParams);
1679#endif
1680/* Begin additional prototypes for all interfaces */
1681
1682
1683/* End additional prototypes */
1684
1685#ifdef __cplusplus
1686}
1687#endif
1688
1689#endif /* __wsdbase_h__ */