文件的打开

使用ZwCreateFile函数

/*打开文件 获取句柄的方法*/ #include "ntddk.h" #include "wdm.h"

 

/*NTSTATUS DriverEntry(IN PDRIVER_OBJECT theDrverObject,IN PUNICODE_STRING theRegistryPath) {  OBJECT_ATTRIBUTES objectAttributes;  IO_STATUS_BLOCK iostatus;  NTSTATUS ntStatus;  HANDLE hfile;  UNICODE_STRING logFileUnicodeString;  //初始化UNICODE_STRING字符串  RtlInitUnicodeString(&logFileUnicodeString,L"\\??\\C:\\1.log");  //或者写成"\\Device\\HarddiskVolume1\\1.LOG"  //初始化objectAttributes  InitializeObjectAttributes(&objectAttributes,&logFileUnicodeString,OBJ_CASE_INSENSITIVE,NULL,NULL);  //打开文件  ntStatus=ZwCreateFile(&hfile,GENERIC_READ,&objectAttributes,&iostatus,NULL,FILE_ATTRIBUTE_NORMAL,FILE_SHARE_READ,FILE_OPEN,FILE_SYNCHRONOUS_IO_NONALERT,NULL,0);  if(NT_SUCCESS(ntStatus))  {   KdPrint(("Open file successfully!\n"));  }else  {   KdPrint(("Open file unsuccessfully!\n"));  }  //文件操作  //关闭文件句柄  ZwClose(hfile); }*/

 

 

NTSTATUS DriverEntry(IN PDRIVER_OBJECT theDrverObject,IN PUNICODE_STRING theRegistryPath) {  OBJECT_ATTRIBUTES objectAttributes;  IO_STATUS_BLOCK iostatus;  HANDLE hfile;     NTSTATUS ntStatus;  UNICODE_STRING logFileUnicodeString;  //初始化UNICODE_STRING字符串  RtlInitUnicodeString(&logFileUnicodeString,L"\\??\\C:\\1.log");  //或者写成"\\Device\\HarddiskVolume1\\1.LOG"  //初始化objectAttributes  InitializeObjectAttributes(&objectAttributes,&logFileUnicodeString,OBJ_CASE_INSENSITIVE,NULL,NULL);  //打开文件  ntStatus=ZwOpenFile(&hfile,GENERIC_ALL,&objectAttributes,&iostatus,FILE_SHARE_READ|FILE_SHARE_WRITE,FILE_SYNCHRONOUS_IO_NONALERT);  if(NT_SUCCESS(ntStatus))  {   KdPrint(("Open file successfully!\n"));  }else  {   KdPrint(("Open file unsuccessfully!\n"));  }  //文件操作  //  //关闭文件  ZwClose(hfile); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值