This function charges a process for its use of non-paged pool.


PsChargeProcessNonPagedPoolQuota (
    EPROCESS *Process,
    SIZE_T Amount);


The Process argument is the address of the process that is to be charged for its use of non-paged pool.

The Amount argument is the amount, in bytes, to charge.

Return Value

The function returns STATUS_SUCCESS if successful, else a negative error code.


The PsChargeProcessNonPagedPoolQuota function is exported by name from the kernel in version 5.1 and higher.

Documentation Status

The PsChargeProcessNonPagedPoolQuota function is not documented.

Microsoft published a C-language declaration of PsChargeProcessNonPagedPoolQuota in some editions of the Windows Driver Kit (WDK) for Windows 10. The declaration is in a header named NTOSP.H in a subdirectory named “minwin” of a directory named “um” as if for user-mode programming. Publication of this header may have been an oversight. It ceased with the WDK for the 1607 release.


The PsChargeProcessNonPagedPoolQuota function is essentially the PsChargeProcessPoolQuota function but with the latter’s PoolType argument specialised to NonPagedPool (0).