The ReportEvent function writes an entry at the end of the specified event log.
BOOL ReportEvent(
HANDLE hEventLog, | // handle returned by RegisterEventSource |
WORD wType, | // event type to log |
WORD wCategory, | // event category |
DWORD dwEventID, | // event identifier |
PSID lpUserSid, | // user security identifier (optional) |
WORD wNumStrings, | // number of strings to merge with message |
DWORD dwDataSize, | // size of binary data, in bytes |
LPCTSTR *lpStrings, | // array of strings to merge with message |
LPVOID lpRawData | // address of binary data |
); |
Parameters
hEventLog
Identifies the event log. This handle is returned by the RegisterEventSource function.
wType
Specifies the type of event being logged. This parameter can be one of the following values:
Value | Meaning |
EVENTLOG_ERROR_TYPE | Error event |
EVENTLOG_WARNING_TYPE | Warning event |
EVENTLOG_INFORMATION_TYPE | Information event |
EVENTLOG_AUDIT_SUCCESS | Success Audit event |
EVENTLOG_AUDIT_FAILURE | Failure Audit event |
For more information about event types, see Event Logging.
wCategory
Specifies the event category. This is source-specific information; the category can have any value.
dwEventID
Specifies the event identifier. The event identifier specifies the message that goes with this event as an entry in the message file associated with the event source.
lpUserSid
Points to the current user's security identifier. This parameter can be NULL if the security identifier is not required.
wNumStrings
Specifies the number of strings in the array pointed to by the lpStrings parameter. A value of zero indicates that no strings are present.
dwDataSize
Specifies the number of bytes of event-specific raw (binary) data to write to the log. If this parameter is zero, no event-specific data is present.
lpStrings
Points to a buffer containing an array of null-terminated strings that are merged into the message before Event Viewer displays the string to the user. This parameter must be a valid pointer (or NULL), even if wNumStrings is zero.
lpRawData
Points to the buffer containing the binary data. This parameter must be a valid pointer (or NULL), even if the dwDataSize parameter is zero.
Return Values
If the function succeeds, the return value is nonzero, indicating that the entry was written to the log.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
This function is used to log an event. The entry is written to the end of the configured logfile for the source identified by the hEventLog parameter. The ReportEvent function adds the time, the user name, the entry's length, and the offsets before storing the entry in the log.
See Also
ClearEventLog, CloseEventLog, OpenEventLog, ReadEventLog, RegisterEventSource