我正在尝试为对象设置安全权限。这是代码:
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
..知道为什么会这样吗?感谢
答案 0 :(得分:5)
在Windows documentation中,它表示您需要包含Aclapi.h
。你呢?
答案 1 :(得分:1)
在开始此过程之前,您应该设置安全属性,而不是之后。或者,启动进程暂停,然后再恢复它。
SE_WINDOW_OBJECT
对于流程安全性不正确。使用SE_KERNEL_OBJECT
。