PoDiagTraceIRTimerSleepStudyRundown
CHAR __fastcall PoDiagTraceIRTimerSleepStudyRundown(INT64 a1, INT16 a2, EVENT_DESCRIPTOR *a3){
void **v3;
WCHAR v5;
UINT64 UserDataCount;
struct _UNICODE_STRING DestinationString;
struct _EVENT_DATA_DESCRIPTOR UserData;
INT16 *v10;
int v11;
int v12;
wchar_t *Buffer;
int Length;
int v15;
void *retaddr;
int v17;
INT16 v18;
v3 = &retaddr;
v18 = a2;
v17 = a1;
DestinationString = 0i64;
if( PopDiagHandleRegistered )
{
LOBYTE(v3) = EtwEventEnabled(PopDiagHandle, (EVENT_DESCRIPTOR *)&POP_ETW_DEEP_SLEEP_IR_TIMER_DATA, a3);
if( (_BYTE)v3 )
{
RtlInitUnicodeString(&DestinationString, &a3->Id, v5);
UserData.Reserved = 0;
v12 = 0;
v15 = 0;
UserData.Ptr = (unsigned __int64)&v17;
v10 = &v18;
Buffer = DestinationString.Buffer;
Length = DestinationString.Length;
LODWORD(UserDataCount) = 3;
UserData.Size = 4;
v11 = 2;
LOBYTE(v3) = EtwWriteEx(
PopDiagHandle,
(EVENT_DESCRIPTOR *)&POP_ETW_DEEP_SLEEP_IR_TIMER_DATA,
0i64,
0i64,
0i64,
0i64,
UserDataCount,
&UserData);
}
}
return(char)v3;
}Referenced by:
ExStopRecordingIRTimerExpiries