OpenService

8.程序手动实现加载、运行、停止、卸载驱动 0x7.程序实现(ring3)加载、运行、停止、卸载驱动 一、手动加载驱动步骤 用GetFullPathNameA获取驱动的完整路径 用OpenSCManager打开服务控制管理器 用CreateServiceA创建服务 如果服务创建已存在,直接用OpenServiceA打开服务,否则用StartServiceA开启服务 二、卸载 用OpenSCManager打开服务控制管理器 用OpenServiceA打开服务 用ControlService停止驱动服务 三、代码实现 主要功能:用户输入PID,r 阅读详情

OpenService

The OpenService function opens an existing service.

SC_HANDLE OpenService(
  SC_HANDLE hSCManager,
  LPCTSTR lpServiceName,
  DWORD dwDesiredAccess
);
Parameters
hSCManager
[in] Handle to the service control manager database. The OpenSCManager function returns this handle.
lpServiceName
[in] Pointer to a null-terminated string that specifies the name of the service to open. The maximum string length is 256 characters. The service control manager database preserves the case of the characters, but service name comparisons are always case insensitive. Forward-slash (/) and backslash (/) are invalid service name characters.
dwDesiredAccess
[in] Access to the service. For a list of access rights, see Service Security and Access Rights.

Before granting the requested access, the system checks the access token of the calling process against the discretionary access-control list of the security descriptor associated with the service object.

Return Values

If the function succeeds, the return value is a handle to the service.

If the function fails, the return value is NULL. To get extended error information, call GetLastError.

The following error codes can be set by the service control manager. Others can be set by the registry functions that are called by the service control manager.

Return codeDescription
ERROR_ACCESS_DENIEDThe handle does not have access to the service.
ERROR_INVALID_HANDLEThe specified handle is invalid.
ERROR_INVALID_NAMEThe specified service name is invalid.
ERROR_SERVICE_DOES_NOT_EXISTThe specified service does not exist.
Remarks

The returned handle is only valid for the process that called OpenService. It can be closed by calling the CloseServiceHandle function.

Example Code

For an example, see Starting a Service.

Requirements
ClientRequires Windows XP, Windows 2000 Professional, or Windows NT Workstation.
ServerRequires Windows Server 2003, Windows 2000 Server, or Windows NT Server.
Header

Declared in Winsvc.h; include Windows.h.

Library

Link to Advapi32.lib.

DLLRequires Advapi32.dll.
Unicode

Implemented as OpenServiceW (Unicode) and OpenServiceA (ANSI).

Windows权限服务控制Delivery Optimization OpenService failed. Error code: 1060. 指定的服务未安装。... 系列文章目录文章目录系列文章目录前言一、分析出错原因二、解决方法三、完整代码1.头文件2.实现文件:3.测试文件四、源码下载前言在windows下编程需要获取管理员权限或者启动、停止某个服务,比如Delivery Optimization服务等,在调试时经常异常提示: OpenService failed. Error c... 阅读详情

相关推荐

移远EC20模块USB模式切换的底层逻辑与驱动适配探秘

本文深入探讨了移远EC20模块USB模式切换的底层逻辑与驱动适配机制,详细解析了AT命令控制下的USB0与WWAN0模式差异。通过分析USB协议栈、内核驱动框架及网络子系统的交互,提供了模式切换的完整操作流程和常见问题解决方案,助力开发者优化4G通信模块在嵌入式设备中的稳定连接。

cc789的博客 845

Windows系统服务编程

Windows系统服务编程 1.简介 系统服务是后台进程运行的程序,没有界面。它是通过服务管理控制器(Service Control Manager, SCM)管理的,SCM可以操作系统服务启动、停止、自动运行等。 SCM提供的功能: (1)服务程序: 一种为一个或多个服务提供可执行代码的程序。服务程序使用连接到SCM并将状态信息发送到SCM的功能。 (2)服务配置程序: 查询或修改服务数据库的程...

hallyz的博客 1646

LCD工程师必看:MIPI DSI的LP/HS模式切换全流程拆解(附高通平台实测)

本文为LCD工程师深度解析MIPI DSI接口中低速(LP)与高速(HS)模式切换的全流程。文章结合高通平台实测波形,从协议状态机、时序关键参数到实战调试案例,系统拆解了模式切换的本质、协同机制及常见问题排查方法,重点阐述了LP模式在低功耗控制与HS模式在高速数据传输中的核心作用与切换时序。

weixin_29240711的博客 547

windows内核-加载、卸载驱动(四)

2、OpenService打开加载中的服务获取服务句柄 SC_HANDLE。5、清理工作,用CloseServiceHandle关闭释放句柄。3、如果驱动服务已经创建过,则用OpenService打开服务。二、卸载驱动1、获取服务控制管理器句柄 SC_HANDLE。1、用OpenSCManager打开服务控制管理器。4、用StartService加载启动驱动服务。2、用CreateService创建对应服务。3、ControlService 停止服务。通过MFC加载或卸载驱动。

rosykee的专栏 1210

开关变换器小信号建模实战:从理论到环路设计

本文深入探讨了开关变换器小信号建模的实战技巧,从理论基础到环路设计全面解析。通过Buck和Boost变换器的具体案例,详细介绍了状态空间平均法、扰动法等关键建模技术,并分享环路补偿设计和实际调试中的宝贵经验。文章特别强调了小信号建模在电源设计中的重要性,为工程师提供了从理论到实践的完整解决方案。

weixin_29290259的博客 377

【StarRocks】-- DATETIME 与 TIMESTAMP 区别详解

本文详细解析了StarRocks中DATETIME/DATETIMEV2与TIMESTAMP的区别及使用场景。DATETIME系列存储人类可读时间,不携带时区;TIMESTAMP实际指Unix时间戳,建议用BIGINT存储。关键差异包括:精度选择(DATETIMEV2支持微秒级)、时区处理(仅函数计算时影响)、存储方式等。针对不同场景提供选型建议:单时区展示用DATETIMEV2,跨时区计算用BIGINT存储Epoch。特别强调与MySQL迁移时的注意事项,并给出常见问题解决方案和最佳实践清单,包括统一入口

欢迎来到我的博客,一起探索代码里的世界! 501

WIN7下使用OpenSCManger和OpenService函数的注意

在win7下使用OpenSCManger和OpenService函数, 如下代码: SC_HANDLE hSCM = OpenSCManager(NULL,NULL,SC_MANAGER_ENUMERATE_SERVICE ); if (!hSCM) { CloseServiceHandle(hSCM); return false; } //调用OpenS...

weixin_30781107的博客 333

UE5实现距离测量功能

UE5实现距离测量功能

专注GIS开发 6269

OpenService 打开一个已经存在的服务

SC_HANDLE WINAPIOpenService( _In_SC_HANDLE hSCManager, _In_LPCTSTR lpServiceName, _In_DWORD dwDesiredAccess ); 函数作用:打开一个已经存在的服务 参数: 1.hSCManager:SCM数据库句柄;OpenSCManager 2.lpServi...

aizongsai2251的博客 1737

开源模型应用落地-qwen模型小试-Qwen3-8B-快速体验(一)

阿里云推出国内首个集成“快思考”与“慢思考”能力的 Qwen3-8B 大语言模型,以80亿参数和 128K 上下文支持,重塑AI应用边界并助力开发者高效部署

以微薄之力,予他人些许温暖. 2万+

CANoe制作网关实现CAN(FD)报文故障注入(报文长度/timeout/信号错误/E2E)2

CANoe制作网关实现CAN报文故障注入(报文长度/timeout/信号错误/E2E) 2.新建CANoe工程 3.透传功能 4.故障注入panel面板 5.CAPL代码 5.1故障注入开始、停止、定时 5.2DLC故障注入 5.3 Timeout故障注入 5.4 信号故障注入

天赐好车的博客 3680

驱动加载之OpenService

点击打开原文链接SC_HANDLE WINAPI OpenService(_In_ SC_HANDLE hSCManager,_In_ LPCTSTR lpServiceName,_In_ DWORD dwDesiredAccess);函数作用:打开一个已经存在的服务参数:1. hSCManager:SCM数据库句柄;OpenSCManager2. lpServiceName:要打开服务的名字,这...

mpp_king的博客 499

贪婪投影三角化算法

贪婪投影三角化算法是一种利用点云数据进行曲面重建的方法。其基本思想是通过迭代地连接点云中的邻近点来生成三角形,从而构建出整个表面。这种方法被称为“贪婪”,因为它在每一步仅考虑当前最优的策略,而不考虑全局的最优性。

twnkie的博客 1567

安装A93WebService,[SC] OpenService 失败报错解决

安装A93WebService,点击install.exe,报错[SC] OpenService 失败 1060:指定的服务未安装 查看https://blog.youkuaiyun.com/renwudao24/article/details/52061906 根据介绍找到本地计算机-》管理-》服务-》右侧列表AssignedAccessManager 服务,点击显示属性框 进入安装路径,cmd...

weixin_39218743的博客 1454

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

sc openservice 失败1060救救倒霉孩子

sc openservice 失败1060 指定的服务未安装 有大佬看到回复下 谢谢了

weixin_44334549的博客 7142

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

STM32C5与CubeMX2深度解析:嵌入式选型与工具链迁移指南

在嵌入式开发中,MCU选型与工具链效率直接影响项目成败。以Arm Cortex-M内核为例,不同系列通过内核架构、外设集成与安全特性实现市场细分。STM32C5作为主流控制新品,定位介于G0与G4之间,集成CAN-FD、USB高速与TrustZone,填补成本与性能的空白。CubeMX2则重构代码生成逻辑,提升可维护性与CI/CD集成,支持多核调试与安全配置。二者结合,为工业网关、安全通信等场景提供高效开发路径。本文深入分析其技术价值、迁移成本与生态适配,助力工程师理性评估。

weixin_34248023的博客 287

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【原创】驱动加载之OpenService

SC_HANDLE WINAPI OpenService( _In_ SC_HANDLE hSCManager, _In_ LPCTSTR lpServiceName, _In_ DWORD dwDesiredAccess ); 函数作用:打开一个已经存在的服务 参数: 1.hSCManager:SCM数据库句柄;OpenSCManager 2.lpServiceNam...

weixin_34186931的博客 340

Windows Server 2008 R2 集群(OpenService “RemoteRegistry” 失败)笔记

OpenService “RemoteRegistry” 失败。 我在创建验证域控服务器【系统】类别中看到错误日志 我在域控服务器去看,在 computers 里面 是有这台 计算机,但是为什么不行呢?纠结了很久。实在 没办法,最后把这台验证失败的机器,修改了 计算机名,重新加入域。问题就搞定了。 可能没描述清楚,自己在记一下(NodeA,NodeB,NodeC)都...

weixin_33694172的博客 276

openservice ERROR_ACCESS_DENIED

今天同事写程序,用Sigar获取Window服务,发现有几个服务怎么也不取不出来。 我看了一下代码,就是用OpenService获取的,于是就用VC写了个Demo,一样获取不到。 不过错误码是这5,查了一下msdn是访问权限问题。 看了一下Sigar获取的权限位,对比了一下MSDN,Sigar用的是ALL_ACCESS,但是在WindowsCardSpace上,怎么都报错。 http...

weixin_30687811的博客 180

windows怎么删除服务, OpenService 失败 5,拒绝访问解决

windows删除服务以及OpenService 失败 5,拒绝访问解决

阿花的博客 5034

[SC] OpenService 失败 5:拒绝访问。

核心:想删除某个服务,却报【拒绝访问】,这时只要用管理员运行命令窗口即可。 一、场景描述 1、因为要重装MySQL,而原来是MySQL的服务还一直在,所以要删掉这个服务。 2、cmd打开命令窗口 3、输入命令【scdeleteMySQL57】 二、解决 1、搜索,命令提示符,以管理员身份运行 2、再一次删除,成功 ...

心有谦谦结 1万+

win 2008 集群 Openservice remoteRegistry 失败

<br />在NodeA和NodeB中分别添加对方的域用户为本地administrators组

ikmb的专栏 4274
上一篇: NotifyBootConfigStatus
下一篇: QueryServiceConfig
普通网友
博客等级 码龄22年 1万+粉丝 3156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值