Если вы # импортируете dll (что я рекомендую при работе с COM, потому что это делает вашу жизнь намного проще), вы можете использовать умный указатель в паре с CLSID объекта. Помните, что классы интеллектуальных указателей имеют после исправления имя Ptr после имени интерфейса.
Например:
ISomeInterfacePtr pSomeInterface( CLSID_SomeComponent );
HRESULT hr = pSomeInterface->SomeMethod();
Надеюсь, это поможет.
РЕДАКТИРОВАТЬ: Если вы хотите проверить HRESULT распределения, вы можете сделать следующее:
ISomeInterfacePtr pSomeInterface = 0;
HRESULT hr = pSomeInterface.CreateInstance( CLSID_SomeComponent );