IDebugHostField2::GetLocationKind 方法 (dbgmodel.h)
GetLocationKind 方法會根據LocationKind列舉傳回符號所在的位置類型。 這類列舉可以是下列其中一個值:
列舉 | 意義 |
---|---|
LocationMember | 欄位是類別、結構、等位或其他類型建構的一般數據成員。 其具有相對於包含類型建構之基位址的位移。 這類基位址通常由這個指標表示。 欄位移可以透過 GetOffset 方法擷取。 GetLocation 和 GetValue 方法會針對LocationMember的欄位失敗。 |
LocationStatic | 欄位是靜態的,而且有自己的位址。 GetLocation 方法會傳回靜態字段的抽象位置(例如:address)。 GetOffset 和 GetValue 方法會針對LocationStatic的欄位失敗。 |
LocationConstant | 欄位是常數,且具有值。 GetValue 方法會傳回常數的值。 GetOffset 和 GetLocation 方法會針對 LocationConstant 的字段失敗。 |
LocationNone | 欄位沒有位置。 它可能已由編譯程序優化,或者可能是已宣告但從未定義的靜態字段。 無論這類欄位如何出現,它都沒有實際存在或價值。 它只位於符號中。 所有擷取方法(GetOffset、GetLocation 和 GetValue)都會失敗,字段為LocationNone。 |
語法
HRESULT GetLocationKind(
LocationKind *locationKind
);
參數
locationKind
此欄位的位置類型會在此傳回為 LocationKind 列舉的值,。
傳回值
此方法會傳回 HRESULT,指出成功或失敗。
言論
範例程式代碼
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...)
}
要求
要求 | 價值 |
---|---|
標頭 | dbgmodel.h |