许多操作需要打开一个SCManager对象的句柄。以下示例演示如何获取句柄。
SCM数据库上的不同操作需要不同的访问级别,您只应要求最低限度的访问。如果请求SC_MANAGER_ALL_ACCESS,如果调用进程没有管理员权限,OpenSCManager功能将失败。以下示例显示如何请求对本地机器上的ServicesActive数据库的完全访问。
//打开一个SC管理器数据库的句柄。
schSCManager = OpenSCManager(
NULL, //本地机器
NULL, // ServicesActive数据库
SC_MANAGER_ALL_ACCESS); //完全访问权限
if (schSCManager == NULL)
MyErrorExit("OpenSCManager");