나의 목표는 usb를 읽고 쓰는 것이다.winhex와 같은 USB (디스크)를 직접 읽거나 쓰는 방법은 무엇입니까?
열고 나는 CreateFile이이 올바른지 그리고 ReadFile을했다 궁금해 내가 WINAPI 아래와 비주얼 C++를 사용
내 테스트 코드char path[64];
sprintf(path,"\\\\.\\%c:",volume);//
/////MOST case, user's input is F or G ......
HANDLE usb;
usb=CreateFile(TEXT(path),
GENERIC_ALL,//
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, //serail I/O
NULL);
if(usb==INVALID_HANDLE_VALUE) cout<<"fail to createfile()"<<endl;
cout<<usb<<endl;
char buf[128];
DWORD dwBytesRead=0;
ReadFile(usb,buf,sizeof(buf),&dwBytesRead,NULL);
cout<<buf<<endl;
cout<<GetLastError()<<endl;
CloseHandle(usb);
입니다 '프로그램'과 같은 USB 로우 - 레벨을 읽을 수 있어야합니다
우선
ReadFile()의 GetLastError()가 잘못된 입력을 의미하는 87이었습니다.
무엇이 잘못 되었습니까 ??
나는 MSDN 여러 번 언급 ...하지만 모든 페이지는이 문제 ....나는 무엇을 알아야 해결되지? 고쳐?
무언가 잘못되었다는 것을 이미 알고있는 경우에만'GetLastError'를 호출해야합니다 ('ReadFile'의 반환 값을 확인하십시오). 성공적인 작업으로 반드시 마지막 오류가 변경되는 것은 아닙니다. – molbdnilo
나는 귀하의 의견을 보았습니다. 그러나 ReadFile의 GetLastError 만 87을 반환합니다 ..... 무엇이 잘못 되었습니까 ?? – user1829967
'ReadFile'가'FALSE'를 반환하면'GetLastError()'만 호출했는지 확인 했습니까? 나는를 CreateFile을 호출 할 때 – molbdnilo