windows driver installation code

Installation logic

  1. Open the Local Services Manager
  2. Create a service

Code

	const char pServiceName[] = "lockpage";
	const char pServiceInfo[] = "lock web explorer main page";
	const char pDriverPath[] = "lockpage.sys";

	SC_HANDLE hSCmanager = OpenSCManager(NULL,		/** 连接到本地计算机 */
										 NULL		/** 默认服务管理控制数据库:SERVICES_ACTIVE_DATABASE  */
										 SC_MANAGER_CREATE_SERVICE	/** 权限:服务创建权限,配合CreateServiceA 将服务添加到数据库中 */);
	

	if (hSCmanager == NULL)
	{
		return (int)FALSE;
	}

	HANDLE hService = CreateService(hSCmanager,	/** 服务管理器句柄 */
						  pServiceName,			/** 服务名 */
						  pServiceInfo,			/** 服务描述 */
						  SERVICE_ALL_ACCESS,	/** 所有标准权限*/
						  SERVICE_KERNEL_DRIVER,/** 服务类型:驱动服务 */
						  SERVICE_DEMAND_START,	/** 开始类型:有服务管理器调用StartService来开启 */
						  SERVICE_ERROR_IGNORE,	/** 服务启动失败的处理方式:忽略错误继续启动 */
						  pDriverPath,			/** 二进制文件路径 */
						  0,					/** 组名称,不属于组。该服务所属组的名称 */
						  0,					/** 服务所属组的唯一标记值 */
						  0,					/** 依赖:无任何依赖 */
						  0,					/** 用户名称:系统用户。服务应该运行在哪个用户权限下 */
						  0,					/** 密码:无密码。对应用户名的密码 */);
	
	if (hService == NULL)
	{
		return (int)FALSE;
	}
Published 118 original articles · won praise 14 · views 50000 +

Guess you like

Origin blog.csdn.net/github_38641765/article/details/103859414