CreateService()调用成功,即使依赖不存在

时间:2015-08-20 05:06:16

标签: c++ windows winapi service

我有以下代码:

TCHAR buff[200];
_tcscpy_s(buff, argv[3]);  //CONSIDER argv[3] as XYZSvc
_tcscat(buff, L"\0\0");

schService = CreateService(
    schSCManager,
    lpszServiceName, 
    lpszDisplayName, 
    SERVICE_ALL_ACCESS,
    SERVICE_WIN32_OWN_PROCESS,
    SERVICE_DEMAND_START,
    SERVICE_ERROR_NORMAL,
    lpszBinaryPathName,
    NULL,
    NULL,
    buff, // INITIALIZED ABOVE
    NULL,
    NULL); 

即使XYZSvc不存在,此调用也会成功执行。有人能说出这段代码有什么问题吗?

1 个答案:

答案 0 :(得分:3)

即使您指定的依赖项无效,也可以正常创建服务。当SCM尝试启动服务并解决依赖关系时,将发生任何故障。