EnumDependentServices

1 篇文章 0 订阅

检索每个依赖于指定服务的服务的名称和状态;也就是说,在依赖服务能够运行之前,指定的服务必须运行。

语法:

BOOL EnumDependentServicesA(
  SC_HANDLE              hService,
  DWORD                  dwServiceState,
  LPENUM_SERVICE_STATUSA lpServices,
  DWORD                  cbBufSize,
  LPDWORD                pcbBytesNeeded,
  LPDWORD                lpServicesReturned
);

参数:

hService

服务的句柄。这个句柄由OpenService或CreateService函数返回,它必须具有service_enumerate_dependent访问权限。

dwServiceState

要枚举的服务的状态。此参数可以是以下值之一。

SERVICE_ACTIVE

0 x00000001

枚举处于以下状态的服务:SERVICE_START_PENDING、SERVICE_STOP_PENDING、SERVICE_RUNNING、SERVICE_CONTINUE_PENDING、SERVICE_PAUSE_PENDING和SERVICE_PAUSED.。

SERVICE_INACTIVE

0 x00000002

枚举处于SERVICE_STOPPED状态的服务。

SERVICE_STATE_ALL

0 x00000003

组合以下状态:SERVICE_ACTIVE和SERVICE_INACTIVE。

lpServices

指向ENUM_SERVICE_STATUS结构数组的指针,该数组接收数据库中每个依赖服务的名称和服务状态信息。缓冲区必须大到足以容纳结构,加上成员指向的字符串。

这个数组中的服务顺序与服务的开始顺序相反。换句话说,数组中的第一个服务是最后启动的服务,数组中的最后一个服务是第一个启动的服务。

这个数组的最大大小是64,000字节。要确定所需的大小,请为该参数指定NULL,为cbBufSize参数指定0。函数将失败,GetLastError将返回ERROR_MORE_DATA。pcbbytesrequired参数将接收所需的大小。

cbBufSize

由lpServices参数指向的缓冲区大小(以字节为单位)。

pcbBytesNeeded

指向一个变量的指针,该变量接收存储服务项数组所需的字节数。只有当lpServices指向的缓冲区太小时,该变量才会接收到这个值,这个值由函数故障和ERROR_MORE_DATA错误表示;否则,pcbbytesrequired的内容是未定义的。

lpServicesReturned

指向一个变量的指针,该变量接收返回的服务条目的数量。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值