Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
CanonicalizeLocation é um método que transforma um determinado local em sua "representação canônica", que é uma forma padrão escolhida. Ele pode lidar com diferentes tipos de locais, por exemplo, memória virtual e registro, que podem ser representados de várias maneiras.
Um exemplo clássico em que essa função pode ser útil envolve as Ferramentas de Depuração para Windows (dbgeng) que historicamente assinam estende endereços de 32 bits para 64 bits, criando dificuldades para representar e distinguir determinadas regiões de endereço em processos de 32 bits com reconhecimento de endereço alto.
Observe que comparar locais ou endereços obtidos de componentes que assinam endereços estendidos de sinal de relatório em relação a zero estendidos pode resultar em falhas imprevistas. Você pode evitar tais percalços chamando CanonicalizeLocation() de antemão. Tenha em mente que esse método não transforma o tipo de um local. Para transformar o tipo, você deve chamar LinearizeLocation().
Sintaxe
HRESULT CanonicalizeLocation(
IDebugHostContext *context,
Location location,
Location *pCanonicalizedLocation
);
Parâmetros
context
O contexto atual.
location
O local que você deseja canonizar.
pCanonicalizedLocation
Ponteiro para onde o local canonizado será armazenado.
Valor de retorno
Esse método retorna HRESULT que indica êxito ou falha.
Observações
Embora esse método altere a representação de um local para sua forma canônica, ele não altera o tipo real do local. Use o método LinearizeLocation() para executar essa transformação de tipo.
Requisitos
| Requisito | Valor |
|---|---|
| cabeçalho | dbgmodel.h |