尝试使用EvtSetChannelConfigProperty()函数更新最大事件日志文件大小时插入了错误的值

时间:2018-08-27 11:45:06

标签: c++ windows event-log

我正在尝试使用EvtSetChannelConfigProperty()函数来更新事件日志的最大日志文件大小。在执行或运行期间我没有收到错误。最大日志文件大小已更新。但这与我在程序中指定的不同。

程序:

UINT64 myvalue = 20544;
EVT_VARIANT value;
value.Count = 1;
value.Type = EvtVarTypeUInt64;
value.UInt64Arr = &myvalue;

EVT_HANDLE hlog = EvtOpenChannelConfig(NULL, L"Security", 0);
BOOL check = EvtSetChannelConfigProperty(hlog, EvtChannelLoggingConfigMaxSize, 0, &value);
check = EvtSaveChannelConfig(hlog, 0);

if (hlog)
    EvtClose(hlog);

1 个答案:

答案 0 :(得分:1)

看起来您正在将属性设置为变量的 pointer ,而不是其 value

代替

value.UInt64Arr = &myvalue;

尝试

value.UInt64Val = myvalue;