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类型信息,可以对TKIND_DISPATCH类型信息调用 GetRefTypeOfImplType ,并传递 –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
标头 oaidl.h

另请参阅

ITypeLib