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