EtwpPrepareHeader
NTSTATUS __stdcall EtwpPrepareHeader(_WMI_LOGGER_CONTEXT *LoggerContext, _WMI_BUFFER_HEADER *Buffer, UINT64 BufferFlag){
int v3;
__int64 v5;
v3 = *((_DWORD *)Buffer + 1);
if( !v3 )
v3 = *((_DWORD *)Buffer + 2);
*((_DWORD *)Buffer + 12) = v3;
if( (_WORD)BufferFlag != 1 && v3 == 72 )
return -2147483614;
*((_WORD *)Buffer + 26) = BufferFlag | 0x20;
if( LoggerContext->LogFileHandle || (BufferFlag & 0x40) == 0 )
{
v5 = *((unsigned int *)Buffer + 12);
if( *(_DWORD *)Buffer - (int)v5 > 0 )
memset((char *)Buffer + v5, 255i64, *(_DWORD *)Buffer - v5);
}
if( *((_DWORD *)Buffer + 12) == 72 )
return -2147483614;
else
return 0;
}Referenced by:
EtwpAddLogHeader
EtwpBufferingModeFlush
EtwpFlushBuffer