#include < Winsvc.h>
CString s1 = TEXT("MyDriver1.sys"); //lpServiceName
CString s2 = TEXT("C:\\MyDriver1.sys");//lpPathName
BOOL CMFCApplication1Dlg::jiazaiqudong(LPCTSTR lpServiceName, LPCTSTR lpPathName)//加载驱动
{
SC_HANDLE ScManagerHandle = NULL;
SC_HANDLE sc_CreateHanle = NULL;
ScManagerHandle = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);//建立了一个连接到服务控制管理器,并打开指定的数据库
if (NULL == ScManagerHandle)
{
TRACE("OpenSCManager fail");
UpdateData(FALSE);
return FALSE;
}
sc_CreateHanle = CreateService(
ScManagerHandle,
lpServiceName,//用于创建登记数据库中的关键字
lpServiceName,//用于用户界面标识服务
SC_MANAGER_ALL_ACCESS,//指定服务返回类型
SERVICE_KERNEL_DRIVER,//加载类型为:驱动类型
SERVICE_DEMAND_START,//指定何时启动服务
SERVICE_ERROR_IGNORE,//忽略异常
lpPathName,//加载驱动的路径
NULL,
NULL,
NULL,
NULL,
NULL
);
if (sc_CreateHanle == NULL)
{
if (ERROR_SERVICE_EXISTS == GetLastError())
{
用户层加载驱动 卸载驱动源码
最新推荐文章于 2023-02-19 09:27:53 发布