ExpWorkQueueInitializeWithMinimumThreads

NTSTATUS __fastcall ExpWorkQueueInitializeWithMinimumThreads(
        _ENODE *Node,
        INT64 a2,
        INT64 a3,
        _LIST_ENTRY *a4,
        INT64 a5,
        INT64 a6,
        _EX_WORK_QUEUE *Queue){
  int v8; 
  NTSTATUS result; 
  INT64 v10; 

  LODWORD(v10) = a6;
  ExpWorkQueueInitialize((_KPRIQUEUE *)Node, a2, a3, a4, a5, v10);
  v8 = 0;
  if( 2 * HIDWORD(Node[1].Ncb.HeteroSets[3].PreferredMask) <= 0 )
    return 0;
  while( 1 )
  {
    result = ExpCreateWorkerThread(Node, Queue);
    if( result < 0 )
      break;
    if( ++v8 >= (2 * HIDWORD(Node[1].Ncb.HeteroSets[3].PreferredMask)) >> 1 )
      return 0;
  }
  return result;
}

Referenced by:

ExpPartitionCreatePoolInternal