Функция PsChargePoolQuota (ntifs.h)

Подпрограмма PsChargePoolQuota взимает квоту пула указанного типа пула для указанного процесса.

Синтаксис

void PsChargePoolQuota(
  [in] PEPROCESS Process,
  [in] POOL_TYPE PoolType,
  [in] ULONG_PTR Amount
);

Параметры

[in] Process

Указатель на процесс, квота которого будет взиматься.

[in] PoolType

Тип квоты пула для оплаты, который может быть одним из следующих:

  • NonPagedPool
  • PagedPool
  • NonPagedPoolCacheAligned
  • PagedPoolCacheAligned

Типы пулов NonPagedPoolMustSucceed и NonPagedPoolCacheAlignedMustS являются устаревшими и больше не должны использоваться.

[in] Amount

Количество байтов, взимаемых с квоты пула для этого процесса.

Возвращаемое значение

None

Remarks

Если квота для процесса недостаточна, плата за квоту не взимается, а PsChargePoolQuota создает исключение со значением состояния STATUS_QUOTA_EXCEEDED. Вызывающие объекты отвечают за обработку этого исключения. Таким образом, вызовы PsChargePoolQuota должны быть заключены в обработчик исключений, предоставленный драйвером.

Каждый успешный вызов PsChargePoolQuota должен соответствовать последующему вызову PsReturnPoolQuota.

Дополнительные сведения об управлении памятью см. в разделе Управление памятью.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

См. также раздел

PsReturnPoolQuota