EtwpAcquireLoggerContextByLoggerName
unsigned int *__fastcall EtwpAcquireLoggerContextByLoggerName(__int64 a1, const UNICODE_STRING *a2, char a3){
unsigned int v6;
_WMI_LOGGER_CONTEXT *v7;
unsigned int *v8;
char v9;
if( !a2 )
return 0i64;
v6 = 0;
if( !*(_DWORD *)(a1 + 16) )
return 0i64;
while( 1 )
{
v7 = EtwpAcquireLoggerContextByLoggerId((_ETW_SILODRIVERSTATE *)a1, v6, 0);
v8 = (unsigned int *)v7;
if( v7 )
break;
LABEL_7:
if( ++v6 >= *(_DWORD *)(a1 + 16) )
return 0i64;
}
if( !RtlEqualUnicodeString((UNICODE_STRING *)((char *)v7 + 152), (UNICODE_STRING *)a2, 1u) )
{
v9 = 0;
LABEL_6:
EtwpReleaseLoggerContext(v8, v9);
goto LABEL_7;
}
if( a3 == 1 )
KeWaitForSingleObject(v8 + 162, Executive, 0, 0, 0i64);
if( !v8[84] )
{
v9 = a3;
goto LABEL_6;
}
return v8;
}Referenced by:
EtwQueryTraceHandleByLoggerName
EtwpAcquireLoggerContext