IovpCheckIrpForCriticalTracking
NTSTATUS __stdcall IovpCheckIrpForCriticalTracking(
UNICODE_STRING *pAttributes,
UINT64 AttributeCount,
INT8 RequestorMode,
UNICODE_STRING **ppCapturedAttributes){
NTSTATUS v4;
volatile signed __int32 *v6;
int v7;
v4 = 0;
if( (*(_DWORD *)&pAttributes[1].Length & 0xC0000000) == 0 )
{
v6 = VfIrpDatabaseEntryFindAndLock((unsigned __int64)pAttributes);
v7 = *(_DWORD *)&pAttributes[1].Length;
if( v6 )
{
*(_DWORD *)&pAttributes[1].Length = v7 | 0x40000000;
goto LABEL_6;
}
*(_DWORD *)&pAttributes[1].Length = v7 | 0x80000000;
return 0;
}
if( (*(_DWORD *)&pAttributes[1].Length & 0xC0000000) != 0x40000000 )
return 0;
v6 = VfIrpDatabaseEntryFindAndLock((unsigned __int64)pAttributes);
LABEL_6:
if( *((_QWORD *)v6 + 30) )
v4 = 1;
else
*((_DWORD *)v6 + 14) |= 0x80000u;
VfIrpDatabaseEntryReleaseLock(v6);
return v4;
}Referenced by:
VfIrpAllocateCallDriverData