// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE hFile; //文件句柄
HANDLE hMapFile; //文件内存映射区域的句柄
LPVOID lpMapAddress; //内存映射区域的起始位置
// 1.创建一个文件
hFile = CreateFile(L"D:\\xxxxx", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (INVALID_HANDLE_VALUE == hFile) return FALSE;
//2.创建文件映射
hMapFile = CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0, GetFileSize(hFile, NULL), NULL);
if (NULL == hMapFile) return FALSE;
//3.将文件映射View
lpMapAddress = MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, 0);
if (NULL == lpMapAddress) return FALSE;
//.......
// 可以使用lpMapAddress进行一些操作
// 4.将银色的数据写回到硬盘上
FlushViewOfFile(lpMapAddress, 0);
// 5,关闭mapping对象
if (!CloseHandle(hMapFile) || !CloseHandle(hMapFile)) return FALSE;
return 0;
}