KeSetIdealProcessorThreadByNumber
NTSTATUS __stdcall KeSetIdealProcessorThreadByNumber(
_ETHREAD *Thread,
_PROCESSOR_NUMBER *ProcessorNumber,
_PROCESSOR_NUMBER *OldNumber){
unsigned int ProcessorIndexFromNumber;
NTSTATUS v6;
ULONG v7;
NTSTATUS v8;
UINT64 ProcIndex;
LODWORD(ProcIndex) = 0;
ProcessorIndexFromNumber = KeGetProcessorIndexFromNumber(ProcessorNumber);
if( ProcessorIndexFromNumber == -1 )
{
v8 = -1073741811;
if( Thread == (_ETHREAD *)KeGetCurrentThread() )
v7 = *((_DWORD *)Thread + 147);
else
v7 = *((_DWORD *)Thread + 49);
}
else
{
v6 = KeSetIdealProcessorThreadEx((_KTHREAD *)Thread, ProcessorIndexFromNumber, &ProcIndex);
v7 = ProcIndex;
v8 = v6;
}
KeGetProcessorNumberFromIndex(v7, OldNumber);
return v8;
}Referenced by:
KeSetIdealProcessorThread
NtQueryInformationThread
NtSetInformationThread