文件操作_创建_读_写_复制文件
来源:互联网 发布:叙永网络歌手大赛 编辑:程序博客网 时间:2024/05/20 12:23
#include"ntddk.h" #define lisaisai1 'MyTt' VOID xiezai1(PDRIVER_OBJECT qudongduixiang){KdPrint(("已经执行到了 驱动卸载历程\n"));}NTSTATUS kaibeiwenjian(HANDLE handle1, HANDLE handle2)//拷贝文件{NTSTATUS zhuangtai1;IO_STATUS_BLOCK io_zhuangtai = {0};PVOID huanchong = NULL;ULONG zhangdu = 1024*4;LARGE_INTEGER changzhengxing = { 0 };huanchong = ExAllocatePoolWithTag(NonPagedPool, 4000,lisaisai1);do {zhuangtai1=ZwReadFile(handle1, NULL, NULL, NULL, &io_zhuangtai, huanchong, zhangdu, &changzhengxing, NULL);if (!NT_SUCCESS(zhuangtai1)){if (zhuangtai1==STATUS_END_OF_FILE){zhuangtai1 = STATUS_SUCCESS;break;}}zhangdu = io_zhuangtai.Information;//实际读到的长度zhuangtai1 = ZwWriteFile(handle2, NULL, NULL, NULL, &io_zhuangtai, huanchong, zhangdu, &changzhengxing, NULL);if (!NT_SUCCESS(zhuangtai1)){break;}changzhengxing.QuadPart += zhangdu;} while (1);ExFreePool(huanchong);return zhuangtai1;}VOID dakaiwenjian()//打开文件{HANDLE handle1 = NULL;HANDLE handle2 = NULL;UNICODE_STRING mingzi = RTL_CONSTANT_STRING(L"\\??\\C:\\lisaisai.dat");UNICODE_STRING mingzi2 = RTL_CONSTANT_STRING(L"\\??\\C:\\lifaqi.dat");OBJECT_ATTRIBUTES duixiangshuxing;OBJECT_ATTRIBUTES duixiangshuxing_2;IO_STATUS_BLOCKiozhuangtaidasha;LARGE_INTEGER changzhengxing;changzhengxing.u.HighPart = 0;changzhengxing.u.LowPart = 0;InitializeObjectAttributes(&duixiangshuxing, &mingzi, OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,NULL,NULL);InitializeObjectAttributes(&duixiangshuxing_2, &mingzi2, OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, NULL, NULL);ZwCreateFile(&handle1, GENERIC_ALL, &duixiangshuxing, &iozhuangtaidasha, &changzhengxing, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, FILE_OPEN_IF, \FILE_NON_DIRECTORY_FILE | FILE_RANDOM_ACCESS | FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0);ZwCreateFile(&handle2, GENERIC_ALL, &duixiangshuxing_2, &iozhuangtaidasha, &changzhengxing, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, FILE_OPEN_IF, \FILE_NON_DIRECTORY_FILE | FILE_RANDOM_ACCESS | FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0);kaibeiwenjian(handle1, handle2);ZwClose(handle1);ZwClose(handle2);}NTSTATUS DriverEntry(PDRIVER_OBJECT qudongduixiang, PUNICODE_STRING zhucebiao1){dakaiwenjian();qudongduixiang->DriverUnload = xiezai1;return STATUS_SUCCESS;}
阅读全文
0 0
- 文件操作_创建_读_写_复制文件
- 串口文件_写
- Linux _文件操作
- 黑_马_程_序_员_字节流复制任意文件
- [Cocoa]_[初级]_[文件拖放操作]
- C#_创建Excel文件实例操作
- 黑马程序员_文件复制
- 体会_.NET_WebForm_文件操作
- Linux _文件操作demo
- 文件流_File文件操作_相对路径_绝对路径
- 【linux】创建_复制_移动_删除
- [Cocoa]_[初级]_[使用NSXMLElement 创建一个XML文件]
- java上机作业_文件的复制
- ^_^
- ^_^
- ^_^
- ^_^
- *_&
- 截断二进制指数退避算法
- java 数组 直接选择排序
- 二叉排序树查找指定区间的值
- java中的多对多映射
- 547. Friend Circles
- 文件操作_创建_读_写_复制文件
- Java的断言
- Android中常用布局及Androd Studio快捷键
- 一个hibernate项目的环境搭建
- ELF中与动态链接相关的段
- Deep Reinforcement Learning 基础知识(DQN方面)
- Sicily 1024. Magic Island
- jquery
- android网络编程之HttpUrlConnection的讲解--POST请求