共用方式為


IDiaSession::findChildrenExByAddr

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

語法

HRESULT findChildrenExByAddr (
   IDiaSymbol*       parent,
   SymTagEnum        symtag,
   LPCOLESTR         name,
   DWORD             compareFlags,
   DWORD             isect,
   DWORD             offset,
   IDiaEnumSymbols** ppResult
);

參數

parent

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

另請參閱