我的示例应用程序从COM IStream
函数获取IPortableDeviceResources::GetStream()
实例。我想使用此IStream对象异步读取设备对象内容。我怎么能用异步名字来做呢?
答案 0 :(得分:1)
IStream是设计同步的。我首先会问你的场景是什么需要它是异步的。
例如,如果想要异步数据流的原因是您不会阻止UI线程,则可以在工作线程中执行IStream操作。
如果原因是您可以发出多个并行读取,则MTP 1.0设备不支持此操作,因为在驱动程序级别,请求仍将在单个全局MTP会话中按顺序处理。 MTP 2.0支持多会话,允许多个并行连接到同一设备,但到目前为止,没有多少设备采用这种方式。大多数(如果不是全部)市场上的MTP设备都是MTP 1.0。