메모리 매핑 물리 디스크 및 볼륨
-
06-07-2019 - |
문제
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의 경우, 모든 다른 유형의 핸들 (장치 포함)을 나열하고 크리젠 테레임 맵핑을 위해 파일 만 나열합니다.
제휴하지 않습니다 StackOverflow