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
要根据此过程的池配额收费的字节数。
返回值
无
备注
如果进程配额不足,则不收取配额费用, PsChargePoolQuota 会引发状态值STATUS_QUOTA_EXCEEDED异常。 调用方负责处理此异常。 因此,对 PsChargePoolQuota 的 调用必须包装在驱动程序提供的异常处理程序中。
每次成功调用 PsChargePoolQuota 都必须与对 PsReturnPoolQuota 的后续调用匹配。
有关内存管理的详细信息,请参阅 内存管理。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | ntifs.h (包括 Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |