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