IDiaAddressMap::set_imageHeaders
Legt Bildheader fest, um die Übersetzung relativer virtueller Adressen zu ermöglichen.
Syntax
HRESULT set_imageHeaders (
DWORD cbData,
BYTE data[],
BOOL originalHeaders
);
Parameter
cbData
[in] Anzahl von Bytes der Headerdaten. Muss n*sizeof(IMAGE_SECTION_HEADER)
sein, wobei n
die Anzahl der Abschnittsheader in der ausführbaren Datei ist.
data[]
[in] Ein Array von IMAGE_SECTION_HEADER
-Strukturen, die als Bildheader verwendet werden sollen.
originalHeaders
[in] Legen Sie FALSE
fest, wenn die Bildheader aus dem neuen Bild stammen, und TRUE
, wenn sie das ursprüngliche Bild vor einem Upgrade widerspiegeln. In der Regel erfolgt die Festlegung auf TRUE
nur in Kombination mit Aufrufen der IDiaAddressMap::set_addressMap-Methode.
Rückgabewert
Wenn die Ausführung erfolgreich ist, wird S_OK
, andernfalls ein Fehlercode zurückgegeben.
Hinweise
Die IMAGE_SECTION_HEADER
-Struktur wird in „Winnt.h“ deklariert und stellt das Headerformat des Bildabschnitts der ausführbaren Datei dar.
Die Berechnung der relativen virtuellen Adresse hängt von den IMAGE_SECTION_HEADER
-Werten ab. In der Regel ruft DIA diese aus der Programmdatenbankdatei (.pdb) ab. Wenn diese Werte fehlen, kann DIA keine relativen virtuellen Adressen berechnen, und die IDiaAddressMap::get_relativeVirtualAddressEnabled-Methode gibt FALSE
zurück. Der Client muss dann die IDiaAddressMap::p ut_relativeVirtualAddressEnabled-Methode aufrufen, um die Berechnung der relativen virtuellen Adressen zu aktivieren, nachdem die fehlenden Bildheader aus dem Bild selbst bereitgestellt wurden.