IDiaAddressMap::set_imageHeaders
상대 가상 주소 변환을 사용하도록 이미지 헤더를 설정합니다.
구문
HRESULT set_imageHeaders (
DWORD cbData,
BYTE data[],
BOOL originalHeaders
);
매개 변수
cbData
[in] 헤더 데이터의 바이트 수입니다. n*sizeof(IMAGE_SECTION_HEADER)
여야 합니다. 여기서 n
은 실행 파일의 섹션 헤더 수입니다.
데이터[]
[in] 이미지 헤더로 사용할 IMAGE_SECTION_HEADER
구조체의 배열입니다.
originalHeaders
[in] 이미지 헤더가 새 이미지에서 가져온 경우 FALSE
로 설정하고, 업그레이드 전에 원래 이미지를 반영하는 경우 TRUE
로 설정합니다. 일반적으로 IDiaAddressMap::set_addressMap 메서드 호출과 결합하는 경우 TRUE
로만 설정됩니다.
Return Value
성공하면 S_OK
를 반환하고, 실패하면 오류 코드를 반환합니다.
설명
IMAGE_SECTION_HEADER
구조체는 Winnt.h에서 선언되고 실행 파일의 이미지 섹션 헤더 형식을 나타냅니다.
상대 가상 주소 계산은 IMAGE_SECTION_HEADER
값에 따라 달라집니다. 일반적으로 DIA는 프로그램 데이터베이스(.pdb) 파일에서 이러한 값을 검색합니다. 해당 값이 없는 경우 DIA는 상대 가상 주소를 계산할 수 없으며 IDiaAddressMap::get_relativeVirtualAddressEnabled 메서드는 FALSE
를 반환합니다. 그런 다음, 클라이언트는 IDiaAddressMap::put_relativeVirtualAddressEnabled 메서드를 호출하여 이미지 자체에서 누락된 이미지 헤더를 제공한 후 상대 가상 주소 계산을 사용하도록 설정해야 합니다.