diff --git a/sdk/xtdk/extypes.h b/sdk/xtdk/extypes.h index 351ab16..6de3672 100644 --- a/sdk/xtdk/extypes.h +++ b/sdk/xtdk/extypes.h @@ -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 { diff --git a/sdk/xtdk/xtstruct.h b/sdk/xtdk/xtstruct.h index 774c3f5..612ce59 100644 --- a/sdk/xtdk/xtstruct.h +++ b/sdk/xtdk/xtstruct.h @@ -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;