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);
}