Condividi tramite


Funzione BindImageEx (imagehlp.h)

Calcola l'indirizzo virtuale di ogni funzione importata.

Sintassi

BOOL IMAGEAPI BindImageEx(
  [in] DWORD                    Flags,
  [in] PCSTR                    ImageName,
  [in] PCSTR                    DllPath,
  [in] PCSTR                    SymbolPath,
  [in] PIMAGEHLP_STATUS_ROUTINE StatusRoutine
);

Parametri

[in] Flags

Opzioni di associazione. Questo parametro può essere una combinazione dei valori seguenti.

Valore Significato
BIND_ALL_IMAGES
0x00000004
Associare tutte le immagini nell'albero delle chiamate per questo file.
BIND_CACHE_IMPORT_DLLS
0x00000008
Non eliminare le informazioni DLL nella cache tra le chiamate. Ciò migliora le prestazioni quando si associa un numero elevato di immagini.
BIND_NO_BOUND_IMPORTS
0x00000001
Non generare una nuova tabella di indirizzi di importazione.
BIND_NO_UPDATE
0x00000002
Non apportare modifiche al file.

[in] ImageName

Nome del file da associare. Questo valore può essere un nome di file, un percorso parziale o un percorso completo.

[in] DllPath

Radice del percorso di ricerca da usare se il file specificato dal parametro ImageName non può essere aperto.

[in] SymbolPath

Radice del percorso da cercare il file simbolo corrispondente del file.

[in] StatusRoutine

Puntatore a una routine di stato. La routine di stato viene chiamata durante lo stato dell'associazione di immagini. Per altre informazioni, vedere StatusRoutine.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è TRUE.

Se la funzione ha esito negativo, il valore restituito è FALSE. Per recuperare informazioni sull'errore estese, chiamare GetLastError.

Commenti

Il processo di associazione di un'immagine è costituito dal calcolo dell'indirizzo virtuale di ogni funzione importata. L'indirizzo virtuale calcolato viene quindi salvato nella tabella di indirizzi di importazione dell'immagine (IAT). Di conseguenza, l'immagine viene caricata molto più velocemente, in particolare se usa molte DLL, perché il caricatore di sistema non deve calcolare l'indirizzo di ogni funzione importata.

Se è possibile individuare un file di simboli corrispondente, il timestamp e il checksum vengono aggiornati.

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

   
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

Vedi anche

Funzioni ImageHlp

StatusRoutine