【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”. 解决方法,到微软官方下载相 ...
随机推荐
- 从Github开源项目《云阅》所学到的知识
感谢开源,感谢大神,才让我们这些菜鸟成长! 附上云阅开源项目地址:点我吧. 1.轮播图的实现. 现在的APP基本都会实现这个功能吧,然后一直都找不到好的第三方库,能够满足各种需求.然而碰到了这个开源库 ...
- 长沙Uber优步司机奖励政策(12月21日到12月27日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- letsencrypt证书-管理工具certbot
目录 1. 安装certbot 2. certbot 介绍 3. 插件的具体使用 3.1 webroot 3.2 standalone 3.3 DNS plugins 3.4 manual 4. 证书 ...
- mysql int类型的长度值
整数类型的存储和范围(来自mysql手册) 类型 字节 最小值 最大值 (带符号的/无符号的) (带符号的/无符号的) TINYINT 1 -128 127 0 255 SMALLIN ...
- JQuery.extend扩展实现同步post请求
有时需要在jQuery中实现同步post请求,而jquery自带的是异步,需要通过JQuery.extend扩展. 支持ie和firefox,方法转载而来.需要在submit前将form.append ...
- CentOS安装nmon
nmon官网: http://nmon.sourceforge.net/pmwiki.php?n=Main.HomePage 下载nmon16e_mpginc.tar.gz到本地并上传到服务器 tar ...
- Python常用函数--return 语句
在Python教程中return 语句是函数中常用的一个语句.return 语句用于从函数中返回,也就是中断函数.我们也可以选择在中断函数时从函数中返回一个值.案例(保存为 function_retu ...
- org.apache.spark.sql.functions汇总
测试数据: id,name,age,comment,date 1,lyy,28,"aaa bbb",20180102020325 scala> var data = spar ...
- Memcache的客户端连接系列(四) PHP
关键词: Memcached PHP 客户端 声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(Memcached)的用户指南.客户端连接方法通用,故摘抄过来分享给大家. PHP客户端 Re ...
- IntelliJ IDEA for MAC 注释模板、快捷键生成注释
增加注释 在IntelliJ IDEA中为JAVA代码增加注释,首先需要配置注释模板,而后使用模板快捷键生成注释, 下面按照[配置模板].[模板使用]两部分进行介绍 ----------------- ...