阅读:900回复:2
在文件系统加载前读取系统目录文件
我在磁盘过滤驱动(应该先于文件系统加载吧。。DISKPERF默认启动为0)中,我用以下代码打开系统目录中的文件。总是返回路径错误。。。。。。
是不是一定要在文件系统加载后才可以打开。请问有没有别的办法。。。 RtlInitEmptyUnicodeString(&ufile_name,buf,125); RtlInitUnicodeString(&ufile_name,L"\\SystemRoot\\SYSTEM32\\temp.dat"); InitializeObjectAttributes( &object_attributes, &ufile_name, OBJ_CASE_INSENSITIVE| OBJ_KERNEL_HANDLE, NULL, NULL ); status = ZwCreateFile( &file_handle, GENERIC_WRITE|GENERIC_READ, &object_attributes, &IoStatus, NULL, FILE_ATTRIBUTE_NORMAL, 0, FILE_OPEN, FILE_NON_DIRECTORY_FILE | FILE_RANDOM_ACCESS | FILE_NO_INTERMEDIATE_BUFFERING| FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0 ); if (!NT_SUCCESS(status)) { DbgPrint("打开文件失败!%08X\r\n",status); return FALSE; } else { DbgPrint("打开文件成功!%08X\r\n",status); } 每次都是失败。。麻烦大家帮我看一下。是我代码错误了。还是我说的原因。。。。有没有解决办法。。 |
|
沙发#
发布于:2007-07-19 09:29
那个帮我一下
|
|
板凳#
发布于:2007-07-19 17:26
参考NTLDR的实现,自己定位文件偏移处理。
|
|
|