in Silhouette/Utils.cpp [172:186]
NTSTATUS SetQuotaLimits(HANDLE hProcess)
{
QUOTA_LIMITS_EX quotaLimits = { 0, };
if (KeGetCurrentIrql() > PASSIVE_LEVEL)
{
return STATUS_INVALID_STATE_TRANSITION;
}
// Cap LSASS working set
quotaLimits.WorkingSetLimit = 5 * 1024 * 1024;
quotaLimits.Flags = QUOTA_LIMITS_HARDWS_MAX_ENABLE;
return ZwSetInformationProcess(hProcess, ProcessQuotaLimits, "aLimits, sizeof(quotaLimits));
}