EtwpTraceFileName
VOID __stdcall EtwpTraceFileName(PVOID FileKey, UNICODE_STRING *FileName, UINT64 LoggerId, UINT16 HookId){
__int64 v4;
INT64 ThreadServerSilo;
unsigned int v8;
INT64 *v9;
UINT64 v10;
LPCGUID ActivityId;
LPCGUID RelatedActivityId;
UINT64 UserDataCount;
__int16 v14;
__int64 v15[2];
EVENT_DATA_DESCRIPTOR a2;
__int64 v17;
unsigned int v18;
int v19;
__int16 *v20;
__int64 v21;
unsigned int DataCount;
INT16 v23;
v4 = HookId;
v15[1] = 0i64;
v14 = 0;
if( FileKey )
{
ThreadServerSilo = *((_QWORD *)FileKey + 270);
}
else if( KeIsExecutingInArbitraryThreadContext() )
{
ThreadServerSilo = 0i64;
}
else
{
ThreadServerSilo = PsGetThreadServerSilo((INT64)KeGetCurrentThread());
}
v8 = *(unsigned __int16 *)LoggerId;
v15[0] = (__int64)FileName;
if( v8 > 0x2000 )
v8 = 0x2000;
*(_QWORD *)&a2.Size = 8i64;
v18 = v8;
a2.Ptr = (unsigned __int64)v15;
v17 = *(_QWORD *)(LoggerId + 8);
v20 = &v14;
v19 = 0;
v21 = 2i64;
if( EtwpHostSiloState != -4516 && (*(_DWORD *)(EtwpHostSiloState + 4516) & 0x200) != 0 )
{
if( v23 == 1056 )
{
LODWORD(UserDataCount) = 3;
EtwWriteEx(
EtwpFileProvRegHandle,
(EVENT_DESCRIPTOR *)&KFileEvt_NameCreate,
0i64,
0i64,
0i64,
0i64,
UserDataCount,
&a2);
LABEL_12:
LODWORD(RelatedActivityId) = 4200450;
EtwTraceSiloKernelEvent(ThreadServerSilo, &a2, 3u, 0x200ui64, v23, (INT64)RelatedActivityId);
return;
}
if( v23 == 1059 )
{
LODWORD(UserDataCount) = 3;
EtwWriteEx(
EtwpFileProvRegHandle,
(EVENT_DESCRIPTOR *)KFileEvt_NameDelete,
0i64,
0i64,
0i64,
0i64,
UserDataCount,
&a2);
}
}
if( v23 != 1060 )
goto LABEL_12;
if( v4 )
{
if( v4 != ThreadServerSilo )
return;
v9 = *(INT64 **)(v4 + 1272);
}
else
{
v9 = &PspHostSiloGlobals;
}
v10 = v9[108];
if( v10 )
{
LODWORD(RelatedActivityId) = 4200450;
LOWORD(ActivityId) = 1060;
EtwpLogKernelEvent(&a2, v10, DataCount, 3u, (UINT64)ActivityId, (UINT64)RelatedActivityId);
}
}Referenced by:
No references.