IDiaSession::findLinesByAddr
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);
}
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für