Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft die Zeilen in einer angegebenen Kompiliereinheit ab, die eine angegebene Adresse enthalten.
Syntax
HRESULT findLinesByAddr (
DWORD seg,
DWORD offset,
DWORD length,
IDiaEnumLineNumbers** ppResult
);
Parameter
seg
[in] Gibt die Abschnittskomponente der betreffenden Adresse an.
offset
[in] Gibt die Offsetkomponente der betreffenden 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 einer Funktion enthaltenen Zeilennummern anhand der Adresse und Länge der Funktion abruft.
IDiaEnumLineNumbers* GetLineNumbersByAddr(IDiaSymbol *pFunc,
IDiaSession *pSession)
{
IDiaEnumLineNumbers* pEnum = NULL;
DWORD seg;
DWORD offset;
ULONGLONG length;
if (pFunc->get_addressSection ( &seg ) == S_OK &&
pFunc->get_addressOffset ( &offset ) == S_OK)
{
pFunc->get_length ( &length );
pSession->findLinesByAddr( seg, offset, static_cast<DWORD>( length ), &pEnum );
}
return(pEnum);
}