Compartilhar via


Método IModelObject::GetLocation (dbgmodel.h)

O método GetLocation retornará o local do objeto nativo. Embora esse local normalmente seja um endereço virtual dentro do espaço de endereço do destino de depuração, ele não é necessariamente assim. O local retornado por esse método é um local abstrato que pode ser um endereço virtual, pode indicar o posicionamento em um registro ou sub-registro ou pode indicar algum outro espaço de endereço arbitrário, conforme definido pelo host de depuração. Se o campo HostDefined do objeto Location resultante for 0, ele indicará que o local é, na verdade, um endereço virtual. Esse endereço virtual pode ser recuperado examinando o campo Deslocamento do local resultante. Qualquer valor diferente de zero do campo HostDefined indica um espaço de endereço alternativo em que o campo Deslocamento é o deslocamento dentro desse espaço de endereço. O significado exato de valores HostDefined diferentes de zero aqui é privado para o host de depuração.

Se o IModelObject no qual esse método é chamado não for um constructo nativo com um local em algum espaço de endereço abstrato do destino de depuração, esse método retornará E_FAIL.

Sintaxe

HRESULT GetLocation(
  Location *location
);

Parâmetros

location

O local abstrato do objeto nativo representado pelo ponteiro this será retornado aqui.

Retornar valor

Esse método retorna HRESULT que indica êxito ou falha.

Comentários

Exemplo de código

Neste exemplo, a estrutura Location define o local de um objeto .

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

Requisitos

Requisito Valor
Cabeçalho dbgmodel.h

Confira também

Interface IModelObject