DeleteService功能从服务控制管理器数据库中标记要删除的指定服务。
BOOL DeleteService(
SC_HANDLE 【hService】 | //处理服务 |
); |
参数
【hService】
标识服务。该句柄由OpenService或CreateService函数返回,并且必须具有DELETE访问权限。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
错误
服务控制管理器可以设置以下错误代码。其他可能由服务控制管理器调用的注册表功能设置。
值 | 含义 |
ERROR_ACCESS_DENIED | DELETE访问没有打开指定的句柄。 |
ERROR_INVALID_HANDLE | 指定的句柄无效。 |
ERROR_SERVICE_MARKED_FOR_DELETE | 指定的服务已被标记为删除。 |
备注
DeleteService功能标记从服务控制管理器数据库中删除的服务。在通过调用CloseServiceHandle函数关闭服务的所有打开句柄之前,该服务未运行,才会删除该数据库条目。通过使用SERVICE_CONTROL_STOP控制代码调用ControlService函数停止正在运行的服务。如果服务无法停止,系统重新启动时将删除数据库条目。
服务控制管理器通过从注册表中删除服务密钥及其子项来删除服务。
也可以看看
CloseServiceHandle, ControlService, CreateService, OpenService