ViDeadlockPreprocessOptions
VOID __stdcall ViDeadlockPreprocessOptions(
UINT64 *Action,
CHAR *Format,
UINT64 Param1,
UINT64 Param2,
UINT64 Param3,
UINT64 Param4,
UINT64 a7){
int v7;
UINT64 v10;
v7 = *(_DWORD *)Action;
if( *(_DWORD *)Action == -1 )
{
v10 = Param1 & 0xFFF;
if( v10 >= 0xC )
v7 = 4;
else
v7 = *(_DWORD *)&ViDeadlockDefaultActions[2 * v10];
*(_DWORD *)Action = v7;
}
if( v7 )
{
if( (v7 & 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