LoadPackagedLibrary 함수(winbase.h)

지정된 패키지된 모듈 및 해당 종속성을 호출 프로세스의 주소 공간에 로드합니다.

구문

HMODULE LoadPackagedLibrary(
  [in] LPCWSTR lpwLibFileName,
       DWORD   Reserved
);

매개 변수

[in] lpwLibFileName

로드할 패키지된 모듈의 파일 이름입니다. 이 모듈은 라이브러리 모듈(.dll 파일) 또는 실행 모듈(.exe 파일)일 수 있습니다.

이 매개 변수가 경로 없이 모듈 이름을 지정하고 파일 이름 확장명을 생략하면 함수는 모듈 이름에 .dll 기본 라이브러리 확장명을 추가합니다. 함수가 모듈 이름에 .dll 추가하지 않도록 하려면 모듈 이름 문자열에 후행 점 문자(.)를 포함합니다.

이 매개 변수가 경로를 지정하는 경우 함수는 해당 경로에서 모듈을 검색합니다. 경로는 경로에 ".."를 포함하는 절대 경로 또는 상대 경로일 수 없습니다. 경로를 지정할 때 슬래시(/)가 아닌 백슬라이시(\)를 사용해야 합니다. 경로에 대한 자세한 내용은 이름 지정 파일, 경로 및 네임스페이스를 참조하세요.

지정된 모듈이 프로세스에 이미 로드된 경우 함수는 로드된 모듈에 대한 핸들을 반환합니다. 모듈은 원래 프로세스의 패키지 종속성 그래프에서 로드되어야 합니다.

지정된 모듈을 로드하면 시스템에서 연결된 다른 모듈을 로드하는 경우 함수는 먼저 로드된 모듈을 검색한 다음 프로세스의 패키지 종속성 그래프를 검색합니다. 자세한 내용은 설명 부분을 참조하세요.

Reserved

이 매개 변수는 예약되어 있습니다. 0이어야 합니다.

반환 값

함수가 성공하면 반환 값은 로드된 모듈에 대한 핸들입니다.

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

설명

LoadPackagedLibrary 함수는 LoadLibraryEx의 간소화된 버전입니다. 패키지된 앱은 LoadPackagedLibrary 를 사용하여 패키지된 모듈을 로드할 수 있습니다. 패키지되지 않은 애플리케이션은 LoadPackagedLibrary를 사용할 수 없습니다. 패키지되지 않은 애플리케이션이 이 함수를 호출하면 APPMODEL_ERROR_NO_PACKAGE 함께 실패합니다.

LoadPackagedLibrary 는 지정된 모듈에 대한 핸들을 반환하고 참조 횟수를 증분합니다. 모듈이 이미 로드된 경우 함수는 로드된 모듈에 대한 핸들을 반환합니다. 호출 프로세스는 LoadPackagedLibrary 에서 반환된 핸들을 사용하여 GetProcAddress 함수 호출에서 모듈을 식별할 수 있습니다. FreeLibrary 함수를 사용하여 로드된 모듈을 해제하고 해당 참조 수를 감소합니다.

함수가 지정된 모듈 또는 해당 종속성을 검색해야 하는 경우 프로세스의 패키지 종속성 그래프만 검색합니다. 애플리케이션의 패키지와 애플리케이션 패키지 매니페스트의 섹션에 <Dependencies> 지정된 <PackageDependency> 종속성입니다. 종속성은 매니페스트에 표시되는 순서대로 검색됩니다. 패키지 종속성 그래프는 애플리케이션의 패키지 매니페스트 섹션에 지정됩니다 <Dependencies> . 종속성은 매니페스트에 표시되는 순서대로 검색됩니다. 검색은 다음과 같이 진행됩니다.

  1. 함수는 먼저 이미 로드된 모듈을 검색합니다. 지정된 모듈이 원래 프로세스의 패키지 종속성 그래프에서 로드된 경우 함수는 로드된 모듈에 대한 핸들을 반환합니다. 지정된 모듈이 프로세스의 패키지 종속성 그래프에서 로드되지 않은 경우 함수는 NULL을 반환합니다.
  2. 모듈이 아직 로드되지 않은 경우 함수는 프로세스의 패키지 종속성 그래프를 검색합니다.
  3. 함수가 지정된 모듈 또는 해당 종속성 중 하나를 찾을 수 없으면 함수가 실패합니다.
DllMain에서 LoadPackagedLibrary를 호출하는 것은 안전하지 않습니다. 자세한 내용은 DllMain의 설명 섹션을 참조하세요.

참고

Windows Phone LoadPackagedLibrary는 에서 PhoneAppModelHost.dll호출되어야 합니다. 사용 Kernel32.dll 은 지원되지 않습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

동적 연결 라이브러리 검색 순서