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.