IDiaSession::symbolById
Recupera un símbolo por su identificador único.
HRESULT symbolById (
DWORD id,
IDiaSymbol** ppSymbol
);
id
[in] Identificador único.
ppSymbol
[out] Devuelve un objeto IDiaSymbol que representa el símbolo recuperado.
Si la operación se realiza correctamente, devuelve S_OK
; de lo contrario, devuelve un código de error.
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).
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);
}