Freigeben über


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.

Weitere Informationen