LPCWSTR вместо BSTR?
От: rus blood Россия  
Дата: 09.11.04 15:01
Оценка: 9 (2) +2 -1
#Имя: FAQ.com.lpcwstr_or_bstr
Здравствуйте, ssm, Вы писали:

>насколько правомерным является передача в метод ожидающий BSTR, значения типа LPCWSTR?


Все зависит от наличия маршаллинга. Если компонент загружен inproc и используется "ранее связывание", то, скорее всего, строка будет передана и через LPWSTR. Если же имеется маршаллинг, то нужно конвертировать в BSTR. Маршаллер читает размер необходимого буфера из строки. У меня были случаи, когда вызов метода пытался захватить несколько гигов памяти из-за этой ошибки. Также, ошибка может быть "нестабильной" — как повезет.

Корректно все таки конвертировать в BSTR всегда.
Имею скафандр — готов путешествовать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.