zig

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

wsdbase.h (62739B) - Raw


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