다음을 통해 공유


BindImageEx 함수(imagehlp.h)

가져온 각 함수의 가상 주소를 계산합니다.

구문

BOOL IMAGEAPI BindImageEx(
  [in] DWORD                    Flags,
  [in] PCSTR                    ImageName,
  [in] PCSTR                    DllPath,
  [in] PCSTR                    SymbolPath,
  [in] PIMAGEHLP_STATUS_ROUTINE StatusRoutine
);

매개 변수

[in] Flags

바인딩 옵션입니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

의미
BIND_ALL_IMAGES
0x00000004
이 파일에 대한 호출 트리의 모든 이미지를 바인딩합니다.
BIND_CACHE_IMPORT_DLLS
0x00000008
호출 간에 캐시의 DLL 정보를 삭제하지 마세요. 이렇게 하면 많은 수의 이미지를 바인딩할 때 성능이 향상됩니다.
BIND_NO_BOUND_IMPORTS
0x00000001
새 가져오기 주소 테이블을 생성하지 마세요.
BIND_NO_UPDATE
0x00000002
파일을 변경하지 마세요.

[in] ImageName

바인딩할 파일의 이름입니다. 이 값은 파일 이름, 부분 경로 또는 전체 경로일 수 있습니다.

[in] DllPath

ImageName 매개 변수로 지정된 파일을 열 수 없는 경우 사용할 검색 경로의 루트입니다.

[in] SymbolPath

파일의 해당 기호 파일을 검색할 경로의 루트입니다.

[in] StatusRoutine

상태 루틴에 대한 포인터입니다. 상태 루틴은 이미지 바인딩을 진행하는 동안 호출됩니다. 자세한 내용은 StatusRoutine을 참조하세요.

반환 값

함수가 성공하면 반환 값은 TRUE입니다.

함수가 실패하면 반환 값은 FALSE입니다. 확장된 오류 정보를 검색하려면 GetLastError를 호출합니다.

설명

이미지를 바인딩하는 프로세스는 가져온 각 함수의 가상 주소를 계산하는 것으로 구성됩니다. 그러면 계산된 가상 주소가 가져오기 이미지의 IAT(가져오기 주소 테이블)에 저장됩니다. 따라서 시스템 로더가 가져온 각 함수의 주소를 계산할 필요가 없으므로 이미지가 많은 DLL을 사용하는 경우 이미지가 훨씬 더 빠르게 로드됩니다.

해당 기호 파일을 찾을 수 있는 경우 타임스탬프로 및 체크섬이 업데이트됩니다.

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

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 imagehlp.h
라이브러리 Imagehlp.lib
DLL Imagehlp.dll

참고 항목

ImageHlp 함수

StatusRoutine