c - 使用 OpenSCManager 加载非运行 Windows 安装的服务数据库

标签 c winapi windows-services offline

我正在(在 IT 意义上)从工作机器中取出硬盘驱动器,需要调整它们在注册表中的服务配置。在用于在注册表中编辑服务的 Windows API OpenSCManager 中,有一个稀疏记录的 lpDatabaseName 参数。我可以使用它吗,比如说,如果正在运行的但未运行 Windows 安装安装为驱动器 E:\? (正在运行的 Windows 安装安装在驱动器 C:\ 上)

我可以做吗? OpenSCManager(NULL, "E:\Windows\WHAT_IS_THE_FILENAME", SC_MANAGER_ALL_ACCESS)。然后使用句柄编辑驱动器 E:\ 上的服务配置? 第二个参数的文件路径是什么?即,在驱动器 E:\ 上的什么位置可以找到此服务数据库文件?

最佳答案

根据SCM remote protocol specification , lpDatabaseName 只能为 NULL、"ServicesActive"或 "ServicesFailed"。

关于c - 使用 OpenSCManager 加载非运行 Windows 安装的服务数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8332829/

相关文章:

c - 从函数返回整数数组

我可以将同一个文件指针分配给第二个文件吗?

c# - 使用 Win32 API 在 C# 中将窗口置于最前面

c++ - 如何在不重绘的情况下更改窗口矩形

visual-studio - 如何从 Visual Studio 运行 (F5) Windows 服务

java - 如何使用 Java Service Wrapper 检测用户登录

c - Mem 分配器方法的无效转换 (C)

c - 在 cmd 中打印和存储西类牙语字符(á、é、í、ñ...)

c# - 哪个 Windows 服务确保网络连接?

c - 如何将十进制数转换为十六进制数,然后将相应的结果作为十进制值存储在整数中