KeGetProcessorIndexFromNumber
NTSTATUS __fastcall KeGetProcessorIndexFromNumber(UINT16 *a1){
__int64 v1;
__int64 v2;
NTSTATUS result;
if( *((_BYTE *)a1 + 3) )
return -1;
v1 = *a1;
if( !(_WORD)v1 && !*((_BYTE *)a1 + 2) )
return 0;
if( (unsigned __int16)v1 >= (unsigned __int16)KiMaximumGroups )
return -1;
v2 = *((unsigned __int8 *)a1 + 2);
if( (unsigned __int8)v2 >= 0x40u )
return -1;
result = KiProcessorNumberToIndexMappingTable[64 * v1 + v2];
if( !result )
return -1;
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