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