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 |