Condividi tramite


Metodo IModelObject::GetLocation (dbgmodel.h)

Il metodo GetLocation restituirà la posizione dell'oggetto nativo. Anche se tale posizione è in genere un indirizzo virtuale all'interno dello spazio indirizzi della destinazione di debug, non è necessariamente così. Il percorso restituito da questo metodo è una posizione astratta che può essere un indirizzo virtuale, può indicare la posizione all'interno di un registro o un registro secondario oppure può indicare un altro spazio indirizzi arbitrario definito dall'host di debug. Se il campo HostDefined dell'oggetto Location risultante è 0, indica che la posizione è effettivamente un indirizzo virtuale. Tale indirizzo virtuale può essere recuperato esaminando il campo Offset della posizione risultante. Qualsiasi valore diverso da zero del campo HostDefined indica uno spazio indirizzi alternativo in cui il campo Offset è l'offset all'interno di tale spazio indirizzi. Il significato esatto dei valori HostDefined diversi da zero qui è privato per l'host di debug.

Se il IModelObject su cui viene chiamato questo metodo non è un costrutto nativo con una posizione in uno spazio indirizzi astratto della destinazione di debug, questo metodo restituirà E_FAIL.

Sintassi

HRESULT GetLocation(
  Location *location
);

Parametri

location

La posizione astratta dell'oggetto nativo rappresentato dal puntatore verrà restituita qui.

Valore restituito

Questo metodo restituisce HRESULT che indica l'esito positivo o negativo.

Osservazioni

esempio di codice

In questo esempio la struttura location definisce la posizione di un oggetto.

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

Fabbisogno

Requisito Valore
intestazione dbgmodel.h

Vedere anche

dell'interfaccia IModelObject