FileMapping写的内容什么时候会flush到磁盘?
FileMapping写文件
这是个简单的file mapping 写文件例子:
void TestIOFileMapping() {
HANDLE hFile;
hFile = CreateFile(L"testfilemapping.foo",
GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
return;
}
HANDLE hMapping = CreateFileMapping(hFile,
NULL,
PAGE_READWRITE,
0,
MAX_FILESIZE,
NULL);
if (hMapping == NULL)
{
CloseHandle(hFile);
return;
}
char* puchData = (char*)MapViewOfFile(hMapping,
FILE_MAP_WRITE,
0,
0,
0);
if (puchData == NULL)
{
CloseHandle(hMapping);
CloseHandle(hFile);
return;
}
for (int i = 0; i < 10; i++)
{
memset(puch