SetSecurityInfo:未声明的标识符

时间:2012-02-27 07:47:04

标签: c++ winapi visual-c++ mfc

我正在尝试为对象设置安全权限。这是代码:

    PROCESS_INFORMATION pi = {0};
    STARTUPINFO si = {0};
    si.cb = sizeof(STARTUPINFO);

    CreateProcess("C:\\AP\\DataBase\\dbntsrv.exe", NULL, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, "C:\\ADP\\SQLBase", &si, &pi);      


    result = SetSecurityInfo(pi.hProcess, SE_WINDOW_OBJECT, PROCESS_TERMINATE, NULL, NULL, NULL, NULL);

但是它给了我编译时错误'SetSecurityInfo' : undeclared identifier ..和'SE_WINDOW_OBJECT' : undeclared identifier ..知道为什么会这样吗?感谢

2 个答案:

答案 0 :(得分:5)

Windows documentation中,它表示您需要包含Aclapi.h。你呢?

答案 1 :(得分:1)

在开始此过程之前,您应该设置安全属性,而不是之后。或者,启动进程暂停,然后再恢复它。

SE_WINDOW_OBJECT对于流程安全性不正确。使用SE_KERNEL_OBJECT