Funzione SymFindFileInPath (dbghelp.h)
Individua un file di simboli o un'immagine eseguibile.
Sintassi
BOOL IMAGEAPI SymFindFileInPath(
[in] HANDLE hprocess,
[in, optional] PCSTR SearchPath,
[in] PCSTR FileName,
[in, optional] PVOID id,
[in] DWORD two,
[in] DWORD three,
[in] DWORD flags,
[out] PSTR FoundFile,
[in, optional] PFINDFILEINPATHCALLBACK callback,
[in, optional] PVOID context
);
Parametri
[in] hprocess
Handle per il processo passato originariamente alla funzione SymInitialize .
[in, optional] SearchPath
Percorso di ricerca. Può trattarsi di più percorsi separati da punto e virgola. Può includere sia directory che server di simboli. Se questo parametro è NULL, la funzione usa il percorso di ricerca impostato usando la funzione SymSetSearchPath o SymInitialize .
[in] FileName
Nome del file. È possibile specificare un percorso; viene tuttavia usato solo il nome del file.
[in, optional] id
Il primo dei tre parametri di identificazione (vedere la sezione Osservazioni).
[in] two
Secondo dei tre parametri di identificazione (vedere la sezione Osservazioni).
[in] three
Terzo dei tre parametri di identificazione (vedere la sezione Osservazioni).
[in] flags
Formato del parametro id . Questo parametro può avere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Il parametro id è un DWORD. |
|
Il parametro id è un puntatore a un DWORD. |
|
Il parametro id è un puntatore a un GUID. |
[out] FoundFile
Puntatore a un buffer che riceve il percorso completo del file di simboli. Questo buffer deve essere almeno MAX_PATH caratteri.
[in, optional] callback
Funzione di callback SymFindFileInPathProc .
[in, optional] context
Valore definito dall'utente o NULL. Questo valore viene semplicemente passato alla funzione di callback. Questo parametro viene in genere usato da un'applicazione per passare un puntatore a una struttura di dati che fornisce un contesto per la funzione di callback.
Valore restituito
Se il server individua un file di simboli valido, restituisce TRUE; in caso contrario, restituisce FALSE e GetLastError restituisce un valore che indica il motivo per cui il file di simboli non è stato restituito.
Commenti
I parametri di identificazione vengono compilati nel modo seguente:
- Se DbgHelp cerca un file con estensione pdb, il parametro id specifica la firma PDB, come indicato nella directory di debug codeview dell'immagine originale. Il parametro 2 specifica l'età del database PDB. Il parametro 3 è inutilizzato e impostato su zero.
- Se DbgHelp cerca qualsiasi altro tipo di immagine, ad esempio un file eseguibile o un file con estensione dbg, il parametro id specifica il TimeDateStamp dell'immagine originale, come indicato nell'intestazione PE. Il parametro due specifica il campo SizeOfImage, estratto anche dall'intestazione PE. Il parametro 3 è inutilizzato e impostato su zero.
Durante la ricerca in una directory, questa funzione non verifica che gli identificatori dei simboli corrispondano per impostazione predefinita. Per assicurarsi che i file di simboli corrispondenti si trovino, chiamare la funzione SymSetOptions con SYMOPT_EXACT_SYMBOLS.
Tutte le funzioni DbgHelp, ad esempio questa, sono a thread singolo. Di conseguenza, le chiamate da più thread a questa funzione genereranno un comportamento imprevisto o un danneggiamento della memoria. Per evitare questo problema, è necessario sincronizzare tutte le chiamate simultanee da più thread a questa funzione.
Per chiamare la versione Unicode di questa funzione, definire DBGHELP_TRANSLATE_TCHAR.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | dbghelp.h |
Libreria | DbgHelp.lib |
DLL | DbgHelp.dll |
Componente ridistribuibile | DbgHelp.dll 5.1 o versione successiva |