IDebugHostModule2::FindTypeByName 方法 (dbgmodel.h)
FindTypeByName 方法會依類型名稱尋找模組內定義的類型,併為其傳回類型符號。 這個方法可能會傳回有效的 IDebugHostType ,永遠不會透過模組的子系明確遞歸傳回。 偵錯主機可能會允許建立衍生型別 -- 模組本身未使用的類型,但衍生自的類型。 例如,如果結構 MyStruct 定義於模組的符號中,但永遠不會使用 MyStruct 類型 **,則 FindTypeByName 方法可能會合法傳回 MyStruct 的型別符號 **,即使該類型名稱從未明確出現在模組的符號中。
許多偵錯主機都會明確嘗試將傳遞至 FindTypeByName 方法的類型名稱內容化,並根據語言規則在符號資訊中尋找相符的類型,而不是與符號名稱的原始比較。 如果偵錯主機無法執行這項操作,它會回復為與符號名稱的原始比較。
語法
HRESULT FindTypeByName(
PCWSTR typeName,
IDebugHostType **type
);
參數
typeName
在模組的符號資訊中尋找的語言類型。 此類型也可能衍生自 (例如:為指標或) 模組符號資訊中找到的類型陣列。
type
找到類型的類型符號將會在這裡傳回。
傳回值
這個方法會傳回 HRESULT,表示成功或失敗。
備註
範例程式碼
ComPtr<IDebugHostModule> spModule; /* get a module (see FindModuleByName) */
// Find "MyStruct **". Note that only "MyStruct" might be in the symbols
ComPtr<IDebugHostType> spType;
if (SUCCEEDED(spModule->FindTypeByName(L"MyStruct **", &spType)))
{
// spType contains a type symbol for "MyStruct **"
}
規格需求
需求 | 值 |
---|---|
標頭 | dbgmodel.h |