共用方式為


IModelObject::GetLocation 方法 (dbgmodel.h)

GetLocation 方法會傳回原生物件的位置。 雖然這類位置通常是偵錯目標位址空間內的虛擬位址,但不一定如此。 此方法傳回的位置是一個抽象位置,可能是虛擬位址、可能表示緩存器或子緩存器內的位置,或可能指出偵錯主機所定義的一些其他任意地址空間。 如果產生的Location物件的HostDefined字段是0,則表示該位置實際上是虛擬位址。 檢查結果位置的 Offset 字段,即可擷取這類虛擬位址。 HostDefined 欄位的任何非零值會指出替代位址空間,其中 Offset 欄位是該位址空間內的位移。 此處非零 HostDefined 值的確切意義對偵錯主機是私用的。

如果呼叫這個方法的 IModelObject 不是原生建構,且在偵錯目標的某些抽象地址空間中具有位置,這個方法會傳回E_FAIL。

語法

HRESULT GetLocation(
  Location *location
);

參數

location

此處會傳回這個指標所代表之原生物件的抽象位置。

傳回值

這個方法會傳回 HRESULT,指出成功或失敗。

備註

程式碼範例

在此範例中, Location 結構 會定義物件的位置。

ComPtr<IModelObject> spObject; /* get a native object */

Location loc;
if (SUCCEEDED(spObject->GetLocation(&loc)))
{
    if (loc.IsVirtualAddress()) /* or loc.HostDefined == 0 */
    {
        // The object is in memory at an address specified by Offset
        ULONG64 address = loc.Offset;
    }
    else
    {
        // The object is in some abstract "address space" (e.g.: it's enregistered).  
        // Arithmetic can still be used on the 'Offset' field in order to access
        // sub-objects within the abstract "address space"
    }
}

規格需求

需求
標頭 dbgmodel.h

另請參閱

IModelObject 介面