Skip to content

Commit 04de9bf

Browse files
authored
Merge pull request #3920 from Jak-MS/public-repo-2407
[PUBLIC_MOVE] Pulling commits from public PR #2407
2 parents e2520f3 + 0ebb798 commit 04de9bf

File tree

1 file changed

+79
-79
lines changed

1 file changed

+79
-79
lines changed

docs/debugger/debug-interface-access/idiaenumsymbols.md

Lines changed: 79 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -2,92 +2,92 @@
22
title: "IDiaEnumSymbols | Microsoft Docs"
33
ms.date: "11/04/2016"
44
ms.topic: "conceptual"
5-
dev_langs:
5+
dev_langs:
66
- "C++"
7-
helpviewer_keywords:
7+
helpviewer_keywords:
88
- "IDiaEnumSymbols interface"
99
ms.assetid: 649f7bfd-86ac-49a5-8533-aff77e1bc62e
1010
author: "mikejo5000"
1111
ms.author: "mikejo"
1212
manager: jillfra
13-
ms.workload:
13+
ms.workload:
1414
- "multiple"
1515
---
1616
# IDiaEnumSymbols
17-
Enumerates the various symbols contained in the data source.
18-
19-
## Syntax
20-
21-
```
22-
IDiaEnumSymbols : IUnknown
23-
```
24-
25-
## Methods in Vtable Order
26-
The following table shows the methods of `IDiaEnumSymbols`.
27-
28-
|Method|Description|
29-
|------------|-----------------|
30-
|[IDiaEnumSymbols::get__NewEnum](../../debugger/debug-interface-access/idiaenumsymbols-get-newenum.md)|Retrieves the `IEnumVARIANT Interface` version of this enumerator.|
31-
|[IDiaEnumSymbols::get_Count](../../debugger/debug-interface-access/idiaenumsymbols-get-count.md)|Retrieves the number of symbols.|
32-
|[IDiaEnumSymbols::Item](../../debugger/debug-interface-access/idiaenumsymbols-item.md)|Retrieves a symbol by means of an index.|
33-
|[IDiaEnumSymbols::Next](../../debugger/debug-interface-access/idiaenumsymbols-next.md)|Retrieves a specified number of symbols in the enumeration sequence.|
34-
|[IDiaEnumSymbols::Skip](../../debugger/debug-interface-access/idiaenumsymbols-skip.md)|Skips a specified number of symbols in an enumeration sequence.|
35-
|[IDiaEnumSymbols::Reset](../../debugger/debug-interface-access/idiaenumsymbols-reset.md)|Resets an enumeration sequence to the beginning.|
36-
|[IDiaEnumSymbols::Clone](../../debugger/debug-interface-access/idiaenumsymbols-clone.md)|Creates an enumerator that contains the same enumeration state as the current enumerator.|
37-
38-
## Remarks
39-
This interface provides symbols grouped by a specific type of symbol, for example, `SymTagUDT` (user-defined types) or `SymTagBaseClass`. To work with symbols grouped by address, use the [IDiaEnumSymbolsByAddr](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr.md) interface.
40-
41-
## Notes for Callers
42-
Obtain this interface by calling the following methods:
43-
44-
- [IDiaSession::findChildren](../../debugger/debug-interface-access/idiasession-findchildren.md)
45-
46-
- [IDiaSymbol::findChildren](../../debugger/debug-interface-access/idiasymbol-findchildren.md)
47-
48-
- [IDiaSourceFile::get_compilands](../../debugger/debug-interface-access/idiasourcefile-get-compilands.md)
49-
50-
## Example
51-
This example shows how to obtain the `IDiaEnumSymbols` interface and then use that enumeration to list user-defined types (UDTs).
52-
17+
Enumerates the various symbols contained in the data source.
18+
19+
## Syntax
20+
21+
```
22+
IDiaEnumSymbols : IUnknown
23+
```
24+
25+
## Methods in Vtable Order
26+
The following table shows the methods of `IDiaEnumSymbols`.
27+
28+
|Method|Description|
29+
|------------|-----------------|
30+
|[IDiaEnumSymbols::get__NewEnum](../../debugger/debug-interface-access/idiaenumsymbols-get-newenum.md)|Retrieves the `IEnumVARIANT Interface` version of this enumerator.|
31+
|[IDiaEnumSymbols::get_Count](../../debugger/debug-interface-access/idiaenumsymbols-get-count.md)|Retrieves the number of symbols.|
32+
|[IDiaEnumSymbols::Item](../../debugger/debug-interface-access/idiaenumsymbols-item.md)|Retrieves a symbol by means of an index.|
33+
|[IDiaEnumSymbols::Next](../../debugger/debug-interface-access/idiaenumsymbols-next.md)|Retrieves a specified number of symbols in the enumeration sequence.|
34+
|[IDiaEnumSymbols::Skip](../../debugger/debug-interface-access/idiaenumsymbols-skip.md)|Skips a specified number of symbols in an enumeration sequence.|
35+
|[IDiaEnumSymbols::Reset](../../debugger/debug-interface-access/idiaenumsymbols-reset.md)|Resets an enumeration sequence to the beginning.|
36+
|[IDiaEnumSymbols::Clone](../../debugger/debug-interface-access/idiaenumsymbols-clone.md)|Creates an enumerator that contains the same enumeration state as the current enumerator.|
37+
38+
## Remarks
39+
This interface provides symbols grouped by a specific type of symbol, for example, `SymTagUDT` (user-defined types) or `SymTagBaseClass`. To work with symbols grouped by address, use the [IDiaEnumSymbolsByAddr](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr.md) interface.
40+
41+
## Notes for Callers
42+
Obtain this interface by calling the following methods:
43+
44+
- [IDiaSession::findChildren](../../debugger/debug-interface-access/idiasession-findchildren.md)
45+
46+
- [IDiaSymbol::findChildren](../../debugger/debug-interface-access/idiasymbol-findchildren.md)
47+
48+
- [IDiaSourceFile::get_compilands](../../debugger/debug-interface-access/idiasourcefile-get-compilands.md)
49+
50+
## Example
51+
This example shows how to obtain the `IDiaEnumSymbols` interface and then use that enumeration to list user-defined types (UDTs).
52+
5353
> [!NOTE]
54-
> `CDiaBSTR` is a class that wraps a `BSTR` and automatically handles freeing the string when the instantiation goes out of scope.
55-
56-
```C++
57-
void ShowUDTs(IDiaSymbol *pGlobals)
58-
{
59-
CComPtr<IDiaEnumSymbols> pEnum;
60-
CComPtr<IDiaSymbol> pSymbol;
61-
HRESULT hr;
62-
63-
hr = pGlobals->findChildren(SymTagUDT,
64-
NULL,
65-
nsfCaseInsensitive | nsfUndecoratedName,
66-
&pEnum);
67-
if (hr == S_OK)
68-
{
69-
while ( SUCCEEDED( hr = pEnum->Next( 1, &pSymbol, &celt ) ) &&
70-
celt == 1 )
71-
{
72-
CDiaBSTR name;
73-
if ( pSymbol->get_name( &name ) != S_OK )
74-
Fatal( "get_name" );
75-
printf( "Found UDT: %ws\n", name );
76-
pSymbol = 0;
77-
}
78-
}
79-
}
80-
```
81-
82-
## Requirements
83-
Header: Dia2.h
84-
85-
Library: diaguids.lib
86-
87-
DLL: msdia80.dll
88-
89-
## See Also
90-
[Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md)
91-
[IDiaSession::findChildren](../../debugger/debug-interface-access/idiasession-findchildren.md)
92-
[IDiaSourceFile::get_compilands](../../debugger/debug-interface-access/idiasourcefile-get-compilands.md)
93-
[IDiaSymbol::findChildren](../../debugger/debug-interface-access/idiasymbol-findchildren.md)
54+
> `CDiaBSTR` is a class that wraps a `BSTR` and automatically handles freeing the string when the instantiation goes out of scope.
55+
56+
```C++
57+
void ShowUDTs(IDiaSymbol *pGlobals)
58+
{
59+
CComPtr<IDiaEnumSymbols> pEnum;
60+
CComPtr<IDiaSymbol> pSymbol;
61+
HRESULT hr;
62+
63+
hr = pGlobals->findChildren(SymTagUDT,
64+
NULL,
65+
nsfCaseInsensitive | nsfUndecoratedName,
66+
&pEnum);
67+
if (hr == S_OK)
68+
{
69+
while ( SUCCEEDED( hr = pEnum->Next( 1, &pSymbol, &celt ) ) &&
70+
celt == 1 )
71+
{
72+
CDiaBSTR name;
73+
if ( pSymbol->get_name( &name ) != S_OK )
74+
Fatal( "get_name" );
75+
printf( "Found UDT: %ws\n", name );
76+
pSymbol = 0;
77+
}
78+
}
79+
}
80+
```
81+
82+
## Requirements
83+
Header: Dia2.h
84+
85+
Library: diaguids.lib
86+
87+
DLL: msdia80.dll
88+
89+
## See Also
90+
[Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md)
91+
[IDiaSession::findChildren](../../debugger/debug-interface-access/idiasession-findchildren.md)
92+
[IDiaSourceFile::get_compilands](../../debugger/debug-interface-access/idiasourcefile-get-compilands.md)
93+
[IDiaSymbol::findChildren](../../debugger/debug-interface-access/idiasymbol-findchildren.md)

0 commit comments

Comments
 (0)