WheaReportHwErrorDeviceDriverEx
NTSTATUS __fastcall WheaReportHwErrorDeviceDriverEx(
UINT64 a1,
INT64 a2,
INT8 *a3,
UINT64 a4,
INT8 *Src,
UINT64 Size,
OWORD *a7,
INT64 a8,
INT64 a9,
INT64 pszSrc){
size_t v10;
_DWORD *HwErrorReportDeviceDriver;
_DWORD *v13;
int v14;
INT64 v16[2];
_NTSTRSAFE_PSTR pszDest[4];
_BYTE *v18;
v10 = a4;
*(_OWORD *)v16 = 0i64;
*(_OWORD *)pszDest = 0i64;
v18 = 0i64;
HwErrorReportDeviceDriver = WheaCreateHwErrorReportDeviceDriver(a1);
v13 = HwErrorReportDeviceDriver;
if( !HwErrorReportDeviceDriver )
return -1073741670;
WheaHwErrorReportSetSeverityDeviceDriver(HwErrorReportDeviceDriver);
WheaHwErrorReportGetLogDataBufferDeviceDriver(v13);
memmove(0i64, Src, Size);
v14 = WheaAddHwErrorReportSectionDeviceDriver((INT64)v13, v10, (INT64)v16);
if( v14 >= 0 )
{
memmove(*(VOID **)((char *)v16 + 4), a3, v10);
**(_OWORD **)pszDest = *a7;
*v18 = 1;
if( pszSrc )
RtlStringCchCopyA(*(CHAR **)&pszDest[2], 0x14ui64, (CHAR *)pszSrc);
return WheaHwErrorReportSubmitDeviceDriver((INT64)v13);
}
else
{
WheaHwErrorReportAbandonDeviceDriver(v13);
}
return v14;
}Referenced by:
WheaReportHwErrorDeviceDriver