TlgAggregateFlush
VOID __stdcall TlgAggregateFlush(INT64 a1){
__int64 v1;
void *v2;
if( *(void(__fastcall **)(const struct _GUID *, __int64, char, __int64, unsigned __int64, struct _EVENT_FILTER_DESCRIPTOR *, _TLG_AGGR_SESSION *))(a1 + 40) == TlgAggregateInternalRegisteredProviderEtwCallback )
{
v1 = *(_QWORD *)(a1 + 48);
if( KeGetCurrentIrql() >= 2u || (KeGetPcr()->Prcb._bf_0 & 0x10001) != 0 )
{
v2 = *(void **)(v1 + 264);
*(_BYTE *)(v1 + 372) = 1;
TlgAggregateInternalFlushTimerCallbackKernelMode(*(_EX_TIMER **)(v1 + 360), v2);
}
else
{
LookUpTableFlushComplete((_TLG_AGGR_SESSION *)v1);
}
}
}Referenced by:
CmFcShutdownSystem
CmpFlushTraceLoggingProvider