ITypeLib::FindName 方法 (oaidl.h)

在类型库中查找类型说明的匹配项。 这可用于快速验证类型库中是否存在名称。

语法

HRESULT FindName(
  [in, out] LPOLESTR  szNameBuf,
  [in]      ULONG     lHashVal,
  [out]     ITypeInfo **ppTInfo,
  [out]     MEMBERID  *rgMemId,
  [in, out] USHORT    *pcFound
);

参数

[in, out] szNameBuf

要搜索的名称。

[in] lHashVal

用于加速搜索的哈希值,由 LHashValOfNameSys 函数计算。 如果 lHashVal = 0,则计算值。

[out] ppTInfo

指向包含 szNameBuf 中指定的名称的类型说明的指针数组。 此参数不可以为 null。

[out] rgMemId

找到的项的数组; rgMemId[i] 是为 ppTInfo[i] 指定的类型说明编制索引的 MEMBERID。 此参数不可以为 null。

[in, out] pcFound

在进入时指示要查找的实例数。 例如,可以调用 *pcFound = 1 来查找第一个匹配项。 当找到搜索时,搜索将停止。

在退出时指示找到的实例数。 如果 *pcFound 的输入值和输出值相同,则可能有更多的类型说明包含名称。

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK
成功。
E_INVALIDARG
一个或多个参数无效。
E_OUTOFMEMORY
内存不足,无法完成操作。

注解

传递 *pcFound = n 表示 ppTInforgMemId 数组中有足够的空间用于 n (ptinfomemid) 对。 如果 szNameBuf 中的名称是 ppTInfo[i] 中类型信息的名称,则函数返回 rgMemId[i]中的MEMBERID_NIL。

要求

要求
目标平台 Windows
标头 oaidl.h

另请参阅

ITypeLib