| Index: util/win/process_structs.h
|
| diff --git a/util/win/process_structs.h b/util/win/process_structs.h
|
| index 7f4e4f59e77e7f3561f37aa091f7ab365f89194e..79f6515259c4bb13c29564749bd329e2f3bfcf6e 100644
|
| --- a/util/win/process_structs.h
|
| +++ b/util/win/process_structs.h
|
| @@ -283,16 +283,22 @@ struct PEB {
|
|
|
| template <class Traits>
|
| struct NT_TIB {
|
| - typename Traits::Pointer ExceptionList;
|
| - typename Traits::Pointer StackBase;
|
| - typename Traits::Pointer StackLimit;
|
| - typename Traits::Pointer SubSystemTib;
|
| union {
|
| - typename Traits::Pointer FiberData;
|
| - BYTE Version[4];
|
| + // See https://msdn.microsoft.com/en-us/library/dn424783.aspx.
|
| + typename Traits::Pointer Wow64Teb;
|
| + struct {
|
| + typename Traits::Pointer ExceptionList;
|
| + typename Traits::Pointer StackBase;
|
| + typename Traits::Pointer StackLimit;
|
| + typename Traits::Pointer SubSystemTib;
|
| + union {
|
| + typename Traits::Pointer FiberData;
|
| + BYTE Version[4];
|
| + };
|
| + typename Traits::Pointer ArbitraryUserPointer;
|
| + typename Traits::Pointer Self;
|
| + };
|
| };
|
| - typename Traits::Pointer ArbitraryUserPointer;
|
| - typename Traits::Pointer Self;
|
| };
|
|
|
| // See https://msdn.microsoft.com/en-us/library/gg750647.aspx.
|
| @@ -417,7 +423,7 @@ struct SYSTEM_PROCESS_INFORMATION {
|
| template <class Traits>
|
| struct THREAD_BASIC_INFORMATION {
|
| union {
|
| - NTSTATUS ExitStatus;
|
| + LONG ExitStatus;
|
| typename Traits::Pad padding_for_x64_0;
|
| };
|
| typename Traits::Pointer TebBaseAddress;
|
| @@ -427,6 +433,15 @@ struct THREAD_BASIC_INFORMATION {
|
| LONG BasePriority;
|
| };
|
|
|
| +template <class Traits>
|
| +struct EXCEPTION_POINTERS {
|
| + typename Traits::Pointer ExceptionRecord;
|
| + typename Traits::Pointer ContextRecord;
|
| +};
|
| +
|
| +using EXCEPTION_POINTERS32 = EXCEPTION_POINTERS<internal::Traits32>;
|
| +using EXCEPTION_POINTERS64 = EXCEPTION_POINTERS<internal::Traits64>;
|
| +
|
| #pragma pack(pop)
|
|
|
| //! \}
|
|
|