资源简介
竹林蹊径——深入浅出Windows内核驱动开发(补全版)].张佩,马勇,董鉴源.扫描版(书签waypoint)的 源码
代码片段和文件信息
/*
*******************************************************************************
*= = 文件名称: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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-04-25 15:52 竹林蹊径源代码\
目录 0 2011-01-20 23:49 竹林蹊径源代码\Code\
目录 0 2011-01-20 15:55 竹林蹊径源代码\Code\01\
目录 0 2011-01-20 20:16 竹林蹊径源代码\Code\01\HelloDRIVER\
文件 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
目录 0 2011-01-20 20:16 竹林蹊径源代码\Code\01\HelloWorld\
文件 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
目录 0 2011-01-20 23:21 竹林蹊径源代码\Code\04\
目录 0 2011-01-20 15:55 竹林蹊径源代码\Code\04\Common\
文件 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
目录 0 2011-01-20 23:21 竹林蹊径源代码\Code\04\CY001_ClsInst\
文件 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
目录 0 2011-01-20 21:19 竹林蹊径源代码\Code\04\WDF_CY001\
文件 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
............此处省略321个文件信息
相关资源
- Intel(R) 82579V网卡驱动for server20033
- H310.B360.H370.Z390.USB WIN7 64位第三方驱动
- 300系列WIN7 USB驱动.7z
- 影驰GALAXY 8600GT魔灵显卡驱动 For xp/v
- XP下AHCI驱动hm55与hm76的安装
- HM77芯片组AHCI驱动 最新版
- 华硕P8H61/USB3 R2.0主板BIOS驱动 免费版
- 映泰Biostar TA870网
- RTL8188EVT USB WIFI无线网卡驱动 免费版
- asrock华擎app shop主板管理
- asus华硕 m5a97 le r2.0主板bios 官方版
- 标准pike 6480华硕SAS阵列卡驱动 官方版
- ASUS华硕K45VD|A45VD主板驱动程序 v9.3.0
- 华硕ASUS K42JZ BIOS主板驱动程序 v9.1.1
- 华硕b250主板网卡驱动 官方最新版
- ASUS华硕B85主板BIOS驱动程序 官方版
- Samsung三星R439-DS系列网卡驱动程序 v
- 索尼SONY VPCM125JC网卡驱动程序 v6.0.14
-
li
nksys AE1000/Cisco AM10无线网卡驱动 - 基于可编程的二相线阵CCD驱动电路设
- 中盈ZY50打印机驱动 v1.1 官方版
- 中盈 NX-612打印机驱动 v1.1 官方版
- 基于SPCE061A单片机的图形液晶模块的驱
- 基于SPCE061A单片机的图形液晶模块的驱
- 宏碁Acer 4741G驱动合集 for winxp 官方版
- 双二阶广义积分器SOGI软件锁相(基于
- 移动硬盘万能驱动 win7
- 大功率LED高频驱动电路设计方案
- TMF8801驱动参考代码
- 代码项目“生成”微博、知乎、
评论
共有 条评论