DbgkpWerInvokeCallbacks
NTSTATUS __stdcall DbgkpWerInvokeCallbacks(_DBGKWER_CONTEXT *Context){
const void *v2;
int v4;
NTSTATUS v5;
__int64 v6;
DbgPrintEx(5u, 3u, "DBGK: DbgkpWerInvokeCallbacks entered, context 0x%p\n", Context);
v2 = (const void *)*((_QWORD *)Context + 10);
if( !v2 )
return 0;
DbgPrintEx(5u, 3u, "DBGK: Invoking callback at address 0x%p\n", v2);
v4 = (*((__int64(__fastcall **)(_DBGKWER_CONTEXT *, NTSTATUS(__stdcall *)(VOID *, _GUID *, VOID *, UINT64), _QWORD, _QWORD, _QWORD, _QWORD, _QWORD, _QWORD))Context
+ 10))(
Context,
DbgkWerAddSecondaryData,
(unsigned int)Context[8],
*((_QWORD *)Context + 5),
*((_QWORD *)Context + 6),
*((_QWORD *)Context + 7),
*((_QWORD *)Context + 8),
*((_QWORD *)Context + 9));
v5 = v4;
if( v4 < 0 )
{
LODWORD(v6) = v4;
DbgPrintEx(5u, 0, "DBGK: callback at address 0x%p returned status 0x%X\n", *((const void **)Context + 10), v6);
}
return v5;
}Referenced by:
DbgkpWerCaptureLiveFullDump
DbgkpWerCaptureLiveTriageDump