EtwpCopySchematizedFilters
VOID __fastcall EtwpCopySchematizedFilters(
_EVENT_FILTER_HEADER *CurrentFilter,
_ETW_GUID_ENTRY *GuidEntry,
UINT8 EnableMask){
_EVENT_FILTER_HEADER *v3;
_TRACE_ENABLE_INFO *EnableInfo;
unsigned int v5;
__int64 v7;
_ETW_FILTER_HEADER *FilterData;
_EVENT_FILTER_HEADER *ProviderSideFilter;
__int64 v12;
v3 = 0i64;
EnableInfo = GuidEntry->EnableInfo;
v5 = 0;
v7 = 0i64;
do
{
if( EnableInfo->IsEnabled )
{
FilterData = GuidEntry->FilterData;
ProviderSideFilter = FilterData[v7].ProviderSideFilter;
if( ProviderSideFilter )
{
if( ((unsigned __int8)(1 << v5) & EnableMask) != 0 )
{
memmove((UINT8 *)CurrentFilter, (UINT8 *)FilterData[v7].ProviderSideFilter, ProviderSideFilter->Size);
v3 = CurrentFilter;
v12 = (ProviderSideFilter->Size + 7) & 0xFFFFFFF8;
CurrentFilter->NextOffset = v12;
CurrentFilter = (_EVENT_FILTER_HEADER *)((char *)CurrentFilter + v12);
}
}
}
++v5;
++EnableInfo;
++v7;
}
while( v5 < 8 );
if( v3 )
v3->NextOffset = 0;
}Referenced by:
EtwpAddRegEntryToGroup
EtwpBuildNotificationPacket
EtwpClearSessionAndUnreferenceEntry
EtwpRegisterProvider
EtwpRegisterUMGuid