Méthode IDebugSymbols3 ::FindSourceFileWide (dbgeng.h)
La méthode FindSourceFileWide recherche le chemin d’accès source d’un fichier source spécifié.
Syntaxe
HRESULT FindSourceFileWide(
[in] ULONG StartElement,
[in] PCWSTR File,
[in] ULONG Flags,
[out, optional] PULONG FoundElement,
[out, optional] PWSTR Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG FoundSize
);
Paramètres
[in] StartElement
Spécifie l’index d’un élément dans le chemin d’accès source à partir duquel commencer la recherche. Tous les éléments du chemin d’accès source avant StartElement sont exclus de la recherche. L’index du premier élément est égal à zéro. Si StartElement est supérieur ou égal au nombre d’éléments dans le chemin source, le système de classement est vérifié directement.
Ce paramètre peut être utilisé avec FoundElement pour case activée pour plusieurs correspondances dans le chemin source.
[in] File
Spécifie le chemin d’accès et le nom de fichier du fichier à rechercher.
[in] Flags
Spécifie les indicateurs de recherche. Pour obtenir une description de ces indicateurs, consultez DEBUG_FIND_SOURCE_XXX.
L’indicateur DEBUG_FIND_SOURCE_TOKEN_LOOKUP ne doit pas être défini. L’indicateur DEBUG_FIND_SOURCE_NO_SRCSRV est ignoré, car cette méthode n’inclut pas les serveurs sources dans la recherche.
[out, optional] FoundElement
Reçoit l’index de l’élément dans le chemin d’accès source qui contient le fichier. Si le fichier a été trouvé directement sur le système de classement (sans utiliser le chemin d’accès source), -1 est retourné à FoundElement. Si FoundElement a la valeur NULL, ces informations ne sont pas retournées.
[out, optional] Buffer
Reçoit le chemin d’accès et le nom du fichier trouvé. Si l’indicateur DEBUG_FIND_SOURCE_FULL_PATH est défini, il s’agit du nom de chemin d’accès canonique complet du fichier. Sinon, il s’agit de la concaténation du répertoire dans le chemin d’accès source avec la fin du fichier qui a été utilisée pour rechercher le fichier. Si La mémoire tampon a la valeur NULL, ces informations ne sont pas retournées.
[in] BufferSize
Spécifie la taille, en caractères, de la mémoire tampon .
[out, optional] FoundSize
Spécifie la taille, en caractères, du nom du fichier. Si FoundSize a la valeur NULL, ces informations ne sont pas retournées.
Valeur retournée
Cette méthode peut également retourner des valeurs d’erreur. Pour plus d’informations, consultez Valeurs de retour .
Code de retour | Description |
---|---|
|
La méthode a réussi. |
|
Le fichier est introuvable sur le chemin d’accès source. |
Remarques
Le moteur utilise les étapes suivantes, dans l’ordre, pour rechercher le fichier :
-
Pour chaque répertoire du chemin d’accès source, une tentative est effectuée pour rechercher un chevauchement entre la fin du chemin d’accès du répertoire et le début du chemin du fichier. Par exemple, si le chemin d’accès source contient un répertoire C :\a\b\c\d et file est c\d\e\samplefile.c, le fichier C :\a\b\c\d\e\samplefile.c est une correspondance.
Si l’indicateur DEBUG_FIND_SOURCE_BEST_MATCH est défini, la correspondance avec le chevauchement le plus long est retournée ; sinon, la première correspondance est retournée.
-
Pour chaque répertoire dans le chemin d’accès source, Le fichier est ajouté au répertoire. Si aucune correspondance n’est trouvée, ce processus est répété et chaque fois que le premier répertoire est supprimé à partir du début du chemin du fichier. Par exemple, si le chemin d’accès source contient un répertoire C :\a\b et file est c\d\e\samplefile.c, le fichier C :\a\b\e\samplefile.c est une correspondance.
La première correspondance trouvée est retournée.
- Le fichier est recherché directement dans le système de classement.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | dbgeng.h (inclure Dbgeng.h) |