ReadEventLog

【勇芳软件工作室】汉化HomePreviousNext

ReadEventLog函数从指定的事件日志读取整个条目。该函数可用于以正向或反向时间顺序读取日志条目。

BOOL ReadEventLog(

HANDLE 【hEventLog】,//处理事件日志
DWORD 【dwReadFlags】,//指定如何读取日志
DWORD 【dwRecordOffset】,//第一个记录数
LPVOID 【lpBuffer】,//读取数据缓冲区的地址
DWORD 【nNumberOfBytesToRead】,//要读取的字节数
DWORD *【pnBytesRead】,//读取的字节数
DWORD *【pnMinNumberOfBytesNeeded】//下一个记录所需的字节数
); 

参数

【hEventLog】

标识要读取的事件日志。该句柄由OpenEventLog函数返回。

【dwReadFlags】

指定读取操作如何继续。此参数可以是以下值的任意组合:

含义
EVENTLOG_FORWARDS_READ日志按照时间顺序读取。
EVENTLOG_BACKWARDS_READ日志以相反的时间顺序读取。
EVENTLOG_SEEK_READ读取操作从【dwRecordOffset】参数指定的记录继续。如果使用此标志,【dwReadFlags】也必须指定EVENTLOG_FORWARDS_READ或EVENTLOG_BACKWARDS_READ。如果缓冲区足够大,可以在指定的查找位置读取多于一条记录;附加标志指示连续读取操作的方向。
EVENTLOG_SEQUENTIAL_READ读取操作使用该句柄从上次调用顺序进行到ReadEventLog函数。

【dwRecordOffset】

指定读取操作应该开始的日志条目记录号。除非【dwReadFlags】参数包含EVENTLOG_SEEK_READ标志,否则此参数将被忽略。

【lpBuffer】

指向从事件日志读取的数据的缓冲区。即使【nNumberOfBytesToRead】参数为零,此参数也不能为NULL。

缓冲区将填充EVENTLOGRECORD结构。

【nNumberOfBytesToRead】

指定缓冲区的大小(以字节为单位)。该函数将读取与缓冲区相同的整个日志条目;该函数不会返回部分条目,即使缓冲区中有空格。

【pnBytesRead】

指向接收函数读取的字节数的变量。

【pnMinNumberOfBytesNeeded】

指向接收下一个日志条目所需字节数的变量。此计数仅在ReadEventLog返回零且GetLastError返回ERROR_INSUFFICIENT_BUFFER时有效。

返回值

如果函数成功,返回值不为零。

如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.

备注

当此函数返回时,错误日志中的读取位置将通过读取的记录数进行调整。只返回一整个事件日志记录。

注意此源的配置文件名也可能是其他源的配置文件名(几个源可以作为单个日志文件下的子项存在)。因此,此函数可能会返回由多个源记录的事件。

也可以看看

ClearEventLog, CloseEventLog, EVENTLOGRECORD, OpenEventLog, ReportEvent