IopLiveDumpTraceInterfaceEnd
UINT8 __fastcall IopLiveDumpTraceInterfaceEnd(__int64 a1, __int64 a2, int a3){
UINT8 result;
int v4;
int v5;
EVENT_DESCRIPTOR *v6;
UINT64 UserDataCount;
EVENT_DATA_DESCRIPTOR UserData;
int v9;
v9 = a3;
result = IopLiveDumpIsTracingEnabled();
if( result )
{
if( v4 )
{
v6 = (EVENT_DESCRIPTOR *)LIVEDUMP_EVENT_WRITE_DEFERRED_DATA_API_END;
if( v5 != 1 )
v6 = (EVENT_DESCRIPTOR *)&LIVEDUMP_EVENT_DISCARD_DEFERRED_DATA_API_END;
}
else
{
v6 = (EVENT_DESCRIPTOR *)LIVEDUMP_EVENT_CAPTURE_API_END;
}
*(_QWORD *)&UserData.Size = 4i64;
UserData.Ptr = (unsigned __int64)&v9;
LODWORD(UserDataCount) = 1;
return EtwWriteEx(IopLiveDumpEtwRegHandle, v6, 0i64, 0i64, 0i64, 0i64, UserDataCount, &UserData);
}
return result;
}Referenced by:
DbgkpWerCleanupContext
IoCaptureLiveDump
IoWriteDeferredLiveDumpData