Как использовать BSTR *

У меня есть значение out как BSTR * для интерфейса в C ++ COM dll. И я возвращаю это клиенту C # .Net. В моей функции C ++ я должен присвоить разные значения в соответствии с условием сравнения.

Например:

If my function is fun(BSTR* outval)
{
   // I have to assign a default value to it such as:
   *outval = SysAllocSTring(L"N");

   Then I will check for some DB conditions
   { 
     // And I have to allocate it according to that.
     // Do I need to again calling SysAllocString?
     eq.*outval = SySAllocString(DBVlaue);
   }
}

Что произойдет, если я вызову SysAllocSTring два раза для одного и того же BSTR? Как лучше всего справиться с этим?

6
задан ouflak 6 May 2014 в 11:40
поделиться