Funzione CheckSumMappedFile (imagehlp.h)
Calcola il checksum del file di immagine specificato.
Sintassi
PIMAGE_NT_HEADERS IMAGEAPI CheckSumMappedFile(
[in] PVOID BaseAddress,
[in] DWORD FileLength,
[out] PDWORD HeaderSum,
[out] PDWORD CheckSum
);
Parametri
[in] BaseAddress
Indirizzo di base del file mappato. Questo valore viene ottenuto chiamando la funzione MapViewOfFile .
[in] FileLength
Dimensioni del file, in byte.
[out] HeaderSum
Puntatore a una variabile che riceve il checksum originale dal file di immagine o zero se si verifica un errore.
[out] CheckSum
Puntatore alla variabile che riceve il checksum calcolato.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un puntatore alla struttura IMAGE_NT_HEADERS contenuta nell'immagine mappata.
Se la funzione ha esito negativo, il valore restituito è NULL. Per recuperare informazioni sull'errore estese, chiamare GetLastError.
Commenti
La funzione CheckSumMappedFile calcola un nuovo checksum per il file e lo restituisce nel parametro CheckSum . Questa funzione viene usata da qualsiasi applicazione che crea o modifica un'immagine eseguibile. I checksum sono necessari per i driver in modalità kernel e per alcune DLL di sistema. Il linker calcola il checksum originale in fase di collegamento, se si usa l'opzione del linker appropriata. Per altre informazioni, vedere la documentazione del linker.
È consigliabile che tutte le immagini abbiano checksum validi. È responsabilità del chiamante inserire il checksum appena calcolato nell'immagine mappata e aggiornare l'immagine sul disco del file.
Tutte le funzioni ImageHlp, ad esempio questa, sono a thread singolo. Pertanto, le chiamate da più thread a questa funzione potrebbero causare un comportamento imprevisto o un danneggiamento della memoria. Per evitare questo problema, è necessario sincronizzare tutte le chiamate simultanee da più thread a questa funzione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | imagehlp.h |
Libreria | Imagehlp.lib |
DLL | Imagehlp.dll |