Поделиться через


Метод ITypeLib::GetTypeInfo (oaidl.h)

Возвращает описание заданного типа из библиотеки.

Синтаксис

HRESULT GetTypeInfo(
  [in]  UINT      index,
  [out] ITypeInfo **ppTInfo
);

Параметры

[in] index

Индекс возвращаемого интерфейса.

[out] ppTInfo

В случае успешного выполнения возвращает указатель на интерфейс ITypeInfo .

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Код возврата Описание
S_OK
Успешно.
TYPE_E_ELEMENTNOTFOUND
Параметр index находится за пределами диапазона GetTypeInfoCount — 1.
E_INVALIDARG
Один или несколько аргументов недопустимы.
E_OUTOFMEMORY
Недостаточно памяти для завершения операции.

Комментарии

Для двойных интерфейсов GetTypeInfo возвращает только сведения о типе TKIND_DISPATCH. Чтобы получить сведения о типе TKIND_INTERFACE, можно вызвать GetRefTypeOfImplType для сведений о типе TKIND_DISPATCH, передав индекс –1. Затем возвращенный дескриптор сведений о типе можно передать в GetRefTypeInfo.

Примеры

В следующем примере возвращается информация о типе TKIND_INTERFACE для двойного интерфейса.

HRESULT hr;
hr = ptlib->GetTypeInfo((unsigned int) dwIndex, &ptypeinfoDisp);
if (FAILED(hr)) {
   //free resources
   return hr;
}
hr = ptypeinfoDisp->GetRefTypeOfImplType(-1, &phreftype);
if (FAILED(hr)) {
   //free resources
   return hr;

hr = ptypeinfoDisp->GetRefTypeInfo(phreftype, &ptypeinfoInt);
if (FAILED(hr)) {
   //free resources
   return hr;

// 

Требования

Требование Значение
Целевая платформа Windows
Header oaidl.h

См. также раздел

ITypeLib