IModelObject::Metode GetLocation (dbgmodel.h)

Metode GetLocation akan mengembalikan lokasi objek asli. Meskipun lokasi seperti itu biasanya merupakan alamat virtual dalam ruang alamat target debug, itu belum tentu demikian. Lokasi yang dikembalikan oleh metode ini adalah lokasi abstrak yang mungkin merupakan alamat virtual, dapat menunjukkan penempatan dalam register atau sub-register, atau mungkin menunjukkan beberapa ruang alamat arbitrer lainnya seperti yang didefinisikan oleh host debug. Jika bidang HostDefined dari objek Lokasi yang dihasilkan adalah 0, itu menunjukkan bahwa lokasi sebenarnya adalah alamat virtual. Alamat virtual tersebut dapat diambil dengan memeriksa bidang Offset dari lokasi yang dihasilkan. Nilai bukan nol dari bidang HostDefined menunjukkan ruang alamat alternatif di mana bidang Offset adalah offset dalam ruang alamat tersebut. Arti pasti dari nilai HostDefined non-nol di sini bersifat privat untuk host debug.

Jika IModelObject tempat metode ini dipanggil bukan konstruksi asli dengan lokasi di beberapa ruang alamat abstrak target debug, metode ini akan mengembalikan E_FAIL.

Sintaks

HRESULT GetLocation(
  Location *location
);

Parameter

location

Lokasi abstrak objek asli yang diwakili oleh pointer ini akan dikembalikan di sini.

Mengembalikan nilai

Metode ini mengembalikan HRESULT yang menunjukkan keberhasilan atau kegagalan.

Keterangan

Sampel Kode

Dalam sampel ini, struktur Lokasi menentukan lokasi untuk objek.

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"
    }
}

Persyaratan

Persyaratan Nilai
Header dbgmodel.h

Lihat juga

Antarmuka IModelObject