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 매개 변수의 형식입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
SSRVOPT_DWORD
0x0002
id 매개 변수는 DWORD입니다.
SSRVOPT_DWORDPTR
0x0004
id 매개 변수는 DWORD에 대한 포인터입니다.
SSRVOPT_GUIDPTR
0x0008
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으로 설정됩니다.
이러한 모든 값은 SymSrvGetFileIndexInfo를 호출하여 가져올 수 있습니다.

디렉터리를 검색할 때 이 함수는 기호 식별자가 기본적으로 일치하는지 확인하지 않습니다. 일치하는 기호 파일이 있는지 확인하려면 SYMOPT_EXACT_SYMBOLS 사용하여 SymSetOptions 함수를 호출합니다.

이 함수와 같은 모든 DbgHelp 함수는 단일 스레드입니다. 따라서 둘 이상의 스레드에서 이 함수로 호출하면 예기치 않은 동작이나 메모리 손상이 발생할 수 있습니다. 이를 방지하려면 둘 이상의 스레드에서 이 함수로의 모든 동시 호출을 동기화해야 합니다.

이 함수의 유니코드 버전을 호출하려면 DBGHELP_TRANSLATE_TCHAR 정의합니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 dbghelp.h
라이브러리 DbgHelp.lib
DLL DbgHelp.dll
재배포 가능 파일 DbgHelp.dll 5.1 이상

추가 정보

DbgHelp 함수

SymFindFileInPathProc

SymInitialize

SymSetSearchPath

SymSrvGetFileIndexInfo