Winapi EventCreate.exe创建一个;CustomSource“;价值,它意味着什么?
命令行Winapi EventCreate.exe创建一个;CustomSource“;价值,它意味着什么?,winapi,event-log,eventlog-source,custom-eventlog,Winapi,Event Log,Eventlog Source,Custom Eventlog,命令行EventCreate.exe工具在注册表中注册用户定义的事件源,供Windows事件日志查看器使用,如下所示: eventcreate /t INFORMATION /ID 100 /L "Application" /SO [SourceName] /D "Description" 我编写了一个应用程序,它有自己的事件日志资源字符串,并注册为事件源,但它不使用CustomSource值,工作正常 我找不到MSDN上的任何文档,也找不到网上其他地方的CustomSource的确切用途。
EventCreate.exe
工具在注册表中注册用户定义的事件源,供Windows事件日志查看器使用,如下所示:
eventcreate /t INFORMATION /ID 100 /L "Application" /SO [SourceName] /D "Description"
我编写了一个应用程序,它有自己的事件日志资源字符串,并注册为事件源,但它不使用CustomSource
值,工作正常
我找不到MSDN上的任何文档,也找不到网上其他地方的CustomSource
的确切用途。我机器上的所有注册源都没有使用它
有人知道
CustomSource
的用途和工作原理吗?它只是EventCreate.exe的内部文件,还是Windows事件日志实际使用了它?感谢@RbMm指出这篇博客文章:
无论出于何种原因,EventCreate仅用于记录与EventCreate创建的事件日志源关联的事件。它通过在创建新源时在源的注册表项中添加一个名为CustomSource
的注册表项来实现此目的,并为已经存在的源检查该值。因此,在上面的示例中,如果“MyStuff”源在应用程序日志中不存在,上面的命令会创建它,并使用CustomSource
值配置它的密钥。在验证CustomSource
值的存在后,使用相同源对EventCreate的后续调用将成功。但是,如果源是通过另一个未创建CustomSource标志的机制创建的,例如使用PowerShellNew EventLog
cmdlet,则会收到错误消息。如果在事件源的键中创建CustomSource
值,则EventCreate将使用该源
我在system32和子文件夹中搜索-只有EVENTCREATE.EXE和MSI.DLL包含字符串CustomSource
(这里看起来像MSI.DLL)。基于此,我们可以猜测这是EventCreate.exe内部的更快的东西-否则,其他一些系统二进制文件必须包含此字符串才能查询此值(不要认为它以编码形式包含)。它肯定只是EventCreate.exe的内部文件