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