注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

驱动学习笔记第一回----最简单的驱动~~  

2011-02-22 22:23:19|  分类: window驱动学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

从今天开始,我给自己定下了一个目标,在2011年里,学好windows驱动~~以后我会每天都会在这里写上一些学习心得,因为自己记忆老是没别人好,只有好好做些笔记,以便于以后复习之用,嘿嘿~~

 

由于自己以前所学的知识太杂,总是没有让自己能有一种很深的成就感,于是想从今天开始,专注于系统底层,先搞定windows驱动,然后在慢慢向linux嵌入式驱动进军,一步一步来,这里送给自己一句话:也许在前面的路上,你比别人慢,但不管路有多长,一步一步走总能走到尽头,但不管路有多短,总是绯徊的不迈开脚步永远也无法到达~~

 

这里先写一个最简单的驱动,以此来进入学习驱动的大门,这个驱动实在是简单的不能在简单的了,就好像学C语言必学的"Hello World!"一样~~

#include <ntddk.h> //驱动头文件

#define INITCODE code_seg("INIT") //这个是卸载函数的预处理
#pragma INITCODE //预编译,将INITCODE指定为INIT

VOID DDK_Unload(IN PDRIVER_OBJECT pDriverObject); //前置说明,卸载例程

NTSTATUS
DriverEntry(IN PDRIVER_OBJECT pDriverObject, IN PUNICODE_STRING pRegistryString)
{
 DbgPrint("驱动加载成功OK");
 pDriverObject->DriverUnload = DDK_Unload; //回调函数指针

 return (1);
}

VOID DDK_Unload(IN PDRIVER_OBJECT pDriverObject) //卸载函数,已经前置声明
{
 DbgPrint("驱动卸载成功OK");

}

NT式驱动的开头申明ntddk.h

DriverEntry   //入口函数,相当于Win32编程中的main

DriverEntry有两个参数,如下:

PDRIVER_OBJECT //此结构用来传递驱动对象,由I/O管理器传递进来的驱动对象

PUNICODE_STRING //此结构用来指向此驱动负责的注册表,也就是驱动程序在注册表中的路径

  评论这张
 
阅读(95)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017