IDiaSession::findLinesByRVA
Ruft die Zeilen in einer angegebenen Kompiliereinheit ab, die eine angegebene relative virtuelle Adresse (RVA) enthalten.
Syntax
HRESULT findLinesByRVA (
DWORD rva,
DWORD length,
IDiaEnumLineNumbers** ppResult
);
Parameter
rva
[in] Gibt die Adresse als relative virtuelle Adresse an.
length
[in] Gibt die Anzahl der Bytes des Adressbereichs an, der mit dieser Abfrage abgedeckt werden soll.
ppResult
[out] Gibt ein IDiaEnumLineNumbers
Objekt zurück, das eine Liste aller Zeilennummern enthält, die den angegebenen Adressbereich abdecken.
Rückgabewert
Wenn die Ausführung erfolgreich ist, wird S_OK
, andernfalls ein Fehlercode zurückgegeben.
Beispiel
Dieses Beispiel zeigt eine Funktion, die alle in der angegebenen Funktion enthaltenen Zeilennummern abruft, die die relative virtuelle Adresse und Länge der Funktion verwenden.
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);
}