문제

Windows에서는 장치와 볼륨을 열 수 있습니다. CreateFile(). 나는 이것을 전에 성공적으로 사용했습니다 ReadFile() 장치에서하지만 이제 메모리 매핑으로 전환하고 싶습니다. 다음 코드에서는받습니다 INVALID_HANDLE_VALUE 의 가치를 위해 b, 그리고 c 설정되었습니다 87, ERROR_INVALID_PARAMETER.

HANDLE a = ::CreateFileA("\\\\.\\h:", GENERIC_READ, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY | FILE_FLAG_NO_BUFFERING, NULL);
HANDLE b = ::CreateFileMappingA(a, NULL, PAGE_READONLY, 0, 0, NULL);
DWORD c = ::GetLastError();

이것을 어떻게 작동시킬 수 있습니까?

도움이 되었습니까?

해결책

당신은 할 수 없습니다. CreateEfilemapping은 파일에 대한 매핑 만 만들 수 있습니다. HFILE 매개 변수 간의 문서의 차이점을 살펴보십시오. readfile 그리고 CreateEfilemapping. readfile의 경우, 모든 다른 유형의 핸들 (장치 포함)을 나열하고 크리젠 테레임 맵핑을 위해 파일 만 나열합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top