不知道哪里错了~~
本帖最后由 ok100fen 于 2010-8-8 21:37 编辑我想用驱动在c盘建立一个ok100fen.txt文件
并且里面写上ok100fen.txt
但是没成功
没找到原因
高手帮忙啊
代码:
#include <ntddk.h>
VOID Unload(IN PDRIVER_OBJECT DriverObject)
{
}
NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)
{
HANDLE hFile=NULL;
IO_STATUS_BLOCK ioStatus;
NTSTATUS ntStatus;
OBJECT_ATTRIBUTES oa;
UNICODE_STRING usPath;
RtlInitUnicodeString(&usPath,L"\\??\\c:\\ok100fen.txt");
InitializeObjectAttributes(&oa,&usPath,OBJ_KERNEL_HANDLE|OBJ_CASE_INSENSITIVE,NULL,NULL);
ntStatus=ZwCreateFile(
&hFile,
GENERIC_READ|GENERIC_WRITE,
&oa,
&ioStatus,
NULL,
FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_READ,
FILE_OPEN_IF,
FILE_NON_DIRECTORY_FILE|FILE_RANDOM_ACCESS|FILE_SYNCHRONOUS_IO_NONALERT,
NULL,
0);
ntStatus=ZwWriteFile(
hFile,
NULL,
NULL,
NULL,
&ioStatus,
usPath.Buffer,
usPath.Length,
NULL,
NULL
);
ZwClose(hFile);
DriverObject->DriverUnload = Unload;
return STATUS_SUCCESS;
} 好了,
终于成功了
#include <ntddk.h>
VOID Unload(IN PDRIVER_OBJECT DriverObject)
{
}
NTSTATUSDriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)
{
HANDLE hFile=NULL;
IO_STATUS_BLOCK ioStatus;
NTSTATUS ntStatus;
OBJECT_ATTRIBUTES oa;
UNICODE_STRING usPath;
RtlInitUnicodeString(&usPath,L"\\??\\c:\\ok100fen.txt");
InitializeObjectAttributes(&oa,&usPath,OBJ_KERNEL_HANDLE|OBJ_CASE_INSENSITIVE,NULL,NULL);
ntStatus=ZwCreateFile(
&hFile,
GENERIC_READ|GENERIC_WRITE,
&oa,
&ioStatus,
NULL,
FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_READ,
FILE_OPEN_IF,
FILE_NON_DIRECTORY_FILE|FILE_RANDOM_ACCESS|FILE_SYNCHRONOUS_IO_NONALERT,
NULL,
0);
ntStatus=ZwWriteFile(
hFile,
NULL,
NULL,
NULL,
&ioStatus,
usPath.Buffer,
usPath.Length,
NULL,
NULL);
ZwClose(hFile);
DriverObject->DriverUnload = Unload;
return STATUS_SUCCESS;
} 我以前不是有个使用IoCreateFile创建文件的例子吗??? 我想知道的是,
用驱动函数创建的文件和普通函数创建的文件有什么区别?
为什么大家非要用驱动呢? 我想知道的是,
用驱动函数创建的文件和普通函数创建的文件有什么区别?
为什么大家非要用驱动呢?
ok100fen 发表于 2010-8-8 22:53 http://www.m5home.com/bbs/images/common/back.gif
没什么不同,只是觉得用驱动创建文件好玩呗。
对我们编程爱好者来说,编程不就是一种游戏嘛,对不?
页:
[1]