* PROJECT: ReactOS EventLog File Library
* LICENSE: GPL - See COPYING in the top level directory
* FILE: sdk/lib/evtlib/evtlib.c
- * PURPOSE: Provides a library for reading and writing EventLog files
- * in the NT <= 5.2 (.evt) format.
+ * PURPOSE: Provides functionality for reading and writing
+ * EventLog files in the NT <= 5.2 (.evt) format.
* PROGRAMMERS: Copyright 2005 Saveliy Tretiakov
* Michael Martin
* Hermes Belusca-Maito
RtlCopyMemory(NewOffsetInfo,
LogFile->OffsetInfo,
LogFile->OffsetInfoSize * sizeof(EVENT_OFFSET_INFO));
- LogFile->Free(LogFile->OffsetInfo, 0);
+ LogFile->Free(LogFile->OffsetInfo, 0, TAG_ELF);
}
LogFile->OffsetInfo = (PEVENT_OFFSET_INFO)NewOffsetInfo;
LogFile->OffsetInfoSize += OFFSET_INFO_INCREMENT;
/* Is it an EVENTLOGEOF record? */
if (RtlCompareMemory(&EofRec, &EOFRecord, EVENTLOGEOF_SIZE_FIXED) == EVENTLOGEOF_SIZE_FIXED)
{
- DPRINT1("Found EOF record at %llx\n", FileOffset.QuadPart);
+ DPRINT("Found EOF record at %llx\n", FileOffset.QuadPart);
/* Got it! Break the loop and continue */
break;
// LogFile->Header.Flags |= ELF_LOGFILE_HEADER_WRAP;
// }
- DPRINT1("StartOffset = 0x%x, EndOffset = 0x%x\n",
- LogFile->Header.StartOffset, LogFile->Header.EndOffset);
+ DPRINT("StartOffset = 0x%x, EndOffset = 0x%x\n",
+ LogFile->Header.StartOffset, LogFile->Header.EndOffset);
/*
* For non-read-only logs of size < MaxSize, reorganize the events
if (!NT_SUCCESS(Status))
{
EVTLTRACE1("ReadLogBuffer failed (Status 0x%08lx)\n", Status);
- LogFile->Free(pRecBuf, 0);
+ LogFile->Free(pRecBuf, 0, TAG_ELF_BUF);
return STATUS_EVENTLOG_FILE_CORRUPT;
}
if (ReadLength != RecBuf.Length)
{
DPRINT1("Oh oh!!\n");
- LogFile->Free(pRecBuf, 0);
+ LogFile->Free(pRecBuf, 0, TAG_ELF_BUF);
break;
}
// /* If OverWrittenRecords is TRUE and this record has already been read */
// if (OverWrittenRecords && (pRecBuf->RecordNumber == LogFile->Header.OldestRecordNumber))
// {
- // LogFile->Free(pRecBuf, 0);
+ // LogFile->Free(pRecBuf, 0, TAG_ELF_BUF);
// break;
// }
{
EVTLTRACE1("Invalid RecordSizeEnd of record %d (0x%x) in `%wZ'\n",
RecordNumber, *pRecSize2, &LogFile->FileName);
- LogFile->Free(pRecBuf, 0);
+ LogFile->Free(pRecBuf, 0, TAG_ELF_BUF);
break;
}
- EVTLTRACE1("Add new record %d @ offset 0x%x\n", pRecBuf->RecordNumber, FileOffset.QuadPart);
+ EVTLTRACE("Add new record %d @ offset 0x%x\n", pRecBuf->RecordNumber, FileOffset.QuadPart);
RecordNumber++;
FileOffset.QuadPart))
{
EVTLTRACE1("ElfpAddOffsetInformation() failed!\n");
- LogFile->Free(pRecBuf, 0);
+ LogFile->Free(pRecBuf, 0, TAG_ELF_BUF);
return STATUS_EVENTLOG_FILE_CORRUPT;
}
- LogFile->Free(pRecBuf, 0);
+ LogFile->Free(pRecBuf, 0, TAG_ELF_BUF);
if (NextOffset.QuadPart == LogFile->Header.EndOffset)
{
/* We have finished enumerating all the event records */
- DPRINT1("NextOffset.QuadPart == LogFile->Header.EndOffset, break\n");
+ DPRINT("NextOffset.QuadPart == LogFile->Header.EndOffset, break\n");
break;
}
NTSTATUS
NTAPI
ElfCreateFile(
- IN PEVTLOGFILE LogFile,
+ IN OUT PEVTLOGFILE LogFile,
IN PUNICODE_STRING FileName OPTIONAL,
IN ULONG FileSize,
IN ULONG MaxSize,
if (!NT_SUCCESS(Status))
{
if (LogFile->OffsetInfo)
- LogFile->Free(LogFile->OffsetInfo, 0);
+ LogFile->Free(LogFile->OffsetInfo, 0, TAG_ELF);
if (LogFile->FileName.Buffer)
- LogFile->Free(LogFile->FileName.Buffer, 0);
+ LogFile->Free(LogFile->FileName.Buffer, 0, TAG_ELF);
}
return Status;
-
}
NTSTATUS
if (!NT_SUCCESS(Status))
{
EVTLTRACE1("ReadLogBuffer failed (Status 0x%08lx)\n", Status);
- LogFile->Free(Buffer, 0);
+ LogFile->Free(Buffer, 0, TAG_ELF_BUF);
// Status = STATUS_EVENTLOG_FILE_CORRUPT;
goto Quit;
}
if (!NT_SUCCESS(Status))
{
EVTLTRACE1("FileWrite() failed (Status 0x%08lx)\n", Status);
- LogFile->Free(Buffer, 0);
+ LogFile->Free(Buffer, 0, TAG_ELF_BUF);
goto Quit;
}
Header->EndOffset += RecBuf.Length;
/* Free the buffer */
- LogFile->Free(Buffer, 0);
+ LogFile->Free(Buffer, 0, TAG_ELF_BUF);
Buffer = NULL;
}
ElfFlushFile(LogFile);
/* Free the data */
- LogFile->Free(LogFile->OffsetInfo, 0);
+ LogFile->Free(LogFile->OffsetInfo, 0, TAG_ELF);
if (LogFile->FileName.Buffer)
- LogFile->Free(LogFile->FileName.Buffer, 0);
+ LogFile->Free(LogFile->FileName.Buffer, 0, TAG_ELF);
RtlInitEmptyUnicodeString(&LogFile->FileName, NULL, 0);
}