IC-Eagle
驱动牛犊
驱动牛犊
  • 注册日期2003-06-20
  • 最后登录2003-12-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1016回复:2

驱动的用途

楼主#
更多 发布于:2003-09-12 18:17
各路高人:

    大家好!

    本人刚开始学驱动,也看了一些WDM模型的一些驱动,知道了驱动的一般架构,即:

NTSTATUS DriverEntry( xx , xx )
{
   .....= AddDevice;
   ...->MajorFunction[xxx] = pnp;
   ....................... = power;
   .
   //Other Function Entry Point.
   .
   return status;
}

NTSTATUS AddDevice(xxx,xxx)
{
   zz = IoCreateDevice(......)
}
  .
  .
  //Other Function.
  .
  .
VOID UnLoad( xxx )
{
   ......
}
但是本人不太了解驱动具体要去做些什么;那位兄弟,朋友。。。能否以U盘或打印机等作个说明(即大概要加入那些处理函数,各函数的功能又是什么)!

请尽量详细一点!另外,怎么给分呀!嘿嘿,惭愧惭愧。。。

CYoung
驱动中牛
驱动中牛
  • 注册日期2003-06-10
  • 最后登录2005-01-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-09-15 09:09
首先,计算机发现一个新硬件以后,就会去寻找这个硬件的相关信息,找到以后,就会创建一个PDO,然后就是进入DriverEntry,再就是AddDevice,然后调用其他的相关的函数。一般要加入的是读写,清除,还有电源管理等函数。
要给分就在恢复的帖子下面,有个给分的按钮,你就可以给那个人分了。
答得好的话,请兄弟们加点分,那是对我的肯定
IC-Eagle
驱动牛犊
驱动牛犊
  • 注册日期2003-06-20
  • 最后登录2003-12-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-09-15 09:33
Hi:

  你说的这些我都知道呀!那我是想知道具体的PNP,POWER等函数具体需要做什么,然后能不能以一个具体的硬件来描述一下,例如:
用户用U盘来存取数据文件,那我们的驱动除了在PNP函数中检测和添加设备,在POWER函数中管理电源,在Write和Read函数中作一些相应的读写操作,还需要做那些操作呢?所有的处理函数具体的该怎样写呢?期待。。。。你也可以用其他的硬件来说明!

谢谢!
游客

返回顶部