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 설정된 경우 파일의 전체 정식 경로 이름입니다. 그렇지 않으면 파일을 찾는 데 사용된 파일 의 꼬리와 원본 경로의 디렉터리가 연결됩니다. Buffer가 NULL이면 이 정보가 반환되지 않습니다.
[in] BufferSize
버퍼 버퍼의 크기를 문자 단위로 지정합니다.
[out, optional] FoundSize
파일 이름의 크기를 문자 단위로 지정합니다. FoundSize가 NULL이면 이 정보가 반환되지 않습니다.
반환 값
이 메서드는 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값을 참조하세요.
반환 코드 | Description |
---|---|
|
메서드를 성공적으로 수행했습니다. |
|
원본 경로에서 파일을 찾을 수 없습니다. |
설명
엔진은 다음 단계를 순서대로 사용하여 파일을 검색합니다.
-
원본 경로의 각 디렉터리에 대해 디렉터리 경로의 끝과 파일 경로의 시작 부분 사이에 겹치는 부분을 찾으려고 시도합니다. 예를 들어 원본 경로에 C:\a\b\c\d 디렉터리가 포함되어 있고 File 이 c\d\e\samplefile.c이면 C:\a\b\c\d\e\samplefile.c 파일이 일치합니다.
플래그 DEBUG_FIND_SOURCE_BEST_MATCH 설정되면 가장 긴 겹침이 있는 일치 항목이 반환됩니다. 그렇지 않으면 첫 번째 일치 항목이 반환됩니다.
-
원본 경로의 각 디렉터리에 대해 파일이 디렉터리에 추가됩니다. 일치하는 항목이 없으면 이 프로세스가 반복되고 파일 경로의 시작 부분에서 첫 번째 디렉터리가 제거될 때마다 반복됩니다. 예를 들어 원본 경로에 C:\a\b 디렉터리가 포함되어 있고 File 이 c\d\e\samplefile.c이면 C:\a\b\e\samplefile.c 파일이 일치합니다.
찾은 첫 번째 일치 항목이 반환됩니다.
- 파일 은 제출 시스템에서 직접 조회됩니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | dbgeng.h(Dbgeng.h 포함) |