社区
硬件/系统
帖子详情
关于ReadEventLog函数
ztmyoyo
2005-01-18 03:41:14
这个函数里的lpBuffer这个结构中,TimeWritten就是时间吗?该怎么换算呢?EventID怎么换算?
...全文
225
6
打赏
收藏
关于ReadEventLog函数
这个函数里的lpBuffer这个结构中,TimeWritten就是时间吗?该怎么换算呢?EventID怎么换算?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ztmyoyo
2005-01-27
打赏
举报
回复
而且取出来的事件只是其中一部分,就算取出来的这一部分也不是按照日期排序后的前几个,而是1月27号里有几个,1月26号里有几个,怎么会这样啊!晕死了
ztmyoyo
2005-01-27
打赏
举报
回复
各位帮忙看下这个
void CEventDlg::OnButton3()
{//参考http://www.codeproject.com/system/sysevent.asp
HANDLE hdle;
EVENTLOGRECORD *ptr;
BYTE buff[4096];
DWORD read_len, next_len;
ptr=(EVENTLOGRECORD *)&buff;
hdle=OpenEventLog("", "Application");// System
if (hdle==NULL)
{
MessageBox("打开日志失败");
}
else
{
long mRet;
char lpszSourceName[255]={0};
char lpszComputerName[255]={0};
unsigned uStepOfString;
char* pStrings;
char szExpandedString[1024]={0};
while(ReadEventLog(hdle,EVENTLOG_FORWARDS_READ|EVENTLOG_SEQUENTIAL_READ,
1,ptr,sizeof(buff),&read_len,&next_len))
{
mRet=ptr->EventID;//事件id
mRet=ptr->EventType;//事件类型
mRet=ptr->TimeWritten;//
mRet=ptr->NumStrings;//
mRet=ptr->Length;//
mRet=sizeof(EVENTLOGRECORD);
strcpy(lpszSourceName, (LPTSTR)((LPBYTE)ptr +mRet));//事件源
mRet+= strlen(lpszSourceName) + 1;
strcpy(lpszComputerName, (LPTSTR)((LPBYTE)ptr + mRet));//机器名
mRet+= strlen(lpszComputerName) + 1;
if(ptr->UserSidLength>0){;}//
mRet=ptr->DataOffset-ptr->StringOffset;
if(mRet>0)//事件描述
{
pStrings=new char[mRet];
memcpy(pStrings,(LPBYTE)ptr+ptr->StringOffset,mRet);
uStepOfString=0;
for(int x=0;x<ptr->NumStrings;x++)
{
if(x==0)
{
strcpy(szExpandedString, (TCHAR *)pStrings + uStepOfString);
if(x<(UINT)ptr->NumStrings - 1)strcat(szExpandedString, ",");
}
else strcat(szExpandedString, pStrings + uStepOfString);
uStepOfString = strlen(pStrings + uStepOfString) + 1;
}
delete [] pStrings;
}
MessageBox(lpszSourceName,szExpandedString);
}
CloseEventLog(hdle);
}
}
为什么事件服务器里每个事件的信息有的能取到有的取不到呢?
取不到的mRet=ptr->DataOffset-ptr->StringOffset;,mRet为0,可这个事件在事件查看器里明明有信息的啊!
ztmyoyo
2005-01-20
打赏
举报
回复
可TimeWritten是象1087951193这样的值,应该是从1970年1月1号 0点开始到现在经过的秒数。
FileTimeToSystemTime的FileTime是个带高半字节和低半字节的结构,这个函数不对吧?
oyljerry
2005-01-18
打赏
举报
回复
FileTimeToSystemTime
ztmyoyo
2005-01-18
打赏
举报
回复
VC应该有转换成系统时间用的函数吧
老夏Max
2005-01-18
打赏
举报
回复
TimeWritten
Specifies the time at which this entry was received by the service to be written to the logfile. This time is measured in the number of seconds elapsed since 00:00:00 January 1, 1970, Universal Coordinated Time.
Advapi32.dll
函数
接口说明
Advapi32.dll
函数
接口说明
函数
原型 说明 AbortSystemShutDown 终止使用InitiatezSystemShutdown
函数
启动系统
Windows常用系统
函数
windows常用系统
函数
Windows.h中的
函数
有哪些?
今天我来给大家介绍一些常用的Windows.h中的
函数
。 这些
函数
非常适合做病毒,,对病毒感兴趣的朋友可以来看看。
SqlClr:创建一个简单的表值
函数
2. 添加
函数
代码: using System; using System.Data.Sql; using Microsoft.SqlServer.Server; using System.Collections; using System.Data.SqlTypes; using System.Diagnostics; public class Tabul
API
函数
的中文说明及所有的32位WindowsAPI
函数
的定义
API
函数
的中文说明及所有的32位WindowsAPI
函数
的定义============================API
函数
的中文说明===================================Api
函数
名
函数
说明 31 95 NT 可用-----------
硬件/系统
2,640
社区成员
17,239
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章