2012-11-21 4 views
1

Windows 8에서 WPD (Windows 휴대용 장치) API를 사용하여 MTP 호환 모바일 장치에서 데이터를 읽을 때 이상한 문제가 발생했습니다 (다른 Windows 버전은 아직 시도하지 않음) . IPortableDeviceResources::GetStream 함수를 통해 얻어진 IStreamRelease 인터페이스를 호출 할 때WPD MTP 데이터 스트림이 응답하지 않음

증상이있다 가끔 Release 통화가 중단되고 장치는 PC에서 분리 될 때까지 복귀하지 않을 것이다.

몇 가지 실험을 한 후이 은 결코이 스트림의 전체 내용을 읽는 동안 발생한다는 것을 발견했습니다. 그러나 스트림이 부분적으로 만 읽혀진 경우 (예 : 파일의 처음 256Kb), 무작위로 겉보기에 발생할 수 있습니다 (꽤 자주 발생 함).

이 내용은 iPhone 및 Windows Phone 8 모바일에서 재생되었으므로 해당 장치가 아닙니다.

이전에 이런 종류의 문제가 발생 했습니까? 더 중요한 것은 스트림의 전체 내용을 항상 읽는 것 외의 방법으로 해결할 수있는 방법을 아는 사람이 있습니까?

감사합니다.

답변

2

IPortableDeviceDataStream::Cancel 메서드를 호출하면이 문제가 해결 된 것으로 나타났습니다.