2011-08-29 3 views
3

FindFirstFile 함수로 인해 "드라이브에 디스크가 없습니다. 드라이브에 디스크를 넣으십시오"라는 오류가 발생합니다. 이 오류의 원인은 USB 스틱에 sd 카드가없고 비어 있습니다. 내 문제는 특정 디렉터리에 대한 모든 드라이브를 검색해야하며 드라이브가 비어 있는지 여부를 구별 할 수 없다는 것입니다. 어떻게해야합니까?FindFirstFile의 원인 "드라이브에 디스크가 없습니다"오류

Windows 용 응용 프로그램을 개발 중이며 개발 용 MFC를 사용 중입니다.

도움을 주시면 감사하겠습니다.

Farooq-

답변

10

내가 조금 추측하고있어,하지만 난 당신이 나타나는이 대화 상자를 억제하기 SEM_FAILCRITICALERRORS 플래그를 통과 SetErrorMode()를 호출 할 필요가 생각한다. 대신 FindFirstFile()은 실패 코드를 반환하고 열거 형의 다음 드라이브로 이동할 수 있습니다.

편집 : Windows 7 이상에서는 SetThreadErrorMode()을 대신 사용하십시오. 이는 모드의 효과를 제한합니다. 또한 가능한 한 빨리 원본 모드를 복원하는 것을 잊지 마십시오.

+0

정말 고마워요. 당신은 큰 도움이되었습니다. – fz300

+0

이 문제가 해결 되었습니까? –

+1

그것은 맞은 추측이다 :) –