Вы должны использовать BSTR
.Также нет const
.Определяя аргумент как [in]
, уже понятно, что вызываемый не будет изменять строку, и даже если она изменилась, он не будет маршалирован обратно вызывающей стороне.
_bstr_t
класс поможет с конвертацией.Обратите внимание, что BSTR
всегда основан на WCHAR
, который является 16-битным.Таким образом, используйте std::wstring
.