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, чтобы включить относительные вычисления виртуальных адресов после предоставления отсутствующих заголовков изображений из самого образа.