WheaReportFatalHwErrorDeviceDriverEx
NTSTATUS __stdcall WheaReportFatalHwErrorDeviceDriverEx(PVOID AtomTableHandle, UINT16 Atom){
UINT8 *v2;
unsigned int v3;
UINT64 v4;
UINT8 *v5;
_DWORD *HwErrorReportDeviceDriver;
_DWORD *v7;
NTSTATUS v8;
UINT8 *v10[2];
NTSTRSAFE_PSTR pszDest[2];
_BYTE *v12;
UINT8 *Src;
unsigned int Size;
_OWORD *v15;
CHAR *pszSrc;
INT64 v17;
v4 = v3;
v5 = v2;
*(_OWORD *)v10 = 0i64;
*(_OWORD *)pszDest = 0i64;
v12 = 0i64;
HwErrorReportDeviceDriver = WheaCreateHwErrorReportDeviceDriver((UINT64)AtomTableHandle);
v7 = HwErrorReportDeviceDriver;
if( !HwErrorReportDeviceDriver )
return -1073741670;
WheaHwErrorReportSetFatalSeverityDeviceDriver((INT64)HwErrorReportDeviceDriver, v17);
WheaHwErrorReportGetLogDataBufferDeviceDriver(v7);
memmove(0i64, Src, Size);
v8 = WheaAddHwErrorReportSectionDeviceDriver(v7, v4, (__int64)v10);
if( v8 >= 0 )
{
memmove(*(UINT8 **)((char *)v10 + 4), v5, v4);
*(_OWORD *)pszDest[0] = *v15;
*v12 = 1;
if( pszSrc )
RtlStringCchCopyA(pszDest[1], 0x14ui64, pszSrc);
return WheaHwErrorReportSubmitDeviceDriver((INT64)v7);
}
else
{
WheaHwErrorReportAbandonDeviceDriver(v7);
}
return v8;
}Referenced by:
No references.