У меня проблема с отображением части объема в память. Том успешно открыт, я могу читать с него, но CreateFileMapping()
не удается. GetLastError()
возвращает 87, которое имеет после , означающего: «Параметр неверен». Я создал образ тома, и он обрабатывается правильно. Вот как я открываю файл и создаю отображение:
/* open function */
fd->handle = CreateFile(name, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
/* mapping function */
LARGE_INTEGER li;
li.QuadPart = offset;
handle = CreateFileMapping(fd->handle, NULL, PAGE_READONLY, li.u.HighPart, li.u.LowPart, NULL);
Я работаю над Windows XP SP3 (но код также должен работать на более новых версиях), учетная запись администратора.