Partilhar via


IDiaAddressMap::set_imageHeaders

Define cabeçalhos de imagem para habilitar a tradução de endereços virtuais relativos.

Sintaxe

HRESULT set_imageHeaders ( 
   DWORD cbData,
   BYTE  data[],
   BOOL  originalHeaders
);

Parâmetros

cbData

[in] Número de bytes de dados de cabeçalho. Deve ser n*sizeof(IMAGE_SECTION_HEADER) onde n é o número de cabeçalhos de seção no executável.

data[]

[in] Uma matriz de IMAGE_SECTION_HEADER estruturas a serem usadas como cabeçalhos de imagem.

originalHeaders

[in] Defina como FALSE se os cabeçalhos de imagem forem da nova imagem, TRUE se refletirem a imagem original antes de uma atualização. Normalmente, isso seria definido como TRUE apenas em combinação com chamadas para o método IDiaAddressMap::set_addressMap.

Valor Retornado

Se tiver êxito, retornará S_OK. Caso contrário, retornará um código de erro.

Comentários

A estrutura IMAGE_SECTION_HEADER é declarada em Winnt.h e representa o formato de cabeçalho da seção de imagem do executável.

Cálculos de endereço virtual relativo dependem dos valores IMAGE_SECTION_HEADER. Normalmente, o DIA os recupera do arquivo de banco de dados do programa (.pdb). Se esses valores estiverem ausentes, o DIA não poderá calcular endereços virtuais relativos e o método IDiaAddressMap::get_relativeVirtualAddressEnabled retornará FALSE. Em seguida, o cliente deve chamar o método IDiaAddressMap::p ut_relativeVirtualAddressEnabled para habilitar os cálculos de endereço virtual relativo depois de fornecer os cabeçalhos de imagem ausentes da própria imagem.

Confira também