我想設置PROCESS_TERMINATE的安全性。這是代碼:SetSecurityInfo失敗PROCESS_TERMINATE
CreateProcess("C:\\ADP\\SQLBase\\dbntsrv.exe", NULL, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, "C:\\ADP\\SQLBase", &si, &pi);
if(SetSecurityInfo(pi.hProcess, SE_KERNEL_OBJECT, PROCESS_TERMINATE, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
{
MessageBox(NULL, "process_terminate granted", NULL, MB_OK);
}
else
{
MessageBox(NULL, "process_terminate not granted", NULL, MB_OK);
}
//--------------------- Permission to query for info to use GetExitCode -------------------------
if(SetSecurityInfo(pi.hProcess, SE_KERNEL_OBJECT, PROCESS_QUERY_INFORMATION, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
{
MessageBox(NULL, "process_query_information granted", NULL, MB_OK);
}
else
{
MessageBox(NULL, "process_query_information not granted", NULL, MB_OK);
}
LPDWORD lpExitCode;
GetExitCodeProcess(pi.hProcess, lpExitCode);
這裏SetSecurityInfo爲PROCESS_TERMINATE失敗,我得到一個Unhandled Exception..(KERNEL32.dll):Access Violation
爲
GetExitCodeProcess(pi.hProcess, lpExitCode);
爲什麼會出現這種情況?謝謝
很好..非常感謝你 – digvijay 2012-02-27 11:06:42