PopFxPlatformIdleVeto
NTSTATUS __stdcall PopFxPlatformIdleVeto(
POHANDLE *ProcessorHandle,
UINT64 PlatformState,
UINT64 VetoReason,
UINT8 Increment){
unsigned int v5;
unsigned int v6;
int v8;
POHANDLE v9;
POHANDLE v10;
UINT64 RemlockSize;
__int64 v13;
unsigned __int64 v14;
int v15;
v5 = VetoReason;
v6 = PlatformState;
v14 = 0i64;
v8 = -1073741822;
v15 = 0;
if( ProcessorHandle[19] )
{
LODWORD(RemlockSize) = 32;
v8 = IoAcquireRemoveLockEx((_IO_REMOVE_LOCK *)(ProcessorHandle + 30), 0i64, (CHAR *)&File, 1ui64, RemlockSize);
if( v8 >= 0 )
{
v9 = ProcessorHandle[19];
v13 = 0i64;
v10 = ProcessorHandle[24];
v14 = __PAIR64__(v5, v6);
LOBYTE(v15) = Increment;
v8 = ((__int64(__fastcall *)(POHANDLE, GUID *, unsigned __int64 *, __int64, _QWORD, _QWORD, __int64 *))v9)(
v10,
&GUID_PLATFORM_IDLE_VETO,
&v14,
12i64,
0i64,
0i64,
&v13);
if( _InterlockedExchangeAdd((volatile signed __int32 *)ProcessorHandle + 61, 0xFFFFFFFF) == 1 )
KeSetEvent((PRKEVENT)(ProcessorHandle + 31), 0, 0);
}
}
return v8;
}Referenced by:
No references.