Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

DLL не возвращает строку - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Изображения, бинарные и текстовые файлы http://www.cyberforum.ru/cpp-beginners/thread942128.html
Доброго времени суток. подскажите как можно получить из видео или картинки файл формата txt или dat ?? Вот пример, где пытаюсь вывести на экран инфу о картинке, но это что-то не то. Если изменить...
C++ Json Spirit и VS2012 Прошу помощи у знающих. Необходимо прикрутить Json Spirit к Visual Studio 2012. Сам Json брал отсюда: ... http://www.cyberforum.ru/cpp-beginners/thread942126.html
Динамический массив из char C++
Скриншот с ошибкой int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL, "Russian"); char * alphabet; int index = 0; for (char letter = 'A', index = 0; letter <= 'Z'; letter++,...
Игра C++
Есть вопрос, но не знаю даже как правильно спросить. Написал логику игры "Змейка". Теперь переношу на WinApi (писал на консоль). Вроде всё пашет, но хочется "причесать код". Вопрос....
C++ Заполнить map http://www.cyberforum.ru/cpp-beginners/thread942073.html
Как заполнить этот "мар" несколькими значениями к фамилии? #include<iostream> using namespace std; #include<vector> #include <map> #include <string> void main() vector <int>v1 (3,4) ;
C++ Отличие bind2nd от binder2nd Привет. Чем отличается bind2nd (1st) от binder2nd (1st)? Первый - функция, а второй - функтор? Спасибо. подробнее

Показать сообщение отдельно
Убежденный
Системный программист
Эксперт С++
15633 / 7143 / 1130
Регистрация: 02.05.2013
Сообщений: 11,582
Записей в блоге: 1
Завершенные тесты: 1
23.08.2013, 13:21
Xu4xOK, если вы работаете с COM, то для строк должны использовать
специальный тип BSTR, а не указатель на char или wchar_t. COM-строка, в отличие
от char/wchar_t, хранит к-во символов и может передаваться через границы процессов.

Например, вот описание метода, принимающего BSTR:
Код
interface IMyIface : IDispatch
{
    HRESULT SomeMethod([in] BSTR Data);
};
А вот свойство, возвращающее BSTR:
Код
interface IMyIface : IDispatch
{
    [propget] HRESULT name([out, retval] BSTR *Data);
};
И, соответственно, его реализация:
C++
1
2
3
4
5
HRESULT _stdcall CMyIFace::get_name(BSTR *Data)
{
    *Data = SysAllocString(L"This is a name of object.");
    return S_OK;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru