Getting an array of bytes out of Windows::Storage::Streams::IBuffer

后端 未结 7 1284
囚心锁ツ
囚心锁ツ 2020-12-01 11:22

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

7条回答
  •  一整个雨季
    2020-12-01 11:54

    This is a C++/CX version:

    std::vector getData( ::Windows::Storage::Streams::IBuffer^ buf )
    {
        auto reader = ::Windows::Storage::Streams::DataReader::FromBuffer(buf);
    
        std::vector data(reader->UnconsumedBufferLength);
    
        if ( !data.empty() )
            reader->ReadBytes(
                ::Platform::ArrayReference(
                    &data[0], data.size()));
    
        return data;
    }
    

    For more information see Array and WriteOnlyArray (C++/CX).

提交回复
热议问题