HvlpHvIdentityInfoCallback
VOID __stdcall HvlpHvIdentityInfoCallback(
_KBUGCHECK_CALLBACK_REASON Reason,
_KBUGCHECK_REASON_CALLBACK_RECORD *Record,
VOID *ReasonSpecificData,
UINT64 ReasonSpecificDataLength){
__int64 v4;
__int64 v6;
_HV_VENDOR_AND_MAX_FUNCTION *v7;
__int64 v8;
v4 = *((_QWORD *)ReasonSpecificData + 4);
*((_OWORD *)ReasonSpecificData + 1) = HvlpSecondaryDumpDataGuid;
if( v4 )
{
if( *((_DWORD *)ReasonSpecificData + 2) < 0x44u )
{
v8 = *(_QWORD *)ReasonSpecificData;
*((_DWORD *)ReasonSpecificData + 10) = 0;
*((_QWORD *)ReasonSpecificData + 4) = v8;
}
else
{
v6 = *(_QWORD *)ReasonSpecificData;
v7 = (_HV_VENDOR_AND_MAX_FUNCTION *)(*(_QWORD *)ReasonSpecificData + 8i64);
*(_DWORD *)v6 = 1213614404;
*(_DWORD *)(v6 + 4) = 68;
HviGetHypervisorVendorAndMaxFunction(v7);
HviGetHypervisorInterface((_HV_HYPERVISOR_INTERFACE_INFO *)(v6 + 24));
HviGetHypervisorVersion((_HV_HYPERVISOR_VERSION_INFO *)(v6 + 40));
*(_DWORD *)(v6 + 56) = HvlpFlags;
*(_DWORD *)(v6 + 60) = HvlpRootFlags;
*(_DWORD *)(v6 + 64) = HvlpEnlightenments;
*((_QWORD *)ReasonSpecificData + 4) = v6;
*((_DWORD *)ReasonSpecificData + 10) = 68;
}
}
else
{
*((_DWORD *)ReasonSpecificData + 10) = 68;
}
}Referenced by:
No references.