Windows ETW未将事件记录到通道(事件日志)

Windows ETW未将事件记录到通道(事件日志),windows,winapi,visual-c++,event-log,etw,Windows,Winapi,Visual C++,Event Log,Etw,我正在做一个项目,用基于清单的事件测试ETW跟踪。我很难理解为什么我在日志文件中看不到任何事件 这是舱单: ..... 下面是通过消息编译器(MC.EXE)使用参数-um从清单生成的代码 运行此命令时没有警告或错误。我在上面运行了几次程序,它没有报告任何错误,一切似乎都正常 然后,我调查事件查看器,查看是否有任何事件已写入事件日志,并且其中没有任何事件 我是否错过了设置或参数 使用ETW写入事件日志(文件)需要什么 我找到了解决方案,您右键单击事件日志并选择“启用日志记录” #incl

我正在做一个项目,用基于清单的事件测试ETW跟踪。我很难理解为什么我在日志文件中看不到任何事件

这是舱单:


.....
下面是通过消息编译器(MC.EXE)使用参数-um从清单生成的代码

运行此命令时没有警告或错误。我在上面运行了几次程序,它没有报告任何错误,一切似乎都正常

然后,我调查事件查看器,查看是否有任何事件已写入事件日志,并且其中没有任何事件

  • 我是否错过了设置或参数

  • 使用ETW写入事件日志(文件)需要什么


我找到了解决方案,您右键单击事件日志并选择“启用日志记录”

#include "stdafx.h"

#include <windows.h>
#include <stdio.h>
#include <evntprov.h>

#include "WELTestManifest.h"


int main()
{
    ULONG ulRet = EventRegisterWELTest_Provider();
    if( ulRet != ERROR_SUCCESS )
    {
        printf( "EventRegisterWELTest_Provider returned with errror: %lu", ulRet );
        return 1;
    }

    ulRet= EventWriteEvent1();
    if( ulRet != ERROR_SUCCESS )
    {
        printf( "EventWriteEvent1 returned with errror: %lu", ulRet );
        return 1;
    }

    EventUnregisterWELTest_Provider();


    return 0;
}
wevtutil im WELTestManifest.man