PfFbBufferListFlushStandby
VOID __stdcall PfFbBufferListFlushStandby(_SLIST_ENTRY *RunRef){
_QWORD *v2;
_QWORD *v3;
_DWORD *v4;
INT64 v5;
if( ExAcquireRundownProtection((_EX_RUNDOWN_REF *)RunRef) )
{
RtlpInterlockedFlushSList();
v3 = v2;
while( v3 )
{
v4 = v3;
v3 = (_QWORD *)*v3;
if( ExAcquireRundownProtection((_EX_RUNDOWN_REF *)RunRef) )
{
((void(__fastcall *)(_DWORD *))RunRef[6].Next)(v4);
}
else
{
LODWORD(v5) = 0;
PfFbBufferListInsertInFree(
(_EX_RUNDOWN_REF *)RunRef,
v4,
(unsigned int)(v4[8] - (_DWORD)v4),
(unsigned int)v4[11],
v5);
}
}
ExReleaseRundownProtection((_EX_RUNDOWN_REF *)RunRef);
}
}Referenced by:
PfGetCompletedTrace
PfSnEndTrace
PfpFlushEventBuffers