• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifdef __WIDL__
8#pragma winrt ns_prefix
9#endif
10
11import "inspectable.idl";
12import "windows.storage.streams.idl";
13
14namespace Windows {
15  namespace Storage {
16    namespace Streams {
17      interface IBuffer;
18    }
19  }
20}
21
22namespace Windows {
23  namespace Security {
24    namespace Cryptography {
25      interface ICryptographicBufferStatics;
26      enum BinaryStringEncoding;
27    }
28  }
29}
30
31namespace Windows {
32  namespace Security {
33    namespace Cryptography {
34      typedef enum BinaryStringEncoding {
35        Utf8,
36        Utf16LE,
37        Utf16BE
38      } BinaryStringEncoding;
39
40      [uuid(320B7E22-3CB0-4CDF-8663-1D28910065EB)]
41      interface ICryptographicBufferStatics : IInspectable {
42        HRESULT Compare(IBuffer* object1, IBuffer* object2, boolean* isEqual);
43        HRESULT GenerateRandom(UINT32 length, IBuffer** buffer);
44        HRESULT GenerateRandomNumber(UINT32* value);
45        HRESULT CreateFromByteArray(UINT32 __valueSize, BYTE* value,IBuffer** buffer);
46        HRESULT CopyToByteArray(IBuffer* buffer, UINT32* __valueSize, BYTE** value);
47        HRESULT DecodeFromHexString(HSTRING value, IBuffer** buffer);
48        HRESULT EncodeToHexString(IBuffer* buffer, HSTRING* value);
49        HRESULT DecodeFromBase64String(HSTRING value, IBuffer** buffer);
50        HRESULT EncodeToBase64String(IBuffer* buffer, HSTRING* value);
51        HRESULT ConvertStringToBinary(HSTRING value, BinaryStringEncoding encoding, IBuffer** buffer);
52        HRESULT ConvertBinaryToString(BinaryStringEncoding encoding, IBuffer* buffer, HSTRING* value);
53      }
54    }
55  }
56}
57