KeSetIntervalProfile
VOID __stdcall KeSetIntervalProfile(UINT64 Interval, _KPROFILE_SOURCE Source){
int v3;
UINT64 Intervala;
unsigned __int64 v5;
LODWORD(Intervala) = Interval;
v5 = 0i64;
v3 = Interval;
if( Source == ProfileTime )
{
if( (KiCacheErrataMonitor & 0xFFFFFFFFFFFFFFFCui64) == 0 )
goto LABEL_3;
KiSanitizeProfileInterval(&Intervala);
v3 = Intervala;
}
if( Source == ProfileAlignmentFixup )
{
KiProfileAlignmentFixupInterval = v3;
return;
}
LABEL_3:
v5 = __PAIR64__(v3, Source);
KeGenericProcessorCallback(
(__int64 *)&KeActiveProcessors,
(void(__fastcall *)(struct _KPRCB *, __int64))KiSetIntervalWorker,
(__int64)&v5,
1);
}Referenced by:
EtwpCoverageSamplerStart
NtSetIntervalProfile