Advertisement
Guest User

Untitled

a guest
Jul 31st, 2014
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.13 KB | None | 0 0
  1. typedef struct DECLSPEC_ALIGN(16) _CONTEXT {
  2.  
  3.     //
  4.     // Register parameter home addresses.
  5.     //
  6.     // N.B. These fields are for convience - they could be used to extend the
  7.     //      context record in the future.
  8.     //
  9.  
  10.     DWORD64 P1Home;
  11.     DWORD64 P2Home;
  12.     DWORD64 P3Home;
  13.     DWORD64 P4Home;
  14.     DWORD64 P5Home;
  15.     DWORD64 P6Home;
  16.  
  17.     //
  18.     // Control flags.
  19.     //
  20.  
  21.     DWORD ContextFlags;
  22.     DWORD MxCsr;
  23.  
  24.     //
  25.     // Segment Registers and processor flags.
  26.     //
  27.  
  28.     WORD   SegCs;
  29.     WORD   SegDs;
  30.     WORD   SegEs;
  31.     WORD   SegFs;
  32.     WORD   SegGs;
  33.     WORD   SegSs;
  34.     DWORD EFlags;
  35.  
  36.     //
  37.     // Debug registers
  38.     //
  39.  
  40.     DWORD64 Dr0;
  41.     DWORD64 Dr1;
  42.     DWORD64 Dr2;
  43.     DWORD64 Dr3;
  44.     DWORD64 Dr6;
  45.     DWORD64 Dr7;
  46.  
  47.     //
  48.     // Integer registers.
  49.     //
  50.  
  51.     DWORD64 Rax;
  52.     DWORD64 Rcx;
  53.     DWORD64 Rdx;
  54.     DWORD64 Rbx;
  55.     DWORD64 Rsp;
  56.     DWORD64 Rbp;
  57.     DWORD64 Rsi;
  58.     DWORD64 Rdi;
  59.     DWORD64 R8;
  60.     DWORD64 R9;
  61.     DWORD64 R10;
  62.     DWORD64 R11;
  63.     DWORD64 R12;
  64.     DWORD64 R13;
  65.     DWORD64 R14;
  66.     DWORD64 R15;
  67.  
  68.     //
  69.     // Program counter.
  70.     //
  71.  
  72.     DWORD64 Rip;
  73.  
  74.     //
  75.     // Floating point state.
  76.     //
  77.  
  78.     union {
  79.         XMM_SAVE_AREA32 FltSave;
  80.         struct {
  81.             M128A Header[2];
  82.             M128A Legacy[8];
  83.             M128A Xmm0;
  84.             M128A Xmm1;
  85.             M128A Xmm2;
  86.             M128A Xmm3;
  87.             M128A Xmm4;
  88.             M128A Xmm5;
  89.             M128A Xmm6;
  90.             M128A Xmm7;
  91.             M128A Xmm8;
  92.             M128A Xmm9;
  93.             M128A Xmm10;
  94.             M128A Xmm11;
  95.             M128A Xmm12;
  96.             M128A Xmm13;
  97.             M128A Xmm14;
  98.             M128A Xmm15;
  99.         } DUMMYSTRUCTNAME;
  100.     } DUMMYUNIONNAME;
  101.  
  102.     //
  103.     // Vector registers.
  104.     //
  105.  
  106.     M128A VectorRegister[26];
  107.     DWORD64 VectorControl;
  108.  
  109.     //
  110.     // Special debug control registers.
  111.     //
  112.  
  113.     DWORD64 DebugControl;
  114.     DWORD64 LastBranchToRip;
  115.     DWORD64 LastBranchFromRip;
  116.     DWORD64 LastExceptionToRip;
  117.     DWORD64 LastExceptionFromRip;
  118. } CONTEXT, *PCONTEXT;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement