¿Cuál es la forma correcta de hacer esto:Usando _bstr_t pasar parámetro de tipo BSTR * en función de
_bstr_t description;
errorInfo->GetDescription(&description.GetBSTR());
o:
_bstr_t description;
errorInfo->GetDescription(description.GetAddress());
donde se define IError:GetDescription
como:
HRESULT GetDescription (BSTR *pbstrDescription);
Sé que podría hacer esto fácilmente:
BSTR description= SysAllocString (L"Whateva"));
errorInfo->GetDescription (&description);
SysFreeString (description);
Gracias
+1, la charla del BSTR de _bstr_t compartida por otras instancias me desactivó cualquier cosa que pudiera asignársele directamente. –
¿no debería usar 'Adjuntar()' en lugar de operador de asignación? –
Como se muestra, la función 'GetDescription' asigna memoria a' temp' con 'SysAllocString', y esa memoria nunca se libera. O bien, debe llamar a 'SysFreeString (temp)', o asegurarse de que 'wrap' se una a esa memoria y la libere. – abelenky