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
SSRVOPT_DWORD
0x0002
Il parametro id è un DWORD.
SSRVOPT_DWORDPTR
0x0004
Il parametro id è un puntatore a un DWORD.
SSRVOPT_GUIDPTR
0x0008
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.
Tutti questi valori possono essere ottenuti chiamando SymSrvGetFileIndexInfo.

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

Vedi anche

Funzioni DbgHelp

SymFindFileInPathProc

SymInitialize

SymSetSearchPath

SymSrvGetFileIndexInfo