关于CreateFile问题
我准备用CreateFile在磁盘上开辟一片存储区.
代码如下
void CreateNewFile()
{
// 分配缓冲区,生成文件名
BYTE pBuf[] = "F:\\1111.dat";
// 创建临时文件,并给文件分配磁盘区域
HANDLE hFile = CreateFile ( (LPCTSTR)pBuf, GENERIC_WRITE | GENERIC_READ,
0, NULL, CREATE_ALWAYS, FILE_FLAG_OVERLAPPED, NULL );
if (INVALID_HANDLE_VALUE == hFile)
{
return;
}
HANDLE hMap = CreateFileMapping(hFile, NULL, PAGE_READWRITE,
0, 0x40000000, NULL);
if (NULL == hMap)
{
CloseHandle(hFile);
return;
}
CloseHandle(hMap);
}
这个函数在MFC应用程序下执行没有问题.
但在控制台程序下执行怎么都无法成功.
跟踪的结果是,在调用CreateFile函数的时候提示"文件已经存在,无法创建"