EtwpAcquireLoggerContext
VOID __stdcall EtwpAcquireLoggerContext(
INT64 a1,
INT16 a2,
INT64 a3,
INT64 a4,
_MEMORY_CACHING_TYPE_ORIG *a5,
INT64 a6,
INT64 a7){
unsigned int v7;
__int64 v8;
UINT64 v11;
__int64 v12;
_UNICODE_STRING CapturedString;
v7 = *(unsigned __int8 *)(a1 + 4208);
v8 = a2;
*(_QWORD *)a3 = 0i64;
v11 = 0xFFFFFFFFi64;
v12 = *(_QWORD *)(v8 + 24) - *(_QWORD *)&SystemTraceControlGuid.Data1;
if( !v12 )
v12 = *(_QWORD *)(v8 + 32) - *(_QWORD *)SystemTraceControlGuid.Data4;
if( !v12 )
v11 = v7;
if( (_DWORD)v11 != v7 && *(_WORD *)(v8 + 144) )
{
CapturedString = 0i64;
if( EtwpCaptureString((_UNICODE_STRING *)(v8 + 144), &CapturedString) >= 0 )
{
*(_QWORD *)a3 = EtwpAcquireLoggerContextByLoggerName((_ETW_SILODRIVERSTATE *)a1, &CapturedString, 1u);
RtlFreeAnsiString(&CapturedString);
}
}
else
{
if( (_DWORD)v11 != -1 )
goto LABEL_11;
v11 = v7;
if( *(_WORD *)(v8 + 8) != 0xFFFF )
v11 = *(unsigned __int16 *)(v8 + 8);
if( (unsigned int)v11 < *(_DWORD *)(a1 + 16) )
LABEL_11:
*(_QWORD *)a3 = EtwpAcquireLoggerContextByLoggerId((_ETW_SILODRIVERSTATE *)a1, v11, 1u);
}
}Referenced by:
EtwpFlushTrace
EtwpStopTrace
EtwpUpdateTrace