IDiaEnumLineNumbers
データ ソースに含まれているさまざまな行番号を列挙します。
構文
IDiaEnumLineNumbers : IUnknown
Vtable 順序のメソッド
次の表に、IDiaEnumLineNumbers
のメソッドを示します。
メソッド | 説明 |
---|---|
IDiaEnumLineNumbers::get__NewEnum | この列挙子の IEnumVARIANT インターフェイス バージョンを取得します。 |
IDiaEnumLineNumbers::get_Count | 行番号の数を取得します。 |
IDiaEnumLineNumbers::Item | インデックスを使って行番号を取得します。 |
IDiaEnumLineNumbers::Next | 列挙シーケンス内の指定された数の行番号を取得します。 |
IDiaEnumLineNumbers::Skip | 列挙シーケンス内の指定された数の行番号をスキップします。 |
IDiaEnumLineNumbers::Reset | 列挙シーケンスを先頭にリセットします。 |
IDiaEnumLineNumbers::Clone | 現在の列挙子と同じ列挙状態を含む列挙子を作成します。 |
解説
呼び出し元に関する注意事項
このインターフェイスを取得するには、IDiaSession インターフェイスの次のいずれかのメソッドを呼び出します。
例
次の例では、セッションから IDiaEnumLineNumbers
インターフェイスを取得する方法を示します。 この例は、関数 (pSymbol
で表されます) の行番号の列挙を取得する方法を示しています。 行番号を使用する詳細な例については、IDiaLineNumber インターフェイスを参照してください。
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
}
}
}
要件
ヘッダー: Dia2.h
ライブラリ: diaguids.lib
DLL: msdia80.dll