0

我的示例应用程序从一个函数中获取一个COM IStream实例。IPortableDeviceResources::GetStream()我想使用这个 IStream 对象异步读取设备对象的内容。如何使用异步名字对象来做到这一点?

4

1 回答 1

1

IStream 在设计上是同步的。我首先会问你的场景是什么需要它是异步的。

例如,如果需要异步数据流的原因是为了不阻塞 UI 线程,则可以在工作线程中执行 IStream 操作。

如果原因是您可以发出多个并行读取,MTP 1.0 设备不支持这一点,因为在驱动程序级别,请求仍将在单个全局 MTP 会话中按顺序处理。MTP 2.0 支持多会话,允许多个并行连接到同一设备,但到目前为止,没有多少设备采用这种方式。市场上的大多数(如果不是全部)MTP 设备都是 MTP 1.0。

于 2013-02-11T04:50:42.663 回答