EtwpUpdateEnableMask
VOID __fastcall EtwpUpdateEnableMask(INT64 a1, CHAR a2, CHAR a3, CHAR a4, BYTE *a5){
_DWORD *v5;
unsigned int i;
int v10;
_WMI_LOGGER_CONTEXT *v11;
_WMI_LOGGER_CONTEXT *v12;
int v13;
if( !a2 )
{
v5 = (_DWORD *)(a1 + 136);
for( i = 0; i < 8; ++i )
{
if( *(v5 - 2) && (!a3 || (*v5 & 0x400) != 0) )
{
v10 = 0;
v11 = EtwpAcquireLoggerContextByLoggerId(*(_ETW_SILODRIVERSTATE **)(a1 + 392), *((unsigned __int16 *)v5 - 1), 0);
v12 = v11;
if( v11 )
{
v13 = *((_DWORD *)v11 + 3);
if( a4 )
{
if( (v13 & 0x80u) != 0 )
v10 = EtwpCheckLoggerControlAccess(0x200ui64, v12);
}
else if( (v13 & 0x1000000) != 0 )
{
v10 = -1073741790;
}
EtwpReleaseLoggerContext((unsigned int *)v12, 0);
if( !v10 )
*a5 |= 1 << i;
}
}
v5 += 8;
}
}
}Referenced by:
EtwpRegisterProvider
EtwpRegisterUMGuid
NtTraceEvent