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