EtwpCheckLoggerAccessAndDoRundown
NTSTATUS __stdcall EtwpCheckLoggerAccessAndDoRundown(
_ETW_SILODRIVERSTATE *SiloState,
UINT64 SourceLoggerId,
UINT64 TargetLoggerId,
UINT8 Start){
unsigned int v4;
_WMI_LOGGER_CONTEXT *v6;
_WMI_LOGGER_CONTEXT *v7;
int v8;
unsigned int Flags;
v4 = TargetLoggerId;
v6 = EtwpAcquireLoggerContextByLoggerId(SiloState, SourceLoggerId, 1u);
v7 = v6;
if( !v6 )
return -1073741162;
v8 = EtwpCheckLoggerControlAccess(0x80ui64, v6);
if( v8 >= 0 )
{
if( (v7->LoggerMode & 0x2000000) != 0 )
EtwpLogKernelTraceRundown(
(UINT64)SiloState,
(PERFINFO_GROUPMASK *)v4,
32 * BYTE2(v7->$B4A554AA980A5EA7570A49F99BAE17BC::_bf_0) + (_BYTE)SiloState - 92);
Flags = v7->Flags;
if( (Flags & 0x800) != 0 )
{
EtwpLogPmcCounterRundown(v7, v4);
Flags = v7->Flags;
}
if( (Flags & 0x1000000) != 0 )
EtwpStackRundown((_SLIST_HEADER *)v7->StackCache, (UINT64)SiloState);
}
EtwpReleaseLoggerContext(v7, 1u);
return v8;
}Referenced by:
EtwpCheckGuidAccessAndDoRundown
EtwpEnableDisableSpecialGuids