这就是我为创建文件所做的工作(在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也取得了成功。 我做错了什么?
答案 0 :(得分:0)
找到解决方案:将FILE_OPEN替换为FILE_SUPERSEDE