wangdan_tc
驱动牛犊
驱动牛犊
  • 注册日期2004-05-19
  • 最后登录2005-11-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1368回复:5

在ds中如何定义设备扩展???

楼主#
更多 发布于:2004-10-25 14:43
 用DDK时,调用 IoCreateDevice创建一个设备对象的话,也可以增加自己的设备扩展,IoCreateDevice中有参数 DeviceExtensionSize 可以填上。这样在以后的回调例程中,通过pDeviceObject->DeviceExtension 就能访问到你的设备扩展。
问题:我用DS开发驱动,想要定义一个设备扩展,应该在什么地方定义呢,他的fdo和pdo又是怎样获得的呢?
急呀,请大虾帮帮忙吧
wangdan_tc
驱动牛犊
驱动牛犊
  • 注册日期2004-05-19
  • 最后登录2005-11-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-10-25 15:33
我看了论坛上关于设备扩展的帖子,此类问题似乎没有什么答案
难道用DriverWorks生成的框架不用设备扩展吗
难啊!!!
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-10-27 15:07
我看了论坛上关于设备扩展的帖子,此类问题似乎没有什么答案
难道用DriverWorks生成的框架不用设备扩展吗
难啊!!!

不是难,是没有人愿意回答,你又没有分刺激一下,所以...

TestDevice * pDevice = new (NULL,
 FILE_DEVICE_UNKNOWN,
 NULL,
 0,
DO_DIRECT_IO
| DO_POWER_PAGABLE
)
TestDevice(Pdo, m_Unit);
这样的代码中,编译系统会将sizeof(TestDevice)作为扩展的大小传递到IoCreateDevice中。
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
wangdan_tc
驱动牛犊
驱动牛犊
  • 注册日期2004-05-19
  • 最后登录2005-11-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-10-31 16:14
这几天考试一直没来,分数当然没问题,80分怎么样?
希望指点一下
我看到过这个new函数,是在driverworks向导生成的AddDevice中
你的意思是它自动创建了一个设备扩展,那么我想往这个扩展中加入一些内容该怎么做呢,比如说事件状态或标志什么的
wangdan_tc
驱动牛犊
驱动牛犊
  • 注册日期2004-05-19
  • 最后登录2005-11-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-10-31 16:51
先给20分吧!
status = IoCreateDevice(pDriverObject, sizeof(DEVICE_EXTENSION), NULL,FILE_DEVICE_UNKNOWN, 0, FALSE, &fdo);//这是ddk中调用的
你说的sizeof(TestDevice)是不是相当于上边的sizeof(DEVICE_EXTENSION),那么在driverworks里通过new调用 IoCreateDevice时,其他的参数有变化吗?那TestDevice是不是和DEVICE_EXTENSION一样的数据结构
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-10-31 18:32
这几天考试一直没来,分数当然没问题,80分怎么样?
希望指点一下
我看到过这个new函数,是在driverworks向导生成的AddDevice中
你的意思是它自动创建了一个设备扩展,那么我想往这个扩展中加入一些内容该怎么做呢,比如说事件状态或标志什么的

是的,你可在TestDevice中增加成员就可以可以了。
那些变量变放在device ext中
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
游客

返回顶部