Add handle table structures
All checks were successful
Builds / ExectOS (i686, release) (push) Successful in 40s
Builds / ExectOS (amd64, debug) (push) Successful in 44s
Builds / ExectOS (i686, debug) (push) Successful in 36s
Builds / ExectOS (amd64, release) (push) Successful in 37s

This commit is contained in:
2026-07-09 12:31:18 +02:00
parent f9a471633f
commit 3ba50e7d59
2 changed files with 53 additions and 0 deletions

View File

@@ -139,6 +139,56 @@ typedef struct _GENERAL_LOOKASIDE
ULONG Future[2];
} GENERAL_LOOKASIDE, *PGENERAL_LOOKASIDE;
/* Handle table entry structure definition */
typedef struct _HANDLE_TABLE_ENTRY
{
union
{
PVOID Object;
ULONG_PTR ObAttributes;
PHANDLE_TABLE_ENTRY_INFO InfoTable;
ULONG_PTR Value;
};
union
{
ULONG GrantedAccess;
struct
{
USHORT GrantedAccessIndex;
USHORT CreatorBackTraceIndex;
};
LONG NextFreeTableEntry;
};
} HANDLE_TABLE_ENTRY, *PHANDLE_TABLE_ENTRY;
/* Handle table entry info structure definition */
typedef struct _HANDLE_TABLE_ENTRY_INFO
{
ULONG AuditMask;
} HANDLE_TABLE_ENTRY_INFO, *PHANDLE_TABLE_ENTRY_INFO;
/* Handle table structure definition */
typedef struct _HANDLE_TABLE
{
ULONG_PTR TableCode;
PEPROCESS QuotaProcess;
PVOID UniqueProcessId;
KPUSH_LOCK HandleTableLock[4];
LIST_ENTRY HandleTableList;
KPUSH_LOCK HandleContentionEvent;
PVOID Reserved;
LONG ExtraInfoPages;
union
{
ULONG Flags;
UCHAR StrictFIFO:1;
};
PHANDLE_TABLE_ENTRY FirstFreeHandle;
PHANDLE_TABLE_ENTRY LastFreeHandle;
LONG HandleCount;
ULONG NextHandleNeedingPool;
} HANDLE_TABLE, *PHANDLE_TABLE;
/* Lookaside list pointers structure definition */
typedef struct _LOOKASIDE_LIST
{

View File

@@ -297,6 +297,9 @@ typedef struct _GENERAL_LOOKASIDE GENERAL_LOOKASIDE, *PGENERAL_LOOKASIDE;
typedef struct _GENERIC_ADDRESS GENERIC_ADDRESS, *PGENERIC_ADDRESS;
typedef struct _GENERIC_MAPPING GENERIC_MAPPING, *PGENERIC_MAPPING;
typedef struct _GUID GUID, *PGUID;
typedef struct _HANDLE_TABLE_ENTRY HANDLE_TABLE_ENTRY, *PHANDLE_TABLE_ENTRY;
typedef struct _HANDLE_TABLE_ENTRY_INFO HANDLE_TABLE_ENTRY_INFO, *PHANDLE_TABLE_ENTRY_INFO;
typedef struct _HANDLE_TABLE HANDLE_TABLE, *PHANDLE_TABLE;
typedef struct _HL_FRAMEBUFFER_DATA HL_FRAMEBUFFER_DATA, *PHL_FRAMEBUFFER_DATA;
typedef struct _HL_SCROLL_REGION_DATA HL_SCROLL_REGION_DATA, *PHL_SCROLL_REGION_DATA;
typedef struct _INITIAL_PRIVILEGE_SET INITIAL_PRIVILEGE_SET, *PINITIAL_PRIVILEGE_SET;