阅读:1295回复:3
关于driverworks中的driverentry()问题
我使用的工具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哪? 在此先谢谢您的指点! |
|
|
沙发#
发布于:2001-09-19 09:54
用DriverWorks生成的并不是标准的入口函数,而是在KDriver中的类函数,你可以看看DriverWorks的帮助。
|
|
|
板凳#
发布于:2001-09-19 23:56
大侠可否指点的再清楚些。
本人很孱弱。 |
|
|
地板#
发布于:2001-09-20 10:22
你的这段代码是书中的演示程序,如果非得强制放到DriverWorks生成的代码中不仅要看这本书,还要看DriverWorks帮助,查找Kdriver,KlowerDriver等函数,另外,使用DriverWorks的好处是很多都被封装到了CLASS中,你无需关心,比如其中的AddDevice,在DriverWorks中已经定义了这个函数,生成的代码只是继承过来的,所以我觉得如果你只是想调试这段程序,还是不用DriverWorks生成的好,你可以自己写入代码,我也遇到了这样的问题,原来的程序就是DriverWorks生成的,现在需要某些参数时不得不重载再DriverWorks的函数来获得。
希望我已经讲明白了. |
|
|