IDebugModule3::GetSymbolInfo
擷取一份要搜尋的符號,以及搜尋每個路徑的結果的路徑。
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
);
參數
dwFields
[in]從的旗標組合SYMBOL_SEARCH_INFO_FIELDS指定那一個欄位的列舉型別pInfo將會自動填入。pInfo
[] outA MODULE_SYMBOL_SEARCH_INFO結構,其成員的好填入這些指定的資訊。 如果這會是 null 值,則這個方法會傳回E_INVALIDARG。
傳回值
如果此方法將會成功,則會傳回S_OK。 否則,它會傳回錯誤碼。
注意事項 |
---|
傳回的字串 (在MODULE_SYMBOL_SEARCH_INFO結構) 可以是空的即使S_OK會傳回。在此情況下,沒有傳回搜尋資訊。 |
備註
如果bstrVerboseSearchInfo欄位的MODULE_SYMBOL_SEARCH_INFO結構不是空的則它將包含的路徑搜尋和搜尋結果的清單。 清單的路徑,後面接著省略符號 ("..."),後面接著結果格式。 如果有一個以上的路徑結果組,以"\r\n"(「 換行字元復/換行 」) 對分隔每個配對。 此模式如下所示:
<path>...<result> \r\n <path>...<result> \r\n <path>...<result>
請注意最後一個項目沒有 \r\n 序列。
範例
在這個範例中,這個方法會傳回具有三個不同的搜尋結果的三個路徑。 每一行便會終止使用復位/換行組。 範例輸出只會列印為單一字串的搜尋結果。
注意事項 |
---|
狀態結果是緊接的"..."回到行結尾的所有項目。 |
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;
}
}
}