共用方式為


IDiaSession::findChildrenExByRVA

擷取符合名稱和符號類型之指定父標識碼的所有子系,包括優化的局部變數、包含或最接近指定相對虛擬位址 (RVA) 的局部變數。

語法

HRESULT findChildrenExByRVA (
   IDiaSymbol*       parent,
   SymTagEnum        symtag,
   LPCOLESTR         name,
   DWORD             compareFlags,
   DWORD             rva,
   IDiaEnumSymbols** ppResult
);

參數

parent

[in] 一個代表父代的 IDiaSymbol 物件。 如果這個父符號是函式、模組或區塊,則會在 ppResult 中傳回其語彙子系。 如果父符號是類型,則會傳回其類別子系。 如果此參數是 NULL,則必須將 symtag 設定為 SymTagExeSymTagNull,而會傳回全域範圍 (.exe 檔案)。

symtag

[in] 指定要擷取之子系的符號標籤。 值取自 SymTagEnum 列舉 列舉。 設定為 SymTagNull 以擷取所有子系。

name

[in] 指定要擷取之子系的名稱。 為要擷取的所有子系設定為 NULL

compareFlags

[in] 指定適用於名稱比對的比較選項。 NameSearchOptions列舉列舉中的值可以單獨或結合使用。

rva

[in] 指定 RVA。

ppResult

[out]傳 IDiaEnumSymbols 回 物件,其中包含擷取的子符號清單。

傳回值

如果成功,則會傳回 S_OK;否則,會傳回錯誤碼。

範例

下列範例示範如何尋找符合相對虛擬位址 名稱之函pFunc式的局部變數rvaszVarName

IDiaEnumSymbols* pEnum;
pSession->findChildrenExByRVA( pFunc, SymTagData, szVarName, nsCaseSensitive, rva, &pEnum );

另請參閱