WbGetTrapFrame
NTSTATUS __stdcall WbGetTrapFrame(INT64 a1, INT64 a2){
_EWOW64PROCESS *WoW64Process;
int ContextThreadInternal;
unsigned __int16 Machine;
WoW64Process = KeGetCurrentThread()->ApcState.Process->WoW64Process;
if( WoW64Process )
{
Machine = WoW64Process->Machine;
if( Machine == 332 || Machine == 452 )
return WbGetWowTrapFrame((UINT64 *)a1, a2);
}
*(_DWORD *)(a1 + 96) = 1048577;
ContextThreadInternal = PspGetContextThreadInternal(KeGetCurrentThread(), (_CONTEXT *)(a1 + 48), 0, 1, 1u);
if( ContextThreadInternal >= 0 )
{
*(_QWORD *)(a2 + 8) = *(_QWORD *)(a1 + 296);
*(_QWORD *)a2 = *(_QWORD *)(a1 + 200);
*(_DWORD *)(a2 + 16) = *(_DWORD *)(a1 + 116);
}
return ContextThreadInternal;
}Referenced by:
WbHeapExecuteCall