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
@JaredPar COM 프로그래밍을 잘 모릅니다. 죄송합니다, 내 의견을 삭제합니다 :) – Mahesh
Mahesh가 방금 전한 COM에 대한 일반적인 오해로 인해 Windows에서 메모리 누수가 너무 많습니다. 이 MSDN 설명하는 것이 더 좋았 으면 좋겠어 ... – ahmd0