HalpCmciInitializeErrorPacket
INT64 __fastcall HalpCmciInitializeErrorPacket(INT64 a1, INT64 a2){
__int64 v3;
__int64 v4;
INT64 McaPcrContext;
unsigned __int8 CurrentIrql;
INT64 result;
v3 = 0i64;
McaPcrContext = HalpGetMcaPcrContext(a2);
if( !*(_QWORD *)(McaPcrContext + 16) )
{
v3 = HalpMmAllocCtxAlloc(v4, 352i64);
if( !v3 )
KeBugCheckEx(0xACu, 0x160ui64, 0xDA00ui64, 0i64, 0i64);
}
CurrentIrql = KeGetCurrentIrql();
__writecr8(0xFui64);
if( v3 )
*(_QWORD *)(McaPcrContext + 16) = v3;
else
v3 = *(_QWORD *)(McaPcrContext + 16);
HalpCmcInitializeErrorPacketContents(v3);
*(_OWORD *)(*(_QWORD *)(McaPcrContext + 16) + 32i64) = CMCI_NOTIFY_TYPE_GUID;
*(_QWORD *)(McaPcrContext + 24) = a1;
result = CurrentIrql;
__writecr8(CurrentIrql);
return result;
}Referenced by:
HalpCmciInit
HalpInitializeCmc