I have an object that implements the interface Windows::Storage::Streams::IBuffer, and I want to get an array of bytes out of it, however while looking at the d
This should work with WinRT extensions:
// Windows::Storage::Streams::DataReader
// buffer is assumed to be of type Windows::Storage::Streams::IBuffer
// BYTE = unsigned char
DataReader^ reader = DataReader::FromBuffer(buffer);
BYTE *extracted = new BYTE[buffer->Length];
// NOTE: This will read directly into the allocated "extracted" buffer
reader->ReadBytes(Platform::ArrayReference(extracted, buffer->Length));
// ... do something with extracted...
delete [] extracted; // don't forget to free the space