从内核窗口创建文件

时间:2018-04-27 11:58:12

标签: c kernel

这就是我为创建文件所做的工作(在C:\ example.txt中):

RtlInitUnicodeString(&uniName, L"\\DosDevices\\C:\\example.txt"); //L"\\SystemRoot\\drvhinf.txt");  // or L"\\SystemRoot\\example.txt" \\DosDevices\\C:\\WINDOWS\\example.txt
    InitializeObjectAttributes(&objAttr, &uniName,
        OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,
        NULL, NULL);
    //////////////////////////////////

    ///////////////////////////////////
    //Load the buffer (ie. contents of text file to the console)
    ntstatus = ZwCreateFile(&handle,
        GENERIC_WRITE, //GENERIC_READ
        &objAttr, &ioStatusBlock,
        NULL,
        FILE_ATTRIBUTE_NORMAL,
        0,
        FILE_OPEN,
        FILE_SYNCHRONOUS_IO_NONALERT,
        NULL, 0);

但是在启动驱动程序后,我无法在C盘上找到example.txt。我在Windows 7上,我不知道是否应该使用其他路径进行归档。 ZwCreateFile也取得了成功。 我做错了什么?

1 个答案:

答案 0 :(得分:0)

找到解决方案:将FILE_OPEN替换为FILE_SUPERSEDE