IDebugSymbols::FindSourceFile メソッド (dbgeng.h)
FindSourceFile メソッドは、指定したソース ファイルのソース パスを検索します。
構文
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
);
パラメーター
[in] StartElement
検索を開始するソース パス内の要素のインデックスを指定します。 StartElement 前のソース パス内のすべての要素は、検索から除外されます。 最初の要素のインデックスは 0 です。 startElement がソース パス内の要素数以上の場合、ファイリング システムが直接チェックされます。
このパラメーターは、FoundElement と共に使用して、ソース パスで複数の一致があるかどうかを確認できます。
[in] File
検索するファイルのパスとファイル名を指定します。
[in] Flags
検索フラグを指定します。 これらのフラグの詳細については、DEBUG_FIND_SOURCE_XXXを参照してください。
フラグDEBUG_FIND_SOURCE_TOKEN_LOOKUPは設定しないでください。 このメソッドは検索にソース サーバーを含めないため、フラグ DEBUG_FIND_SOURCE_NO_SRCSRVは無視されます。
[out, optional] FoundElement
ファイルを含むソース パス内の要素のインデックスを受け取ります。 ファイルが (ソース パスを使用していない) ファイリング システムで直接見つかった場合は、-1 FoundElementに返されます。 FoundElement NULL 場合、この情報は返されません。
[out, optional] Buffer
見つかったファイルのパスと名前を受け取ります。 フラグ DEBUG_FIND_SOURCE_FULL_PATHが設定されている場合、これはファイルの完全な正規パス名です。 それ以外の場合は、ソース パス内のディレクトリと、ファイルの検索に使用された ファイル の末尾が連結されます。 バッファー が NULL 場合、この情報は返されません。
[in] BufferSize
バッファー バッファーのサイズを文字数で指定します。
[out, optional] FoundSize
ファイルの名前のサイズを文字で指定します。 FoundSize が NULL 場合、この情報は返されません。
戻り値
このメソッドは、エラー値を返す場合もあります。 詳細については 戻り値の を参照してください。
リターン コード | 形容 |
---|---|
|
メソッドが成功しました。 |
|
ファイル がソース パスに見つかりませんでした。 |
備考
エンジンは、次の手順を使用して、ファイルを順に検索します。
-
ソース パス内の各ディレクトリについて、ディレクトリ パスの末尾とファイル パスの先頭の間の重複を見つけようとします。 たとえば、ソース パスにディレクトリ C:\a\b\c\d が含まれており、ファイル が c\d\e\samplefile.c の場合、ファイル C:\a\b\c\d\e\samplefile.c は一致します。
フラグDEBUG_FIND_SOURCE_BEST_MATCHが設定されている場合は、最も長い重複を持つ一致が返されます。それ以外の場合は、最初の一致が返されます。
-
ソース パス内のディレクトリごとに、ファイル がディレクトリに追加されます。 一致するものが見つからない場合、このプロセスは繰り返され、最初のディレクトリがファイル パスの先頭から削除されるたびに実行されます。 たとえば、ソース パスにディレクトリ C:\a\b が含まれており、ファイル が c\d\e\samplefile.c の場合、ファイル C:\a\b\e\samplefile.c は一致します。
最初に見つかった一致が返されます。
- ファイル は、ファイリング システムで直接検索されます。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | dbgeng.h (Dbgeng.h を含む) |
関連項目
FindSourceFileAndToken の
GetSourceFileLineOffsets の
GetSourcePathElement の
IDebugSymbols2 を する