IDebugHostField::GetLocationKind 方法 (dbgmodel.h)
GetLocationKind 方法會根據LocationKind列舉傳回符號所在的位置類型。 這類列舉可以是下列其中一個值:
列舉 | 意義 |
---|---|
LocationMember | 欄位是類別、結構、等位或其他類型建構的一般數據成員。 它具有相對於包含類型建構之基位址的位移。 這類基位址通常以這個指標表示。 欄位移可以透過 GetOffset 方法擷取。 GetLocation 和 GetValue 方法將會失敗,此字段為 LocationMember。 |
LocationStatic | 欄位是靜態的,而且有自己的位址。 GetLocation 方法會傳回抽象位置 (例如:靜態欄位的位址) 。 LocationStatic 字段的 GetOffset 和 GetValue 方法將會失敗。 |
LocationConstant | 欄位是常數,且具有值。 GetValue 方法會傳回常數的值。 LocationConstant 字段的 GetOffset 和 GetLocation 方法將會失敗 |
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 |