blob: 3defa16b621101a729d28c7734c6c76149a7d46b [file] [log] [blame]
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifdef __WIDL__
#pragma winrt ns_prefix
#endif
import "inspectable.idl";
import "windows.storage.streams.idl";
namespace Windows {
namespace Storage {
namespace Streams {
interface IBuffer;
}
}
}
namespace Windows {
namespace Security {
namespace Cryptography {
interface ICryptographicBufferStatics;
enum BinaryStringEncoding;
}
}
}
namespace Windows {
namespace Security {
namespace Cryptography {
typedef enum BinaryStringEncoding {
Utf8,
Utf16LE,
Utf16BE
} BinaryStringEncoding;
[uuid(320B7E22-3CB0-4CDF-8663-1D28910065EB)]
interface ICryptographicBufferStatics : IInspectable {
HRESULT Compare(IBuffer* object1, IBuffer* object2, boolean* isEqual);
HRESULT GenerateRandom(UINT32 length, IBuffer** buffer);
HRESULT GenerateRandomNumber(UINT32* value);
HRESULT CreateFromByteArray(UINT32 __valueSize, BYTE* value,IBuffer** buffer);
HRESULT CopyToByteArray(IBuffer* buffer, UINT32* __valueSize, BYTE** value);
HRESULT DecodeFromHexString(HSTRING value, IBuffer** buffer);
HRESULT EncodeToHexString(IBuffer* buffer, HSTRING* value);
HRESULT DecodeFromBase64String(HSTRING value, IBuffer** buffer);
HRESULT EncodeToBase64String(IBuffer* buffer, HSTRING* value);
HRESULT ConvertStringToBinary(HSTRING value, BinaryStringEncoding encoding, IBuffer** buffer);
HRESULT ConvertBinaryToString(BinaryStringEncoding encoding, IBuffer* buffer, HSTRING* value);
}
}
}
}