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 **"
}
要求
要求 | 值 |
---|---|
Header | dbgmodel.h |