gpt4 book ai didi

c++ - 如何在没有内存泄漏的情况下登录 ISA Server 2006 C++ SDK

转载 作者:太空宇宙 更新时间:2023-11-04 14:22:10 25 4
gpt4 key购买 nike

我用 isa server 2006 SDK 编写了一个获取所有 session 日志信息的方法

主要代码在下面,我必须在 do-while() 中使用这段代码来获取所有 session 信息,但这一行会导致内存泄漏。

最后我释放了 FPCLib::IFPCLogEntryptr 的指针,但内存泄漏仍然存在。:(你能帮我解决这个问题吗?

FPCLib::IFPCLogEntryptr =  FPCLib::IFPCLogContentPtr::Item(index)         
.
. // reading informationsuch as ip, url , byte send , ....
.
FPCLib::IFPCLogEntryptr.release();



hr = LOGFilter.CreateInstance("FPC.FPCFilterExpressions");
hr = LOGFilter->put_FilterType(FPCLib::FpcFilterType::fpcNoFilterType);
FPClogviewer = FPCArray->LogViewer;
LOGContent = FPClogviewer->GetLogContentOnline();
LOGContent->ExecuteQuery(LOGFilter,EXECUTEROWCOUNT);
FPCLib::IFPCLogEntryPtr FPCLogEntry;
_bstr_t ClientIP;
int index= 0;
do
{
index ++ ;
FPCLogEntry = LOGContent->Item(_variant_t(index));
ClientIP = FPCLogEntry->ClientIP;
FPCLogEntry.Release();
}
while (1)

最佳答案

重点是这一行LOGContent->ExecuteQuery(LOGFilter,EXECUTEROWCOUNT);

第一步将do while改为for

second- EXECUTEROWCOUN 不能是大数,例如 1000000000

在 'for' 之后你必须使用 LOGContent->EndQuery()

如果你还需要LOGGING再次启动函数

关于c++ - 如何在没有内存泄漏的情况下登录 ISA Server 2006 C++ SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6641090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com