Note
Access to this page requires authorization. You can try signing in or .
Access to this page requires authorization. You can try .
ReadEventLogA function (winbase.h)
Reads the specified number of entries from the specified event log. The function can be used to read log entries in chronological or reverse chronological order.
Syntax
BOOL ReadEventLogA(
[in] HANDLE hEventLog,
[in] DWORD dwReadFlags,
[in] DWORD dwRecordOffset,
[out] LPVOID lpBuffer,
[in] DWORD nNumberOfBytesToRead,
[out] DWORD *pnBytesRead,
[out] DWORD *pnMinNumberOfBytesNeeded
);
Parameters
[in] hEventLog
A handle to the event log to be read. The OpenEventLog function returns this handle.
[in] dwReadFlags
Use the following flag values to indicate how to read the log file. This parameter must include one of the following values (the flags are mutually exclusive).
| Value | Meaning |
|---|---|
|
Begin reading from the record specified in the dwRecordOffset parameter.
This option may not work with large log files if the function cannot determine the log file's size. For details, see Knowledge Base article, 177199. |
|
Read the records sequentially.
If this is the first read operation, the EVENTLOG_FORWARDS_READ EVENTLOG_BACKWARDS_READ flags determines which record is read first. |
You must specify one of the following flags to indicate the direction for successive read operations (the flags are mutually exclusive).
| Value | Meaning |
|---|---|
|
The log is read in chronological order (oldest to newest).
The default. |
|
The log is read in reverse chronological order (newest to oldest). |
[in] dwRecordOffset
The record number of the log-entry at which the read operation should start. This parameter is ignored unless dwReadFlags includes the EVENTLOG_SEEK_READ flag.
[out] lpBuffer
An application-allocated buffer that will receive one or more EVENTLOGRECORD structures. This parameter cannot be NULL, even if the nNumberOfBytesToRead parameter is zero.
The maximum size of this buffer is 0x7ffff bytes.
[in] nNumberOfBytesToRead
The size of the lpBuffer buffer, in bytes. This function will read as many log entries as will fit in the buffer; the function will not return partial entries.
[out] pnBytesRead
A pointer to a variable that receives the number of bytes read by the function.
[out] pnMinNumberOfBytesNeeded
A pointer to a variable that receives the required size of the lpBuffer buffer. This value is valid only if this function returns zero and GetLastError returns ERROR_INSUFFICIENT_BUFFER.
Return value
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
When this function returns successfully, the read position in the event log is adjusted by the number of records read.
Examples
For an example, see Querying for Event Information.
Note
The winbase.h header defines ReadEventLog as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
| Requirement | Value |
|---|---|
| Minimum supported client | Windows 2000 Professional [desktop apps only] |
| Minimum supported server | Windows 2000 Server [desktop apps only] |
| Target Platform | Windows |
| Header | winbase.h (include Windows.h) |
| Library | Advapi32.lib |
| DLL | Advapi32.dll |
| API set | ext-ms-win-advapi32-eventlog-ansi-l1-1-0 (introduced in Windows 10, version 10.0.10240) |
See also
Feedback
Was this page helpful?
