PROCESS_COMMIT_RELEASE_INFORMATION - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTPSAPI_H
#if (PHNT_MODE != PHNT_MODE_KERNEL)

/**
 * The PROCESS_COMMIT_RELEASE_INFORMATION structure contains information about the commit and release of memory for a process.
 *
 * NtQueryInformationProcess(ProcessCommitReleaseInformation) calls MmQueryCommitReleaseState and fills:
 * Eligible from the process commit-release state, CommitDebt, CommittedMemResetSize, and RepurposedMemResetSize.
 *
 * NtSetInformationProcess(ProcessCommitReleaseInformation) interprets the low three flag bits exactly as the current names
 * suggest: Eligible, ReleaseRepurposedMemResetCommit, and ForceReleaseMemResetCommit.
 */
typedef struct _PROCESS_COMMIT_RELEASE_INFORMATION
{
    ULONG Version; // Set expects version 1.
    union
    {
        ULONG Flags;
        struct
        {
            ULONG Eligible : 1; // Query: commit-release eligibility. Set: enables or disables eligibility.
            ULONG ReleaseRepurposedMemResetCommit : 1; // Set: releases commit for MEM_RESET pages when Eligible is also set.
            ULONG ForceReleaseMemResetCommit : 1; // Set: forces MEM_RESET commit release when Eligible is also set.
            ULONG Spare : 29;
        };
    };
    SIZE_T CommitDebt; // Query only.
    SIZE_T CommittedMemResetSize; // Query only.
    SIZE_T RepurposedMemResetSize; // Query only.
} PROCESS_COMMIT_RELEASE_INFORMATION, *PPROCESS_COMMIT_RELEASE_INFORMATION;

#endif
#endif

View code on GitHub

NtDoc

No description available.