IDiaSession::findChildrenExByAddr
擷取符合名稱和符號類型之指定父標識碼的所有子系,包括優化的局部變數、包含或最接近指定地址的子系。
語法
HRESULT findChildrenExByAddr (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
DWORD isect,
DWORD offset,
IDiaEnumSymbols** ppResult
);
參數
parent
[in] 代表父代的 IDiaSymbol 的物件。 如果這個父符號是函式、模組或區塊,則會在 ppResult
中傳回其語彙子系。 如果父符號是類型,則會傳回其類別子系。 如果此參數是 NULL
,則必須將 symtag
設定為 SymTagExe
或 SymTagNull
,而會傳回全域範圍 (.exe 檔案)。
symtag
[in] 指定要擷取之子系的符號標籤。 值取自 SymTagEnum
列舉 列舉。 設定為 SymTagNull
以擷取所有子系。
name
[in] 指定要擷取之子系的名稱。 為要擷取的所有子系設定為 NULL
。
compareFlags
[in] 指定適用於名稱比對的比較選項。 NameSearchOptions
列舉列舉中的值可以單獨或結合使用。
isect
[in] 指定位址的區段元件。
offset
[in] 指定位址的位移元件。
ppResult
[out]傳 IDiaEnumSymbols
回 物件,其中包含擷取的子符號清單。
傳回值
如果成功,則會傳回 S_OK
;否則,會傳回錯誤碼。
範例
下列範例示範如何尋找符合名稱和 szVarName
位於 位址isect:offset
之函式的pFunc
局部變數。
IDiaEnumSymbols* pEnum;
pSession->findChildrenExByAddr( pFunc, SymTagData, szVarName, nsCaseSensitive, isect, offset, &pEnum );