Lianglf_73 2016-09-27 02:02 采纳率: 0%
浏览 754

请教个内存泄漏的问题

LONG OnCommRead_ReadDevice_2(LPOLESTR keyStr,INT TYPE)
{
LONG retValue=0;
LPDWORD lpdwLength;
lpdwLength = new DWORD[1];
lpdwLength[0] = 1;
// 参数4
LPDWORD lpdwValue;
lpdwValue = new DWORD[1]; //??????
LONG SetDevice_lRet = 0;
hr = m_pezDevice->ReadDevice(lpdwLength,&lpdwValue,&SetDevice_lRet);
if (hr != S_OK)
{
// 在未连接的情况下,
wprintf(L"Can't ReadDevice Y! Error Code = 0x%x¥n",SetDevice_lRet);
mintTcpQAFlag++;
retValue= 2;
}
else
{
wprintf(L"ReadDevice Y OK! \n");
wprintf(L"\n");
//retValue=(LONG)*lpdwValue; // 便于向外面传递数据
}
delete[] lpdwLength;
delete[] lpdwValue;

lpdwLength=NULL;
lpdwValue=NULL;

return retValue;

}

运行后发现内存泄漏 ,是这个变量,如何解决?

  • 写回答

3条回答 默认 最新

  • oyljerry 2016-09-27 03:31
    关注

    lpdwValue 有对应的释放,是不是还有其他地方没有释放了。并不一定是这个位置。

    评论

报告相同问题?