ViDeadlockPreprocessOptions
VOID __fastcall ViDeadlockPreprocessOptions(
UINT64 *Action,
const CHAR *Format,
UINT64 Param1,
UINT64 Param2,
UINT64 Param3,
UINT64 Param4){
int v6;
UINT64 v9;
v6 = *(_DWORD *)Action;
if( *(_DWORD *)Action == -1 )
{
v9 = Param1 & 0xFFF;
if( v9 >= 0xC )
v6 = 4;
else
v6 = *(_DWORD *)&ViDeadlockDefaultActions[2 * v9];
*(_DWORD *)Action = v6;
}
if( v6 )
{
if( (v6 & 0x10) != 0 )
*(_DWORD *)Action = 0;
ViDeadlockIssue = Param1;
qword_140C1C828 = Param2;
qword_140C1C830 = Param3;
qword_140C1C838 = Param4;
VfUtilDbgPrint((INT8 *)"************ Verifier Detected a Potential Deadlock *************\n");
VfUtilDbgPrint((INT8 *)"**\n");
VfUtilDbgPrint((INT8 *)"** ");
if( Format )
DbgPrintEx(0x65u, 0, Format, Param2, Param3, Param4);
VfUtilDbgPrint((INT8 *)"\n");
VfUtilDbgPrint((INT8 *)"**\n");
VfUtilDbgPrint((INT8 *)"*****************************************************************\n");
}
}Referenced by:
VfDeadlockAcquireResource
VfDeadlockReleaseResource
ViDeadlockAddResource
ViDeadlockAnalyze
ViDeadlockRemoveResource
ViDeadlockRemoveThread