赞
踩
有时候我们需要创建指定大小的空白文件,我们可以使用Windows下的api CreateFileMapping创建
// 创建的文件总大小 = dwHigh * 4G + dwLow
// 当总大小小于4G时,dwHigh可以设置为0,dwLow数字最大为4G - 1
DWORD CreateNullFile(DWORD dwHigh, DWORD dwLow, char* pszName)
{
DWORD dwResult = 0;
HANDLE hFile = CreateFile(pszName, GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (INVALID_HANDLE_VALUE == hFile)
{
return GetLastError();
}
HANDLE hFileMap = CreateFileMapping(hFile, NULL, PAGE_READWRITE, dwHigh, dwLow, NULL);
if (NULL == hFileMap)
{
return GetLastError();
}
CloseHandle(hFileMap);
CloseHandle(hFile);
return dwResult;
}
参考了该博客:http://blog.csdn.net/xinchimaker/article/details/6250524
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。