资源简介
竹林蹊径-深入浅出Windows驱动开发源代码.rar
竹林蹊径 深入浅出 Windows驱动开发 源代码
![](http://www.nz998.com/pic/37400.jpg)
代码片段和文件信息
/*
*******************************************************************************
*= = 文件名称: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个文件信息
相关资源
-
Windows em
bedded Compact 2013 应用开发调 - 黑苹果硬件兼容检测和查询软件
- Uninstall_Cortana_WINCLIENT.CN.rar
- VMware65_SLP_DeLLSLIC2.1
- Windows异步套接字网络编程
- WINDOWS98启动盘镜像Win98.IMA
- 仿windows记事本
- windows7用的,非常漂亮的透明计时器
- WinForm属性编辑 propertyGrid示例 仿wind
- windows下制作macOS安装U盘,绝对简单好
- keil vcom windows 7 64bit 驱动
- windows ce 系统的GPIO驱动程序
- TCP 发包工具(windows)
- 微软的可以删除系统卸不干净的软件
- windows下生成MD5值的工具(WinMD5)
- windows cygwin ns2安装步骤
- WinAPI 函数库(大全)
- 解决在Windows XP SP2下不能显示验证码的
- php程序实现数据库的增删改查
- 加快Windows XP操作系统开机速度
- SVNDrv.sys
- window ping命令加时间并记录日志
- Windows 1.0 软盘镜像
- Windows下访问LINUX的利器-SSH
- PCS7深入浅出西门子第一部V9.0
- ChilledWindows.exe(玩笑病毒)
- NDK-R12B windows-x86_64百度云盘
- windows3.2简体中文版,虚拟机文件
- Windows 3.0 安装软盘(3.5 720k)
- WINDOWS内核安全编程 寒江独钓 光盘源
评论
共有 条评论