deleteService 函数 (winsvc.h)
将指定的服务标记为从服务控制管理器数据库中删除。
语法
BOOL DeleteService(
[in] SC_HANDLE hService
);
参数
[in] hService
服务的句柄。 此句柄由 OpenService 或 CreateService 函数返回,并且必须具有 DELETE 访问权限。 有关详细信息,请参阅 服务安全和访问权限。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
以下错误代码可能由服务控制管理器设置。 其他可能由服务控制管理器调用的注册表函数设置。
返回代码 | 说明 |
---|---|
|
句柄没有 DELETE 访问权限。 |
|
指定的句柄无效。 |
|
指定的服务已标记为要删除。 |
注解
DeleteService 函数将服务标记为要从服务控制管理器数据库中删除。 在通过调用 CloseServiceHandle 函数关闭服务的所有打开句柄并且服务未运行之前,不会删除数据库条目。 通过使用SERVICE_CONTROL_STOP控件代码调用 ControlService 函数来停止正在运行的服务。 如果服务无法停止,则重启系统时会删除数据库条目。
服务控制管理器通过从注册表中删除服务键及其子项来删除服务。
示例
有关示例,请参阅 删除服务。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | winsvc.h (包括 Windows.h) |
Library | Advapi32.lib |
DLL | Advapi32.dll |