기계에 문제가 있습니다. Windows 8.1 및 x64이지만 실제 문제는 아닙니다.RetrievePropertiesAsync 및 COMException E_FAIL
다음 코드에서는 ARM, x86 및 x64 플랫폼 모두에서 Windows 8 및 8.1을 실행하는 장치 및 랩톱에서이 코드를 테스트했습니다. 그리고이 랩톱 하나만이 COMException을 던집니다.
이 코드는 :
// Yes, I have checked the appropriate box in the manifest to access VideosLibrary.
StorageFolder vidFolder = KnownFolders.VideosLibrary;
var SystemFreeSpace = "System.FreeSpace";
var SystemCapacity = "System.Capacity";
var SystemPercentFull = "System.PercentFull";
var properties = new List<string>() { SystemFreeSpace, SystemCapacity, SystemPercentFull };
// THIS blows up on only one device. Though on Windows 8.1 I get null values (different issue).
var props = await vidFolder.RetrievePropertiesAsync(properties);
이 예외 메시지입니다.
은 그래서 어쩌면이 개인의 동영상 자체 폴더 있다는 thingking하고는 문제입니다. USB 드라이브의 속성을 검색하려고 할 때 코드가 제대로 작동합니다.오류 코드 :
-2147467259
오류 메시지 :
오류 HRESULT E_FAIL는 COM 구성 요소에 대한 호출에서 반환되었습니다.
줄 번호 :
mscorlib에
이 문제가 발생한 사람이 있습니까?
E_FAIL은 진단 할 수없는 오류 코드입니다. 드라이브에서만 의미가있는 폴더의 속성을 묻는 것은 반드시 그 파일과 관련이 있어야합니다. –
@HansPassant 오류 코드 정보를 제공해 주셔서 감사합니다. 하지만 당신의 의심이 옳지 않았습니다. 이 사용자의 VideosLibrary 폴더가 손상되었음을 알립니다. 그들은 현재 VideoLibrary "폴더"를 삭제 한 다음 Windows 탐색기에서 "라이브러리> 기본 라이브러리 복원"을 마우스 오른쪽 버튼으로 클릭해야했습니다. 이 문제가 해결되었습니다. –