LoadLibrary 및 AfxLoadLibrary
호출 처리 LoadLibrary (또는 AfxLoadLibrary) DLL에 명시적으로 링크 하도록 합니다.함수가 성공 하면 지정 된 DLL을 호출 프로세스의 주소 공간에 매핑됩니다 및 다른 함수 명시적 링크에 사용할 수 있는 dll의 핸들을 반환 합니다 예를 들어, GetProcAddress 및 FreeLibrary.
LoadLibrary암시적 링크에 사용 되는 동일한 검색 시퀀스를 사용 하 여 DLL을 찾으려고 시도 합니다.시스템에서 DLL을 찾을 수 없거나 진입점 함수가 FALSE를 반환하는 경우에는 LoadLibrary가 NULL을 반환합니다.경우 호출을 LoadLibrary 를 호출 하는 프로세스의 주소 공간에 이미 매핑된 DLL 모듈을 지정 함수 모듈의 참조 횟수 증가 DLL의 핸들을 반환 합니다.
DLL에 진입점 함수가 있으면 운영 체제에서는 LoadLibrary를 호출한 스레드 컨텍스트에서 이 함수를 호출합니다.DLL 이미 프로세스에 이전 호출을 때문에 연결 되어 있으면 진입점 함수 라고 LoadLibrary 가 없음 해당 호출의 FreeLibrary 함수.
확장 DLL을 로드하는 MFC 응용 프로그램의 경우 LoadLibrary 대신 AfxLoadLibrary를 사용하는 것이 좋습니다.AfxLoadLibrary는 LoadLibrary를 호출하기 전에 스레드 동기화를 처리합니다.AfxLoadLibrary에 대한 인터페이스(함수 프로토타입)는 LoadLibrary의 경우와 같습니다.
Windows에서 DLL을 로드할 수 없는 경우 프로세스는 오류 복구를 시도합니다.예를 들어, 프로세스는 사용자에게 오류를 알려 사용자가 다른 DLL 경로를 지정하도록 할 수 있습니다.
보안 정보 |
---|
Windows NT 4, Windows 2000 또는 Windows XP (SP1) 전에 실행 코드가 Dll의 전체 경로 지정 해야 합니다.이러한 운영 체제에서는 파일을 로드할 때 현재 디렉터리를 먼저 검색합니다.파일의 경로 정규화 하지 않으면 의도 된 것 없는 파일 로드할 수 있습니다. |