EtwpRealtimeZeroTruncateLogfile

VOID __stdcall EtwpRealtimeZeroTruncateLogfile(_WMI_LOGGER_CONTEXT *LoggerContext){
  _LARGE_INTEGER v1; 
  void *RealtimeLogfileHandle; 
  void *v4; 
  UINT64 FileInformationClass; 
  UINT64 FileInformationClassa; 
  _IO_STATUS_BLOCK IoStatusBlock; 
  __int64 FileInformation; 
  __int64 v9; 

  FileInformation = 0i64;
  v1.QuadPart = 72i64;
  LODWORD(FileInformationClass) = 20;
  v9 = 72i64;
  RealtimeLogfileHandle = LoggerContext->RealtimeLogfileHandle;
  IoStatusBlock = 0i64;
  if( ZwSetInformationFile(
         (UINT64)RealtimeLogfileHandle,
         (UINT64)&IoStatusBlock,
         (INT8 *)&v9,
         8ui64,
         FileInformationClass) < 0
    || (v4 = LoggerContext->RealtimeLogfileHandle,
        FileInformation = 72i64,
        LODWORD(FileInformationClassa) = 19,
        ZwSetInformationFile((UINT64)v4, (UINT64)&IoStatusBlock, (INT8 *)&FileInformation, 8ui64, FileInformationClassa) < 0) )
  {
    ZwClose((_HANDLE)LoggerContext->RealtimeLogfileHandle);
    LoggerContext->RealtimeLogfileHandle = 0i64;
    v1.QuadPart = 0i64;
  }
  LoggerContext->RealtimeLogfileSize = v1;
  LoggerContext->RealtimeReadOffset = v1;
  LoggerContext->RealtimeWriteOffset = v1;
}

Referenced by:

EtwpRealtimeCreateLogfile
EtwpRealtimeFlushSavedBuffers