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);