IDebugModule3 : : GetSymbolInfo
Extrait une liste de chemins d'accès qui se trouvent les symboles ainsi que les résultats de la recherche chaque chemin d'accès.
HRESULT GetSymbolInfo(
SYMBOL_SEARCH_INFO_FIELDS dwFields,
MODULE_SYMBOL_SEARCH_INFO* pInfo
);
int GetSymbolInfo(
enum_SYMBOL_SEARCH_INFO_FIELDS dwFields,
MODULE_SYMBOL_SEARCH_INFO[] pinfo
);
Paramètres
dwFields
[in] Une combinaison des balises de spécifier d'énumération de SYMBOL_SEARCH_INFORMATION_FIELDS les champs d' pInfo doivent être effectués.pInfo
[out] Une structure de MODULE_SYMBOL_SEARCH_INFORMATION dont les membres doivent être effectués avec les informations spécifiées. S'il s'agit d'une valeur NULL, retourne E_INVALIDARGde cette méthode.
Valeur de retour
Si la méthode réussit, elle retourne S_OK; sinon, elle retourne un code d'erreur.
Notes
La chaîne retournée (dans la structure d' MODULE_SYMBOL_SEARCH_INFO ) peut être vide même si S_OK est retourné.Dans ce cas, il n'y avait aucune information de recherche à retourner.
Notes
Si le champ d' bstrVerboseSearchInfo de la structure d' MODULE_SYMBOL_SEARCH_INFO n'est pas vide, il contient une liste de chemins d'accès trouvés et les résultats de cette recherche. La liste est mise en forme avec un chemin d'accès, suivi des points de suspension ("… "), puis le résultat. S'il existe plusieurs paires de résultat de chemin d'accès, chaque paire est séparée par une paire « \ r \ n » (retour chariot/saut de ligne). le modèle ressemble à ceci :
<path> … <result> … \ r \ <path> n <result> \ r \ n <path> … <result>
Notez que la dernière entrée n'a pas une séquence de \ r \ n.
Exemple
Dans cet exemple, cette méthode retourne trois chemins d'accès avec trois résultats de la recherche différents. chaque ligne est terminée avec une paire de retour chariot/saut de ligne. La sortie de l'exemple imprime uniquement des résultats de la recherche comme une chaîne unique.
Notes
Le résultat d'état est tout immédiatement après « … » jusqu'à la fin de la ligne.
void ShowSymbolSearchResults(IDebugModule3 *pIDebugModule3)
{
MODULE_SYMBOL_SEARCH_INFO ssi = { 0 };
HRESULT hr;
hr = pIDebugModule3->GetSymbolInfo(SSIF_VERBOSE_SEARCH_INFO,&ssi);
if (SUCCEEDED(hr)) {
CComBSTR searchInfo = ssi.bstrVerboseSearchInfo;
if (searchInfo.Length() != 0) {
std::wcout << (wchar_t *)(BSTR)searchInfo;
std::wcout << std::endl;
}
}
}
Voir aussi
Référence
SYMBOL_SEARCH_INFORMATION_FIELDS