В этом случае экземпляр CComBSTR
создает независимую копию. Вам нужно будет вручную освободить myBSTR
, чтобы избежать утечки.
Самый простой подход для исправления этого сценария - пропустить посредника SysAllocString
function
CComBSTR myCComBSTR = L"MYBSTR";
С другой стороны, если у вас есть BSTR
и вы хотите получить его CComBSTR
, то используйте метод attach. Этот метод переносит владение ресурсом из источника BSTR
в экземпляр CComBSTR
.
CComBSTR myCComBSTR;
myCComBSTR.Attach(myBSTR);