阅读:1619回复:4
驱动的卸载问题
各位高手,我用DDK做了一个简单的WDM驱动程序.SYS,用DRIVE MONITOR加载,收到加载成功的调试信息, 信息是在程序中用DBGPRINT写的,但在卸载的时候,却不成功,而且连调试信息也收不到,请看如下卸载代码:
VOID DriverUnload (IN PDRIVER_OBJECT pDriverObject) { UNICODE_STRING nameString; RemoveMyInt(); RtlInitUnicodeString( &nameString, L"\\??\\WSSINT" ); IoDeleteSymbolicLink(&nameString); IoDeleteDevice(pDriverObject->DeviceObject); DbgPrint("out ok\n");//我的调试信息 return; } |
|
沙发#
发布于:2004-12-02 12:36
各位高手,我用DDK做了一个简单的WDM驱动程序.SYS,用DRIVE MONITOR加载,收到加载成功的调试信息, 信息是在程序中用DBGPRINT写的,但在卸载的时候,却不成功,而且连调试信息也收不到,请看如下卸载代码: 用DRIVE MONITOR加载 那你怎么卸载的呢,DRIVE MONITOR好像没提供卸载功能, 当然你也看不到DbgPrint("out okn");//我的调试信息 |
|
|
板凳#
发布于:2004-12-02 13:33
不好意思,你的答案我还不理解. DRIVER MONITOR应该是可以卸载的呀/1
|
|
地板#
发布于:2004-12-02 14:36
那如果确保 driveunload这个函数被调用呢,我现编程或用工具只能实现DELETE这个服务,使它的START
|
|
地下室#
发布于:2004-12-02 21:13
各位高手,我用DDK做了一个简单的WDM驱动程序.SYS,用DRIVE MONITOR加载,收到加载成功的调试信息, 信息是在程序中用DBGPRINT写的,但在卸载的时候,却不成功,而且连调试信息也收不到,请看如下卸载代码: 从设备管理中禁用驱动看看有没有调用,你需要确定你的驱动已经真正卸载了,如果没有当然不会调用Unload了 |
|
|