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 (include Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |