Author: ekohl Date: Sun May 1 13:35:51 2011 New Revision: 51529
URL: http://svn.reactos.org/svn/reactos?rev=51529&view=rev Log: [EVENTLOG] - Add event sources "EventLog" and "Service Control Manager" to the registry. - Implement an internal event reporting function and report the successful start of the event logging service.
Modified: trunk/reactos/base/services/eventlog/eventlog.c trunk/reactos/base/services/eventlog/eventlog.h trunk/reactos/base/services/eventlog/file.c trunk/reactos/boot/bootdata/hivesys_i386.inf
Modified: trunk/reactos/base/services/eventlog/eventlog.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/eventlog/even... ============================================================================== --- trunk/reactos/base/services/eventlog/eventlog.c [iso-8859-1] (original) +++ trunk/reactos/base/services/eventlog/eventlog.c [iso-8859-1] Sun May 1 13:35:51 2011 @@ -168,6 +168,10 @@ { DPRINT("Service started\n"); UpdateServiceStatus(SERVICE_RUNNING); + + LogfReportEvent(EVENTLOG_INFORMATION_TYPE, + 0, + EVENT_EventlogStarted); }
DPRINT("ServiceMain() done\n");
Modified: trunk/reactos/base/services/eventlog/eventlog.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/eventlog/even... ============================================================================== --- trunk/reactos/base/services/eventlog/eventlog.h [iso-8859-1] (original) +++ trunk/reactos/base/services/eventlog/eventlog.h [iso-8859-1] Sun May 1 13:35:51 2011 @@ -13,6 +13,7 @@ #define WIN32_NO_STATUS
#include <windows.h> +#include <netevent.h> #include <lpctypes.h> #include <lpcfuncs.h> #include <rtlfuncs.h> @@ -177,6 +178,11 @@ DWORD dwDataSize, LPVOID lpRawData);
+VOID +LogfReportEvent(WORD wType, + WORD wCategory, + DWORD dwEventId); + /* eventlog.c */ extern HANDLE MyHeap;
Modified: trunk/reactos/base/services/eventlog/file.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/eventlog/file... ============================================================================== --- trunk/reactos/base/services/eventlog/file.c [iso-8859-1] (original) +++ trunk/reactos/base/services/eventlog/file.c [iso-8859-1] Sun May 1 13:35:51 2011 @@ -1049,3 +1049,53 @@ *lpRecSize = dwRecSize; return Buffer; } + + +VOID +LogfReportEvent(WORD wType, + WORD wCategory, + DWORD dwEventId) +{ + WCHAR szComputerName[MAX_COMPUTERNAME_LENGTH + 1]; + DWORD dwComputerNameLength = MAX_COMPUTERNAME_LENGTH + 1; + PEVENTSOURCE pEventSource = NULL; + PBYTE logBuffer; + DWORD lastRec; + DWORD recSize; + DWORD dwError; + + if (!GetComputerNameW(szComputerName, &dwComputerNameLength)) + { + szComputerName[0] = 0; + } + + pEventSource = GetEventSourceByName(L"EventLog"); + if (pEventSource == NULL) + { + return; + } + + lastRec = LogfGetCurrentRecord(pEventSource->LogFile); + + logBuffer = LogfAllocAndBuildNewRecord(&recSize, + lastRec, + wType, + wCategory, + dwEventId, + pEventSource->szName, + (LPCWSTR)szComputerName, + 0, + NULL, + 0, //wNumStrings, + NULL, //lpStrings, + 0, //dwDataSize, + NULL); //lpRawData); + + dwError = LogfWriteData(pEventSource->LogFile, recSize, logBuffer); + if (!dwError) + { + DPRINT1("ERROR WRITING TO EventLog %S\n", pEventSource->LogFile->FileName); + } + + LogfFreeRecord(logBuffer); +}
Modified: trunk/reactos/boot/bootdata/hivesys_i386.inf URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivesys_i386.... ============================================================================== --- trunk/reactos/boot/bootdata/hivesys_i386.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivesys_i386.inf [iso-8859-1] Sun May 1 13:35:51 2011 @@ -1148,10 +1148,14 @@
HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\Application",,0x00000010 HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\Application","File",0x00020000,"%SystemRoot%\system32\config\AppEvent.Evt" +HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\Application\Service Control Manager","EventMessageFile",0x00020000,"%SystemRoot%\system32\netevent.dll" +HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\Application\Service Control Manager","TypesSupported",0x00010001,0x00000007 HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\Security",,0x00000010 HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\Security","File",0x00020000,"%SystemRoot%\system32\config\SecEvent.Evt" HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\System",,0x00000010 HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\System","File",0x00020000,"%SystemRoot%\system32\config\SysEvent.Evt" +HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\System\EventLog","EventMessageFile",0x00020000,"%SystemRoot%\system32\netevent.dll" +HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\System\EventLog","TypesSupported",0x00010001,0x00000007
; Floppy driver HKLM,"SYSTEM\CurrentControlSet\Services\Floppy","ErrorControl",0x00010001,0x00000000