EtwWriteStartScenario
INT64 __fastcall EtwWriteStartScenario(
UINT64 RegHandle,
const _EVENT_DESCRIPTOR *EventDescriptor,
_GUID *ActivityId,
UINT64 UserDataCount,
_EVENT_DATA_DESCRIPTOR *UserData){
unsigned int v5;
NTSTATUS ProviderIdFromHandle;
int v11;
_GUID ProviderGuid;
v5 = UserDataCount;
ProviderGuid = 0i64;
if( EventDescriptor && ActivityId )
{
if( EtwEventEnabled(RegHandle, (EVENT_DESCRIPTOR *)EventDescriptor, (EVENT_DESCRIPTOR *)ActivityId) )
{
ProviderIdFromHandle = EtwGetProviderIdFromHandle(RegHandle, 0, &ProviderGuid);
if( ProviderIdFromHandle >= 0 )
{
if( ActivityId->Data1
|| ActivityId->Data2
|| ActivityId->Data3
|| ActivityId->Data4[0]
|| ActivityId->Data4[1]
|| ActivityId->Data4[2]
|| ActivityId->Data4[3]
|| ActivityId->Data4[4]
|| ActivityId->Data4[5]
|| ActivityId->Data4[6]
|| ActivityId->Data4[7]
|| (ZwTraceControl(), ProviderIdFromHandle = v11, v11 >= 0) )
{
ProviderIdFromHandle = EtwWrite(RegHandle, (EVENT_DESCRIPTOR *)EventDescriptor, ActivityId, v5, UserData);
WdipStartEndScenario(&ProviderGuid, ActivityId, EventDescriptor, 0xAui64);
}
}
}
else
{
return(unsigned int)-1073741816;
}
}
else
{
return(unsigned int)-1073741811;
}
return(unsigned int)ProviderIdFromHandle;
}Referenced by:
IoInitSystemPreDrivers
PerfDiagInitialize
PopDiagTracePowerTransitionStart