BSTR - это строковый тип данных, используемый с COM.
_bstr_t - класс оболочки, который работает как интеллектуальный указатель, поэтому он освобождает выделенную память при уничтожении переменной или выходе из нее. _bstr_t также имеет подсчет ссылок, который увеличивается каждый раз, когда вы передаете переменную _bstr_t по значению (избегая ненужной копии) и уменьшаетесь, когда он больше не используется. Всякий раз, когда все ссылки уничтожаются, выделенная память для строки освобождается.
Альтернативой BSTR является CComBSTR. Он также управляет памятью для BSTR, но не имеет подсчета ссылок.
+1 для фактического предоставления ссылок – 2012-05-23 19:12:08