【Windows】Windows服务管家婆之Service Control Manager
Service Control Manager,服务控制管理器,人称SCM就是它!在Windows内核中,都可以看到她忙碌的身影,可以说是系统服务和驱动的管家婆了!
- 维护已安装服务的数据库
- 在需要或系统启动的时候,打开服务或驱动服务
- 枚举已安装的服务或驱动服务
- 为已运行的服务或驱动服务维护状态信息
- 将控制码传递给运行中的服务
- 锁定/解锁服务数据库




- Type(服务类型)。对普通服务来说,它表明服务运行环境:自己进程内或与其他服务共享的进程;对于驱动服务来说,它是一个内核服务还是文件系统服务。下面是它的数字含义:0x1:驱动服务,0x2:文件系统服务;0x10:运行在自己进程的服务;0x20:与其他服务共享进程的服务
- Start(启动类型)。它表明这是一个自启动服务呢还是一个需求启动服务,自启动又有系统引导启动或SCM启动;需求启动服务有服务配置程序手动启动。同时它也能够指示此服务是否有用,在这种情况下,服务是无法启动的。0x00:系统引导程序自动运行服务;0x01:一个由 IoInitSystem函数启动的服务;0x02:在系统启动的时候,由SCM自动运行服务;0x03:需求启动,当一个程序调用StartService函数时,SCM启动服务;0x04:一个不能启动的服务
- ErrorControl(错误处理方式)。当该启动服务失败时产生错误的严重程度以及采取的保护措施。0x00:忽略错误;0x01-0x03:其他错误处理,参考CreateService函数。
- ImagePath(可执行文件的完整路径)。对服务来说,后缀名是.exe;对驱动来说,后缀名是.sys。可以是相对路径,可以带有启动参数。
- 可选的账户名字和密码(对服务),服务程序运行在此账户的上下文环境,当没指定任何账户时,默认是LocalSystem账户
- 可选的驱动对象名字(对驱动),名字在IO系统中会被用来加载驱动设备。如果没有指定名字,IO系统会根据驱动服务名字生成一个默认的名字。
- DependOnService(可选的依赖信息)。对于服务,信息可以是一个服务列表,在SCM启动此服务前,必须先启动列表中指定的服务。对于驱动,信息可以是一个驱动列表,在SCM启动此服务前,必须先启动列表中指定的驱动。
- Group(服务组)。如果服务没有这一项,那么它不属于任何一个服务组,系统则会默认的将其在所有的服务启动后加载。
- Tag(标签)。它用来描述服务的标识。每一个在服务组中的服务都会被分配一个唯一的标识。注册表通过对服务组的服务标识的排列来安排,同一服务组中的个服务的加载先后顺序



- 检索取回存储在数据库的账户信息
- 登录服务的账户
- 加载用于预置文件
- 创建处于挂起状态的服务
- 将登录令牌分配给程序
- 允许程序运行
- 已安装服务的数据库
- 一个服务
- 数据库锁
【Windows】Windows服务管家婆之Service Control Manager的更多相关文章
- 【原创】Windows服务管家婆之Service Control Manager
Service Control Manager,服务控制管理器,人称SCM就是它!在Windows内核中,都可以看到她忙碌的身影,可以说是系统服务和驱动的管家婆了! SCM管家婆起早贪黑,每次 ...
- DIM-00014: Cannot open the Windows NT Service Control Manager.
创建Oracle数据库时出错: OPW-00001: Unable to open password-file DIM-00014: Cannot open the Windows NT Servic ...
- Error connecting to the Service Control Manager: 拒绝访问 Mongodb问题-解决
原文地址:https://blog.csdn.net/carrot5032/article/details/74742888 发现在mongodb.log里出现 2017-07-07T17:01:5 ...
- Several Service Control Manager Issues (Event ID's 7000, 7009, 7011)
https://answers.microsoft.com/en-us/windows/forum/windows_7-performance/several-service-control-mana ...
- 事件类型: 错误 事件来源: Service Control Manager 事件种类: 无 事件 ID: 7000
在控制面板\管理工具\服务里找dns Client 服务,把他启动了
- 【windows&flask】flask通过service自动运行
最近在学习在windows平台用flask框架提供Restful API服务,需要使得flask的windows应用能够开机自动运行,并且后台运行,所以通过service来实现. 首先尝试的是在自己派 ...
- Windows as a Service(1)—— Windows 10服务分支
前言 作为公司的IT管理员,管理全公司Windows 10操作系统的更新一直是工作中的头疼之处.微软提供了很多方法来帮助我们管理公司的Windows 10更新,比如Windows Server Upd ...
- Windows as a Service(1)—— Windows 10服务分支
前言 作为公司的IT管理员,管理全公司Windows 10操作系统的更新一直是工作中的头疼之处.微软提供了很多方法来帮助我们管理公司的Windows 10更新,比如Windows Server Upd ...
- 安装TortoiseGit出现提示“您必须安装带有更新版本Windows Installer服务的Windows Service Pack”-解决方法
我的系统是xp sp3安装TortoiseGit时出现了错误提示“您必须安装带有更新版本Windows Installer服务的Windows Service Pack”. 解决方法,到微软官方下载相 ...
随机推荐
- 深入理解@RequestBody注解
我写文章历来追求通俗易懂,今天来深入探讨一下@RequestBody注解.提起这个,所有做过mvc开发的同学应该都不陌生,使用上面肯定也是信手拈来. 所以我这里就简单的提一下这个注解的使用: 1.当客 ...
- jquery.validate验证,jquery.Form插件提交,主要可以异步提交文件
<script type="text/javascript"> $(function () { $form = $("#manuForm"); $b ...
- URL传值中文乱码的解决
使用 tomcat 时,相信大家都回遇到中文乱码的问题,具体表现为通过表单取得的中文数据为乱码. 一.初级解决方法 通过一番检索后,许多人采用了如下办法,首先对取得字符串按照 iso8859-1 进行 ...
- Prism MEF example
Related Attributes These attributes are under namespace System.ComponentModel.Composition Import The ...
- http知识点 前端
前端必须明白的http知识点 对于http的报文格式就不多细说了,做为前端开发,我们需要知道前后端联调时的请求和响应之间请求头和返回头之间的关系和每个字段中的涵意,静态文件资源在加载时我们所观察到可性 ...
- 第一阶段·Linux运维基础 第3章·文件属性、正则表达式、文件权限
01-文件属性内容介绍 02- inodeyublock讲解 03-访问oldboyfile的寻宝过程 04-inode与block小结 05-磁盘空间不足案例详解 06-Linux文件类型及拓展名 ...
- 1.1.0 Unity零基础入门2——Roll a Ball
1. 游戏界面 2.代码 //FoodRotate - - 控制cube旋转 using System.Collections; using System.Collections.Generic; u ...
- lintcode 二叉树前序遍历
二叉树的前序遍历 给出一棵二叉树,返回其节点值的前序遍历. 您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,2,3]. / ...
- JAVA 面试须知
本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺. 1. Java中的原始数据类型都有哪些, ...
- 左值&右值
一.引子 我们所谓的左值.右值,正确的说法应该是左值表达式.右值表达式. 因为C++的表达式不是左值就是右值. 在C中,左值指的是既能够出现在等号左边也能出现在等号右边的表达式,右值指的则是只能出现在 ...