diff --git a/win32/include/winapi/winnt.h b/win32/include/winapi/winnt.h index 37d55483..e4714f62 100644 --- a/win32/include/winapi/winnt.h +++ b/win32/include/winapi/winnt.h @@ -2072,11 +2072,45 @@ typedef DWORD LCID; #if defined(__aarch64__) && !defined(_ARM64_CONTEXT_DECLARED) #define _ARM64_CONTEXT_DECLARED - typedef struct _CONTEXT { - DWORD64 ContextFlags; - DWORD64 X[29]; - DWORD64 Fp; - DWORD64 Lr; + typedef struct DECLSPEC_ALIGN(16) _CONTEXT { + ULONG ContextFlags; + ULONG Cpsr; + union { + struct { + DWORD64 X0; + DWORD64 X1; + DWORD64 X2; + DWORD64 X3; + DWORD64 X4; + DWORD64 X5; + DWORD64 X6; + DWORD64 X7; + DWORD64 X8; + DWORD64 X9; + DWORD64 X10; + DWORD64 X11; + DWORD64 X12; + DWORD64 X13; + DWORD64 X14; + DWORD64 X15; + DWORD64 X16; + DWORD64 X17; + DWORD64 X18; + DWORD64 X19; + DWORD64 X20; + DWORD64 X21; + DWORD64 X22; + DWORD64 X23; + DWORD64 X24; + DWORD64 X25; + DWORD64 X26; + DWORD64 X27; + DWORD64 X28; + DWORD64 Fp; + DWORD64 Lr; + } DUMMYSTRUCTNAME; + DWORD64 X[31]; + } DUMMYUNIONNAME; DWORD64 Sp; DWORD64 Pc; ARM64_NT_NEON128 V[32];