资源简介
竹林蹊径-深入浅出Windows驱动开发源代码.rar
竹林蹊径 深入浅出 Windows驱动开发 源代码
代码片段和文件信息
/*
*******************************************************************************
*= = 文件名称:HelloDRIVER.c
*= = 文件描述:驱动程序HelloDRIVER例子
*= = 作 者:竹林蹊径
*= = 编写时间:2009-04-23 21:16:00
*******************************************************************************
*/
#include “HelloDRIVER.h“
//*============================================================================
//*= = 预处理定义
//*============================================================================
#pragma alloc_text(INIT DriverEntry)
#pragma alloc_text(PAGE DefaultDispatch)
#pragma alloc_text(PAGE DriverUnload)
//*============================================================================
//*= = 函数名称:DriverEntry
//*= = 功能描述:驱动程序入口函数
//*= = 入口参数:PDRIVER_object PUNICODE_STRING
//*= = 出口参数:NTSTATUS
//*============================================================================
NTSTATUS
DriverEntry (
__in PDRIVER_object Driverobject
__in PUNICODE_STRING RegistryPath
)
{
NTSTATUS status;
PDEVICE_object deviceobject;
PDEVICE_EXTENSION deviceExtension;
UNICODE_STRING symboliclink;
UNICODE_STRING deviceName;
ULONG i;
KdPrint((“Enter HelloDRIVER DriverEntry!\n“));
UNREFERENCED_PARAMETER(RegistryPath);
RtlInitUnicodeString(&deviceName L“\\Device\\HelloDRIVER“);
// 处理派遣例程
for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
{
Driverobject->MajorFunction[i] = DefaultDispatch;
}
Driverobject->DriverUnload = DriverUnload;
Driverobject->MajorFunction[IRP_MJ_CREATE] = DefaultDispatch;
Driverobject->MajorFunction[IRP_MJ_CLOSE] = DefaultDispatch;
Driverobject->MajorFunction[IRP_MJ_READ] = DefaultDispatch;
Driverobject->MajorFunction[IRP_MJ_WRITE] = DefaultDispatch;
// 创建设备
status = IoCreateDevice( Driverobject
sizeof(DEVICE_EXTENSION)
&deviceName
FILE_DEVICE_UNKNOWN
0
TRUE
&deviceobject);
if(!NT_SUCCESS(status))
{
return status;
}
deviceobject->Flags = DO_BUFFERED_IO;
deviceExtension = (PDEVICE_EXTENSION)deviceobject->DeviceExtension;
deviceExtension->Deviceobject = deviceobject;
deviceExtension->DeviceName = deviceName;
RtlInitUnicodeString(&symboliclink L“\\??\\HelloDRIVER“);
deviceExtension->Symboliclink = symboliclink;
// 创建符号链接
status = IoCreateSymboliclink(&symboliclink &deviceName);
if(!NT_SUCCESS(status))
{
IoDeleteDevice(deviceobject);
return status;
}
KdPrint((“End of HelloDRIVER DriverEntry!\n“));
return status;
}
//*============================================================================
//*= = 函数名称:DriverUnload
//*= = 功能描述:驱动程序卸载函数
//*= = 入口参数:PDRIVER_OBJ
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4898 2011-01-20 17:00 Code\01\HelloDRIVER\HelloDRIVER.c
文件 1702 2009-11-28 18:13 Code\01\HelloDRIVER\HelloDRIVER.h
文件 38 2009-04-24 14:13 Code\01\HelloDRIVER\MAKEFILE
文件 216 2009-11-28 16:58 Code\01\HelloDRIVER\ReadMe.txt
文件 94 2009-11-28 16:46 Code\01\HelloDRIVER\SOURCES
文件 1011 2009-11-28 18:34 Code\01\HelloWorld\HelloWorld.c
文件 38 2009-04-24 14:13 Code\01\HelloWorld\MAKEFILE
文件 206 2009-11-28 16:49 Code\01\HelloWorld\ReadMe.txt
文件 92 2009-11-28 16:06 Code\01\HelloWorld\SOURCES
文件 5077 2010-03-16 10:59 Code\04\Common\IoCtl.h
文件 609 2010-06-20 11:59 Code\04\Common\NewDelete.h
文件 3202 2010-09-15 17:49 Code\04\Common\public.h
文件 1590 2010-03-14 23:07 Code\04\Common\Structure.h
文件 5800 2011-01-17 12:42 Code\04\CY001_ClsInst\classInst_CY001.c
文件 730 2011-01-17 13:11 Code\04\CY001_ClsInst\classinst_CY001.rc
文件 60 2011-01-17 12:32 Code\04\CY001_ClsInst\CY001_ClsInst.def
文件 269 2010-02-08 18:34 Code\04\CY001_ClsInst\MAKEFILE
文件 718 2010-02-08 18:34 Code\04\CY001_ClsInst\resource.h
文件 506 2011-01-17 12:32 Code\04\CY001_ClsInst\sources
文件 3022 2011-01-20 21:19 Code\04\WDF_CY001\CY001.vcproj
文件 387 2010-03-16 10:34 Code\04\WDF_CY001\Debug.c
文件 19760 2010-06-09 10:33 Code\04\WDF_CY001\Device.c
文件 14964 2010-03-16 23:05 Code\04\WDF_CY001\DeviceIO.c
文件 1679 2010-06-07 16:26 Code\04\WDF_CY001\Main.c
文件 271 2009-12-03 16:07 Code\04\WDF_CY001\makefile
文件 4226 2010-03-16 14:15 Code\04\WDF_CY001\Pnp_Pwr.c
文件 6569 2010-09-15 15:56 Code\04\WDF_CY001\public.h
文件 353 2010-12-19 22:50 Code\04\WDF_CY001\readme.txt
文件 7201 2010-03-16 14:38 Code\04\WDF_CY001\ReadWrite.c
文件 259 2010-04-07 20:28 Code\04\WDF_CY001\sources
............此处省略324个文件信息
相关资源
- Lab Windows_CVI逐步深入与开发书pdf文档
- microsoft-windows-netfx3-ondemand-package.cab
- 虚拟串口软件Virtual Serial Port Driver最新
- epm磁盘分割工具,Windows系统下运行
- Windows内核和驱动进程保护
- 叉叉集成开发环境 V2.0.1.3 windows版本
- Libevent深入浅出-码源深度剖析
- 吉林大学《Windows程序设计》作业部分
- windows版nginx(1.19.3)包含nginx-http-fl
- 对图像的一维高斯滤波操作
- Practical Foundations of Windows Debugging Dis
- windows免安装版redis
- Yifile器
- Redis-x64-4.0.2.3msi
- Quite Imposing Plus 4.0j + Windows和MAC版 可用
- ncbrowser插件
- Windows 7安装与配置IIS 6
- MentoHUST_x64.zip for Windows 10 x64
- GMap.NET.Core.dll以及GMap.NET.WindowsForms.d
- QTTabBar_带中文语言包_带默认设置-带使
- windows下基于QT5.7的mqttClient测试上位机
- dcm4che windows版本, win10可用,工具包
- Windows_Update_Clean_Tool.rar
- windows commands2019.pdf
- telegraf-1.6.4 Windows版本
- Windows下BPG图像官方压缩和解压缩工具
- kb2577795kb2553549
- 最新IP数据库已更新为2019.11.15,集成
- FATFSv0.12 windows移植测试 多线程 文件
- WSUS全攻略Microsoft® Windows Server® Upda
评论
共有 条评论