这应该怎么正确地做:
_bstr_t description;
errorInfo->GetDescription( &description.GetBSTR() );
或:_bstr_t description;
errorInfo->GetDescription( description.GetAddress() );
函数 IError:GetDescription
的定义如下:
HRESULT GetDescription (BSTR *pbstrDescription);
我知道我可以很容易地做到这一点:
BSTR description= SysAllocString (L"Whateva"));
errorInfo->GetDescription (&description);
SysFreeString (description);
感谢
Attach()
而不是赋值运算符吗? - Afriza N. AriefGetDescription
使用SysAllocString
为temp
分配内存,但是该内存从未被释放。你必须调用SysFreeString(temp)
或者确保wrap
附加到该内存并释放它。 - abelenky