Condividi tramite


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.

Vedi anche