{
DWORD dwWritten;
DWORD dwRead;
- SYSTEMTIME st;
EVENTLOGEOF EofRec;
PEVENTLOGRECORD RecBuf;
LARGE_INTEGER logFileSize;
+ LARGE_INTEGER SystemTime;
ULONG RecOffSet;
ULONG WriteOffSet;
if (!Buffer)
return FALSE;
- GetSystemTime(&st);
- SystemTimeToEventTime(&st, &((PEVENTLOGRECORD) Buffer)->TimeWritten);
+ NtQuerySystemTime(&SystemTime);
+ RtlTimeToSecondsSince1970(&SystemTime, &((PEVENTLOGRECORD) Buffer)->TimeWritten);
EnterCriticalSection(&LogFile->cs);
PBYTE LogfAllocAndBuildNewRecord(LPDWORD lpRecSize,
DWORD dwRecordNumber,
+ DWORD dwTime,
WORD wType,
WORD wCategory,
DWORD dwEventId,
{
DWORD dwRecSize;
PEVENTLOGRECORD pRec;
- SYSTEMTIME SysTime;
WCHAR *str;
UINT i, pos;
PBYTE Buffer;
sizeof(EVENTLOGRECORD) + (lstrlenW(ComputerName) +
lstrlenW(SourceName) + 2) * sizeof(WCHAR);
- if (dwRecSize % 4 != 0)
- dwRecSize += 4 - (dwRecSize % 4);
+ if (dwRecSize % sizeof(DWORD) != 0)
+ dwRecSize += sizeof(DWORD) - (dwRecSize % sizeof(DWORD));
dwRecSize += dwSidLength;
}
dwRecSize += dwDataSize;
- if (dwRecSize % 4 != 0)
- dwRecSize += 4 - (dwRecSize % 4);
+ if (dwRecSize % sizeof(DWORD) != 0)
+ dwRecSize += sizeof(DWORD) - (dwRecSize % sizeof(DWORD));
- dwRecSize += 4;
+ dwRecSize += sizeof(DWORD);
Buffer = HeapAlloc(MyHeap, HEAP_ZERO_MEMORY, dwRecSize);
pRec->Reserved = LOGFILE_SIGNATURE;
pRec->RecordNumber = dwRecordNumber;
- GetSystemTime(&SysTime);
- SystemTimeToEventTime(&SysTime, &pRec->TimeGenerated);
- SystemTimeToEventTime(&SysTime, &pRec->TimeWritten);
+ pRec->TimeGenerated = dwTime;
+ pRec->TimeWritten = dwTime;
pRec->EventID = dwEventId;
pRec->EventType = wType;
pRec->UserSidOffset = pos;
- if (pos % 4 != 0)
- pos += 4 - (pos % 4);
+ if (pos % sizeof(DWORD) != 0)
+ pos += sizeof(DWORD) - (pos % sizeof(DWORD));
if (dwSidLength)
{
pos += dwDataSize;
}
- if (pos % 4 != 0)
- pos += 4 - (pos % 4);
+ if (pos % sizeof(DWORD) != 0)
+ pos += sizeof(DWORD) - (pos % sizeof(DWORD));
*((PDWORD) (Buffer + pos)) = dwRecSize;
DWORD lastRec;
DWORD recSize;
DWORD dwError;
+ DWORD dwTime;
+ LARGE_INTEGER SystemTime;
if (!GetComputerNameW(szComputerName, &dwComputerNameLength))
{
return;
}
+ NtQuerySystemTime(&SystemTime);
+ RtlTimeToSecondsSince1970(&SystemTime, &dwTime);
+
lastRec = LogfGetCurrentRecord(pEventSource->LogFile);
logBuffer = LogfAllocAndBuildNewRecord(&recSize,
+ dwTime,
lastRec,
wType,
wCategory,