CreateService function
创建或打开指定服务
Function:
int UAPI CreateService(
LPCSTR lpcService,
dword dwCreateFlag,
dword dwFlags
);
Parameters:
- (LPCSTR) lpcService:服务路径
- (dword) dwCreateFlag:创建标志(CONST SERVICE_...)
| Constant | Value | Notes |
|---|---|---|
| SERVICE_OPENEXIST | 0x02 | 打开服务,如不存在则函数失败 |
| SERVICE_CREATE | 0x04 | 创建服务,如已存在则函数失败 |
| SERVICE_ALL | 0x08 | 打开服务,如不存在则创建 |
- (dword) dwFlags:扩展标志,目前版本应为 NULL
Return value:
- Type:int
- Text:成功返回服务句柄号,失败返回 NULL
Remarks:
CreateService function 中的参数 lpcService 即服务路径必须以 “\” 开头,否则将导致函数失败
CreateService function 中的参数 dwCreateFlag 即创建标志仅可使用单一标志,而不是组合,否则将导致函数失败
在 SDK 中,CreateService function 中的参数 dwCreateFlag 即创建标志如为 NULL 则默认为 SERVICE_ALL 标志
CreateService function 所返回的服务句柄与内核对象关联,会增加内核对象的引用计数。当内核对象引用计数为 NULL 时,则该内核对象将会被自动关闭,服务将被销毁