如果文件映射对象由页面文件支持(调用CreateFileMapping并将hFile参数设置为INVALID_HANDLE_VALUE),则页面文件必须足够大以容纳整个映射。如果不是,则MapViewOfFile失败。
但即使页面文件不存在,此代码仍然有效。为什么?
HANDLE mm;
LPVOID addr;
mm = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE | SEC_COMMIT, 0, 1024 * 1024, NULL);
if (mm != NULL) {
addr = MapViewOfFile(mm, FILE_MAP_ALL_ACCESS, 0, 0, 1024 * 1024);
if (addr != NULL) {
MessageBox(0, NULL, NULL, 0);
}
}
答案 0 :(得分:2)
当你做一些不寻常的事情时,不要认为记录的规则仍然有效。