Volume的CreateFileMapping()失败

时间:2011-11-29 16:16:54

标签: c windows winapi mapping

我在将部分卷映射到内存时遇到问题。卷已成功打开,我可以从中读取,但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(但代码也适用于较新版本),管理员帐户。

1 个答案:

答案 0 :(得分:3)

CreateFileMapping仅支持映射文件。它返回“参数不正确”,因为句柄不适用于文件。