IDiaAddressMap::set_imageHeaders
Imposta le intestazioni di immagine per abilitare la conversione degli indirizzi virtuali relativi.
Sintassi
HRESULT set_imageHeaders (
DWORD cbData,
BYTE data[],
BOOL originalHeaders
);
Parametri
cbData
[in] Numero di byte di dati di intestazione. Deve essere n*sizeof(IMAGE_SECTION_HEADER)
dove n
è il numero di intestazioni di sezione nel file eseguibile.
data[]
[in] Matrice di IMAGE_SECTION_HEADER
strutture da usare come intestazioni di immagine.
originalHeaders
[in] Impostare su FALSE
se le intestazioni dell'immagine provengono dalla nuova immagine, TRUE
se riflettono l'immagine originale prima di un aggiornamento. In genere, questa proprietà viene impostata TRUE
su solo in combinazione con le chiamate al metodo IDiaAddressMap::set_addressMap .
Valore restituito
Se ha esito positivo, restituisce S_OK
; in caso contrario, restituisce un codice di errore.
Osservazioni:
La IMAGE_SECTION_HEADER
struttura viene dichiarata in Winnt.h e rappresenta il formato dell'intestazione di sezione dell'immagine del file eseguibile.
I calcoli relativi degli indirizzi virtuali dipendono dai IMAGE_SECTION_HEADER
valori. In genere, DIA recupera questi dati dal file di database del programma (con estensione pdb). Se questi valori non sono presenti, diA non è in grado di calcolare gli indirizzi virtuali relativi e il metodo IDiaAddressMap::get_relativeVirtualAddressEnabled restituisce FALSE
. Il client deve quindi chiamare il metodo IDiaAddressMap::p ut_relativeVirtualAddressEnabled per abilitare i calcoli degli indirizzi virtuali relativi dopo aver fornito le intestazioni di immagine mancanti dall'immagine stessa.