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 não zero aqui são privados para o host de depuração.
Se o IModelObject no qual esse método é chamado não for uma construção nativa 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 por este ponteiro será retornado aqui.
Valor de retorno
Esse método retorna HRESULT que indica êxito ou falha.
Observações
de exemplo de código
Neste exemplo, a estrutura Local 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 |