KeGetProcessorIndexFromNumber
UINT64 __stdcall KeGetProcessorIndexFromNumber(_PROCESSOR_NUMBER *ProcNumber){
__int64 Group;
__int64 Number;
UINT64 result;
if( ProcNumber->Reserved )
return 0xFFFFFFFFi64;
Group = ProcNumber->Group;
if( !(_WORD)Group && !ProcNumber->Number )
return 0i64;
if( (unsigned __int16)Group >= (unsigned __int16)KiMaximumGroups )
return 0xFFFFFFFFi64;
Number = ProcNumber->Number;
if( (unsigned __int8)Number >= 0x40u )
return 0xFFFFFFFFi64;
result = (unsigned int)KiProcessorNumberToIndexMappingTable[64 * Group + Number];
if( !(_DWORD)result )
return 0xFFFFFFFFi64;
return result;
}Referenced by:
ExpQuerySystemInformation
HalGetInterruptTargetInformation
HalRequestSoftwareInterrupt
HalSendNMI
HalpInterruptDestinationToTarget
HalpInterruptDpReplaceBegin
HalpInterruptReinitialize
HalpInterruptSendIpi
HalpInterruptUpdateLocalUnitIdentifier
IopConnectInterrupt
KeQueryLogicalProcessorRelationship
KeSetIdealProcessorThreadByNumber
KeSetTargetProcessorDpcEx
PoGetIdleTimes
PoGetPerfStateAndParkingInfo
PpmClearSimulatedIdle
PpmClearSimulatedLoad
PpmInstallPlatformIdleStates
PpmPerfGetBrandedFrequency
PpmSetSimulatedIdle
PpmSetSimulatedLoad
PpmUpdateIdleStates
PpmUpdateProcessorIdleVeto
PspBuildCreateProcessContext