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

C++ 尝试使用EvtSetChannelConfigProperty()函数更新最大事件日志文件大小时插入了错误的值,c++,windows,event-log,C++,Windows,Event Log,我正在尝试使用EvtSetChannelConfigProperty()函数更新事件日志的最大日志文件大小。我在执行或运行时没有收到错误。将更新最大日志文件大小。但它与我在程序中指定的不同 节目: UINT64 myvalue = 20544; EVT_VARIANT value; value.Count = 1; value.Type = EvtVarTypeUInt64; value.UInt64Arr = &myvalue; EVT_HANDLE hlog = EvtOpenCh

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

嗯,这是正确的。20544000字节=20062.5 KB。哦,是的。。。对不起。非常感谢您的帮助:)