EtwpTraceProcessRundown
NTSTATUS __stdcall EtwpTraceProcessRundown(
PEPROCESS Process,
UINT64 *LoggerId,
UINT16 HookId,
_ETW_RUNDOWN_CONTEXT *RundownContext){
CHAR v8;
__int64 v10;
PVOID P;
_UNICODE_STRING CommandLine;
_ETW_OTHER_PROCESS_INFO OtherInfo;
_UNICODE_STRING UnicodeString;
__int128 v15[2];
__int64 v16;
char PackageInfo[408];
__int64 v18[18];
*(_DWORD *)(&CommandLine.MaximumLength + 1) = 0;
LODWORD(v10) = 0;
P = 0i64;
UnicodeString = 0i64;
memset(PackageInfo, 0i64, sizeof(PackageInfo));
v8 = *((_BYTE *)RundownContext + 65);
OtherInfo = 0i64;
v16 = 0i64;
CommandLine.Buffer = (wchar_t *)*((_QWORD *)RundownContext + 2);
CommandLine.MaximumLength = *((_WORD *)RundownContext + 12);
memset(v15, 0, sizeof(v15));
CommandLine.Length = 0;
EtwpBuildProcessEvent(
Process,
HookId,
v8,
(__int64)v15,
&OtherInfo,
(__int64)v18,
(__int64)&v10,
(_ETW_PACKAGE_IDENTITY *)PackageInfo,
(_STRING *)&UnicodeString,
&CommandLine,
(__int64)&P);
EtwpLogKernelEvent(
(__int64)v18,
(_ETW_SILODRIVERSTATE *)LoggerId[135],
*(_DWORD *)LoggerId,
v10,
HookId,
5249029 - (HookId != 807));
if( CommandLine.Buffer != (wchar_t *)*((_QWORD *)RundownContext + 2) )
ExFreePoolWithTag(CommandLine.Buffer, 0);
RtlFreeAnsiString(&UnicodeString);
if( P )
ExFreePoolWithTag(P, 0);
return 0;
}Referenced by:
EtwpProcessEnumCallback