ViErrorFinishReport
VOID __stdcall ViErrorFinishReport(_VF_ERROR_ID Id, VOID *CulpritAddress, UINT64 OtherParam1, UINT64 OtherParam2){
UINT64 v4;
__int64 v8;
_DWORD *i;
UINT64 v10;
v4 = Id;
VfUtilDbgPrint((INT8 *)"************************************************************\n\n");
v8 = 0i64;
for( i = &ViErrorDescriptions; *i != (_DWORD)v4; i += 4 )
{
v8 = (unsigned int)(v8 + 1);
if( (unsigned int)v8 >= 0x3F )
return;
}
if( (*((_DWORD *)&ViErrorDescriptions + 4 * v8 + 1) & 1) == 0 )
{
if( (_BYTE)KdDebuggerEnabled && !(_BYTE)KdDebuggerNotPresent )
{
VfErrorStoreTriageInformation(0xC9ui64, v4, (UINT64)CulpritAddress, OtherParam1, OtherParam2);
__debugbreak();
}
if( (MmVerifierData & 0x10) != 0 )
VerifierBugCheckIfAppropriate(0xC9ui64, v4, (ULONG_PTR)CulpritAddress, OtherParam1, OtherParam2, v10);
}
}Referenced by:
VerifierNtCreateFile
VerifierNtReadFile
VerifierNtWriteFile
VfErrorReport7
VfErrorReport8
VfErrorReport9
VfIoDetachDevice
ViErrorReport1
ViErrorReport10
ViErrorReport4
ViErrorReport6
ViGenericVerifyIrpStackDownward
ViGenericVerifyNewIrp