成功加载驱动,但卸载失败!

Cricketol 2009-03-06 10:29:36

//SOURCES
TARGETNAME=hello
TARGETPATH=obj
TARGETTYPE=DRIVER
SOURCES=hello.c

//hello.c
void StartSrv()
{
char namebuf[256];
memset(namebuf, 0, sizeof(namebuf));
SC_HANDLE hMgr, hCS, hOS;

GetCurrentDirectory(256, namebuf );
strcat(namebuf, "\\objchk\\i386\\hello.sys" );

hMgr = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if(hMgr == NULL)
{
printf("OpenSCManager failed!!!\n");
exit(0);
}
hCS = CreateService(hMgr,TEXT("hello"), TEXT("hello"),
SERVICE_ALL_ACCESS,
SERVICE_KERNEL_DRIVER,
SERVICE_DEMAND_START,
SERVICE_ERROR_IGNORE,
TEXT(namebuf),0,0,0,0,0);
if(hCS == NULL)
{
printf("CreateService failed!\n");
CloseHandle(hMgr);
exit(0);
}

hOS = OpenService(hMgr, "hello", SERVICE_ALL_ACCESS);
if(hOS == NULL)
{
printf("OpenService failed!\n");
CloseHandle(hCS);
CloseHandle(hMgr);
exit(0);
}
StartService(hOS,NULL,NULL);
CloseServiceHandle(hCS);//到这里就可以在DeviceTree里看到hello了
CloseServiceHandle(hOS);
CloseServiceHandle(hMgr);
getch();
CloseSvc(TEXT("hello"));
}
void CloseSvc(char *pServiceName)
{
SC_HANDLE sch;
SERVICE_STATUS ss;
sch = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);//成功
if(sch == NULL)
{
printf("OpenSCManager failed!\n");
exit(0);
}
SC_HANDLE scm;
scm = OpenService(sch,TEXT(pServiceName),SERVICE_ALL_ACCESS);//成功
if(scm == NULL)
{
CloseServiceHandle(sch);
printf("OpenService failed!\n");
exit(0);
}
if(!ControlService(scm, SERVICE_CONTROL_STOP, &ss))//这个失败
{
CloseServiceHandle(sch);
CloseServiceHandle(scm);
printf("ControlService failed!\n");
exit(0);
}
if(!DeleteService(scm))
{
CloseServiceHandle(sch);
CloseServiceHandle(sch);
printf("DeleteService failed!\n");
exit(0);
}
}
...全文
53 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cricketol 2009-03-07
  • 打赏
  • 举报
回复
解决了,是我驱动代码的问题......

来人接分!!!
gooogleman 2009-03-07
  • 打赏
  • 举报
回复
恭喜。哈哈。是windows的驱动?

厉害。
allenzh 2009-03-07
  • 打赏
  • 举报
回复
恭喜
其实你可以结合驱动一起调试,问题应该比较好找
建议不要做NT式的驱动,最好是做WDM/WDF的
该软件和网上大家常用的“InstDrv”程序功能几乎一样,现在也 支持[命令行控制台]调用了,只是新加入了详细的中文提示信息和拖 拽打开文件等,这样可以方便用户的使用。“InstDrv”是一个比较好 用的驱动安装、卸载工具。可以帮助您方便的把驱动程序安装上或卸 载掉。本程序更多应用于动态调式驱动前的加载操作中。 功能: 1:执行加载、启动、停止、卸载驱动操作。 2:支持文件拖拽打开。 3:支持程序窗口总在最前显示。 4:操作后有详细的中文提示信息。 5:支持[命令行控制台]调用。 6:提升程序自身的权限和优先级。 说明: 压缩包中的“MySYS.sys”文件为测试驱动程序,支持加载、启动、停 止、卸载驱动等功能,可以使用“Dbgview”工具查看驱动输出的提示 信息。 ------------------------------------------------- 详细的中文提示信息如下: 状态:支持拖拽获取文件路径. 状态:只能一次拖拽一个文件! 状态:拖拽获取文件路径成功! 状态:请输入驱动文件的路径名! 状态:创建句柄失败! 状态:因为不是一个有效文件,所以驱动服务安装失败! 状态:因为驱动服务已经存在,所以驱动服务安装失败! 状态:因为驱动服务已经启动,所以驱动服务安装失败! 状态:驱动服务安装失败! 状态:驱动服务安装成功! 状态:打开驱动服务失败,可能该驱动服务不存在! 状态:驱动服务启动成功! 状态:因为驱动服务已经启动,所以驱动服务启动失败! 状态:因为不是一个有效驱动,所以驱动服务启动失败! 状态:因为驱动服务未被停止,所以驱动服务启动失败! 状态:驱动服务启动失败! 状态:驱动服务停止成功! 状态:因为驱动服务没有启动,所以驱动服务停止失败! 状态:驱动服务停止失败! 状态:驱动服务卸载成功! 状态:因为驱动服务已经启动,所以驱动服务卸载失败! 状态:驱动服务卸载失败! 状态:提升进程权限失败! 状态:提升进程优先级失败! ------------------------------------------------- [命令行控制台]调用参数:InstDrv [/i] [/u] [/s] [驱动程序路径名] /i 安装并启动这个驱动程序. /u 停止并卸载这个驱动程序. /s 不弹出任何消息提示窗口. 注意:带有空格的路径,请用双引号把路径括起来.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>软件名称:驱动加载工具(InstDrv - 中文版)软件版本:V1.0版软件类型:个人免费版(无插件)运行环境:Windows操作系统开发作者:Coderui更新日期:2008年04月08日联系邮箱:coderui@163.com作者博客:http://hi.baidu.com/coderui>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-------------------------------------------------介绍:  该软件和网上大家常用的“InstDrv”程序功能几乎一样,只是新加入了详细的中文提示信息和拖拽打开文件等,这样可以方便用户的使用。“InstDrv”是一个比较好用的驱动安装、卸载工具。可以帮助您方便的把驱动程序安装上或卸载掉。本程序更多应用于动态调式驱动前的加载操作中。功能:1:执行加载、启动、停止、卸载驱动操作。2:支持文件拖拽打开。3:支持程序窗口总在最前显示。4:操作后有详细的中文提示信息。说明:压缩包中的“MySYS.sys”文件为测试驱动程序,支持加载、启动、停止、卸载驱动等功能,可以使用“Dbgview”工具查看驱动输出的提示信息。-------------------------------------------------详细的中文提示信息如下:状态:支持拖拽获取文件路径.状态:只能一次拖拽一个文件!状态:拖拽获取文件路径成功!状态:请输入驱动文件的路径名!状态:创建句柄失败!状态:因为不是一个有效文件,所以驱动服务安装失败!状态:因为驱动服务已经存在,所以驱动服务安装失败!状态:因为驱动服务已经启动,所以驱动服务安装失败!状态:驱动服务安装失败!状态:驱动服务安装成功!状态:打开驱动服务失败,可能该驱动服务不存在!状态:驱动服务启动成功!状态:因为驱动服务已经启动,所以驱动服务启动失败!状态:因为不是一个有效驱动,所以驱动服务启动失败!状态:因为驱动服务未被停止,所以驱动服务启动失败!状态:驱动服务启动失败!状态:驱动服务停止成功!状态:因为驱动服务没有启动,所以驱动服务停止失败!状态:驱动服务停止失败!状态:驱动服务卸栽成功!状态:因为驱动服务已经启动,所以驱动服务卸栽失败!状态:驱动服务卸栽失败!-------------------------------------------------下载说明:如果当前网页连接地址下载不了该软件,您可以发送邮件到coderui@163.com中,向程序作者所要该软件,谢谢您的支持!-------------------------------------------------解压后EXE程序全文MD5校验值为:591d784d24f5aead3a383535a4100733专用MD5校验器程序下载地址为:http://hi.baidu.com/coderui/blog/item/e3a1282354c128519822ed24.html>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 软件名称:驱动加载工具(InstDrv - 中文版) 软件版本:V1.3版 软件类型:个人免费版(无插件) 运行环境:Windows操作系统 开发作者:Coderui 更新日期:2008年04月18日 联系邮箱:coderui@163.com 作者博客:http://hi.baidu.com/coderui >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ------------------------------------------------- 介绍:   该软件和网上大家常用的“InstDrv”程序功能几乎一样,现在也支持[命令行控制台]调用了,只是新加入了详细的中文提示信息和拖拽打开文件等,这样可以方便用户的使用。“InstDrv”是一个比较好用的驱动安装、卸载工具。可以帮助您方便的把驱动程序安装上或卸载掉。本程序更多应用于动态调式驱动前的加载操作中。 功能: 1:执行加载、启动、停止、卸载驱动操作。 2:支持文件拖拽打开。 3:支持程序窗口总在最前显示。 4:操作后有详细的中文提示信息。 5:支持[命令行控制台]调用。 6:提升程序自身的权限和优先级。 说明: 压缩包中的“MySYS.sys”文件为测试驱动程序,支持加载、启动、停止、卸载驱动等功能,可以使用“Dbgview”工具查看驱动输出的提示信息。 ------------------------------------------------- 详细的中文提示信息如下: 状态:支持拖拽获取文件路径. 状态:只能一次拖拽一个文件! 状态:拖拽获取文件路径成功! 状态:请输入驱动文件的路径名! 状态:创建句柄失败! 状态:因为不是一个有效文件,所以驱动服务安装失败! 状态:因为驱动服务已经存在,所以驱动服务安装失败! 状态:因为驱动服务已经启动,所以驱动服务安装失败! 状态:驱动服务安装失败! 状态:驱动服务安装成功! 状态:打开驱动服务失败,可能该驱动服务不存在! 状态:驱动服务启动成功! 状态:因为驱动服务已经启动,所以驱动服务启动失败! 状态:因为不是一个有效驱动,所以驱动服务启动失败! 状态:因为驱动服务未被停止,所以驱动服务启动失败! 状态:驱动服务启动失败! 状态:驱动服务停止成功! 状态:因为驱动服务没有启动,所以驱动服务停止失败! 状态:驱动服务停止失败! 状态:驱动服务卸载成功! 状态:因为驱动服务已经启动,所以驱动服务卸载失败! 状态:驱动服务卸载失败! 状态:提升进程权限失败! 状态:提升进程优先级失败! ------------------------------------------------- [命令行控制台]调用参数:InstDrv [/i] [/u] [/s] [驱动程序路径名] /i 安装并启动这个驱动程序. /u 停止并卸载这个驱动程序. /s 不弹出任何消息提示窗口. 注意:带有空格的路径,请用双引号把路径括起来. ------------------------------------------------- 下载说明:如果当前网页连接地址下载不了该软件,您可以发送邮件到coderui@163.com中,向程序作者所要该软件,谢谢您的支持! ------------------------------------------------- 解压后EXE程序全文MD5校验值为:6f356e16020902a77d57fa44ff21c387 专用MD5校验器程序下载地址为:http://hi.baidu.com/coderui/blog/item/e3a1282354c128519822ed24.html >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>软件名称:驱动加载工具(InstDrv - 中文版)软件版本:V1.3版软件类型:个人免费版(无插件)运行环境:Windows操作系统开发作者:Coderui更新日期:2008年04月18日联系邮箱:coderui@163.com作者博客:http://hi.baidu.com/coderui>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-------------------------------------------------介绍:  该软件和网上大家常用的“InstDrv”程序功能几乎一样,现在也支持[命令行控制台]调用了,只是新加入了详细的中文提示信息和拖拽打开文件等,这样可以方便用户的使用。“InstDrv”是一个比较好用的驱动安装、卸载工具。可以帮助您方便的把驱动程序安装上或卸载掉。本程序更多应用于动态调式驱动前的加载操作中。功能:1:执行加载、启动、停止、卸载驱动操作。2:支持文件拖拽打开。3:支持程序窗口总在最前显示。4:操作后有详细的中文提示信息。5:支持[命令行控制台]调用。6:提升程序自身的权限和优先级。说明:压缩包中的“MySYS.sys”文件为测试驱动程序,支持加载、启动、停止、卸载驱动等功能,可以使用“Dbgview”工具查看驱动输出的提示信息。-------------------------------------------------详细的中文提示信息如下:状态:支持拖拽获取文件路径.状态:只能一次拖拽一个文件!状态:拖拽获取文件路径成功!状态:请输入驱动文件的路径名!状态:创建句柄失败!状态:因为不是一个有效文件,所以驱动服务安装失败!状态:因为驱动服务已经存在,所以驱动服务安装失败!状态:因为驱动服务已经启动,所以驱动服务安装失败!状态:驱动服务安装失败!状态:驱动服务安装成功!状态:打开驱动服务失败,可能该驱动服务不存在!状态:驱动服务启动成功!状态:因为驱动服务已经启动,所以驱动服务启动失败!状态:因为不是一个有效驱动,所以驱动服务启动失败!状态:因为驱动服务未被停止,所以驱动服务启动失败!状态:驱动服务启动失败!状态:驱动服务停止成功!状态:因为驱动服务没有启动,所以驱动服务停止失败!状态:驱动服务停止失败!状态:驱动服务卸载成功!状态:因为驱动服务已经启动,所以驱动服务卸载失败!状态:驱动服务卸载失败!状态:提升进程权限失败!状态:提升进程优先级失败!-------------------------------------------------[命令行控制台]调用参数:InstDrv [/i] [/u] [/s] [驱动程序路径名]/i 安装并启动这个驱动程序./u 停止并卸载这个驱动程序./s 不弹出任何消息提示窗口.注意:带有空格的路径,请用双引号把路径括起来.-------------------------------------------------下载说明:如果当前网页连接地址下载不了该软件,您可以发送邮件到coderui@163.com中,向程序作者所要该软件,谢谢您的支持!-------------------------------------------------解压后EXE程序全文MD5校验值为:6f356e16020902a77d57fa44ff21c387专用MD5校验器程序下载地址为:http://hi.baidu.com/coderui/blog/item/e3a1282354c128519822ed24.html>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
软件名称:驱动加载工具(InstDrv - 中文版)
软件版本:V1.2版
软件类型:个人免费版(无插件)
运行环境:Windows操作系统
开发作者:Coderui
更新日期:2008年04月13日
联系邮箱:coderui@163.com
作者博客:http://hi.baidu.com/coderui
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-------------------------------------------------
介绍:
  该软件和网上大家常用的“InstDrv”程序功能几乎一样,现在也支持[命令行控制台]调用了,只是新加入了详细的中文提示信息和拖拽打开文件等,这样可以方便用户的使用。“InstDrv”是一个比较好用的驱动安装、卸载工具。可以帮助您方便的把驱动程序安装上或卸载掉。本程序更多应用于动态调式驱动前的加载操作中。

功能:
1:执行加载、启动、停止、卸载驱动操作。
2:支持文件拖拽打开。
3:支持程序窗口总在最前显示。
4:操作后有详细的中文提示信息。
5:支持[命令行控制台]调用。

说明:
压缩包中的“MySYS.sys”文件为测试驱动程序,支持加载、启动、停止、卸载驱动等功能,可以使用“Dbgview”工具查看驱动输出的提示信息。
-------------------------------------------------
详细的中文提示信息如下:
状态:支持拖拽获取文件路径.
状态:只能一次拖拽一个文件!
状态:拖拽获取文件路径成功!
状态:请输入驱动文件的路径名!
状态:创建句柄失败!
状态:因为不是一个有效文件,所以驱动服务安装失败!
状态:因为驱动服务已经存在,所以驱动服务安装失败!
状态:因为驱动服务已经启动,所以驱动服务安装失败!
状态:驱动服务安装失败!
状态:驱动服务安装成功!
状态:打开驱动服务失败,可能该驱动服务不存在!
状态:驱动服务启动成功!
状态:因为驱动服务已经启动,所以驱动服务启动失败!
状态:因为不是一个有效驱动,所以驱动服务启动失败!
状态:因为驱动服务未被停止,所以驱动服务启动失败!
状态:驱动服务启动失败!
状态:驱动服务停止成功!
状态:因为驱动服务没有启动,所以驱动服务停止失败!
状态:驱动服务停止失败!
状态:驱动服务卸载成功!
状态:因为驱动服务已经启动,所以驱动服务卸载失败!
状态:驱动服务卸载失败!
-------------------------------------------------
[命令行控制台]调用参数:InstDrv [/i] [/u] [/s] [驱动程序路径名]

/i 安装并启动这个驱动程序.

/u 停止并卸载这个驱动程序.

/s 不弹出任何消息提示窗口.

注意:带有空格的路径,请用双引号把路径括起来.
-------------------------------------------------
下载说明:如果当前网页连接地址下载不了该软件,您可以发送邮件到coderui@163.com中,向程序作者所要该软件,谢谢您的支持!
-------------------------------------------------
解压后EXE程序全文MD5校验值为:5ee3891d76cb7c66a6b23075dde674a9
专用MD5校验器程序下载地址为:http://hi.baidu.com/coderui/blog/item/e3a1282354c128519822ed24.html
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

21,600

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧