EtwpCheckLoggerAccessAndDoRundown
INT64 __fastcall EtwpCheckLoggerAccessAndDoRundown(
_ETW_SILODRIVERSTATE *SiloState,
UINT64 SourceLoggerId,
UINT64 TargetLoggerId,
UINT8 Start){
unsigned int v4;
_WMI_LOGGER_CONTEXT *v7;
_WMI_LOGGER_CONTEXT *v8;
int v9;
int v10;
UINT64 v12;
v4 = TargetLoggerId;
v7 = EtwpAcquireLoggerContextByLoggerId(SiloState, SourceLoggerId, 1u);
v8 = v7;
if( v7 )
{
v9 = EtwpCheckLoggerControlAccess(0x80ui64, v7);
if( v9 >= 0 )
{
if( (*((_DWORD *)v8 + 3) & 0x2000000) != 0 )
{
LODWORD(v12) = 0;
EtwpLogKernelTraceRundown(
(UINT64)SiloState,
(PVOID)v4,
(__int128 *)&SiloState->SystemLoggerSettings.EtwpGroupMasks[*((unsigned __int8 *)v8 + 834)],
Start,
0i64,
v12);
}
v10 = *((_DWORD *)v8 + 208);
if( (v10 & 0x800) != 0 )
{
EtwpLogPmcCounterRundown(v8, v4);
v10 = *((_DWORD *)v8 + 208);
}
if( (v10 & 0x1000000) != 0 )
EtwpStackRundown(*((INT64 ***)v8 + 124), (UINT64)SiloState, v4);
}
EtwpReleaseLoggerContext((unsigned int *)v8, 1);
}
else
{
return(unsigned int)-1073741162;
}
return(unsigned int)v9;
}Referenced by:
EtwpCheckGuidAccessAndDoRundown
EtwpEnableDisableSpecialGuids