OpenService 打开一个已经存在的服务

  1. SC_HANDLE WINAPI OpenService(
  2. _In_ SC_HANDLE hSCManager,
  3. _In_ LPCTSTR lpServiceName,
  4. _In_ DWORD dwDesiredAccess
  5. );
函数作用:打开一个已经存在的服务
参数:
1. hSCManager:SCM数据库句柄;OpenSCManager
2. lpServiceName:要打开服务的名字,这和CreateService形参lpServiceName一样,不是服务显示名称。
3. dwDesiredAccess:服务权限
 
返回值:
成功,返回服务句柄;失败返回NULL,可以通过GetLastError获取错误码。
Return codeDescription
ERROR_ACCESS_DENIED

The handle does not have access to the service.

ERROR_INVALID_HANDLE

The specified handle is invalid.

ERROR_INVALID_NAME

The specified service name is invalid.

ERROR_SERVICE_DOES_NOT_EXIST

The specified service does not exist.

说明:
(1)返回的句柄只能用于调用OpenService函数的进程,能够CloseServiceHandle函数关闭。
(2)为了使用OpenService,需要SC_MANAGER_CONNECT。
posted @ 2018-08-31 17:02  小雨滴答  阅读(4297)  评论(0编辑  收藏  举报