竹林蹊径——深入浅出Windows内核驱动开发(补全版)].张佩,马勇,董鉴源.扫描版(书签waypoint)的 源码
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-04-25 15:52 竹林蹊径源代码
目录 0 2011-01-20 23:49 竹林蹊径源代码Code
目录 0 2011-01-20 15:55 竹林蹊径源代码Code 1
目录 0 2011-01-20 20:16 竹林蹊径源代码Code 1HelloDRIVER
文件 4898 2011-01-20 17:00 竹林蹊径源代码Code 1HelloDRIVERHelloDRIVER.c
文件 1702 2009-11-28 18:13 竹林蹊径源代码Code 1HelloDRIVERHelloDRIVER.h
文件 38 2009-04-24 14:13 竹林蹊径源代码Code 1HelloDRIVERMAKEFILE
文件 216 2009-11-28 16:58 竹林蹊径源代码Code 1HelloDRIVERReadMe.txt
文件 94 2009-11-28 16:46 竹林蹊径源代码Code 1HelloDRIVERSOURCES
目录 0 2011-01-20 20:16 竹林蹊径源代码Code 1HelloWorld
文件 1011 2009-11-28 18:34 竹林蹊径源代码Code 1HelloWorldHelloWorld.c
文件 38 2009-04-24 14:13 竹林蹊径源代码Code 1HelloWorldMAKEFILE
文件 206 2009-11-28 16:49 竹林蹊径源代码Code 1HelloWorldReadMe.txt
文件 92 2009-11-28 16:06 竹林蹊径源代码Code 1HelloWorldSOURCES
目录 0 2011-01-20 23:21 竹林蹊径源代码Code 4
目录 0 2011-01-20 15:55 竹林蹊径源代码Code 4Common
文件 5077 2010-03-16 10:59 竹林蹊径源代码Code 4CommonIoCtl.h
文件 609 2010-06-20 11:59 竹林蹊径源代码Code 4CommonNewDelete.h
文件 3202 2010-09-15 17:49 竹林蹊径源代码Code 4Commonpublic.h
文件 1590 2010-03-14 23:07 竹林蹊径源代码Code 4CommonStructure.h
目录 0 2011-01-20 23:21 竹林蹊径源代码Code 4CY001_ClsInst
文件 5800 2011-01-17 12:42 竹林蹊径源代码Code 4CY001_ClsInstclassInst_CY001.c
文件 730 2011-01-17 13:11 竹林蹊径源代码Code 4CY001_ClsInstclassinst_CY001.rc
文件 60 2011-01-17 12:32 竹林蹊径源代码Code 4CY001_ClsInstCY001_ClsInst.def
文件 269 2010-02-08 18:34 竹林蹊径源代码Code 4CY001_ClsInstMAKEFILE
文件 718 2010-02-08 18:34 竹林蹊径源代码Code 4CY001_ClsInst
esource.h
文件 506 2011-01-17 12:32 竹林蹊径源代码Code 4CY001_ClsInstsources
目录 0 2011-01-20 21:19 竹林蹊径源代码Code 4WDF_CY001
文件 3022 2011-01-20 21:19 竹林蹊径源代码Code 4WDF_CY001CY001.vcproj
文件 387 2010-03-16 10:34 竹林蹊径源代码Code 4WDF_CY001Debug.c
文件 19760 2010-06-09 10:33 竹林蹊径源代码Code 4WDF_CY001Device.c
............此处省略321个文件信息
/*
*******************************************************************************
*= = 文件名称: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!
“));
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!
“));
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 1
目录 0 2011-01-20 20:16 竹林蹊径源代码Code 1HelloDRIVER
文件 4898 2011-01-20 17:00 竹林蹊径源代码Code 1HelloDRIVERHelloDRIVER.c
文件 1702 2009-11-28 18:13 竹林蹊径源代码Code 1HelloDRIVERHelloDRIVER.h
文件 38 2009-04-24 14:13 竹林蹊径源代码Code 1HelloDRIVERMAKEFILE
文件 216 2009-11-28 16:58 竹林蹊径源代码Code 1HelloDRIVERReadMe.txt
文件 94 2009-11-28 16:46 竹林蹊径源代码Code 1HelloDRIVERSOURCES
目录 0 2011-01-20 20:16 竹林蹊径源代码Code 1HelloWorld
文件 1011 2009-11-28 18:34 竹林蹊径源代码Code 1HelloWorldHelloWorld.c
文件 38 2009-04-24 14:13 竹林蹊径源代码Code 1HelloWorldMAKEFILE
文件 206 2009-11-28 16:49 竹林蹊径源代码Code 1HelloWorldReadMe.txt
文件 92 2009-11-28 16:06 竹林蹊径源代码Code 1HelloWorldSOURCES
目录 0 2011-01-20 23:21 竹林蹊径源代码Code 4
目录 0 2011-01-20 15:55 竹林蹊径源代码Code 4Common
文件 5077 2010-03-16 10:59 竹林蹊径源代码Code 4CommonIoCtl.h
文件 609 2010-06-20 11:59 竹林蹊径源代码Code 4CommonNewDelete.h
文件 3202 2010-09-15 17:49 竹林蹊径源代码Code 4Commonpublic.h
文件 1590 2010-03-14 23:07 竹林蹊径源代码Code 4CommonStructure.h
目录 0 2011-01-20 23:21 竹林蹊径源代码Code 4CY001_ClsInst
文件 5800 2011-01-17 12:42 竹林蹊径源代码Code 4CY001_ClsInstclassInst_CY001.c
文件 730 2011-01-17 13:11 竹林蹊径源代码Code 4CY001_ClsInstclassinst_CY001.rc
文件 60 2011-01-17 12:32 竹林蹊径源代码Code 4CY001_ClsInstCY001_ClsInst.def
文件 269 2010-02-08 18:34 竹林蹊径源代码Code 4CY001_ClsInstMAKEFILE
文件 718 2010-02-08 18:34 竹林蹊径源代码Code 4CY001_ClsInst
esource.h
文件 506 2011-01-17 12:32 竹林蹊径源代码Code 4CY001_ClsInstsources
目录 0 2011-01-20 21:19 竹林蹊径源代码Code 4WDF_CY001
文件 3022 2011-01-20 21:19 竹林蹊径源代码Code 4WDF_CY001CY001.vcproj
文件 387 2010-03-16 10:34 竹林蹊径源代码Code 4WDF_CY001Debug.c
文件 19760 2010-06-09 10:33 竹林蹊径源代码Code 4WDF_CY001Device.c
............此处省略321个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)