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