Add thread information block
Все проверки выполнены успешно
ci/woodpecker/push/build Pipeline was successful

Этот коммит содержится в:
Rafal Kupiec 2023-03-01 00:14:06 +01:00
родитель 3d42fcc0f5
Коммит 870a6680b0
Подписано: belliash
Идентификатор ключа GPG: 4E829243E0CFE6B4
4 изменённых файлов: 22 добавлений и 5 удалений

Просмотреть файл

@ -464,12 +464,16 @@ typedef struct _KPROCESSOR_CONTROL_BLOCK
/* Processor Block structure definition */
typedef struct _KPROCESSOR_BLOCK
{
struct
union
{
PKGDTENTRY GdtBase;
PKTSS TssBase;
PKPROCESSOR_BLOCK Self;
PKPROCESSOR_CONTROL_BLOCK CurrentPrcb;
THREAD_INFORMATION_BLOCK ThreadInformationBlock;
struct
{
PKGDTENTRY GdtBase;
PKTSS TssBase;
PKPROCESSOR_BLOCK Self;
PKPROCESSOR_CONTROL_BLOCK CurrentPrcb;
};
};
PKIDTENTRY IdtBase;
KIRQL Irql;

Просмотреть файл

@ -420,6 +420,7 @@ typedef struct _KPROCESSOR_CONTROL_BLOCK
/* Processor Block structure definition */
typedef struct _KPROCESSOR_BLOCK
{
THREAD_INFORMATION_BLOCK ThreadInformationBlock;
PKPROCESSOR_BLOCK Self;
PKPROCESSOR_CONTROL_BLOCK CurrentPrcb;
KIRQL Irql;

Просмотреть файл

@ -295,6 +295,17 @@ typedef struct _KWAIT_BLOCK
LONG SpareLong;
} KWAIT_BLOCK, *PKWAIT_BLOCK;
/* XT Thread Information Block (TIB) definition */
typedef struct _THREAD_INFORMATION_BLOCK
{
PEXCEPTION_REGISTRATION_RECORD ExceptionList;
PVOID StackBase;
PVOID StackLimit;
PVOID SubSystemTib;
PVOID ArbitraryUserPointer;
PTHREAD_INFORMATION_BLOCK Self;
} THREAD_INFORMATION_BLOCK, *PTHREAD_INFORMATION_BLOCK;
/* Process control block structure definition */
typedef struct _KPROCESS
{

Просмотреть файл

@ -247,6 +247,7 @@ typedef struct _SINGLE_LIST_ENTRY SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY;
typedef struct _STRING STRING, *PSTRING;
typedef struct _STRING32 STRING32, *PSTRING32;
typedef struct _STRING64 STRING64, *PSTRING64;
typedef struct _THREAD_INFORMATION_BLOCK THREAD_INFORMATION_BLOCK, *PTHREAD_INFORMATION_BLOCK;
typedef struct _UEFI_FIRMWARE_INFORMATION UEFI_FIRMWARE_INFORMATION, *PUEFI_FIRMWARE_INFORMATION;
typedef struct _UNICODE_STRING UNICODE_STRING, *PUNICODE_STRING;
typedef struct _UNICODE_STRING32 UNICODE_STRING32, *PUNICODE_STRING32;