我想使用 SetProcessWorkingSetSize 函数,在 MSDN 上我看到了这个:
“句柄必须具有 PROCESS_SET_QUOTA 访问权限。有关详细信息,请参阅进程安全和访问权限。”
那么,如何设置 PROCESS_SET_QUOTA 来处理句柄呢?
我想编写运行具有工作集限制的可执行程序的程序,所以有一段主要代码:
STARTUPINFO si;
memset(&si, 0, sizeof(si));
si.cb = sizeof(si);
GetStartupInfo(&si);
si.dwFlags = 0;
PROCESS_INFORMATION pi;
if (!CreateProcess(
exePath.c_str(),
cmdParametersBuffer,
NULL,
NULL,
FALSE,
NORMAL_PRIORITY_CLASS,
NULL,
NULL,
&si,
&pi))
{
cout << "error" << endl;
}
SetProcessWorkingSetSize(pi.hProcess, 20 * 4 * 1024, 100*1024*1024);