Add quota management spinlock and expose ReturnProcessQuota
This commit is contained in:
@@ -19,19 +19,19 @@ namespace PS
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
STATIC EPROCESS_QUOTA_BLOCK DefaultQuotaBlock;
|
STATIC EPROCESS_QUOTA_BLOCK DefaultQuotaBlock;
|
||||||
|
STATIC KSPIN_LOCK QuotaLock;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
STATIC XTFASTCALL VOID ReturnProcessQuota(IN PEPROCESS_QUOTA_BLOCK QuotaBlock,
|
||||||
|
IN PEPROCESS Process,
|
||||||
|
IN PS_QUOTA_TYPE QuotaType,
|
||||||
|
IN SIZE_T Amount);
|
||||||
STATIC XTAPI VOID ReturnSharedPoolQuota(IN PEPROCESS_QUOTA_BLOCK QuotaBlock,
|
STATIC XTAPI VOID ReturnSharedPoolQuota(IN PEPROCESS_QUOTA_BLOCK QuotaBlock,
|
||||||
IN SIZE_T PagedAmount,
|
IN SIZE_T PagedAmount,
|
||||||
IN SIZE_T NonPagedAmount);
|
IN SIZE_T NonPagedAmount);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
STATIC XTAPI VOID DereferenceQuotaBlock(IN PEPROCESS_QUOTA_BLOCK QuotaBlock);
|
STATIC XTAPI VOID DereferenceQuotaBlock(IN PEPROCESS_QUOTA_BLOCK QuotaBlock);
|
||||||
STATIC XTFASTCALL VOID ReturnProcessQuota(IN PEPROCESS_QUOTA_BLOCK QuotaBlock,
|
|
||||||
IN PEPROCESS Process,
|
|
||||||
IN PS_QUOTA_TYPE QuotaType,
|
|
||||||
IN SIZE_T Amount);
|
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,3 +20,6 @@ POBJECT_TYPE PS::ProcessManager::ThreadType;
|
|||||||
|
|
||||||
/* Default system-wide quota block assigned to processes */
|
/* Default system-wide quota block assigned to processes */
|
||||||
EPROCESS_QUOTA_BLOCK PS::Quota::DefaultQuotaBlock;
|
EPROCESS_QUOTA_BLOCK PS::Quota::DefaultQuotaBlock;
|
||||||
|
|
||||||
|
/* Lock used for quota management */
|
||||||
|
KSPIN_LOCK PS::Quota::QuotaLock;
|
||||||
|
|||||||
Reference in New Issue
Block a user