问题描述
我正在尝试为在驱动程序中声明的TraceLogging提供者创建实时使用者:
TRACELOGGING_DECLARE_PROVIDER(g_etwProvider);
TRACELOGGING_DEFINE_PROVIDER(g_etwProvider,"TraceLoggingProvider",(/*my guid*/));
用户模式提供者:
EVENT_TRACE_LOGFILEA etwTraceSettings{};
char loggerName[]{"TraceLoggingProvider"};
etwTraceSettings.LoggerName = loggerName;
etwTraceSettings.ProcessTraceMode = PROCESS_TRACE_MODE_REAL_TIME | PROCESS_TRACE_MODE_EVENT_RECORD;
etwTraceSettings.EventRecordCallback = MyCallback;
TRACEHANDLE traceHandle = OpenTraceA(&etwTraceSettings);
ProcessTrace(&traceHandle,1,nullptr,nullptr);
ProcessTrace返回ERROR_WMI_INSTANCE_NOT_FOUND
。我究竟做错了什么?
我尝试在驱动程序中的ProcessTrace
之前和之后调用TraceLoggingRegister
。结果是一样的。
例如,logman可以在提供者注册之前创建会话。我也想这样做我该怎么办?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)