diff --git a/sdk/xtdk/ketypes.h b/sdk/xtdk/ketypes.h index 5ef5100..6331433 100644 --- a/sdk/xtdk/ketypes.h +++ b/sdk/xtdk/ketypes.h @@ -313,6 +313,23 @@ typedef struct _EXCEPTION_RECORD ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; } EXCEPTION_RECORD, *PEXCEPTION_RECORD; +/* Group affinity structure definition */ +typedef struct _GROUP_AFFINITY +{ + KAFFINITY Mask; + USHORT Group; + USHORT Reserved[3]; +} GROUP_AFFINITY, *PGROUP_AFFINITY; + +/* Extended affinity structure definition */ +typedef struct _KAFFINITY_MAP +{ + USHORT Count; + USHORT Size; + ULONG Reserved; + KAFFINITY Bitmap[1]; +} KAFFINITY_MAP, *PKAFFINITY_MAP; + /* Asynchronous Procedure Call (APC) object structure definition */ typedef struct _KAPC { @@ -469,7 +486,8 @@ typedef struct _KPROCESS ULONG_PTR DirectoryTable[2]; USHORT IopmOffset; UCHAR Iopl; - VOLATILE KAFFINITY ActiveProcessors; + KAFFINITY_MAP Affinity; + VOLATILE KAFFINITY_MAP ActiveProcessors; ULONG KernelTime; ULONG UserTime; LIST_ENTRY ReadyListHead; @@ -477,7 +495,6 @@ typedef struct _KPROCESS PVOID VdmTrapHandler; LIST_ENTRY ThreadListHead; KSPIN_LOCK ProcessLock; - KAFFINITY Affinity; union { struct @@ -532,7 +549,6 @@ typedef struct _KTHREAD PVOID StackBase; PVOID StackLimit; KSPIN_LOCK ThreadLock; - ULONG ContextSwitches; VOLATILE UCHAR State; UCHAR NpxState; @@ -595,9 +611,9 @@ typedef struct _KTHREAD CHAR PreviousMode; UCHAR ResourceIndex; UCHAR DisableBoost; - KAFFINITY UserAffinity; + GROUP_AFFINITY UserAffinity; PKPROCESS Process; - KAFFINITY Affinity; + GROUP_AFFINITY Affinity; PVOID ServiceTable; PKAPC_STATE ApcStatePointer[2]; KAPC_STATE SavedApcState; diff --git a/sdk/xtdk/xtstruct.h b/sdk/xtdk/xtstruct.h index 9c7547b..9da9e1d 100644 --- a/sdk/xtdk/xtstruct.h +++ b/sdk/xtdk/xtstruct.h @@ -248,9 +248,11 @@ typedef struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD, *PE typedef struct _FIRMWARE_INFORMATION_BLOCK FIRMWARE_INFORMATION_BLOCK, *PFIRMWARE_INFORMATION_BLOCK; typedef struct _FLOAT128 FLOAT128, *PFLOAT128; typedef struct _GENERIC_ADDRESS GENERIC_ADDRESS, *PGENERIC_ADDRESS; +typedef struct _GROUP_AFFINITY GROUP_AFFINITY, *PGROUP_AFFINITY; typedef struct _GUID GUID, *PGUID; 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 _KAFFINITY_MAP KAFFINITY_MAP, *PKAFFINITY_MAP; typedef struct _KAPC KAPC, *PKAPC; typedef struct _KAPC_STATE KAPC_STATE, *PKAPC_STATE; typedef struct _KD_DEBUG_MODE KD_DEBUG_MODE, *PKD_DEBUG_MODE;