blob: cac6dafebd859f1bf69b1077ad4434ae63bf8b0c [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.
*/
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);
}
}
}
}