PopNetWnfLowPowerEpochCallback

NTSTATUS __stdcall PopNetWnfLowPowerEpochCallback(INT64 a1){
  int v1; 
  _LARGE_INTEGER NextDueRefreshTime; 
  REGHANDLE v3; 
  UINT64 v5; 
  UINT64 v6; 
  char v7[8]; 

  LODWORD(v5) = 8;
  v1 = ExQueryWnfStateData((_WNF_SUBSCRIPTION *)a1, &v6, v7, &v5);
  if( v1 >= 0 )
  {
    if( (unsigned int)v5 >= 8 )
    {
      PopAcquirePolicyLock();
      if( (v7[0] & 2) != 0 )
      {
        PopNetInLpePhase = 1;
        if( PopNetIsNetworkRefreshEnabled() )
        {
          NextDueRefreshTime = PopNetGetNextDueRefreshTime();
          _InterlockedExchange(&PopNetRefreshTimerState, 1);
          PopNetArmRefreshTimer(NextDueRefreshTime.QuadPart, 1);
        }
      }
      else if( PopNetInLpePhase )
      {
        PopNetInLpePhase = 0;
        if( _InterlockedExchange(&PopNetRefreshTimerState, 0) == 1 )
        {
          KeCancelTimer2((INT64)&PopNetRefreshTimer);
          if( PopDiagHandleRegistered )
          {
            v3 = PopDiagHandle;
            if( EtwEventEnabled(PopDiagHandle, &POP_ETW_EVENT_NET_REFRESH_TIMER_DISARMED) )
              EtwWrite(v3, &POP_ETW_EVENT_NET_REFRESH_TIMER_DISARMED, 0, 0, 0i64);
          }
        }
        if( PopNetRefreshIntervalActive )
          PopNetDisengageNetworkRefresh();
      }
      PopReleasePolicyLock();
    }
    else
    {
      return 0;
    }
  }
  return v1;
}

Referenced by:

No references.