Windows创建指定大小

来源:互联网 发布:部落战争手游源码下载 编辑:程序博客网 时间:2024/06/06 20:46

用文件映射可以瞬间创建一个空的大文件。


VOID CreateSpecifiedSizeFile(DWORD dwSizeHigh, DWORD dwSizeLow)

{

    HANDLE hFile = CreateFile(_T("1.txt"), GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL);

    if (hFile != INVALID_HANDLE_VALUE)
    {
        HANDLE hFileMap = CreateFileMapping(hFile, NULL, PAGE_READWRITE, NULL, dwSize, NULL);
        if (hFileMap)
        {
            CloseHandle(hFileMap);
            hFileMap = NULL;
        }
        CloseHandle(hFile);
        hFile = INVALID_HANDLE_VALUE;
    }

}


dwSizeLow < 4*1024*1024*1024 (当dwSizeHigh为0时。否则报错0x000003ee 文件所在的卷已被外部更改,因此打开的文件不再有效。

dwSizeHigh 表示文件超过4G,当dwSizeHigh = 1,dwSizeLow = 0:文件大小为4G

当磁盘空间不足时,错误码:0x70

ERROR_DISK_FULL
112

There is not enough space on the disk.