|
|
|
Hypertonyc |
|
||||||
Шустрый Профиль Группа: Участник Сообщений: 68 Регистрация: 19.10.2008 Репутация: нет Всего: нет |
День добрый!
Есть приложение(Сервер) на C++ в котором описаны классы
Метод GetSharedMemoryName принимает BSTR (wchar_t*), куда потом копирует wsSharedMemoryName:
Запускаю приложение(клиент)
И вызов pNamer->GetSharedMemoryName(str) возвращает ошибку E_OUTOFMEMORY и str никак не меняется( естественно ). Хотя если поставить брейкпоинт в сервере на memcpy, то видно, что том всё выполняется и копируется наура! Уверен, что есть какая-то мелочь, но какая |
||||||
|
|||||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Есть мелочь, и еще какая! Нельзя в поданную BSTR ничего копировать COM подсистема вполне может вклинится (и вклинивается) между вашим сервером и клиентом, а она не в курсе такого 'необычного' способа использования BSTR. Передавайте указатель на BSTR как [out] параметр PS. BSTR это не просто wchar_t*, у нее перед собственно телом лежит размер, в виде unsigned short |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |