Freigeben über


IDiaSession::findLinesByRVA

Ruft die Zeilen in einer bestimmten Kompiliereinheit ab, das eine angegebene relative virtuelle Adresse (RVA) enthalten.

HRESULT findLinesByRVA ( 
   DWORD                 rva,
   DWORD                 length,
   IDiaEnumLineNumbers** ppResult
);

Parameter

  • rva
    [in] Gibt die Adresse als RVA an.

  • length
    [in] Gibt die Anzahl der Bytes Adressbereich an, die mit dieser Abfrage abzudecken.

  • ppResult
    [out] Gibt ein IDiaEnumLineNumbers-Objekt zurück, das eine Liste aller Zeilennummern enthält, die mit dem angegebenen Adressbereich enthalten.

Rückgabewert

Bei Erfolg gibt S_OKzurück. andernfalls gibt einen Fehlercode zurück.

Beispiel

In diesem Beispiel wird eine Funktion veranschaulicht, die alle Zeilennummern erhält, die in der angegebenen Funktion mit der relativen virtuellen Adresse der Funktion und der Länge.

IDiaEnumLineNumbers* GetLineNumbersByRVA(IDiaSymbol *pFunc, IDiaSession *pSession)
{
    IDiaEnumLineNumbers* pEnum = NULL;
    DWORD                rva;
    ULONGLONG            length;

    if (pFunc->get_relativeVirtualAddress ( &rva ) == S_OK)
    {
        pFunc->get_length ( &length );
        pSession->findLinesByRVA( rva, static_cast<DWORD>( length ), &pEnum );
    }
    return(pEnum);
}

Siehe auch

Referenz

IDiaEnumLineNumbers

IDiaSession