IDebugHostField::GetLocationKind-Methode (dbgmodel.h)
Die GetLocationKind-Methode gibt zurück, an welcher Position sich das Symbol gemäß der LocationKind-Enumeration befindet. Eine solche Enumeration kann einer der folgenden Werte sein:
Enumerant | Bedeutung |
---|---|
LocationMember | Das Feld ist ein regulärer Datenmember eines Klassen-, Struktur-, Union- oder anderen Typkonstrukts. Es verfügt über einen Offset, der relativ zur Basisadresse des enthaltenden Typkonstrukts ist. Eine solche Basisadresse wird in der Regel durch den folgenden Zeiger dargestellt. Der Offset des Felds kann über die GetOffset-Methode abgerufen werden. Die Methoden GetLocation und GetValue schlagen für ein Feld fehl, das LocationMember ist. |
LocationStatic | Das Feld ist statisch und hat eine eigene Adresse. Die GetLocation-Methode gibt die abstrakte Position (z. B. Adresse) des statischen Felds zurück. Die Methoden GetOffset und GetValue schlagen für ein Feld fehl, das LocationStatic ist. |
LocationConstant | Das Feld ist eine Konstante und hat einen Wert. Die GetValue-Methode gibt den Wert der Konstanten zurück. Die GetOffset- und GetLocation-Methoden schlagen für ein Feld fehl, das LocationConstant ist. |
LocationNone | Das Feld hat keine Position. Es kann vom Compiler optimiert worden sein, oder es kann sich um ein statisches Feld handelt, das deklariert, aber nie definiert ist. Unabhängig davon, wie ein solches Feld entstanden ist, hat es keine physische Präsenz oder keinen Wert. Sie befindet sich nur in den Symbolen. Alle Erfassungsmethoden (GetOffset, GetLocation und GetValue) schlagen für ein Feld mit dem Namen LocationNone fehl. |
Syntax
HRESULT GetLocationKind(
LocationKind *locationKind
);
Parameter
locationKind
Die Art der Position für dieses Feld wird hier als Wert der LocationKind-Enumeration zurückgegeben.
Rückgabewert
Diese Methode gibt HRESULT zurück, das den Erfolg oder Fehler angibt.
Hinweise
Beispielcode
ComPtr<IDebugHostField> spField; /* get a field symbol */
LocationKind kind;
if (SUCCEEDED(spField->GetLocationKind(&kind)))
{
// kind indicates the kind of location (e.g.: static, constant, member, etc...)
}
Anforderungen
Anforderung | Wert |
---|---|
Header | dbgmodel.h |