cicada
驱动小牛
驱动小牛
  • 注册日期2003-12-09
  • 最后登录2008-07-11
  • 粉丝1
  • 关注0
  • 积分74分
  • 威望15点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:1239回复:6

为什么ControlService黑屏?

楼主#
更多 发布于:2005-03-22 15:29
void DelSvr( char * szSvrName )
{
SC_HANDLE hServiceMgr, hServiceTwdm;
SERVICE_STATUS  SvrSta;

hServiceMgr = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS );

if( hServiceMgr == NULL )
{
MessageBox(NULL, \"DelSvr::OpenSCManager() Failed!\", \"Error\", MB_OK);
return;
}
else
{
MessageBox(NULL, \"DelSvr::OpenSCManager() Succeed!\", \"Success\", MB_OK);
}

hServiceTwdm = OpenService( hServiceMgr, TEXT(szSvrName), SERVICE_ALL_ACCESS );

if( hServiceTwdm == NULL )
{
CloseServiceHandle( hServiceMgr );
MessageBox(NULL, \"DelSvr::OpenService() Failed!\", \"Error\", MB_OK);
return;
}
else
{
MessageBox(NULL, \"DelSvr::OpenService() Succeed!\", \"Success\", MB_OK);
}

if( !ControlService( hServiceTwdm, SERVICE_CONTROL_STOP , &SvrSta ) )
{
MessageBox(NULL, \"DelSvr::ControlService() Failed!\", \"Error\", MB_OK);
}
else
{
MessageBox(NULL, \"DelSvr::ControlService() Succeed!\", \"Success\", MB_OK);
}

if( !DeleteService( hServiceTwdm ) )
{
MessageBox(NULL, \"DelSvr::DeleteSrevice() Failed!\", \"Error\", MB_OK);
}
else
{
MessageBox(NULL, \"DelSvr::DeleteSrevice() Succeed!\", \"Success\", MB_OK);
}

CloseServiceHandle( hServiceTwdm );
CloseServiceHandle( hServiceMgr );

return;

}
我调用以上函数卸载驱动,为何程序执行到ControlService时黑屏,这可能是什么原因造成的呢?
cicada
驱动小牛
驱动小牛
  • 注册日期2003-12-09
  • 最后登录2008-07-11
  • 粉丝1
  • 关注0
  • 积分74分
  • 威望15点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-03-23 08:36
是驱动卸载时出现的问题,“DRIVER UNLOADED WITHOUT CANCELLING PENDING OPERATION”。
我写的是Native API的hook程序,该如何处理呢?
cicada
驱动小牛
驱动小牛
  • 注册日期2003-12-09
  • 最后登录2008-07-11
  • 粉丝1
  • 关注0
  • 积分74分
  • 威望15点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-23 10:20
代码分了几个文件,太长,给我个邮箱我发给你帮我看看吧。
游客

返回顶部