source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/wsdbase.idl

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 7.9 KB
RevLine 
[1166]1/**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5cpp_quote("#include <winapifamily.h>")
6cpp_quote("")
7cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
8
9import "objidl.idl";
10import "wincrypt.idl";
11
12cpp_quote("")
13interface IWSDAddress;
14interface IWSDMessageParameters;
15interface IWSDUdpAddress;
16interface IWSDUdpMessageParameters;
17interface IWSDHttpAddress;
18interface IWSDHttpMessageParameters;
19
20cpp_quote("")
21cpp_quote("#if WINVER >= 0x601")
22typedef enum {
23 WSD_CONFIG_MAX_INBOUND_MESSAGE_SIZE = 1,
24 WSD_CONFIG_MAX_OUTBOUND_MESSAGE_SIZE = 2,
25 WSD_SECURITY_SSL_CERT_FOR_CLIENT_AUTH = 3,
26 WSD_SECURITY_SSL_SERVER_CERT_VALIDATION = 4,
27 WSD_SECURITY_SSL_CLIENT_CERT_VALIDATION = 5,
28 WSD_SECURITY_SSL_NEGOTIATE_CLIENT_CERT = 6,
29 WSD_SECURITY_COMPACTSIG_SIGNING_CERT = 7,
30 WSD_SECURITY_COMPACTSIG_VALIDATION = 8,
31 WSD_CONFIG_HOSTING_ADDRESSES = 9,
32 WSD_CONFIG_DEVICE_ADDRESSES = 10,
33 WSD_SECURITY_REQUIRE_HTTP_CLIENT_AUTH = 11,
34 WSD_SECURITY_REQUIRE_CLIENT_CERT_OR_HTTP_CLIENT_AUTH = 12,
35 WSD_SECURITY_USE_HTTP_CLIENT_AUTH = 13
36} WSD_CONFIG_PARAM_TYPE;
37
38typedef struct _WSD_CONFIG_PARAM {
39 WSD_CONFIG_PARAM_TYPE configParamType;
40 PVOID pConfigData;
41 DWORD dwConfigDataSize;
42} WSD_CONFIG_PARAM,*PWSD_CONFIG_PARAM;
43
44typedef struct _WSD_SECURITY_CERT_VALIDATION_V1 {
45 PCCERT_CONTEXT *certMatchArray;
46 DWORD dwCertMatchArrayCount;
47 HCERTSTORE hCertMatchStore;
48 HCERTSTORE hCertIssuerStore;
49 DWORD dwCertCheckOptions;
50} WSD_SECURITY_CERT_VALIDATION_V1;
51
52cpp_quote("#if _WIN32_WINNT >= 0x602")
53typedef struct _WSD_SECURITY_CERT_VALIDATION {
54 PCCERT_CONTEXT *certMatchArray;
55 DWORD dwCertMatchArrayCount;
56 HCERTSTORE hCertMatchStore;
57 HCERTSTORE hCertIssuerStore;
58 DWORD dwCertCheckOptions;
59 LPCWSTR pszCNGHashAlgId;
60 BYTE *pbCertHash;
61 DWORD dwCertHashSize;
62} WSD_SECURITY_CERT_VALIDATION;
63cpp_quote("#else")
64cpp_quote("typedef WSD_SECURITY_CERT_VALIDATION_V1 WSD_SECURITY_CERT_VALIDATION;")
65cpp_quote("#endif")
66
67cpp_quote("")
68typedef WSD_SECURITY_CERT_VALIDATION *PWSD_SECURITY_CERT_VALIDATION;
69
70typedef struct _WSD_SECURITY_SIGNATURE_VALIDATION {
71 PCCERT_CONTEXT *signingCertArray;
72 DWORD dwSigningCertArrayCount;
73 HCERTSTORE hSigningCertStore;
74 DWORD dwFlags;
75} WSD_SECURITY_SIGNATURE_VALIDATION,*PWSD_SECURITY_SIGNATURE_VALIDATION;
76
77typedef DWORD WSD_SECURITY_HTTP_AUTH_SCHEMES,*PWSD_SECURITY_HTTP_AUTH_SCHEMES;
78
79cpp_quote("")
80cpp_quote("#define WSDAPI_SSL_CERT_APPLY_DEFAULT_CHECKS 0x0")
81cpp_quote("#define WSDAPI_SSL_CERT_IGNORE_REVOCATION 0x1")
82cpp_quote("#define WSDAPI_SSL_CERT_IGNORE_EXPIRY 0x2")
83cpp_quote("#define WSDAPI_SSL_CERT_IGNORE_WRONG_USAGE 0x4")
84cpp_quote("#define WSDAPI_SSL_CERT_IGNORE_UNKNOWN_CA 0x8")
85cpp_quote("#define WSDAPI_SSL_CERT_IGNORE_INVALID_CN 0x10")
86cpp_quote("")
87cpp_quote("#define WSDAPI_COMPACTSIG_ACCEPT_ALL_MESSAGES 0x1")
88cpp_quote("")
89cpp_quote("#define WSD_SECURITY_HTTP_AUTH_SCHEME_NEGOTIATE 0x1")
90cpp_quote("#define WSD_SECURITY_HTTP_AUTH_SCHEME_NTLM 0x2")
91cpp_quote("")
92
93typedef struct _WSD_CONFIG_ADDRESSES {
94 IWSDAddress **addresses;
95 DWORD dwAddressCount;
96} WSD_CONFIG_ADDRESSES,*PWSD_CONFIG_ADDRESSES;
97cpp_quote("#endif")
98
99cpp_quote("#define WSDAPI_ADDRESSFAMILY_IPV4 1")
100cpp_quote("#define WSDAPI_ADDRESSFAMILY_IPV6 2")
101
102[object, uuid (b9574c6c-12a6-4f74-93a1-3318ff605759), local]
103interface IWSDAddress : IUnknown {
104 HRESULT Serialize ([out, size_is (cchLength)] LPWSTR pszBuffer,[in] DWORD cchLength,[in] BOOL fSafe);
105 HRESULT Deserialize ([in] LPCWSTR pszBuffer);
106}
107
108[object, uuid (70d23498-4ee6-4340-a3df-d845d2235467), local]
109interface IWSDTransportAddress : IWSDAddress {
110 HRESULT GetPort ([out] WORD *pwPort);
111 HRESULT SetPort ([in] WORD wPort);
112 HRESULT GetTransportAddress ([out] LPCWSTR *ppszAddress);
113 HRESULT GetTransportAddressEx ([in] BOOL fSafe,[out] LPCWSTR *ppszAddress);
114 HRESULT SetTransportAddress ([in] LPCWSTR pszAddress);
115}
116
117[object, uuid (1fafe8a2-e6fc-4b80-b6cf-b7d45c416d7c)]
118interface IWSDMessageParameters : IUnknown {
119 HRESULT GetLocalAddress ([out] IWSDAddress **ppAddress);
120 HRESULT SetLocalAddress ([in] IWSDAddress *pAddress);
121 HRESULT GetRemoteAddress ([out] IWSDAddress **ppAddress);
122 HRESULT SetRemoteAddress ([in] IWSDAddress *pAddress);
123 HRESULT GetLowerParameters ([out] IWSDMessageParameters **ppTxParams);
124}
125
126cpp_quote("HRESULT WINAPI")
127cpp_quote("WSDCreateUdpMessageParameters(")
128cpp_quote("IWSDUdpMessageParameters** ppTxParams);")
129
130typedef struct _WSDUdpRetransmitParams {
131 ULONG ulSendDelay;
132 ULONG ulRepeat;
133 ULONG ulRepeatMinDelay;
134 ULONG ulRepeatMaxDelay;
135 ULONG ulRepeatUpperDelay;
136} WSDUdpRetransmitParams;
137
138[object, uuid (9934149f-8f0c-447b-aa0b-73124b0ca7f0)]
139interface IWSDUdpMessageParameters : IWSDMessageParameters {
140 HRESULT SetRetransmitParams ([in] const WSDUdpRetransmitParams *pParams);
141 HRESULT GetRetransmitParams ([out] WSDUdpRetransmitParams *pParams);
142}
143
144cpp_quote("HRESULT WINAPI")
145cpp_quote("WSDCreateUdpAddress(")
146cpp_quote(" IWSDUdpAddress** ppAddress);")
147
148#ifndef SOCKADDR_STORAGE
149cpp_quote("#if 1")
150cpp_quote("")
151cpp_quote("#ifndef __CSADDR_DEFINED__")
152cpp_quote("struct SOCKADDR_STORAGE;")
153cpp_quote("#endif")
154cpp_quote("#else")
155typedef void SOCKADDR_STORAGE;
156cpp_quote("#endif")
157#endif
158
159typedef enum _WSDUdpMessageType {
160 ONE_WAY,
161 TWO_WAY
162} WSDUdpMessageType;
163
164[object, local, uuid (74d6124a-a441-4f78-a1eb-97a8d1996893)]
165interface IWSDUdpAddress : IWSDTransportAddress {
166 HRESULT SetSockaddr ([in] const SOCKADDR_STORAGE *pSockAddr);
167 HRESULT GetSockaddr ([out] SOCKADDR_STORAGE *pSockAddr);
168 HRESULT SetExclusive ([in] BOOL fExclusive);
169 HRESULT GetExclusive ();
170 HRESULT SetMessageType ([in] WSDUdpMessageType messageType);
171 HRESULT GetMessageType ([out] WSDUdpMessageType *pMessageType);
172 HRESULT SetTTL ([in] DWORD dwTTL);
173 HRESULT GetTTL ([out] DWORD *pdwTTL);
174 HRESULT SetAlias ([in] const GUID *pAlias);
175 HRESULT GetAlias ([out] GUID *pAlias);
176}
177
178[object, local, uuid (540bd122-5c83-4dec-b396-ea62a2697fdf)]
179interface IWSDHttpMessageParameters : IWSDMessageParameters {
180 HRESULT SetInboundHttpHeaders ([in] LPCWSTR pszHeaders);
181 HRESULT GetInboundHttpHeaders ([out] LPCWSTR *ppszHeaders);
182 HRESULT SetOutboundHttpHeaders ([in] LPCWSTR pszHeaders);
183 HRESULT GetOutboundHttpHeaders ([out] LPCWSTR *ppszHeaders);
184 HRESULT SetID ([in] LPCWSTR pszId);
185 HRESULT GetID ([out] LPCWSTR *ppszId);
186 HRESULT SetContext ([in] IUnknown *pContext);
187 HRESULT GetContext ([out] IUnknown **ppContext);
188 HRESULT Clear ();
189}
190
191[object, local, uuid (d09ac7bd-2a3e-4b85-8605-2737ff3e4ea0)]
192interface IWSDHttpAddress : IWSDTransportAddress {
193 HRESULT GetSecure ();
194 HRESULT SetSecure ([in] BOOL fSecure);
195 HRESULT GetPath ([out] LPCWSTR *ppszPath);
196 HRESULT SetPath ([in] LPCWSTR pszPath);
197}
198
199cpp_quote("#if WINVER >= 0x601")
200[object, local, uuid (de105e87-a0da-418e-98ad-27b9eed87bdc)]
201interface IWSDSSLClientCertificate : IUnknown {
202 HRESULT GetClientCertificate ([in, out] PCCERT_CONTEXT *ppCertContext);
203 HRESULT GetMappedAccessToken ([in, out] HANDLE *phToken);
204}
205
206[object, local, uuid (0b476df0-8dac-480d-b05c-99781a5884aa)]
207interface IWSDHttpAuthParameters: IUnknown {
208 HRESULT GetClientAccessToken ([out] HANDLE *phToken);
209 HRESULT GetAuthType ([out] PWSD_SECURITY_HTTP_AUTH_SCHEMES pAuthType);
210}
211
212[object, local, uuid (03ce20aa-71c4-45e2-b32e-3766c61c790f), pointer_default (unique), restricted]
213interface IWSDSignatureProperty : IUnknown {
214 HRESULT IsMessageSigned ([out] BOOL *pbSigned);
215 HRESULT IsMessageSignatureTrusted ([out] BOOL *pbSignatureTrusted);
216 HRESULT GetKeyInfo ([out, size_is (*pdwKeyInfoSize)] BYTE *pbKeyInfo,[in, out] DWORD *pdwKeyInfoSize);
217 HRESULT GetSignature ([out, size_is (*pdwSignatureSize)] BYTE *pbSignature,[in, out] DWORD *pdwSignatureSize);
218 HRESULT GetSignedInfoHash ([out, size_is (*pdwHashSize)] BYTE *pbSignedInfoHash,[in, out] DWORD *pdwHashSize);
219}
220cpp_quote("#endif")
221
222cpp_quote("HRESULT WINAPI WSDCreateHttpAddress(IWSDHttpAddress **ppAdress);")
223cpp_quote("HRESULT WINAPI WSDCreateHttpMessageParameters(IWSDHttpMessageParameters **ppTxParams);")
224
225cpp_quote("#endif")
Note: See TracBrowser for help on using the repository browser.