1

Windows 8でWPD(Windows Portable Devices)APIを使用してMTP互換のモバイルデバイスからデータを読み取るときに、奇妙な問題が発生しました(他のWindowsバージョンはまだ試していません)。

症状は、関数を介して取得ReleaseしたIStreamインターフェイスを呼び出すときに、デバイスがPCから切断されるまで呼び出しがハングし、戻らない場合があります。IPortableDeviceResources::GetStreamRelease

いくつかの実験の結果、ストリームの内容全体が読み取られている限り、これは決して発生しないことがわかりました。ただし、ストリームが部分的にしか読み取られていない場合(たとえば、ファイルの最初の256Kb)、一見ランダムに発生する可能性があります(かなり頻繁に発生します)。

これはiPhoneとWindowsPhone8モバイルで再現されているため、デバイス固有ではないようです。

誰かが以前にこの種の問題に遭遇したことがありますか?さらに重要なことに、ストリームのコンテンツ全体を常に読み取る以外に、それを解決する方法を知っている人はいますか?

ありがとう!

4

1 に答える 1

2

メソッドを呼び出すと、IPortableDeviceDataStream::Cancelこの問題が解決するように見えることがわかりました。

于 2012-11-25T23:53:33.820 に答える