Compartir a través de


IDiaSession::symbolById

Recupera un símbolo por su identificador único.

Sintaxis

HRESULT symbolById (
    DWORD        id,
    IDiaSymbol** ppSymbol
);

Parámetros

id

[in] Identificador único.

ppSymbol

[out] Devuelve un objeto IDiaSymbol que representa el símbolo recuperado.

Valor devuelto

Si la operación se realiza correctamente, devuelve S_OK; de lo contrario, devuelve un código de error.

Comentarios

El identificador especificado es un valor único que Debug Interface Access SDK usa internamente para que todos los símbolos sean únicos.

Este método se puede usar, por ejemplo, para recuperar el símbolo que representa el tipo de otro símbolo (consulte el ejemplo).

Ejemplo

En este ejemplo se recupera un IDiaSymbol que representa el tipo de otro símbolo. En este ejemplo siguiente se muestra cómo utilizar el método symbolById de la sesión: Un enfoque más sencillo es llamar al método IDiaSymbol::get_type para recuperar el símbolo de tipo directamente.

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

Consulte también