ExpPartitionStart
NTSTATUS __stdcall ExpPartitionStart(INT64 a1){
unsigned __int16 v2;
__int64 v3;
INT64 v4;
INT64 v5;
INT64 v6;
NTSTATUS result;
_GROUP_AFFINITY Affinity;
v2 = 0;
if( !KeNumberNodes )
return 0;
while( 1 )
{
Affinity = 0i64;
v3 = 0i64;
if( (_UNKNOWN *)KeNodeBlock[v2] != (_UNKNOWN *)((char *)&KiNodeInit + 384 * v2) )
v3 = KeNodeBlock[v2];
KeQueryNodeActiveAffinity(*(_WORD *)(v3 + 146), &Affinity, 0i64);
if( Affinity.Mask )
{
result = ExpWorkQueueManagerStart(*(_QWORD *)(*(_QWORD *)(a1 + 16) + 8i64 * v2), v4, v5, v6);
if( result < 0 )
break;
}
if( ++v2 >= (unsigned __int16)KeNumberNodes )
return 0;
}
return result;
}Referenced by:
ExpWorkerInitialization
PspAllocatePartition