1 /*** Autogenerated by WIDL 1.5.31 from include/windows.security.cryptography.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 __windows_security_cryptography_h__
16 #define __windows_security_cryptography_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __ICryptographicBufferStatics_FWD_DEFINED__
21 #define __ICryptographicBufferStatics_FWD_DEFINED__
22 typedef interface ICryptographicBufferStatics ICryptographicBufferStatics;
23 #endif
24 
25 /* Headers for imported files */
26 
27 #include <inspectable.h>
28 #include <windows.storage.streams.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 #ifndef __IBuffer_FWD_DEFINED__
35 #define __IBuffer_FWD_DEFINED__
36 typedef interface IBuffer IBuffer;
37 #endif
38 
39 #ifndef __ICryptographicBufferStatics_FWD_DEFINED__
40 #define __ICryptographicBufferStatics_FWD_DEFINED__
41 typedef interface ICryptographicBufferStatics ICryptographicBufferStatics;
42 #endif
43 
44 enum BinaryStringEncoding;
45 
46 typedef enum BinaryStringEncoding {
47     Utf8 = 0,
48     Utf16LE = 1,
49     Utf16BE = 2
50 } BinaryStringEncoding;
51 /*****************************************************************************
52  * ICryptographicBufferStatics interface
53  */
54 #ifndef __ICryptographicBufferStatics_INTERFACE_DEFINED__
55 #define __ICryptographicBufferStatics_INTERFACE_DEFINED__
56 
57 DEFINE_GUID(IID_ICryptographicBufferStatics, 0x320b7e22, 0x3cb0, 0x4cdf, 0x86,0x63, 0x1d,0x28,0x91,0x00,0x65,0xeb);
58 #if defined(__cplusplus) && !defined(CINTERFACE)
59 MIDL_INTERFACE("320b7e22-3cb0-4cdf-8663-1d28910065eb")
60 ICryptographicBufferStatics : public IInspectable
61 {
62     virtual HRESULT STDMETHODCALLTYPE Compare(
63         IBuffer *object1,
64         IBuffer *object2,
65         boolean *isEqual) = 0;
66 
67     virtual HRESULT STDMETHODCALLTYPE GenerateRandom(
68         UINT32 length,
69         IBuffer **buffer) = 0;
70 
71     virtual HRESULT STDMETHODCALLTYPE GenerateRandomNumber(
72         UINT32 *value) = 0;
73 
74     virtual HRESULT STDMETHODCALLTYPE CreateFromByteArray(
75         UINT32 __valueSize,
76         BYTE *value,
77         IBuffer **buffer) = 0;
78 
79     virtual HRESULT STDMETHODCALLTYPE CopyToByteArray(
80         IBuffer *buffer,
81         UINT32 *__valueSize,
82         BYTE **value) = 0;
83 
84     virtual HRESULT STDMETHODCALLTYPE DecodeFromHexString(
85         HSTRING value,
86         IBuffer **buffer) = 0;
87 
88     virtual HRESULT STDMETHODCALLTYPE EncodeToHexString(
89         IBuffer *buffer,
90         HSTRING *value) = 0;
91 
92     virtual HRESULT STDMETHODCALLTYPE DecodeFromBase64String(
93         HSTRING value,
94         IBuffer **buffer) = 0;
95 
96     virtual HRESULT STDMETHODCALLTYPE EncodeToBase64String(
97         IBuffer *buffer,
98         HSTRING *value) = 0;
99 
100     virtual HRESULT STDMETHODCALLTYPE ConvertStringToBinary(
101         HSTRING value,
102         BinaryStringEncoding encoding,
103         IBuffer **buffer) = 0;
104 
105     virtual HRESULT STDMETHODCALLTYPE ConvertBinaryToString(
106         BinaryStringEncoding encoding,
107         IBuffer *buffer,
108         HSTRING *value) = 0;
109 
110 };
111 #ifdef __CRT_UUID_DECL
112 __CRT_UUID_DECL(ICryptographicBufferStatics, 0x320b7e22, 0x3cb0, 0x4cdf, 0x86,0x63, 0x1d,0x28,0x91,0x00,0x65,0xeb)
113 #endif
114 #else
115 typedef struct ICryptographicBufferStaticsVtbl {
116     BEGIN_INTERFACE
117 
118     /*** IUnknown methods ***/
119     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
120         ICryptographicBufferStatics* This,
121         REFIID riid,
122         void **ppvObject);
123 
124     ULONG (STDMETHODCALLTYPE *AddRef)(
125         ICryptographicBufferStatics* This);
126 
127     ULONG (STDMETHODCALLTYPE *Release)(
128         ICryptographicBufferStatics* This);
129 
130     /*** IInspectable methods ***/
131     HRESULT (STDMETHODCALLTYPE *GetIids)(
132         ICryptographicBufferStatics* This,
133         ULONG *iidCount,
134         IID **iids);
135 
136     HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
137         ICryptographicBufferStatics* This,
138         HSTRING *className);
139 
140     HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
141         ICryptographicBufferStatics* This,
142         TrustLevel *trustLevel);
143 
144     /*** ICryptographicBufferStatics methods ***/
145     HRESULT (STDMETHODCALLTYPE *Compare)(
146         ICryptographicBufferStatics* This,
147         IBuffer *object1,
148         IBuffer *object2,
149         boolean *isEqual);
150 
151     HRESULT (STDMETHODCALLTYPE *GenerateRandom)(
152         ICryptographicBufferStatics* This,
153         UINT32 length,
154         IBuffer **buffer);
155 
156     HRESULT (STDMETHODCALLTYPE *GenerateRandomNumber)(
157         ICryptographicBufferStatics* This,
158         UINT32 *value);
159 
160     HRESULT (STDMETHODCALLTYPE *CreateFromByteArray)(
161         ICryptographicBufferStatics* This,
162         UINT32 __valueSize,
163         BYTE *value,
164         IBuffer **buffer);
165 
166     HRESULT (STDMETHODCALLTYPE *CopyToByteArray)(
167         ICryptographicBufferStatics* This,
168         IBuffer *buffer,
169         UINT32 *__valueSize,
170         BYTE **value);
171 
172     HRESULT (STDMETHODCALLTYPE *DecodeFromHexString)(
173         ICryptographicBufferStatics* This,
174         HSTRING value,
175         IBuffer **buffer);
176 
177     HRESULT (STDMETHODCALLTYPE *EncodeToHexString)(
178         ICryptographicBufferStatics* This,
179         IBuffer *buffer,
180         HSTRING *value);
181 
182     HRESULT (STDMETHODCALLTYPE *DecodeFromBase64String)(
183         ICryptographicBufferStatics* This,
184         HSTRING value,
185         IBuffer **buffer);
186 
187     HRESULT (STDMETHODCALLTYPE *EncodeToBase64String)(
188         ICryptographicBufferStatics* This,
189         IBuffer *buffer,
190         HSTRING *value);
191 
192     HRESULT (STDMETHODCALLTYPE *ConvertStringToBinary)(
193         ICryptographicBufferStatics* This,
194         HSTRING value,
195         BinaryStringEncoding encoding,
196         IBuffer **buffer);
197 
198     HRESULT (STDMETHODCALLTYPE *ConvertBinaryToString)(
199         ICryptographicBufferStatics* This,
200         BinaryStringEncoding encoding,
201         IBuffer *buffer,
202         HSTRING *value);
203 
204     END_INTERFACE
205 } ICryptographicBufferStaticsVtbl;
206 interface ICryptographicBufferStatics {
207     CONST_VTBL ICryptographicBufferStaticsVtbl* lpVtbl;
208 };
209 
210 #ifdef COBJMACROS
211 #ifndef WIDL_C_INLINE_WRAPPERS
212 /*** IUnknown methods ***/
213 #define ICryptographicBufferStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
214 #define ICryptographicBufferStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
215 #define ICryptographicBufferStatics_Release(This) (This)->lpVtbl->Release(This)
216 /*** IInspectable methods ***/
217 #define ICryptographicBufferStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
218 #define ICryptographicBufferStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
219 #define ICryptographicBufferStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
220 /*** ICryptographicBufferStatics methods ***/
221 #define ICryptographicBufferStatics_Compare(This,object1,object2,isEqual) (This)->lpVtbl->Compare(This,object1,object2,isEqual)
222 #define ICryptographicBufferStatics_GenerateRandom(This,length,buffer) (This)->lpVtbl->GenerateRandom(This,length,buffer)
223 #define ICryptographicBufferStatics_GenerateRandomNumber(This,value) (This)->lpVtbl->GenerateRandomNumber(This,value)
224 #define ICryptographicBufferStatics_CreateFromByteArray(This,__valueSize,value,buffer) (This)->lpVtbl->CreateFromByteArray(This,__valueSize,value,buffer)
225 #define ICryptographicBufferStatics_CopyToByteArray(This,buffer,__valueSize,value) (This)->lpVtbl->CopyToByteArray(This,buffer,__valueSize,value)
226 #define ICryptographicBufferStatics_DecodeFromHexString(This,value,buffer) (This)->lpVtbl->DecodeFromHexString(This,value,buffer)
227 #define ICryptographicBufferStatics_EncodeToHexString(This,buffer,value) (This)->lpVtbl->EncodeToHexString(This,buffer,value)
228 #define ICryptographicBufferStatics_DecodeFromBase64String(This,value,buffer) (This)->lpVtbl->DecodeFromBase64String(This,value,buffer)
229 #define ICryptographicBufferStatics_EncodeToBase64String(This,buffer,value) (This)->lpVtbl->EncodeToBase64String(This,buffer,value)
230 #define ICryptographicBufferStatics_ConvertStringToBinary(This,value,encoding,buffer) (This)->lpVtbl->ConvertStringToBinary(This,value,encoding,buffer)
231 #define ICryptographicBufferStatics_ConvertBinaryToString(This,encoding,buffer,value) (This)->lpVtbl->ConvertBinaryToString(This,encoding,buffer,value)
232 #else
233 /*** IUnknown methods ***/
234 static FORCEINLINE HRESULT ICryptographicBufferStatics_QueryInterface(ICryptographicBufferStatics* This,REFIID riid,void **ppvObject) {
235     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
236 }
237 static FORCEINLINE ULONG ICryptographicBufferStatics_AddRef(ICryptographicBufferStatics* This) {
238     return This->lpVtbl->AddRef(This);
239 }
240 static FORCEINLINE ULONG ICryptographicBufferStatics_Release(ICryptographicBufferStatics* This) {
241     return This->lpVtbl->Release(This);
242 }
243 /*** IInspectable methods ***/
244 static FORCEINLINE HRESULT ICryptographicBufferStatics_GetIids(ICryptographicBufferStatics* This,ULONG *iidCount,IID **iids) {
245     return This->lpVtbl->GetIids(This,iidCount,iids);
246 }
247 static FORCEINLINE HRESULT ICryptographicBufferStatics_GetRuntimeClassName(ICryptographicBufferStatics* This,HSTRING *className) {
248     return This->lpVtbl->GetRuntimeClassName(This,className);
249 }
250 static FORCEINLINE HRESULT ICryptographicBufferStatics_GetTrustLevel(ICryptographicBufferStatics* This,TrustLevel *trustLevel) {
251     return This->lpVtbl->GetTrustLevel(This,trustLevel);
252 }
253 /*** ICryptographicBufferStatics methods ***/
254 static FORCEINLINE HRESULT ICryptographicBufferStatics_Compare(ICryptographicBufferStatics* This,IBuffer *object1,IBuffer *object2,boolean *isEqual) {
255     return This->lpVtbl->Compare(This,object1,object2,isEqual);
256 }
257 static FORCEINLINE HRESULT ICryptographicBufferStatics_GenerateRandom(ICryptographicBufferStatics* This,UINT32 length,IBuffer **buffer) {
258     return This->lpVtbl->GenerateRandom(This,length,buffer);
259 }
260 static FORCEINLINE HRESULT ICryptographicBufferStatics_GenerateRandomNumber(ICryptographicBufferStatics* This,UINT32 *value) {
261     return This->lpVtbl->GenerateRandomNumber(This,value);
262 }
263 static FORCEINLINE HRESULT ICryptographicBufferStatics_CreateFromByteArray(ICryptographicBufferStatics* This,UINT32 __valueSize,BYTE *value,IBuffer **buffer) {
264     return This->lpVtbl->CreateFromByteArray(This,__valueSize,value,buffer);
265 }
266 static FORCEINLINE HRESULT ICryptographicBufferStatics_CopyToByteArray(ICryptographicBufferStatics* This,IBuffer *buffer,UINT32 *__valueSize,BYTE **value) {
267     return This->lpVtbl->CopyToByteArray(This,buffer,__valueSize,value);
268 }
269 static FORCEINLINE HRESULT ICryptographicBufferStatics_DecodeFromHexString(ICryptographicBufferStatics* This,HSTRING value,IBuffer **buffer) {
270     return This->lpVtbl->DecodeFromHexString(This,value,buffer);
271 }
272 static FORCEINLINE HRESULT ICryptographicBufferStatics_EncodeToHexString(ICryptographicBufferStatics* This,IBuffer *buffer,HSTRING *value) {
273     return This->lpVtbl->EncodeToHexString(This,buffer,value);
274 }
275 static FORCEINLINE HRESULT ICryptographicBufferStatics_DecodeFromBase64String(ICryptographicBufferStatics* This,HSTRING value,IBuffer **buffer) {
276     return This->lpVtbl->DecodeFromBase64String(This,value,buffer);
277 }
278 static FORCEINLINE HRESULT ICryptographicBufferStatics_EncodeToBase64String(ICryptographicBufferStatics* This,IBuffer *buffer,HSTRING *value) {
279     return This->lpVtbl->EncodeToBase64String(This,buffer,value);
280 }
281 static FORCEINLINE HRESULT ICryptographicBufferStatics_ConvertStringToBinary(ICryptographicBufferStatics* This,HSTRING value,BinaryStringEncoding encoding,IBuffer **buffer) {
282     return This->lpVtbl->ConvertStringToBinary(This,value,encoding,buffer);
283 }
284 static FORCEINLINE HRESULT ICryptographicBufferStatics_ConvertBinaryToString(ICryptographicBufferStatics* This,BinaryStringEncoding encoding,IBuffer *buffer,HSTRING *value) {
285     return This->lpVtbl->ConvertBinaryToString(This,encoding,buffer,value);
286 }
287 #endif
288 #endif
289 
290 #endif
291 
292 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_Compare_Proxy(
293     ICryptographicBufferStatics* This,
294     IBuffer *object1,
295     IBuffer *object2,
296     boolean *isEqual);
297 void __RPC_STUB ICryptographicBufferStatics_Compare_Stub(
298     IRpcStubBuffer* This,
299     IRpcChannelBuffer* pRpcChannelBuffer,
300     PRPC_MESSAGE pRpcMessage,
301     DWORD* pdwStubPhase);
302 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_GenerateRandom_Proxy(
303     ICryptographicBufferStatics* This,
304     UINT32 length,
305     IBuffer **buffer);
306 void __RPC_STUB ICryptographicBufferStatics_GenerateRandom_Stub(
307     IRpcStubBuffer* This,
308     IRpcChannelBuffer* pRpcChannelBuffer,
309     PRPC_MESSAGE pRpcMessage,
310     DWORD* pdwStubPhase);
311 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_GenerateRandomNumber_Proxy(
312     ICryptographicBufferStatics* This,
313     UINT32 *value);
314 void __RPC_STUB ICryptographicBufferStatics_GenerateRandomNumber_Stub(
315     IRpcStubBuffer* This,
316     IRpcChannelBuffer* pRpcChannelBuffer,
317     PRPC_MESSAGE pRpcMessage,
318     DWORD* pdwStubPhase);
319 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_CreateFromByteArray_Proxy(
320     ICryptographicBufferStatics* This,
321     UINT32 __valueSize,
322     BYTE *value,
323     IBuffer **buffer);
324 void __RPC_STUB ICryptographicBufferStatics_CreateFromByteArray_Stub(
325     IRpcStubBuffer* This,
326     IRpcChannelBuffer* pRpcChannelBuffer,
327     PRPC_MESSAGE pRpcMessage,
328     DWORD* pdwStubPhase);
329 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_CopyToByteArray_Proxy(
330     ICryptographicBufferStatics* This,
331     IBuffer *buffer,
332     UINT32 *__valueSize,
333     BYTE **value);
334 void __RPC_STUB ICryptographicBufferStatics_CopyToByteArray_Stub(
335     IRpcStubBuffer* This,
336     IRpcChannelBuffer* pRpcChannelBuffer,
337     PRPC_MESSAGE pRpcMessage,
338     DWORD* pdwStubPhase);
339 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_DecodeFromHexString_Proxy(
340     ICryptographicBufferStatics* This,
341     HSTRING value,
342     IBuffer **buffer);
343 void __RPC_STUB ICryptographicBufferStatics_DecodeFromHexString_Stub(
344     IRpcStubBuffer* This,
345     IRpcChannelBuffer* pRpcChannelBuffer,
346     PRPC_MESSAGE pRpcMessage,
347     DWORD* pdwStubPhase);
348 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_EncodeToHexString_Proxy(
349     ICryptographicBufferStatics* This,
350     IBuffer *buffer,
351     HSTRING *value);
352 void __RPC_STUB ICryptographicBufferStatics_EncodeToHexString_Stub(
353     IRpcStubBuffer* This,
354     IRpcChannelBuffer* pRpcChannelBuffer,
355     PRPC_MESSAGE pRpcMessage,
356     DWORD* pdwStubPhase);
357 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_DecodeFromBase64String_Proxy(
358     ICryptographicBufferStatics* This,
359     HSTRING value,
360     IBuffer **buffer);
361 void __RPC_STUB ICryptographicBufferStatics_DecodeFromBase64String_Stub(
362     IRpcStubBuffer* This,
363     IRpcChannelBuffer* pRpcChannelBuffer,
364     PRPC_MESSAGE pRpcMessage,
365     DWORD* pdwStubPhase);
366 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_EncodeToBase64String_Proxy(
367     ICryptographicBufferStatics* This,
368     IBuffer *buffer,
369     HSTRING *value);
370 void __RPC_STUB ICryptographicBufferStatics_EncodeToBase64String_Stub(
371     IRpcStubBuffer* This,
372     IRpcChannelBuffer* pRpcChannelBuffer,
373     PRPC_MESSAGE pRpcMessage,
374     DWORD* pdwStubPhase);
375 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_ConvertStringToBinary_Proxy(
376     ICryptographicBufferStatics* This,
377     HSTRING value,
378     BinaryStringEncoding encoding,
379     IBuffer **buffer);
380 void __RPC_STUB ICryptographicBufferStatics_ConvertStringToBinary_Stub(
381     IRpcStubBuffer* This,
382     IRpcChannelBuffer* pRpcChannelBuffer,
383     PRPC_MESSAGE pRpcMessage,
384     DWORD* pdwStubPhase);
385 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_ConvertBinaryToString_Proxy(
386     ICryptographicBufferStatics* This,
387     BinaryStringEncoding encoding,
388     IBuffer *buffer,
389     HSTRING *value);
390 void __RPC_STUB ICryptographicBufferStatics_ConvertBinaryToString_Stub(
391     IRpcStubBuffer* This,
392     IRpcChannelBuffer* pRpcChannelBuffer,
393     PRPC_MESSAGE pRpcMessage,
394     DWORD* pdwStubPhase);
395 
396 #endif  /* __ICryptographicBufferStatics_INTERFACE_DEFINED__ */
397 
398 /* Begin additional prototypes for all interfaces */
399 
400 ULONG           __RPC_USER HSTRING_UserSize     (ULONG *, ULONG, HSTRING *);
401 unsigned char * __RPC_USER HSTRING_UserMarshal  (ULONG *, unsigned char *, HSTRING *);
402 unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
403 void            __RPC_USER HSTRING_UserFree     (ULONG *, HSTRING *);
404 
405 /* End additional prototypes */
406 
407 #ifdef __cplusplus
408 }
409 #endif
410 
411 #endif /* __windows_security_cryptography_h__ */
412