Поделиться через


Функция 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 и NonPagedPoolCaolCacheAlignedMustS типы пулов устарели и больше не должны использоваться.

[in] Amount

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

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

Никакой

Замечания

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

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

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

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

См. также

PsReturnPoolQuota