LocalService

将对象安装为服务应用程序。

注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
   {AppID_GUID}
      LocalService = name

言论

除了作为本地服务器可执行文件(EXE)运行之外,COM 对象还可以选择打包自身以在本地或远程客户端激活时作为服务应用程序运行。 服务支持许多有用和 UI 集成的管理功能,包括本地和远程启动、停止、暂停和重启,以及建立在特定用户帐户和窗口工作站下运行的服务器的能力。

通过建立 LocalService 值和执行标准服务安装,安装编写为服务的对象供 COM 使用。 LocalService 值必须设置为服务名称(如 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services中配置),作为默认 REG_SZ 值。

LocalService 设置时,分配给 ServiceParameters 的任何字符串作为命令行参数传递给服务,因为它正在启动。

在许多情况下,服务配置是首选的,即本地和远程服务管理 API 和用户界面的功能对于对象提供的服务可能很有用。 例如,如果对象生存期较长或随时支持启动、停止、重置或暂停等概念,则利用服务体系结构的现有管理框架应该是一个明显的选择。

可以动态配置服务,并且可以配置为在计算机启动时自动运行,也可以在客户端应用程序请求时启动。

如果要将类实现为服务,应注意以下几点:

  • 此值优先于本地和远程激活请求的 LocalServer32 密钥,如果存在 localService 并引用有效的服务,则忽略 LocalServer32 密钥。
  • 目前,只有一个服务应用程序的单个实例可以在计算机上的给定时间运行。 因此,COM 服务必须使用 REGCLS_MULTIPLEUSE 来支持多个客户端在启动时注册其类对象。
  • 若要正确启动和初始化,配置为在计算机启动时自动运行的 COM 服务必须在其依赖服务列表中包括 RPCSS。

注册 COM 服务器

ServiceParameters

服务