ViPendingQueuePassiveLevelCompletion

UINT64 __stdcall ViPendingQueuePassiveLevelCompletion(_VF_PENDING_DEFERRAL_CONTEXT *DeferralContext){
  _ETHREAD *CurrentThread; 
  KPRIORITY v3; 
  KPRIORITY v4; 
  unsigned int v5; 
  __int64 v7; 

  if( !ViPendingWorkersCount )
    return 0i64;
  KeQueryPriorityThread((_ETHREAD *)KeGetCurrentThread());
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  v4 = v3;
  --CurrentThread->Tcb.KernelApcDisable;
  v5 = ViPendingTryReserveWorker(DeferralContext);
  if( v5 == -1 )
  {
    KeLeaveCriticalRegionThread(KeGetCurrentThread());
    return 0i64;
  }
  v7 = 48i64 * v5;
  KeSetPriorityThread(*(PKTHREAD *)((char *)&ViPendingWorkers + v7), v4);
  KeSetEvent((PRKEVENT)((char *)&ViPendingWorkers + v7 + 16), 0, 0);
  KeLeaveCriticalRegionThread(KeGetCurrentThread());
  return 1i64;
}

Referenced by:

ViPendingDelayCompletion