richard-chen
驱动牛犊
驱动牛犊
  • 注册日期2002-05-28
  • 最后登录2003-06-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1278回复:5

至今不懂设备扩展为何物,深感羞愧,请赐教!

楼主#
更多 发布于:2003-03-30 23:26
我对设备扩展这个东东至今是一头雾水。
我认为它是用户自定义的一个结构,这个结构中包括的东西完全由用户自己定义。这种理解对吗?
为什么要建立设备扩展,它是做什么用的,就没有一个官方声明的设备扩展结构吗?DDK也看过了,WALTER的书也看过了,但还是...哎,只有请教大家了!   :D
xyyln
驱动老牛
驱动老牛
  • 注册日期2003-01-02
  • 最后登录2009-12-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-03-31 09:26
为了你写驱动的方便,定义了一个额外的空间给驱动使用,方便你放入一些全局变量比如registry path,或者以后一直在用的pdo,其目的主要也在这里,所以不需要有什么固定结构。
[img]http://www.jt99.com/zjbbs/UploadFile/2003113018513643830.gif[/img]
kenli79
驱动小牛
驱动小牛
  • 注册日期2002-06-12
  • 最后登录2003-07-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-03-31 09:28
你对某个设备可能有你需要纪录的与其关联的东西,而在系统调用你的dispatch routine时,你可能需要知道这个东西,你就需要设备扩展了。
比如你要记录某个网卡发包的个数,而系统的设备数据结构中没有这个东西,你就搞个扩展,里面有一个字段,每次系统调用你的函数发包的时候就会把设备扩展给你,你向里面的字段加一,okay了。
超级菜鸟!!!!!!!!!
richard-chen
驱动牛犊
驱动牛犊
  • 注册日期2002-05-28
  • 最后登录2003-06-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-31 09:59
1。我看了本站关于设备扩展的全部帖子,其中有好多人问过全局变量是否需要放入设备扩展中,但回答不一。哪为给一个准确的回答,再讲讲为什么?
2。还有在定义设备扩展结构的时候,只要我需要什么就可以定义什么吗?在DDK中就没有相关定义吗?(我是没有找到)
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2003-03-31 14:43
1。我看了本站关于设备扩展的全部帖子,其中有好多人问过全局变量是否需要放入设备扩展中,但回答不一。哪为给一个准确的回答,再讲讲为什么?
2。还有在定义设备扩展结构的时候,只要我需要什么就可以定义什么吗?在DDK中就没有相关定义吗?(我是没有找到)
 

1、如果你的全局变量是个readonly的,“可以”不放到extention。
因为全局的,例程都可以修改他的,你不能保证他正确。放到扩展中去,就是一个device object有一个了。
2、扩展的大小由你自己来定,里面有什么,也由你自己定。
richard-chen
驱动牛犊
驱动牛犊
  • 注册日期2002-05-28
  • 最后登录2003-06-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-03-31 15:10
听arthurtu一讲,顿时开朗不少。
本应该给分的,可是我登录了好几次,一进入这个帖子就显示没登录,只有下次来的时候,答谢你了
游客

返回顶部