DbgkpWerInvokeCallbacks
INT64 __fastcall DbgkpWerInvokeCallbacks(INT64 a1){
const void *v2;
int v4;
unsigned int v5;
__int64 v6;
DbgPrintEx(5u, 3u, "DBGK: DbgkpWerInvokeCallbacks entered, context 0x%p\n", (const void *)a1);
v2 = *(const void **)(a1 + 80);
if( !v2 )
return 0i64;
DbgPrintEx(5u, 3u, "DBGK: Invoking callback at address 0x%p\n", v2);
v4 = (*(__int64(__fastcall **)(INT64, INT64(__stdcall *)(PVOID, GUID *, PVOID, UINT64), _QWORD, _QWORD, _QWORD, _QWORD, _QWORD, _QWORD))(a1 + 80))(
a1,
DbgkWerAddSecondaryData,
*(unsigned int *)(a1 + 32),
*(_QWORD *)(a1 + 40),
*(_QWORD *)(a1 + 48),
*(_QWORD *)(a1 + 56),
*(_QWORD *)(a1 + 64),
*(_QWORD *)(a1 + 72));
v5 = v4;
if( v4 < 0 )
{
LODWORD(v6) = v4;
DbgPrintEx(5u, 0, "DBGK: callback at address 0x%p returned status 0x%X\n", *(const void **)(a1 + 80), v6);
}
return v5;
}Referenced by:
DbgkpWerCaptureLiveFullDump
DbgkpWerCaptureLiveTriageDump