EtwpIsEventNameFilterEnabled

BOOL __fastcall EtwpIsEventNameFilterEnabled(
        _ETW_GUID_ENTRY *GuidEntry,
        UINT64 LoggerIndex,
        UINT64 Level,
        UINT64 Keyword){
  _ETW_FILTER_HEADER *FilterData; 
  __int64 v6; 
  int FilterFlags; 
  _ETW_FILTER_EVENT_NAME_DATA *EventNameFilter; 
  unsigned __int8 v9; 
  char v10; 

  FilterData = GuidEntry->FilterData;
  if( !FilterData )
    return 0;
  v6 = (unsigned int)LoggerIndex;
  FilterFlags = FilterData[v6].FilterFlags;
  if( !v10 )
  {
    if( (FilterFlags & 0x80000400) == -2147482624 )
    {
      EventNameFilter = FilterData[v6].EventNameFilter;
      goto LABEL_8;
    }
    return 0;
  }
  if( (FilterFlags & 0x80002000) != -2147475456 )
    return 0;
  EventNameFilter = FilterData[v6].StackWalkNameFilter;
LABEL_8:
  if( !EventNameFilter )
    return 0;
  v9 = EventNameFilter->Level;
  if( (unsigned __int8)Level > v9 )
  {
    if( v9 )
      return 0;
  }
  return !Keyword
      || (Keyword & EventNameFilter->MatchAnyKeyword) != 0
      && (Keyword & EventNameFilter->MatchAllKeyword) == EventNameFilter->MatchAllKeyword;
}

Referenced by:

EtwpWriteUserEvent