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 |