Законно ли преобразовывать LPTSTR непосредственно в BSTR?
Основываясь на моем понимании BSTR , преобразование LPTSTR в BSTR напрямую оставит вас с поврежденный префикс длины. В примере кода явно указано, что строковый литерал не может быть сохранен в BSTR. Может ли кто-нибудь подтвердить мне, что LPTSTR / LPCTSTR не может быть преобразован напрямую в BSTR без повреждения префикса длины?
РЕДАКТИРОВАТЬ:
Меня смущает то, что я вижу, что это используется в вызове COM-объекта. Оказывается, при компиляции COM dll файл. tli создается промежуточный метод. Этот метод принимает тип _bstr_t
. _bstr_t
может принимать LPTSTR
в своем конструкторе, поэтому все работает без сбоев.