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 を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |