KeOrAffinityEx
UINT64 __stdcall KeOrAffinityEx(_KAFFINITY_EX *Affinity1, _KAFFINITY_EX *Affinity2, _KAFFINITY_EX *Result){
_KAFFINITY_EX *v6;
unsigned __int16 Count;
unsigned int v8;
unsigned __int16 v9;
__int64 v10;
bool v11;
__int64 v12;
unsigned __int64 v14;
INT64 result[22];
memset((INT64)result, 0i64);
if( !Result )
Result = (_KAFFINITY_EX *)result;
v6 = Affinity2;
Count = Affinity1->Count;
if( Affinity1->Count >= Affinity2->Count )
Count = Affinity2->Count;
if( Affinity1->Count >= Affinity2->Count )
v6 = Affinity1;
Result->Size = 20;
v8 = 0;
v9 = 0;
for( Result->Count = v6->Count; v9 < Count; ++v9 )
{
v10 = v9;
v11 = (Affinity2->Bitmap[v10] | Affinity1->Bitmap[v10]) == 0;
Result->Bitmap[v10] = Affinity2->Bitmap[v10] | Affinity1->Bitmap[v10];
if( !v11 )
v8 = 1;
}
for( ; v9 < v6->Count; ++v9 )
{
v14 = v6->Bitmap[v9];
Result->Bitmap[v9] = v14;
if( v14 )
v8 = 1;
}
if( Result != (_KAFFINITY_EX *)result )
{
for( Result->Reserved = 0; v9 < Result->Size; Result->Bitmap[v12] = 0i64 )
v12 = v9++;
}
return v8;
}Referenced by:
Amd64AddProfileSource
EmonAddProfileSource
KeQueryLogicalProcessorRelationship
KiForceIdleUpdateSchedulerParkState
KiForwardTick
KiStartProfileTarget
PpmCheckInitProcessors
PpmPerfApplyProcessorStates
PpmRegisterPerfStates
PpmUpdateProcessorPolicy