衡玉's Blog

Happy coding

windows 内核函数前缀的意义

 windows内核函数命名的特征,就是函数名都按其所在的层次或模块加上了特定的前缀。

  • Ex:管理层,Ex是Executive的开头两个字母
  • Ke:和形成,Ke是Kenrel的开头两个字母
  • Hal:硬件抽象层,Hal是Hardware Abstraction Layer的缩写
  • Ob:对象管理,Ob是Object的开头两个字母
  • Mm:内存管理,Mn是Memory Manager的缩写
  • Ps:进程(线程)管理,Ps表示Process
  • Se:安全管理,Se是Security的开头两个字母
  • Io:I/o管理
  • Fs:文件系统,Fs是File System的缩写
  • Cc:文件缓存管理,Cc表示Cache
  • Cm:系统配置管理,Cm是Configuraction manager的缩写
  • Pp:“即插即用”管理,Pp表示PnP
  • Rtl:运行时程序库,Rtl是Runtime Library

 

depends.exe工具的作用是查看Dll提供的接口函数

sc windows服务控制工具帮助

E:\projects\ATL\RestoreSer\Debug>sc /?

 

错误:  未知命令

 

描述:

        SC 是用于与服务控制管理器通信的命令行程序。

用法:

        sc <server> [command] [service name] <option1> <option2>...

 

 

        选项 <server> 的格式为 "\\ServerName"

        可以键入 "sc [command]"以获得命令的进一步帮助

        命令:

          query-----------查询服务的状态,

                          或枚举服务类型的状态。

          queryex---------查询服务的扩展状态,

                          或枚举服务类型的状态。

          start-----------启动服务。

          pause-----------发送 PAUSE 控制请求到服务。

          interrogate-----发送 INTERROGATE 控制请求到服务。

          continue--------发送 CONTINUE 控制请求到服务。

          stop------------发送 STOP 请求到服务。

          config----------(永久地)更改服务的配置。

          description-----更改服务的描述。

          failure---------更改服务失败时所进行的操作。

          qc--------------查询服务的配置信息。

          qdescription----查询服务的描述。

          qfailure--------查询失败服务所进行的操作。

          delete----------(从注册表)删除服务。

          create----------创建服务(将其添加到注册表)。

          control---------发送控制到服务。

          sdshow----------显示服务的安全描述符。

          sdset-----------设置服务的安全描述符。

          GetDisplayName--获取服务的 DisplayName。

          GetKeyName------获取服务的 ServiceKeyName。

          EnumDepend------枚举服务的依存关系。

 

        下列命令不查询服务名称:

        sc <server> <command> <option>

          boot------------(ok | bad) 表明是否将上一次启动保存为

                          最后所知的好的启动配置

          Lock------------锁定服务数据库

          QueryLock-------查询 SCManager 数据库的 LockStatus

示例:

        sc start MyService

 

windows内核情景分析 读书手记

用户空间和系统控件

  • 系统空间可以访问用户空间,有必要,应为用户程序实在内核的安排下工作的
  • 用户空间无权访问系统空间,应为系统空间必须受到保护,否则存在崩溃的危险

内核空间的映像是ntoskrnl.exe

用户控件的映像是win32k.sys

 

windows内核

        现在操作系统的一个特征是:用户空间和系统控件的划分

微软把系统空间中靠近底层,与硬件考的较近的部分称为内核,而将内核以上的部分成为Executive,即管理层。

管理层包括:

  1. 对象管理
  2. 内存管理
  3. 进程\线程管理
  4. I\O管理
  5.  安全管理
  6. 进程(线程)通信模块
  7. .......