Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Enumerates the various line numbers contained in the data source.
Syntax
IDiaEnumLineNumbers : IUnknown
Methods in Vtable Order
The following table shows the methods of IDiaEnumLineNumbers
.
Method | Description |
---|---|
IDiaEnumLineNumbers::get__NewEnum | Retrieves the IEnumVARIANT Interface version of this enumerator. |
IDiaEnumLineNumbers::get_Count | Retrieves the number of line numbers. |
IDiaEnumLineNumbers::Item | Retrieves a line number by means of an index. |
IDiaEnumLineNumbers::Next | Retrieves a specified number of line numbers in the enumeration sequence. |
IDiaEnumLineNumbers::Skip | Skips a specified number of line numbers in an enumeration sequence. |
IDiaEnumLineNumbers::Reset | Resets an enumeration sequence to the beginning. |
IDiaEnumLineNumbers::Clone | Creates an enumerator that contains the same enumeration state as the current enumerator. |
Remarks
Notes for Callers
This interface is obtained by calling one of the following methods in the IDiaSession interface:
Example
This example shows how to obtain the IDiaEnumLineNumbers
interface from a session. In this case, the example shows how to get the line number enumeration for a function (represented by pSymbol
). For a more complete example of using line numbers, see the IDiaLineNumber interface.
void dumpFunctionLines( IDiaSymbol* pSymbol, IDiaSession* pSession )
{
ULONGLONG length = 0;
DWORD isect = 0;
DWORD offset = 0;
pSymbol->get_addressSection( &isect );
pSymbol->get_addressOffset( &offset );
pSymbol->get_length( &length );
if ( isect != 0 && length > 0 )
{
CComPtr< IDiaEnumLineNumbers > pLines;
if ( SUCCEEDED( pSession->findLinesByAddr(
isect,
offset,
static_cast<DWORD>( length ),
&pLines )
)
)
{
// Do something with the enumeration
}
}
}
Requirements
Header: Dia2.h
Library: diaguids.lib
DLL: msdia80.dll