EtwpUpdateLoggerGroupMasks
VOID __stdcall EtwpUpdateLoggerGroupMasks(_KTRAP_FRAME *TrapFrame, PVOID Context){
_TRACE_ENABLE_FLAG_EXT_ITEM *FlagExtension;
__int64 v4;
unsigned __int16 v5;
PERFINFO_GROUPMASK v6;
PERFINFO_GROUPMASK GroupMasks[4];
__int128 v8;
*(_OWORD *)GroupMasks = 0i64;
v8 = 0i64;
if( !Context )
goto LABEL_5;
FlagExtension = EtwpGetFlagExtension((_WMI_LOGGER_INFORMATION *)Context, 1u);
if( !FlagExtension )
{
v6 = GroupMasks[0];
if( *(int *)(v4 + 72) >= 0 )
v6 = *(_DWORD *)(v4 + 72);
GroupMasks[0] = v6;
goto LABEL_5;
}
v5 = 4 * FlagExtension->Offset - 4;
if( v5 <= 0x20u )
{
memmove(GroupMasks, &FlagExtension[1], v5);
LABEL_5:
EtwpUpdateGroupMasks((_WMI_LOGGER_CONTEXT *)TrapFrame, GroupMasks);
}
}Referenced by:
EtwpStartLogger
EtwpStopLoggerInstance
EtwpUpdateTrace