Windows创建指定大小

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

 

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.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows 操作系统中,可以使用以下 API 函数来创建线程: ```c DWORD WINAPI CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, __drv_aliasesMem LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId ); ``` 下面是函数参数的详细说明: - `lpThreadAttributes`:指向 `SECURITY_ATTRIBUTES` 结构的指针,用于指定新线程的安全描述符。如果该参数为 `NULL`,则新线程默认继承了调用线程的安全描述符。 - `dwStackSize`:指定新线程的堆栈大小。如果为 `0`,则新线程使用与创建线程相同的堆栈大小。 - `lpStartAddress`:指向线程函数的指针。线程函数的返回值必须是 `DWORD` 类型,表示线程的退出代码。 - `lpParameter`:传递给线程函数的参数。 - `dwCreationFlags`:用于指定线程创建时的标志。可以为以下值之一或它们的组合: - `CREATE_SUSPENDED`:创建线程时,线程的初始状态为挂起状态。 - `0`:创建线程时,线程的初始状态为运行状态。 - `lpThreadId`:指向 `DWORD` 类型的指针,用于接收新线程的标识符。 下面是一个简单的示例: ```c #include <windows.h> #include <stdio.h> DWORD WINAPI ThreadFunc(LPVOID lpParam) { printf("Hello from thread!\n"); return 0; } int main() { HANDLE hThread; DWORD dwThreadId; hThread = CreateThread(NULL, 0, ThreadFunc, NULL, 0, &dwThreadId); if (hThread == NULL) { fprintf(stderr, "CreateThread failed\n"); return 1; } WaitForSingleObject(hThread, INFINITE); CloseHandle(hThread); return 0; } ``` 在上面的示例中,我们使用 `CreateThread` 函数创建了一个新的线程,并且使用 `WaitForSingleObject` 函数等待该线程执行完毕。最后,我们使用 `CloseHandle` 函数关闭了线程句柄。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值