50 lines
1.2 KiB
C++
50 lines
1.2 KiB
C++
|
#include "precomp.h"
|
|||
|
#include <evtlog.h>
|
|||
|
|
|||
|
#define SRVC_NAME TEXT("mnmsrvc")
|
|||
|
//
|
|||
|
// FUNCTION: AddToMessageLog(LPTSTR lpszMsg)
|
|||
|
//
|
|||
|
// PURPOSE: Allows any thread to log an error message
|
|||
|
//
|
|||
|
// PARAMETERS:
|
|||
|
// lpszMsg - text for message
|
|||
|
//
|
|||
|
// RETURN VALUE:
|
|||
|
// none
|
|||
|
//
|
|||
|
// COMMENTS:
|
|||
|
//
|
|||
|
VOID AddToMessageLog(WORD wType, WORD wCategory, DWORD dwEvtId, LPTSTR lpszMsg)
|
|||
|
{
|
|||
|
HANDLE hEventSource;
|
|||
|
LPTSTR lpszStrings[2];
|
|||
|
int cSz = 0;
|
|||
|
|
|||
|
hEventSource = RegisterEventSource(NULL, SRVC_NAME);
|
|||
|
|
|||
|
if (NULL != lpszMsg)
|
|||
|
{
|
|||
|
cSz = 1;
|
|||
|
lpszStrings[0] = lpszMsg;
|
|||
|
}
|
|||
|
|
|||
|
if (hEventSource != NULL) {
|
|||
|
ReportEvent(hEventSource, // handle of event source
|
|||
|
wType, // event type
|
|||
|
wCategory, // event category
|
|||
|
dwEvtId, // event ID
|
|||
|
NULL, // current user's SID
|
|||
|
(WORD)cSz, // strings in lpszStrings
|
|||
|
0, // no bytes of raw data
|
|||
|
0 == cSz ? NULL : (LPCTSTR*)&lpszStrings, // array of error strings
|
|||
|
NULL); // no raw data
|
|||
|
|
|||
|
(VOID) DeregisterEventSource(hEventSource);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|