EtwpAddEventToBuffer
INT64 __fastcall EtwpAddEventToBuffer(
_WMI_BUFFER_HEADER *Buffer,
UINT16 HookId,
_LARGE_INTEGER *Timestamp,
UINT8 *Data,
UINT64 DataSize,
UINT64 RemainingBufferSize,
UINT64 *EventSize){
unsigned int v8;
__int64 Offset;
char *v10;
INT64 v11;
v8 = (DataSize + 23) & 0xFFFFFFF8;
*(_DWORD *)EventSize = v8;
if( v8 > (unsigned int)RemainingBufferSize )
return 0i64;
Offset = Buffer->Offset;
v10 = (char *)Buffer + Offset;
Buffer->Offset = v8 + Offset;
*((_WORD *)v10 + 2) = DataSize + 16;
v11 = (INT64)(v10 + 16);
*(_DWORD *)v10 = -1072627710;
*((_WORD *)v10 + 3) = HookId;
*((_LARGE_INTEGER *)v10 + 1) = *Timestamp;
if( Data )
memmove((UINT8 *)v10 + 16, Data, (unsigned int)DataSize);
return v11;
}Referenced by:
EtwpAddBinaryInfoEvents
EtwpAddDebugInfoEvents
EtwpAddLastDroppedEvent