derlupy
驱动牛犊
驱动牛犊
  • 注册日期2003-05-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1036回复:3

为什么我的驱动每次更新都要重起系统?

楼主#
更多 发布于:2003-05-23 09:46
我写一个WDM的驱动程序,可是在Win2000下,每次更新驱动系统都提示要重起系统,不知道是为什么?是不是我的卸载例程没写好?我的驱动可以正确的安装上去,在设备管理器里看设备也工作正常。
godhuntress
驱动小牛
驱动小牛
  • 注册日期2002-12-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-23 10:51
一般是卸载时没有搞干净
武汉新手前来报道! 请不佞赐教!
qinxg
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望27点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-23 12:20
有没有在PNP的 REMOVE_DEVICE时删除旧的设备,符号连接.或是Unload没有把DriverEntry弄干净.
derlupy
驱动牛犊
驱动牛犊
  • 注册日期2003-05-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-05-23 12:58
pnp的remove时,都有删除符号连接和设备;但是driverunload时就没做任何事:
VOID DriverUnload(IN PDRIVER_OBJECT pDriverObject)
{
}
NTSTATUS DriverEntry( IN PDRIVER_OBJECT pDriverObject,
IN PUNICODE_STRING RegistryPath)
{
NTSTATUS status=STATUS_SUCCESS;

pDriverObject->DriverUnload=DriverUnload;
pDriverObject->DriverExtension->AddDevice=AddDevice;

pDriverObject->MajorFunction[IRP_MJ_CREATE]=DispatchCreate;
pDriverObject->MajorFunction[IRP_MJ_CLOSE]=DispatchClose;
pDriverObject->MajorFunction[IRP_MJ_PNP]=DispPnp;
pDriverObject->DriverStartIo=StartIo;

return status;
}
在unload时要作什么事啊?怎么把DriverEntry弄干净?

[编辑 -  5/23/03 by  derlupy]
游客

返回顶部