【发布时间】:2012-01-08 23:42:04
【问题描述】:
我在将部分卷映射到内存时遇到问题。卷已成功打开,我可以从中读取,但 CreateFileMapping() 失败。 GetLastError() 返回 87,其中following 的意思是:“参数不正确。”我已经创建了卷的图像,并且处理正确。这就是我打开文件和创建映射的方式:
/* 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(但代码也应该适用于较新版本),管理员帐户。
【问题讨论】: