SymGetSourceFileW, fonction (dbghelp.h)
Récupère le fichier source spécifié à partir du serveur source.
Syntaxe
BOOL IMAGEAPI SymGetSourceFileW(
[in] HANDLE hProcess,
[in] ULONG64 Base,
[in, optional] PCWSTR Params,
[in] PCWSTR FileSpec,
[out] PWSTR FilePath,
[in] DWORD Size
);
Paramètres
[in] hProcess
Handle vers un processus. Ce handle doit avoir été passé précédemment à la fonction SymInitialize.
[in] Base
Adresse de base du module.
[in, optional] Params
Ce paramètre n’est pas utilisé.
[in] FileSpec
Nom du fichier source.
[out] FilePath
Pointeur vers une mémoire tampon qui reçoit le chemin complet du fichier source.
[in] Size
Taille de la mémoire tampon FilePath
Valeur de retour
Si la fonction réussit, la valeur de retour est TRUE.
Si la fonction échoue, la valeur de retour est FALSE. Pour récupérer des informations d’erreur étendues, appelez GetLastError.
Remarques
Pour contrôler le répertoire qui reçoit les fichiers sources, utilisez la fonction SymSetHomeDirectory
Toutes les fonctions DbgHelp, comme celle-ci, sont monothread. Par conséquent, les appels de plusieurs threads à cette fonction entraîneront probablement une altération inattendue du comportement ou de la mémoire. Pour éviter cela, vous devez synchroniser tous les appels simultanés de plusieurs threads vers cette fonction.
Pour appeler la version Unicode de cette fonction, définissez DBGHELP_TRANSLATE_TCHAR.
Note
L’en-tête dbghelp.h définit SymGetSourceFile comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Windows |
d’en-tête | dbghelp.h |
bibliothèque | Dbghelp.lib |
DLL | Dbghelp.dll |
redistribuable | DbgHelp.dll 6.2 ou version ultérieure |