IDiaSession::symbolById

由其唯一标识符检索符号。

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);
}

请参见

参考

IDiaSession

IDiaSymbol

IDiaSymbol::get_type