当前位置: 代码迷 >> 驱动开发 >> 大神们帮小弟我看一下,小弟我的代码错在什么地方? 加载成功,卸载就蓝屏了.
  详细解决方案

大神们帮小弟我看一下,小弟我的代码错在什么地方? 加载成功,卸载就蓝屏了.

热度:99   发布时间:2016-04-28 11:24:39.0
大神们帮我看一下,我的代码错在什么地方? 加载成功,卸载就蓝屏了....
/*
**************************************************************************************************

*= = 文件名称:HelloDRIVER.h

*= = 文件描述:HelloDRIVER 头文件

**************************************************************************************************
*/

#ifndef _HELLODRIVER_H_
#define _HELLODRIVER_H_


// *=================================================================================================
// *= = 包含相关文件
// *=================================================================================================
#include <ntddk.h>


// *=================================================================================================
// *= = 预处理定义
// *=================================================================================================
#define PAGEDCODE code_seg("PAGE")
#define LOCKDCODE code_seg()
#define INITCODE code_seg("INIT")


// *=================================================================================================
// *= = 结构体
// *=================================================================================================
typedef struct _DEVICE_EXTENSION
{
PDEVICE_OBJECT pDeviceExtObject;
UNICODE_STRING ustrDeviceExtName;
UNICODE_STRING ustrsymLinkExtName;
}DEVICE_EXTENSION,*PDEVICE_EXTENSION;


// *=================================================================================================
// *= = 函数声明
// *=================================================================================================
NTSTATUS DriverEntry( 
IN PDRIVER_OBJECT pDriverObject,
IN PUNICODE_STRING pRegistryPath 
); 
NTSTATUS DefaultDispatch(
IN PDEVICE_OBJECT pDeviceObject,
  IN PIRP pIrp
);
VOID DriverUnload(
IN PDRIVER_OBJECT pDriverObject
);


// *=================================================================================================
// *= = 文件结束
// *=================================================================================================
#endif












/*
**************************************************************************************************

*= = 文件名称:HelloDRIVER.c

*= = 文件描述:驱动程序 HelloDRIVER 源文件

**************************************************************************************************
*/

// *=================================================================================================
// *= = 包含相关文件
// *=================================================================================================
#include "HelloDRIVER.h"


// *=================================================================================================
// *= = 函数名称:DriverEntry
// *= = 功能描述:驱动程序入口函数
// *= = 入口函数:pDriverObject,pRegistryPath
// *= = 出口函数:NTSTATUS
// *=================================================================================================
#pragma INITCODE
NTSTATUS DriverEntry( 
IN PDRIVER_OBJECT pDriverObject, 
IN PUNICODE_STRING pRegistryPath 
)
{
NTSTATUS status;
PDEVICE_OBJECT pDeviceObject;
PDEVICE_EXTENSION pDeviceExtension;
UNICODE_STRING ustrsymLinkName;
UNICODE_STRING ustrdeviceName;

DbgPrint("驱动程序开始加载......\n");
UNREFERENCED_PARAMETER(pRegistryPath);

//创建设备名称
RtlInitUnicodeString(&ustrdeviceName,L"\\Device\\EmptyDriver");
//处理派遣例程
pDriverObject->MajorFunction[IRP_MJ_CREATE]=DefaultDispatch;
pDriverObject->MajorFunction[IRP_MJ_CLOSE]=DefaultDispatch;
pDriverObject->MajorFunction[IRP_MJ_WRITE]=DefaultDispatch;
  相关解决方案
本站暂不开放注册!
内测阶段只得通过邀请码进行注册!
 
  • 最近登录:Wed Mar 29 21:24:40 CST 2017
  • 最近登录:Wed Mar 29 21:24:40 CST 2017
  • 最近登录:Wed Mar 29 21:24:40 CST 2017
  • 最近登录:Wed Mar 29 21:24:40 CST 2017
  • 最近登录:Wed Mar 29 21:24:40 CST 2017