From bd4f6f45413a26122ef2ca90097da93e55a81f63 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 22 Jan 2018 16:24:50 +0100 Subject: [PATCH] include: Add a few more TEB structure definitions. Signed-off-by: Alexandre Julliard --- include/winternl.h | 45 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/include/winternl.h b/include/winternl.h index 21353d8f522..52b19c24753 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -230,6 +230,34 @@ typedef struct _ACTIVATION_CONTEXT_STACK LIST_ENTRY FrameListCache; } ACTIVATION_CONTEXT_STACK, *PACTIVATION_CONTEXT_STACK; +typedef struct _TEB_ACTIVE_FRAME_CONTEXT +{ + ULONG Flags; + const char *FrameName; +} TEB_ACTIVE_FRAME_CONTEXT, *PTEB_ACTIVE_FRAME_CONTEXT; + +typedef struct _TEB_ACTIVE_FRAME_CONTEXT_EX +{ + TEB_ACTIVE_FRAME_CONTEXT BasicContext; + const char *SourceLocation; +} TEB_ACTIVE_FRAME_CONTEXT_EX, *PTEB_ACTIVE_FRAME_CONTEXT_EX; + +typedef struct _TEB_ACTIVE_FRAME +{ + ULONG Flags; + struct _TEB_ACTIVE_FRAME *Previous; + TEB_ACTIVE_FRAME_CONTEXT *Context; +} TEB_ACTIVE_FRAME, *PTEB_ACTIVE_FRAME; + +typedef struct _TEB_ACTIVE_FRAME_EX +{ + TEB_ACTIVE_FRAME BasicFrame; + void *ExtensionIdentifier; +} TEB_ACTIVE_FRAME_EX, *PTEB_ACTIVE_FRAME_EX; + +#define TEB_ACTIVE_FRAME_CONTEXT_FLAG_EXTENDED 0x00000001 +#define TEB_ACTIVE_FRAME_FLAG_EXTENDED 0x00000001 + /*********************************************************************** * PEB data structure */ @@ -368,16 +396,17 @@ typedef struct _TEB ULONG WaitingOnLoaderLock; /* f84/1760 */ PVOID Reserved5[3]; /* f88/1768 */ PVOID *TlsExpansionSlots; /* f94/1780 */ - ULONG ImpersonationLocale; /* f98/1788 */ - ULONG IsImpersonating; /* f9c/178c */ - PVOID NlsCache; /* fa0/1790 */ - PVOID ShimData; /* fa4/1798 */ - ULONG HeapVirtualAffinity; /* fa8/17a0 */ - PVOID CurrentTransactionHandle; /* fac/17a8 */ - PVOID ActiveFrame; /* fb0/17b0 */ #ifdef _WIN64 - PVOID unknown[2]; /* 17b8 */ + PVOID DeallocationBStore; /* /1788 */ + PVOID BStoreLimit; /* /1790 */ #endif + ULONG ImpersonationLocale; /* f98/1798 */ + ULONG IsImpersonating; /* f9c/179c */ + PVOID NlsCache; /* fa0/17a0 */ + PVOID ShimData; /* fa4/17a8 */ + ULONG HeapVirtualAffinity; /* fa8/17b0 */ + PVOID CurrentTransactionHandle; /* fac/17b8 */ + TEB_ACTIVE_FRAME *ActiveFrame; /* fb0/17c0 */ PVOID *FlsSlots; /* fb4/17c8 */ } TEB, *PTEB;