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.