按其唯一标识符检索符号。
语法
HRESULT symbolById (
DWORD id,
IDiaSymbol** ppSymbol
);
参数
id
[in] 唯一标识符。
ppSymbol
[out] 返回表示检索到的符号的 IDiaSymbol 对象。
返回值
如果成功,则返回 S_OK
;否则,返回错误代码。
备注
指定标识符是由 DIA SDK 在内部使用的唯一值,用于使所有符号唯一。
例如,可以使用此方法来检索表示其他符号类型的符号(请参阅示例)。
示例
此示例检索表示其他符号类型的 IDiaSymbol。 此示例演示如何在会话中使用 symbolById
方法。 更简单的方法是调用 IDiaSymbol::get_type 方法来直接检索类型符号。
IDiaSymbol *GetSymbolType(IDiaSymbol *pSymbol, IDiaSession *pSession)
{
IDiaSymbol *pTypeSymbol = NULL;
if (pSymbol != NULL && pSession != NULL)
{
DWORD symbolTypeId;
pSymbol->get_typeId(&symbolTypeId);
pSession->symbolById(symbolTypeId, &pTypeSymbol);
}
return(pTypeSymbol);
}