• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*** Autogenerated by WIDL 4.12.1 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_00000005 {
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 FORCEINLINE HRESULT IWSDAddress_QueryInterface(IWSDAddress* This,REFIID riid,void **ppvObject) {
307     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
308 }
309 static FORCEINLINE ULONG IWSDAddress_AddRef(IWSDAddress* This) {
310     return This->lpVtbl->AddRef(This);
311 }
312 static FORCEINLINE ULONG IWSDAddress_Release(IWSDAddress* This) {
313     return This->lpVtbl->Release(This);
314 }
315 /*** IWSDAddress methods ***/
316 static FORCEINLINE HRESULT IWSDAddress_Serialize(IWSDAddress* This,LPWSTR pszBuffer,DWORD cchLength,WINBOOL fSafe) {
317     return This->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe);
318 }
319 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDTransportAddress_QueryInterface(IWSDTransportAddress* This,REFIID riid,void **ppvObject) {
435     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
436 }
437 static FORCEINLINE ULONG IWSDTransportAddress_AddRef(IWSDTransportAddress* This) {
438     return This->lpVtbl->AddRef(This);
439 }
440 static FORCEINLINE ULONG IWSDTransportAddress_Release(IWSDTransportAddress* This) {
441     return This->lpVtbl->Release(This);
442 }
443 /*** IWSDAddress methods ***/
444 static FORCEINLINE HRESULT IWSDTransportAddress_Serialize(IWSDTransportAddress* This,LPWSTR pszBuffer,DWORD cchLength,WINBOOL fSafe) {
445     return This->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe);
446 }
447 static FORCEINLINE HRESULT IWSDTransportAddress_Deserialize(IWSDTransportAddress* This,LPCWSTR pszBuffer) {
448     return This->lpVtbl->Deserialize(This,pszBuffer);
449 }
450 /*** IWSDTransportAddress methods ***/
451 static FORCEINLINE HRESULT IWSDTransportAddress_GetPort(IWSDTransportAddress* This,WORD *pwPort) {
452     return This->lpVtbl->GetPort(This,pwPort);
453 }
454 static FORCEINLINE HRESULT IWSDTransportAddress_SetPort(IWSDTransportAddress* This,WORD wPort) {
455     return This->lpVtbl->SetPort(This,wPort);
456 }
457 static FORCEINLINE HRESULT IWSDTransportAddress_GetTransportAddress(IWSDTransportAddress* This,LPCWSTR *ppszAddress) {
458     return This->lpVtbl->GetTransportAddress(This,ppszAddress);
459 }
460 static FORCEINLINE HRESULT IWSDTransportAddress_GetTransportAddressEx(IWSDTransportAddress* This,WINBOOL fSafe,LPCWSTR *ppszAddress) {
461     return This->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress);
462 }
463 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDMessageParameters_QueryInterface(IWSDMessageParameters* This,REFIID riid,void **ppvObject) {
563     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
564 }
565 static FORCEINLINE ULONG IWSDMessageParameters_AddRef(IWSDMessageParameters* This) {
566     return This->lpVtbl->AddRef(This);
567 }
568 static FORCEINLINE ULONG IWSDMessageParameters_Release(IWSDMessageParameters* This) {
569     return This->lpVtbl->Release(This);
570 }
571 /*** IWSDMessageParameters methods ***/
572 static FORCEINLINE HRESULT IWSDMessageParameters_GetLocalAddress(IWSDMessageParameters* This,IWSDAddress **ppAddress) {
573     return This->lpVtbl->GetLocalAddress(This,ppAddress);
574 }
575 static FORCEINLINE HRESULT IWSDMessageParameters_SetLocalAddress(IWSDMessageParameters* This,IWSDAddress *pAddress) {
576     return This->lpVtbl->SetLocalAddress(This,pAddress);
577 }
578 static FORCEINLINE HRESULT IWSDMessageParameters_GetRemoteAddress(IWSDMessageParameters* This,IWSDAddress **ppAddress) {
579     return This->lpVtbl->GetRemoteAddress(This,ppAddress);
580 }
581 static FORCEINLINE HRESULT IWSDMessageParameters_SetRemoteAddress(IWSDMessageParameters* This,IWSDAddress *pAddress) {
582     return This->lpVtbl->SetRemoteAddress(This,pAddress);
583 }
584 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDUdpMessageParameters_QueryInterface(IWSDUdpMessageParameters* This,REFIID riid,void **ppvObject) {
697     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
698 }
699 static FORCEINLINE ULONG IWSDUdpMessageParameters_AddRef(IWSDUdpMessageParameters* This) {
700     return This->lpVtbl->AddRef(This);
701 }
702 static FORCEINLINE ULONG IWSDUdpMessageParameters_Release(IWSDUdpMessageParameters* This) {
703     return This->lpVtbl->Release(This);
704 }
705 /*** IWSDMessageParameters methods ***/
706 static FORCEINLINE HRESULT IWSDUdpMessageParameters_GetLocalAddress(IWSDUdpMessageParameters* This,IWSDAddress **ppAddress) {
707     return This->lpVtbl->GetLocalAddress(This,ppAddress);
708 }
709 static FORCEINLINE HRESULT IWSDUdpMessageParameters_SetLocalAddress(IWSDUdpMessageParameters* This,IWSDAddress *pAddress) {
710     return This->lpVtbl->SetLocalAddress(This,pAddress);
711 }
712 static FORCEINLINE HRESULT IWSDUdpMessageParameters_GetRemoteAddress(IWSDUdpMessageParameters* This,IWSDAddress **ppAddress) {
713     return This->lpVtbl->GetRemoteAddress(This,ppAddress);
714 }
715 static FORCEINLINE HRESULT IWSDUdpMessageParameters_SetRemoteAddress(IWSDUdpMessageParameters* This,IWSDAddress *pAddress) {
716     return This->lpVtbl->SetRemoteAddress(This,pAddress);
717 }
718 static FORCEINLINE HRESULT IWSDUdpMessageParameters_GetLowerParameters(IWSDUdpMessageParameters* This,IWSDMessageParameters **ppTxParams) {
719     return This->lpVtbl->GetLowerParameters(This,ppTxParams);
720 }
721 /*** IWSDUdpMessageParameters methods ***/
722 static FORCEINLINE HRESULT IWSDUdpMessageParameters_SetRetransmitParams(IWSDUdpMessageParameters* This,const WSDUdpRetransmitParams *pParams) {
723     return This->lpVtbl->SetRetransmitParams(This,pParams);
724 }
725 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDUdpAddress_QueryInterface(IWSDUdpAddress* This,REFIID riid,void **ppvObject) {
921     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
922 }
923 static FORCEINLINE ULONG IWSDUdpAddress_AddRef(IWSDUdpAddress* This) {
924     return This->lpVtbl->AddRef(This);
925 }
926 static FORCEINLINE ULONG IWSDUdpAddress_Release(IWSDUdpAddress* This) {
927     return This->lpVtbl->Release(This);
928 }
929 /*** IWSDAddress methods ***/
930 static FORCEINLINE HRESULT IWSDUdpAddress_Serialize(IWSDUdpAddress* This,LPWSTR pszBuffer,DWORD cchLength,WINBOOL fSafe) {
931     return This->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe);
932 }
933 static FORCEINLINE HRESULT IWSDUdpAddress_Deserialize(IWSDUdpAddress* This,LPCWSTR pszBuffer) {
934     return This->lpVtbl->Deserialize(This,pszBuffer);
935 }
936 /*** IWSDTransportAddress methods ***/
937 static FORCEINLINE HRESULT IWSDUdpAddress_GetPort(IWSDUdpAddress* This,WORD *pwPort) {
938     return This->lpVtbl->GetPort(This,pwPort);
939 }
940 static FORCEINLINE HRESULT IWSDUdpAddress_SetPort(IWSDUdpAddress* This,WORD wPort) {
941     return This->lpVtbl->SetPort(This,wPort);
942 }
943 static FORCEINLINE HRESULT IWSDUdpAddress_GetTransportAddress(IWSDUdpAddress* This,LPCWSTR *ppszAddress) {
944     return This->lpVtbl->GetTransportAddress(This,ppszAddress);
945 }
946 static FORCEINLINE HRESULT IWSDUdpAddress_GetTransportAddressEx(IWSDUdpAddress* This,WINBOOL fSafe,LPCWSTR *ppszAddress) {
947     return This->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress);
948 }
949 static FORCEINLINE HRESULT IWSDUdpAddress_SetTransportAddress(IWSDUdpAddress* This,LPCWSTR pszAddress) {
950     return This->lpVtbl->SetTransportAddress(This,pszAddress);
951 }
952 /*** IWSDUdpAddress methods ***/
953 static FORCEINLINE HRESULT IWSDUdpAddress_SetSockaddr(IWSDUdpAddress* This,const SOCKADDR_STORAGE *pSockAddr) {
954     return This->lpVtbl->SetSockaddr(This,pSockAddr);
955 }
956 static FORCEINLINE HRESULT IWSDUdpAddress_GetSockaddr(IWSDUdpAddress* This,SOCKADDR_STORAGE *pSockAddr) {
957     return This->lpVtbl->GetSockaddr(This,pSockAddr);
958 }
959 static FORCEINLINE HRESULT IWSDUdpAddress_SetExclusive(IWSDUdpAddress* This,WINBOOL fExclusive) {
960     return This->lpVtbl->SetExclusive(This,fExclusive);
961 }
962 static FORCEINLINE HRESULT IWSDUdpAddress_GetExclusive(IWSDUdpAddress* This) {
963     return This->lpVtbl->GetExclusive(This);
964 }
965 static FORCEINLINE HRESULT IWSDUdpAddress_SetMessageType(IWSDUdpAddress* This,WSDUdpMessageType messageType) {
966     return This->lpVtbl->SetMessageType(This,messageType);
967 }
968 static FORCEINLINE HRESULT IWSDUdpAddress_GetMessageType(IWSDUdpAddress* This,WSDUdpMessageType *pMessageType) {
969     return This->lpVtbl->GetMessageType(This,pMessageType);
970 }
971 static FORCEINLINE HRESULT IWSDUdpAddress_SetTTL(IWSDUdpAddress* This,DWORD dwTTL) {
972     return This->lpVtbl->SetTTL(This,dwTTL);
973 }
974 static FORCEINLINE HRESULT IWSDUdpAddress_GetTTL(IWSDUdpAddress* This,DWORD *pdwTTL) {
975     return This->lpVtbl->GetTTL(This,pdwTTL);
976 }
977 static FORCEINLINE HRESULT IWSDUdpAddress_SetAlias(IWSDUdpAddress* This,const GUID *pAlias) {
978     return This->lpVtbl->SetAlias(This,pAlias);
979 }
980 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDHttpMessageParameters_QueryInterface(IWSDHttpMessageParameters* This,REFIID riid,void **ppvObject) {
1138     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1139 }
1140 static FORCEINLINE ULONG IWSDHttpMessageParameters_AddRef(IWSDHttpMessageParameters* This) {
1141     return This->lpVtbl->AddRef(This);
1142 }
1143 static FORCEINLINE ULONG IWSDHttpMessageParameters_Release(IWSDHttpMessageParameters* This) {
1144     return This->lpVtbl->Release(This);
1145 }
1146 /*** IWSDMessageParameters methods ***/
1147 static FORCEINLINE HRESULT IWSDHttpMessageParameters_GetLocalAddress(IWSDHttpMessageParameters* This,IWSDAddress **ppAddress) {
1148     return This->lpVtbl->GetLocalAddress(This,ppAddress);
1149 }
1150 static FORCEINLINE HRESULT IWSDHttpMessageParameters_SetLocalAddress(IWSDHttpMessageParameters* This,IWSDAddress *pAddress) {
1151     return This->lpVtbl->SetLocalAddress(This,pAddress);
1152 }
1153 static FORCEINLINE HRESULT IWSDHttpMessageParameters_GetRemoteAddress(IWSDHttpMessageParameters* This,IWSDAddress **ppAddress) {
1154     return This->lpVtbl->GetRemoteAddress(This,ppAddress);
1155 }
1156 static FORCEINLINE HRESULT IWSDHttpMessageParameters_SetRemoteAddress(IWSDHttpMessageParameters* This,IWSDAddress *pAddress) {
1157     return This->lpVtbl->SetRemoteAddress(This,pAddress);
1158 }
1159 static FORCEINLINE HRESULT IWSDHttpMessageParameters_GetLowerParameters(IWSDHttpMessageParameters* This,IWSDMessageParameters **ppTxParams) {
1160     return This->lpVtbl->GetLowerParameters(This,ppTxParams);
1161 }
1162 /*** IWSDHttpMessageParameters methods ***/
1163 static FORCEINLINE HRESULT IWSDHttpMessageParameters_SetInboundHttpHeaders(IWSDHttpMessageParameters* This,LPCWSTR pszHeaders) {
1164     return This->lpVtbl->SetInboundHttpHeaders(This,pszHeaders);
1165 }
1166 static FORCEINLINE HRESULT IWSDHttpMessageParameters_GetInboundHttpHeaders(IWSDHttpMessageParameters* This,LPCWSTR *ppszHeaders) {
1167     return This->lpVtbl->GetInboundHttpHeaders(This,ppszHeaders);
1168 }
1169 static FORCEINLINE HRESULT IWSDHttpMessageParameters_SetOutboundHttpHeaders(IWSDHttpMessageParameters* This,LPCWSTR pszHeaders) {
1170     return This->lpVtbl->SetOutboundHttpHeaders(This,pszHeaders);
1171 }
1172 static FORCEINLINE HRESULT IWSDHttpMessageParameters_GetOutboundHttpHeaders(IWSDHttpMessageParameters* This,LPCWSTR *ppszHeaders) {
1173     return This->lpVtbl->GetOutboundHttpHeaders(This,ppszHeaders);
1174 }
1175 static FORCEINLINE HRESULT IWSDHttpMessageParameters_SetID(IWSDHttpMessageParameters* This,LPCWSTR pszId) {
1176     return This->lpVtbl->SetID(This,pszId);
1177 }
1178 static FORCEINLINE HRESULT IWSDHttpMessageParameters_GetID(IWSDHttpMessageParameters* This,LPCWSTR *ppszId) {
1179     return This->lpVtbl->GetID(This,ppszId);
1180 }
1181 static FORCEINLINE HRESULT IWSDHttpMessageParameters_SetContext(IWSDHttpMessageParameters* This,IUnknown *pContext) {
1182     return This->lpVtbl->SetContext(This,pContext);
1183 }
1184 static FORCEINLINE HRESULT IWSDHttpMessageParameters_GetContext(IWSDHttpMessageParameters* This,IUnknown **ppContext) {
1185     return This->lpVtbl->GetContext(This,ppContext);
1186 }
1187 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDHttpAddress_QueryInterface(IWSDHttpAddress* This,REFIID riid,void **ppvObject) {
1320     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1321 }
1322 static FORCEINLINE ULONG IWSDHttpAddress_AddRef(IWSDHttpAddress* This) {
1323     return This->lpVtbl->AddRef(This);
1324 }
1325 static FORCEINLINE ULONG IWSDHttpAddress_Release(IWSDHttpAddress* This) {
1326     return This->lpVtbl->Release(This);
1327 }
1328 /*** IWSDAddress methods ***/
1329 static FORCEINLINE HRESULT IWSDHttpAddress_Serialize(IWSDHttpAddress* This,LPWSTR pszBuffer,DWORD cchLength,WINBOOL fSafe) {
1330     return This->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe);
1331 }
1332 static FORCEINLINE HRESULT IWSDHttpAddress_Deserialize(IWSDHttpAddress* This,LPCWSTR pszBuffer) {
1333     return This->lpVtbl->Deserialize(This,pszBuffer);
1334 }
1335 /*** IWSDTransportAddress methods ***/
1336 static FORCEINLINE HRESULT IWSDHttpAddress_GetPort(IWSDHttpAddress* This,WORD *pwPort) {
1337     return This->lpVtbl->GetPort(This,pwPort);
1338 }
1339 static FORCEINLINE HRESULT IWSDHttpAddress_SetPort(IWSDHttpAddress* This,WORD wPort) {
1340     return This->lpVtbl->SetPort(This,wPort);
1341 }
1342 static FORCEINLINE HRESULT IWSDHttpAddress_GetTransportAddress(IWSDHttpAddress* This,LPCWSTR *ppszAddress) {
1343     return This->lpVtbl->GetTransportAddress(This,ppszAddress);
1344 }
1345 static FORCEINLINE HRESULT IWSDHttpAddress_GetTransportAddressEx(IWSDHttpAddress* This,WINBOOL fSafe,LPCWSTR *ppszAddress) {
1346     return This->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress);
1347 }
1348 static FORCEINLINE HRESULT IWSDHttpAddress_SetTransportAddress(IWSDHttpAddress* This,LPCWSTR pszAddress) {
1349     return This->lpVtbl->SetTransportAddress(This,pszAddress);
1350 }
1351 /*** IWSDHttpAddress methods ***/
1352 static FORCEINLINE HRESULT IWSDHttpAddress_GetSecure(IWSDHttpAddress* This) {
1353     return This->lpVtbl->GetSecure(This);
1354 }
1355 static FORCEINLINE HRESULT IWSDHttpAddress_SetSecure(IWSDHttpAddress* This,WINBOOL fSecure) {
1356     return This->lpVtbl->SetSecure(This,fSecure);
1357 }
1358 static FORCEINLINE HRESULT IWSDHttpAddress_GetPath(IWSDHttpAddress* This,LPCWSTR *ppszPath) {
1359     return This->lpVtbl->GetPath(This,ppszPath);
1360 }
1361 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDSSLClientCertificate_QueryInterface(IWSDSSLClientCertificate* This,REFIID riid,void **ppvObject) {
1438     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1439 }
1440 static FORCEINLINE ULONG IWSDSSLClientCertificate_AddRef(IWSDSSLClientCertificate* This) {
1441     return This->lpVtbl->AddRef(This);
1442 }
1443 static FORCEINLINE ULONG IWSDSSLClientCertificate_Release(IWSDSSLClientCertificate* This) {
1444     return This->lpVtbl->Release(This);
1445 }
1446 /*** IWSDSSLClientCertificate methods ***/
1447 static FORCEINLINE HRESULT IWSDSSLClientCertificate_GetClientCertificate(IWSDSSLClientCertificate* This,PCCERT_CONTEXT *ppCertContext) {
1448     return This->lpVtbl->GetClientCertificate(This,ppCertContext);
1449 }
1450 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDHttpAuthParameters_QueryInterface(IWSDHttpAuthParameters* This,REFIID riid,void **ppvObject) {
1526     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1527 }
1528 static FORCEINLINE ULONG IWSDHttpAuthParameters_AddRef(IWSDHttpAuthParameters* This) {
1529     return This->lpVtbl->AddRef(This);
1530 }
1531 static FORCEINLINE ULONG IWSDHttpAuthParameters_Release(IWSDHttpAuthParameters* This) {
1532     return This->lpVtbl->Release(This);
1533 }
1534 /*** IWSDHttpAuthParameters methods ***/
1535 static FORCEINLINE HRESULT IWSDHttpAuthParameters_GetClientAccessToken(IWSDHttpAuthParameters* This,HANDLE *phToken) {
1536     return This->lpVtbl->GetClientAccessToken(This,phToken);
1537 }
1538 static FORCEINLINE 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 FORCEINLINE HRESULT IWSDSignatureProperty_QueryInterface(IWSDSignatureProperty* This,REFIID riid,void **ppvObject) {
1644     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1645 }
1646 static FORCEINLINE ULONG IWSDSignatureProperty_AddRef(IWSDSignatureProperty* This) {
1647     return This->lpVtbl->AddRef(This);
1648 }
1649 static FORCEINLINE ULONG IWSDSignatureProperty_Release(IWSDSignatureProperty* This) {
1650     return This->lpVtbl->Release(This);
1651 }
1652 /*** IWSDSignatureProperty methods ***/
1653 static FORCEINLINE HRESULT IWSDSignatureProperty_IsMessageSigned(IWSDSignatureProperty* This,WINBOOL *pbSigned) {
1654     return This->lpVtbl->IsMessageSigned(This,pbSigned);
1655 }
1656 static FORCEINLINE HRESULT IWSDSignatureProperty_IsMessageSignatureTrusted(IWSDSignatureProperty* This,WINBOOL *pbSignatureTrusted) {
1657     return This->lpVtbl->IsMessageSignatureTrusted(This,pbSignatureTrusted);
1658 }
1659 static FORCEINLINE HRESULT IWSDSignatureProperty_GetKeyInfo(IWSDSignatureProperty* This,BYTE *pbKeyInfo,DWORD *pdwKeyInfoSize) {
1660     return This->lpVtbl->GetKeyInfo(This,pbKeyInfo,pdwKeyInfoSize);
1661 }
1662 static FORCEINLINE HRESULT IWSDSignatureProperty_GetSignature(IWSDSignatureProperty* This,BYTE *pbSignature,DWORD *pdwSignatureSize) {
1663     return This->lpVtbl->GetSignature(This,pbSignature,pdwSignatureSize);
1664 }
1665 static FORCEINLINE 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__ */
1690