首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从系统读取应用程序/系统/安全事件日志时,ReadEventLog() API在Windows 2008 R2上错误代码87失败

从系统读取应用程序/系统/安全事件日志时,ReadEventLog() API在Windows 2008 R2上错误代码87失败
EN

Stack Overflow用户
提问于 2010-06-28 12:37:47
回答 1查看 3.3K关注 0票数 1

我有一个MFC应用程序,它在Windows 2008 R2上读取WOW64环境中的系统(即应用程序/系统/安全)事件日志。我在::ReadEventLog() Windows 2008 R2中遇到了std 函数的问题。下面我提供了代码片段,但是相同的代码/API在Windows WOW64 & x64环境中运行得很好。错误代码'87‘指的是“参数不正确”,但在我看来,传递给::ReadEventLog()函数的参数似乎是正确的。

代码

//BufferSizeconst BUFFER_SIZE = 1024*10

字节l_bBufferSizeBUFFER_SIZE;

EVENTLOGRECORD* l_pEvntLogRecord =空;

l_pEvntLogRecord = (EVENTLOGRECORD *) &l_bBufferSize;:SetLastError(0);

/*调整“计数器”以读取日志。'l_nReadRecordIndex‘与列表控件一起映射,例如,在按下键时,'l_nReadRecordIndex’设置为"GetCountPerPage() + 1“--这是一种情况,因为它们的情况很多。*/

DWORD l_dwLogCounter = (GetTotalNumberOfRecords() - l_nReadRecordIndex) + 1;

//按"nCntToReadRecords“读取日志。

for(l_dwLogCounter;l_nNoOfRecTobeRead <= nCntToReadRecord;l_dwLogCounter-,l_nNoOfRecTobeRead++) {

//阅读实际位置。

如果(0 != ::ReadEventLog( m_hEventLogHandle,EVENTLOG_SEEK_READ|EVENTLOG_FORWARDS_READ ),

代码语言:javascript
复制
         l\_dwLogCounter, l\_pEvntLogRecord, BUFFER\_SIZE,              &l\_dwReadBytes, &l\_dwNeedBytes))
代码语言:javascript
复制
{
     DWORD l_dwErrCode = 0;
     l_dwErrCode = ::GetLastError();    //87 is returned
     return FALSE
}

}

//数据人口代码

如果有人意识到类似的问题,或者在类似的问题上工作过,请告诉我解决方案。请参考上面的代码片段,并让我知道以下的事情,a)不正确的参数。( b)是它们读取事件日志的任何其他方式。

提前谢谢。

-加内什

EN

回答 1

Stack Overflow用户

发布于 2012-11-28 15:41:56

这是一个错误,请检查MS的KB http://support.microsoft.com/kb/177199中的这个条目

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3132392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档