IDiaEnumSymbols
列舉各種資料來源中所包含的符號。
IDiaEnumSymbols : IUnknown
方法 Vtable 順序
下表顯示的方法IDiaEnumSymbols。
方法 |
描述 |
---|---|
擷取IEnumVARIANT Interface版的這個列舉值。 |
|
擷取符號的數目。 |
|
擷取的索引的符號。 |
|
擷取指定的列舉型別序列中的符號數目。 |
|
略過指定的數目的列舉型別序列中的符號。 |
|
將列舉型別序列重設至開頭。 |
|
建立列舉值,包含目前的列舉值的列舉型別狀態。 |
備註
這個介面會提供透過特定類型的符號,例如,分組的符號SymTagUDT (使用者定義的型別) 或SymTagBaseClass。 若要使用位址來分組的符號,請使用IDiaEnumSymbolsByAddr介面。
呼叫者的備忘稿
取得這個介面,藉由呼叫下列方法:
範例
本範例示範如何取得IDiaEnumSymbols介面,然後使用 [清單使用者定義型別 (Udt) 該列舉型別。
![]() |
---|
CDiaBSTR是一個類別,會換行BSTR ,並自動處理具現化超出範圍時,請釋出的字串。 |
void ShowUDTs(IDiaSymbol *pGlobals)
{
CComPtr<IDiaEnumSymbols> pEnum;
CComPtr<IDiaSymbol> pSymbol;
HRESULT hr;
hr = pGlobals->findChildren(SymTagUDT,
NULL,
nsfCaseInsensitive | nsfUndecoratedName,
&pEnum);
if (hr == S_OK)
{
while ( SUCCEEDED( hr = pEnum->Next( 1, &pSymbol, &celt ) ) &&
celt == 1 )
{
CDiaBSTR name;
if ( pSymbol->get_name( &name ) != S_OK )
Fatal( "get_name" );
printf( "Found UDT: %ws\n", name );
pSymbol = 0;
}
}
}
需求
標頭: Dia2.h
媒體櫃: diaguids.lib
DLL: msdia80.dll
請參閱
參考
IDiaSourceFile::get_compilands