Функция 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 |