beneddk
驱动牛犊
驱动牛犊
  • 注册日期2001-08-24
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1295回复:3

关于driverworks中的driverentry()问题

楼主#
更多 发布于:2001-09-18 21:33
我使用的工具win2k,driverstudio2。01
我用driverworks中的模板生成一个picWDM程序,其中driverentry()函数只有一个关于注册表的参数,而没有关于pdriver-object pdo参数。
问题是(1):没有driverobject,我怎么实现如下指令?

  DriverObject->DriverUnload = DriverUnload;
  DriverObject->DriverExtension->AddDevice = AddDevice;
  DriverObject->DriverStartIo = StartIo;
  DriverObject->MajorFunction[IRP_MJ_PNP] = DispatchPnp;
  DriverObject->MajorFunction[IRP_MJ_POWER] = DispatchPower;
  DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = DispatchWmi;
问题(2):是不是模板自动完成了这些函数指针的初始化啊?
如果是这样,那么在那里实现这些函数的dispatch哪?

在此先谢谢您的指点!
I'll Decry DDK, Debate DDK, Kill DDK!
Wing
驱动牛犊
驱动牛犊
  • 注册日期2001-07-09
  • 最后登录2002-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-09-19 09:54
用DriverWorks生成的并不是标准的入口函数,而是在KDriver中的类函数,你可以看看DriverWorks的帮助。
Wing ―――――――――――― 一对正在飞翔的翅膀
beneddk
驱动牛犊
驱动牛犊
  • 注册日期2001-08-24
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-09-19 23:56
大侠可否指点的再清楚些。
本人很孱弱。
I'll Decry DDK, Debate DDK, Kill DDK!
Wing
驱动牛犊
驱动牛犊
  • 注册日期2001-07-09
  • 最后登录2002-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-09-20 10:22
你的这段代码是书中的演示程序,如果非得强制放到DriverWorks生成的代码中不仅要看这本书,还要看DriverWorks帮助,查找Kdriver,KlowerDriver等函数,另外,使用DriverWorks的好处是很多都被封装到了CLASS中,你无需关心,比如其中的AddDevice,在DriverWorks中已经定义了这个函数,生成的代码只是继承过来的,所以我觉得如果你只是想调试这段程序,还是不用DriverWorks生成的好,你可以自己写入代码,我也遇到了这样的问题,原来的程序就是DriverWorks生成的,现在需要某些参数时不得不重载再DriverWorks的函数来获得。

希望我已经讲明白了.
Wing ―――――――――――― 一对正在飞翔的翅膀
游客

返回顶部