IDebugHostModule2::FindTypeByName 方法 (dbgmodel.h)

FindTypeByName 方法通过类型名称查找模块中定义的类型,并为其返回类型符号。 此方法可能会返回有效的 IDebugHostType,该类型永远不会通过模块的子级的显式递归返回。 调试主机可能允许创建派生类型 -- 模块本身中从未使用过的类型,但派生自这些类型。 例如,如果在模块的符号中定义了 MyStruct 结构,但从未使用过 MyStruct 类型,FindTypeByName 方法可能会合法地返回 MyStruct 的类型符号 **,尽管该类型名称从未在模块的符号中显式显示。

许多调试主机将显式尝试上下文化传递给 FindTypeByName 方法的类型名称,并根据语言规则查找符号信息中的匹配类型,而不是与符号名称进行原始比较。 如果调试主机无法执行此作,它将回退到与符号名称的原始比较。

语法

HRESULT FindTypeByName(
  PCWSTR         typeName,
  IDebugHostType **type
);

参数

typeName

在模块的符号信息中找到的语言类型。 该类型也可以派生自(例如:指向或数组)在模块的符号信息中找到的类型。

type

此处将返回找到类型的类型符号。

返回值

此方法返回 HRESULT,指示成功或失败。

言论

示例代码

ComPtr<IDebugHostModule> spModule; /* get a module (see FindModuleByName) */

// Find "MyStruct **".  Note that only "MyStruct" might be in the symbols
ComPtr<IDebugHostType> spType;
if (SUCCEEDED(spModule->FindTypeByName(L"MyStruct **", &spType)))
{
    // spType contains a type symbol for "MyStruct **"
}

要求

要求 价值
标头 dbgmodel.h

另请参阅

IDebugHostModule2 接口