WheaReportFatalHwErrorDeviceDriverEx
NTSTATUS __fastcall WheaReportFatalHwErrorDeviceDriverEx(
UINT64 a1,
INT64 a2,
INT8 *a3,
UINT64 a4,
INT8 *Src,
UINT64 Size,
OWORD *a7,
INT64 a8,
INT64 pszSrc,
INT64 pszSrc_8,
INT64 a11){
size_t v11;
_DWORD *HwErrorReportDeviceDriver;
_DWORD *v14;
int v15;
INT64 v17[2];
_NTSTRSAFE_PSTR pszDest[4];
_BYTE *v19;
v11 = a4;
*(_OWORD *)v17 = 0i64;
*(_OWORD *)pszDest = 0i64;
v19 = 0i64;
HwErrorReportDeviceDriver = WheaCreateHwErrorReportDeviceDriver(a1);
v14 = HwErrorReportDeviceDriver;
if( !HwErrorReportDeviceDriver )
return -1073741670;
WheaHwErrorReportSetFatalSeverityDeviceDriver((INT64)HwErrorReportDeviceDriver, a11);
WheaHwErrorReportGetLogDataBufferDeviceDriver(v14);
memmove(0i64, Src, Size);
v15 = WheaAddHwErrorReportSectionDeviceDriver((INT64)v14, v11, (INT64)v17);
if( v15 >= 0 )
{
memmove(*(VOID **)((char *)v17 + 4), a3, v11);
**(_OWORD **)pszDest = *a7;
*v19 = 1;
if( pszSrc )
RtlStringCchCopyA(*(CHAR **)&pszDest[2], 0x14ui64, (CHAR *)pszSrc);
return WheaHwErrorReportSubmitDeviceDriver((INT64)v14);
}
else
{
WheaHwErrorReportAbandonDeviceDriver(v14);
}
return v15;
}Referenced by:
No references.