Не удается пока сделать экземпляр класса ISLMSConnection. Проблема в переводе вот этой строки на Visual C++:
Код: Выделить всё
// создать сервер для связи
ResultCode=CoSLMSConnection::Create(Connection);
Код: Выделить всё
ISLMSConnection *Connection;
ISLMSQueue *Queue;
SLMSErrorCode ErrorCode;
HRESULT ResultCode;
1. Откуда префикс Co взялся? Фишка компилятора от Borland или самой технологии?
2. Решил сделать вот такую штуку:
Код: Выделить всё
CLSID clsid;
HRESULT hr = CLSIDFromProgID(L"SLMessageQueue2Lib.SLMSServer", &clsid);
if(FAILED(hr)) {
::MessageBoxW(NULL, L"CLSIDFromProgID() failed", L"Error", 0x10010);
return 0;
}
3. Какая вообще суть в "CoSLMSConnection::Create"? Что происходит при выполнении хотя бы примерно? Чтение документации по COM не дало понимания, пробовал CoCreateInstance, но безрезультатно.
Вопросы, наверно, слишком глупые, но очень не хочется разбивать программу на два модуля, один из которых был бы на C# (пример из SDK), а другой на Visual C++/GCC с сокетами между ними.