SymFindFileInPath 함수(dbghelp.h)
기호 파일 또는 실행 파일 이미지를 찾습니다.
구문
BOOL IMAGEAPI SymFindFileInPath(
[in] HANDLE hprocess,
[in, optional] PCSTR SearchPath,
[in] PCSTR FileName,
[in, optional] PVOID id,
[in] DWORD two,
[in] DWORD three,
[in] DWORD flags,
[out] PSTR FoundFile,
[in, optional] PFINDFILEINPATHCALLBACK callback,
[in, optional] PVOID context
);
매개 변수
[in] hprocess
원래 SymInitialize 함수에 전달된 프로세스에 대한 핸들입니다.
[in, optional] SearchPath
검색 경로입니다. 세미콜론으로 구분된 여러 경로일 수 있습니다. 디렉터리와 기호 서버를 모두 포함할 수 있습니다. 이 매개 변수가 NULL인 경우 함수는 SymSetSearchPath 또는 SymInitialize 함수를 사용하여 검색 경로 집합을 사용합니다.
[in] FileName
파일 이름입니다. 경로를 지정할 수 있습니다. 그러나 파일 이름만 사용됩니다.
[in, optional] id
세 가지 식별 매개 변수 중 첫 번째 매개 변수입니다(설명 참조).
[in] two
식별 매개 변수 세 개 중 두 번째 매개 변수입니다(설명 참조).
[in] three
식별 매개 변수 3개 중 세 번째입니다(설명 참조).
[in] flags
id 매개 변수의 형식입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
id 매개 변수는 DWORD입니다. |
|
id 매개 변수는 DWORD에 대한 포인터입니다. |
|
ID 매개 변수는 GUID에 대한 포인터입니다. |
[out] FoundFile
기호 파일에 대한 정규화된 경로를 수신하는 버퍼에 대한 포인터입니다. 이 버퍼는 최소 MAX_PATH 문자여야 합니다.
[in, optional] callback
SymFindFileInPathProc 콜백 함수입니다.
[in, optional] context
사용자 정의 값 또는 NULL입니다. 이 값은 단순히 콜백 함수에 전달됩니다. 이 매개 변수는 일반적으로 애플리케이션에서 콜백 함수에 대한 몇 가지 컨텍스트를 제공하는 데이터 구조에 대한 포인터를 전달하는 데 사용됩니다.
반환 값
서버가 유효한 기호 파일을 찾으면 TRUE를 반환합니다 . 그렇지 않으면 FALSE 를 반환하고 GetLastError 는 기호 파일이 반환되지 않은 이유를 나타내는 값을 반환합니다.
설명
식별 매개 변수는 다음과 같이 채워집니다.
- DbgHelp에서 .pdb 파일을 찾는 경우 id 매개 변수는 원래 이미지의 codeview 디버그 디렉터리에 있는 PDB 서명을 지정합니다. 매개 변수 2 는 PDB 기간을 지정합니다. 매개 변수 3 은 사용되지 않고 0으로 설정됩니다.
- DbgHelp이 실행 파일 또는 .dbg 파일과 같은 다른 유형의 이미지를 찾는 경우 ID 매개 변수는 PE 헤더에 있는 원래 이미지의 TimeDateStamp를 지정합니다. 매개 변수 2 는 PE 헤더에서 추출된 SizeOfImage 필드를 지정합니다. 매개 변수 3 은 사용되지 않고 0으로 설정됩니다.
디렉터리를 검색할 때 이 함수는 기호 식별자가 기본적으로 일치하는지 확인하지 않습니다. 일치하는 기호 파일이 있는지 확인하려면 SYMOPT_EXACT_SYMBOLS 사용하여 SymSetOptions 함수를 호출합니다.
이 함수와 같은 모든 DbgHelp 함수는 단일 스레드입니다. 따라서 둘 이상의 스레드에서 이 함수로 호출하면 예기치 않은 동작이나 메모리 손상이 발생할 수 있습니다. 이를 방지하려면 둘 이상의 스레드에서 이 함수로의 모든 동시 호출을 동기화해야 합니다.
이 함수의 유니코드 버전을 호출하려면 DBGHELP_TRANSLATE_TCHAR 정의합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | dbghelp.h |
라이브러리 | DbgHelp.lib |
DLL | DbgHelp.dll |
재배포 가능 파일 | DbgHelp.dll 5.1 이상 |