Re[3]: использование LPTSTR в COM
От: Vi2 Удмуртия http://www.adem.ru
Дата: 23.05.02 07:36
Оценка:
Здравствуйте Vaso, Вы писали:

V>Позволю себе не согласиться с таким объяснением. MIDL compiler корректно транспортирует строки по указателям. В том числе в составе структур, нужно лишь построить и зарегистрировать dll заглушки — прокси. Я не пробовал проверять это при исползовании #import, хотя не думаю, чтобы там что-то помешало нормальному ходу процесса.


Чем отличается в IDL-файле такие описания (WIN32):
[...] HRESULT func( [in] LPWSTR buf )
от
[...] HRESULT func( [in] unsigned short* buf )
или от
[...] HRESULT func( [in] BSTR buf )

И сколько информации будет передаваться ЛЮБЫМ маршаллером при таком описании?
Первые два случая вообще эквиваленты — передаются 2 байта, причём любым маршаллером, а третий отличается, потому как MIDL не равнодушен именно к имени "BSTR", хотя оно тоже "unsigned short*".

Поэтому выход, правильно предложенный Sergey:
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.