Metodo IDebugSymbols3::FindSourceFile (dbgeng.h)
Il metodo FindSourceFile cerca il percorso di origine per un file di origine specificato.
Sintassi
HRESULT FindSourceFile(
[in] ULONG StartElement,
[in] PCSTR File,
[in] ULONG Flags,
[out, optional] PULONG FoundElement,
[out, optional] PSTR Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG FoundSize
);
Parametri
[in] StartElement
Specifica l'indice di un elemento all'interno del percorso di origine da cui iniziare la ricerca. Tutti gli elementi nel percorso di origine prima che StartElement vengano esclusi dalla ricerca. L'indice del primo elemento è zero. Se StartElement è maggiore o uguale al numero di elementi nel percorso di origine, il sistema di archiviazione viene controllato direttamente.
Questo parametro può essere usato con FoundElement per verificare la presenza di più corrispondenze nel percorso di origine.
[in] File
Specifica il percorso e il nome del file da cercare.
[in] Flags
Specifica i flag di ricerca. Per una descrizione di questi flag, vedere DEBUG_FIND_SOURCE_XXX.
Il flag DEBUG_FIND_SOURCE_TOKEN_LOOKUP non deve essere impostato. Il flag DEBUG_FIND_SOURCE_NO_SRCSRV viene ignorato perché questo metodo non include server di origine nella ricerca.
[out, optional] FoundElement
Riceve l'indice dell'elemento all'interno del percorso di origine che contiene il file. Se il file è stato trovato direttamente nel sistema di archiviazione (non usando il percorso di origine), -1 viene restituito a FoundElement. Se FoundElement è NULL, queste informazioni non vengono restituite.
[out, optional] Buffer
Riceve il percorso e il nome del file trovato. Se il flag DEBUG_FIND_SOURCE_FULL_PATH è impostato, si tratta del nome del percorso canonico completo per il file. In caso contrario, è la concatenazione della directory nel percorso di origine con la parte finale di File usata per trovare il file. Se buffer è NULL, queste informazioni non vengono restituite.
[in] BufferSize
Specifica le dimensioni, in caratteri , del buffer buffer.
[out, optional] FoundSize
Specifica le dimensioni, in caratteri, del nome del file. Se FoundSize è NULL, queste informazioni non vengono restituite.
Valore restituito
Questo metodo può anche restituire valori di errore. Per altre informazioni, vedere Valori restituiti .
Codice restituito | Descrizione |
---|---|
|
Il metodo è stato eseguito correttamente. |
|
Il file non è stato trovato nel percorso di origine. |
Commenti
Il motore usa i passaggi seguenti per cercare il file:
-
Per ogni directory nel percorso di origine, viene eseguito un tentativo di trovare una sovrapposizione tra la fine del percorso della directory e l'inizio del percorso del file. Ad esempio, se il percorso di origine contiene una directory C:\a\b\c\d e File è c\d\e\samplefile.c, il file C:\a\b\c\d\e\samplefile.c è una corrispondenza.
Se il flag DEBUG_FIND_SOURCE_BEST_MATCH è impostato, viene restituita la corrispondenza con la sovrapposizione più lunga; in caso contrario, viene restituita la prima corrispondenza.
-
Per ogni directory nel percorso di origine, il file viene aggiunto alla directory. Se non viene trovata alcuna corrispondenza, questo processo viene ripetuto e ogni volta che la prima directory viene rimossa dall'inizio del percorso del file. Ad esempio, se il percorso di origine contiene una directory C:\a\b e File è c\d\e\samplefile.c, il file C:\a\b\e\samplefile.c è una corrispondenza.
Viene restituita la prima corrispondenza trovata.
- Il file viene cercato direttamente nel sistema di archiviazione.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | dbgeng.h (includere Dbgeng.h) |