Как передать строку из C # в COM C ++? Я сделал для INT, и он работает нормально.
Мой код COM C ++ для типа возвращаемого значения int:
void ServiceAdapter::GetErrorCode1234()
{
long x;
m_server->GetErrorCodeOnLoginFailure(&x);
//So I get my return code value in x;
}
Мой код C # для типа возвращаемого значения int:
Так из C # я звоню вот так:
int GetErrorCodeOnLoginFailure()
{
return 3 //some return code
}
Но если я сделаю то же самое для возврата String, код будет зависать во время выполнения.
Мой код COM C ++ для типа возвращаемого значения:
BSTR ServiceAdapter::GetVersion1234()
{
BSTR x = :SysAllocString(CCTIUtils:stringToBSTR(L""));
m_server->GetAdapterVersion(&x); // The code is crashing here.
return x;
}
Мой код C # для типа возвращаемого значения:
string GetAdapterVersion () {return "6.4.23"; }
В чем проблема?