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

Wrong value inserted while trying to update the maximum event log file size using EvtSetChannelConfigProperty() function

我正在尝试使用 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);

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

而不是

value.UInt64Arr = &myvalue;

尝试

value.UInt64Val = myvalue;