Re[2]: Блок памяти в BSTR и обратно.
От: Аркадий Россия  
Дата: 20.10.08 18:10
Оценка:
Здравствуйте, Юрий Жмеренецкий, Вы писали:

ЮЖ>Здравствуйте, Бабаев Аркадий Леонидович, Вы писали:


БАЛ>>Здравствуйте. BSTR хранит информацию о своей длине, поэтому через BSTR можно передавать строки, в том числе содержание '\0'.

БАЛ>>Собственно у меня есть задача, необходимо кучу байтов (CharHeap, там могут быть нулевые символы) переделать в BSTR, а потом обратно.

ЮЖ>Вообще "The preferred method of passing binary data is to use a SAFEARRAY of VT_UI1, which will not be translated by OLE."

ЮЖ>но если очень нужно, то см. SysAllocStringByteLen: "This function is provided to create BSTRs that contain binary data."

Это да, а как конвертировать из BSTR в char*?

ЗЫ: про SAFEARRAY of VT_UI1 я как-то упустил, спасибо, что глаза мне открыли, я думал именно BSTRом оно и передается...
С уважением, Аркадий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.