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

関連項目