1
我在C++中有以下代碼。我需要釋放'varDest'變量嗎?VariantChangeType後需要調用VariantClear
VARIANT val;
if(SUCCEEDED(classObj->Get(pwPropName, 0, &val, NULL, 0))) //WMI property retrieval
{
//Then at some point
VARIANT varDest;
varDest.vt = VT_EMPTY;
if(SUCCEEDED(::VariantChangeType(&varDest,
const_cast<VARIANT *>(&val), 0, VT_BSTR)))
{
//Do I need to call the following?
VariantClear(&varDest);
}
VariantClear(&val);
}
@Mahesh COM有獨立於'new/delete'的特殊內存管理規則。 – JaredPar 2012-02-14 21:06:23
@JaredPar我不知道COM編程。對不起,將刪除我的評論:) – Mahesh 2012-02-14 21:07:46
由於Mahesh剛纔表達的關於COM的這種常見誤解,Windows充滿了內存泄漏。我希望MSDN更好地解釋這... – ahmd0 2012-02-14 21:08:43