Add I/O, power, and configuration manager type definitions
This commit is contained in:
@@ -10,19 +10,56 @@
|
||||
#define __XTDK_PSTYPES_H
|
||||
|
||||
#include <xttypes.h>
|
||||
#include <ketypes.h>
|
||||
#include <xtstruct.h>
|
||||
#include <extypes.h>
|
||||
|
||||
|
||||
/* Quota bypass marker */
|
||||
#define PS_QUOTA_BYPASS_MARKER ((PEPROCESS_QUOTA_BLOCK)1)
|
||||
|
||||
/* C/C++ specific code */
|
||||
#ifndef __XTOS_ASSEMBLER__
|
||||
|
||||
/* Process quota types */
|
||||
typedef enum _PS_QUOTA_TYPE
|
||||
{
|
||||
PsNonPagedPool,
|
||||
PsPagedPool,
|
||||
PsPageFile,
|
||||
PsQuotaTypes
|
||||
} PS_QUOTA_TYPE, *PPS_QUOTA_TYPE;
|
||||
|
||||
/* Kernel's representation of a process object */
|
||||
typedef struct _EPROCESS
|
||||
{
|
||||
KPROCESS ProcessControlBlock;
|
||||
KPUSH_LOCK ProcessLock;
|
||||
LARGE_INTEGER CreateTime;
|
||||
LARGE_INTEGER ExitTime;
|
||||
EX_RUNDOWN_REFERENCE RundownProtect;
|
||||
HANDLE UniqueProcessId;
|
||||
SIZE_T QuotaUsage[PsQuotaTypes];
|
||||
UINT Reserved0;
|
||||
} EPROCESS, *PEPROCESS;
|
||||
|
||||
/* Kernel's representation of a process quota entry*/
|
||||
typedef struct _EPROCESS_QUOTA_ENTRY
|
||||
{
|
||||
SIZE_T Usage;
|
||||
SIZE_T Limit;
|
||||
SIZE_T Peak;
|
||||
SIZE_T Return;
|
||||
} EPROCESS_QUOTA_ENTRY, *PEPROCESS_QUOTA_ENTRY;
|
||||
|
||||
/* Kernel's representation of a process quota block */
|
||||
typedef struct _EPROCESS_QUOTA_BLOCK
|
||||
{
|
||||
EPROCESS_QUOTA_ENTRY QuotaEntry[PsQuotaTypes];
|
||||
LIST_ENTRY QuotaList;
|
||||
ULONG ReferenceCount;
|
||||
ULONG ProcessCount;
|
||||
} EPROCESS_QUOTA_BLOCK, *PEPROCESS_QUOTA_BLOCK;
|
||||
|
||||
/* Kernel's representation of a thread object */
|
||||
typedef struct _ETHREAD
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user