IDebugSymbols3::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
파일이 포함된 원본 경로 내 요소의 인덱스를 받습니다. 파일이 파일 시스템에서 직접 발견된 경우(원본 경로를 사용하지 않음) -1FoundElement반환됩니다. 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 포함) |