文件的打开
来源:互联网 发布:凡科源码 免费源代码 编辑:程序博客网 时间:2024/04/29 03:35
使用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);}
- 关联文件的打开
- 文件的打开方式
- 打开指定的文件
- 文件的打开、保存
- 文件的打开
- 文件的打开!
- JNLP文件的打开
- 打开文件的方法
- 文件的打开
- Ipynb文件的打开
- Ipynb文件的打开
- Ipynb文件的打开
- .pynb文件的打开
- .md文件的打开
- python文件的打开
- Notepad++不打开最近打开的文件
- Notepad++ -- 不打开上次打开的文件
- 各种文件的打开方式
- 一位年轻女董事长的37条忠告
- 三、四柱汉诺塔最小步数
- python2.6+sles11.1+lxml3.0+spyne2.8.2安装
- JDBC开发
- 双缓冲技术及其在VC的GDI环境下的实现
- 文件的打开
- hdu1753 大明A+B && nyoj 513 A+B Problem IV
- 程序员技术练级攻略
- JS禁止浏览器后退键
- Http同步和异步请求区别
- 预备知识―程序的内存分配 (堆和栈的区别)
- MPMoviePlayerViewController电影播放器
- 垃圾CSDN,把我号删了得了!!!
- Redis关键点(RDB文件格式)