Но вот вопрос ... почему бы не обойтись в простых случаях без этого вызова, когда передаются _простые_ данные, например, типа long, int и т.д?
Например, у COM интерфейса есть некий метод get_Item ( VARIANT index /* long */, ... ).
Почему бы не поставить // коментарий в коде:
Код: Выделить всё
for ( int i = 0; i < cItems; i ++ )
{
VARIANT varIndex;
//::VariantInit( &varIndex );
varIndex.vt = VT_I4;
varIndex.lVal = long ( i );
HRESULT hr =pISomeInterface->get_Item( varIndex, &Ifld ) ;
<skip>
}