IoVerifierCheckForSettingsChange
VOID __stdcall IoVerifierCheckForSettingsChange(UINT64 NewFlags){
unsigned int i;
size_t v2;
VOID *PoolWithTagPriority;
if( (NewFlags & 0x10) != 0 )
{
_InterlockedExchange(&IovpEnabledInThePast, 1);
_InterlockedExchange(&IovpDisabledWithoutReboot, 0);
if( !IovIrpTraces && IovIrpTracesLength )
{
for( i = 2; i < 0x100000; i *= 2 )
{
if( i >= IovIrpTracesLength )
break;
}
v2 = i << 7;
IovIrpTracesLength = i;
PoolWithTagPriority = ExAllocatePoolWithTagPriority(
NonPagedPoolNx,
(unsigned __int64)i << 7,
0x54496656ui64,
HighPoolPriority);
IovIrpTraces = (__int64)PoolWithTagPriority;
if( PoolWithTagPriority )
memset(PoolWithTagPriority, 0i64, v2);
}
}
else
{
_InterlockedExchange(&IovpDisabledWithoutReboot, 1);
}
}Referenced by:
IoVerifierInit
ViSettingsIoCheckForChanges