【发布时间】:2016-01-13 22:12:56
【问题描述】:
我正在努力连接两个 API。从一个我得到一个Windows::Storage::IBuffer,另一个要求一个ComPtr<IStream>.,即使我想复制流中的数据,我似乎也找不到连接这两者的方法。
到目前为止,从 IBuffer 向前推进的唯一方法是创建一个 Windows::Storage::Streams::DataReader::FromBuffer(buffer). 从那里,我可以通过 ReadBytes 获取 Platform::Array<unsigned char> 数组,但是接下来呢?
谢谢!
【问题讨论】:
-
假设这是旧的COM IStream,不是很清楚,您需要编写一个实现该接口的类。您可以为大多数 IStream 方法返回 E_NOTIMPL,您需要 QI、AddRef、Release、Read 和(可能)Stat。 Read 方法实现可以使用 DataReader 进行读取。