KeQueryMaximumProcessorCountEx
UINT64 __stdcall KeQueryMaximumProcessorCountEx(UINT16 GroupNumber){
unsigned __int64 v2;
unsigned int v3;
if( KeDynamicPartitioningSupported )
{
if( GroupNumber == 0xFFFF || !GroupNumber && KiMaximumGroups == 1 )
{
return(unsigned int)KeMaximumProcessors;
}
else
{
v3 = 0;
if( GroupNumber < (unsigned __int16)KiMaximumGroups )
return(unsigned int)KiMaximumGroupSize;
return v3;
}
}
else if( GroupNumber == 0xFFFF )
{
return(unsigned int)KeNumberProcessors_0;
}
else if( GroupNumber >= (unsigned __int16)KiActiveGroups )
{
return 0i64;
}
else
{
v2 = KeActiveProcessors.Bitmap[GroupNumber]
- ((KeActiveProcessors.Bitmap[GroupNumber] >> 1) & 0x5555555555555555i64);
return(0x101010101010101i64
* (((v2 & 0x3333333333333333i64)
+ ((v2 >> 2) & 0x3333333333333333i64)
+ (((v2 & 0x3333333333333333i64) + ((v2 >> 2) & 0x3333333333333333i64)) >> 4)) & 0xF0F0F0F0F0F0F0Fi64)) >> 56;
}
}Referenced by:
EtwInitializeSiloState
EtwpAllocatePmcData
EtwpCovSampCaptureContextStart
EtwpCovSampCaptureFlushSampleBuffers
EtwpCovSampCaptureFlushStats
EtwpInitLoggerContext
ExpAcquireFannedOutPushLockExclusive
ExpAllocateFannedOutPushLock
ExpGetSystemEmulationProcessorInformation
ExpInitSystemPhase1
ExpReleaseFannedOutPushLockExclusive
ExpSaInitialize
ExpSaPageGroupDescriptorAllocate
ExpSaPageGroupDescriptorFree
ExpTryAcquireFannedOutPushLockExclusive
HalpDmaAllocateMappingResources
HalpHvInitMcaPcrContext
KeQueryLogicalProcessorRelationship
KeStartProfile
PpmInitHeteroEngine