Поделиться через


IDiaAddressMap::set_imageHeaders

Задает заголовки изображений, чтобы включить относительный перевод виртуальных адресов.

Синтаксис

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

Параметры

cbData

[in] Количество байтов данных заголовка. Должно быть n*sizeof(IMAGE_SECTION_HEADER) , где n находится число заголовков разделов в исполняемом файле.

data[]

[in] Массив структур, используемых IMAGE_SECTION_HEADER в качестве заголовков изображений.

originalHeaders

[in] FALSE Установите значение, если заголовки изображений находятся на новом изображении, TRUE если они отражают исходный образ до обновления. Как правило, это значение устанавливается TRUE только в сочетании с вызовами метода IDiaAddressMap::set_addressMap .

Возвращаемое значение

В случае успешного выполнения возвращается S_OK; в противном случае возвращается код ошибки.

Замечания

Структура IMAGE_SECTION_HEADER объявлена в Winnt.h и представляет формат заголовка раздела изображения исполняемого файла.

Относительные вычисления виртуальных адресов зависят от значений IMAGE_SECTION_HEADER . Как правило, DIA извлекает их из файла базы данных программы (PDB). Если эти значения отсутствуют, dia не может вычислить относительные виртуальные адреса, а метод IDiaAddressMap::get_relativeVirtualAddressEnabled возвращается FALSE. Затем клиент должен вызвать метод IDiaAddressMap::p ut_relativeVirtualAddressEnabled, чтобы включить относительные вычисления виртуальных адресов после предоставления отсутствующих заголовков изображений из самого образа.

См. также