다음을 통해 공유


IMsmMerge::OpenModule 메서드(mergemod.h)

OpenModule 메서드는 읽기 전용 모드에서 Windows Installer 병합 모듈을 엽니다. 설치 데이터베이스와 통합하려면 먼저 모듈을 열어야 합니다. 자세한 내용은 Merge 개체의 OpenModule 메서드를 참조하세요.

IMsmMerge2::OpenModule Mergemod.dll 버전 2.0 이상.

 
IMsmMerge::OpenModule 모든 Mergemod.dll 버전.

구문

HRESULT OpenModule(
  [in] const BSTR  Path,
  [in] const short Language
);

매개 변수

[in] Path

병합 모듈을 가리키는 정규화된 파일 이름입니다. BSTR 대신 LPCWSTR을 사용할 수 있습니다.

[in] Language

언어 식별자(LANGID)입니다.

반환 값

OpenModule 함수는 다음 값을 반환합니다.

의미
E_ABORT
지정된 파일은 Windows Installer 데이터베이스이지만 병합 모듈이 아닙니다( ModuleSignature 테이블 누락).
HRESULT로 ERROR_INSTALL_LANGUAGE_UNSUPPORTED
언어는 모듈에서 지원되지 않습니다.
HRESULT로 ERROR_INSTALL_TRANSFORM_FAILURE
언어는 모듈에서 지원되지만 변환을 적용하는 동안 오류가 발생했습니다.
HRESULT로 ERROR_OPEN_FAILED
파일을 Windows Installer 데이터베이스로 열 수 없습니다.
HRESULT로 ERROR_TOO_MANY_OPEN_FILES
이미 열려 있는 모듈이 있습니다. 현재 모듈을 먼저 닫습니다.
S_OK
함수가 성공했습니다.

설명

이 함수는 병합 모듈을 읽기 전용 모드(MSIDBOPEN_READONLY)로 열고 CloseModule 함수가 호출될 때까지 병합 모듈에 쓰는 다른 프로그램을 제외합니다. 병합 모듈을 병합하려면 먼저 열어야 합니다.

설치 관리자는 언어로 지정된 언어 또는 더 이상 일반 언어로 모듈을 열려고 시도합니다. 예를 들어 언어 값으로 1033을 지정하면 기본 언어가 1033, 9 또는 0인 모듈이 기본 언어로 열립니다. Language 값이 9이면 기본 언어가 9 또는 0인 모듈이 열립니다. 모듈의 기본 언어가 지정된 요구 사항을 충족하지 않으면 모듈을 요청된 언어로 변환하려고 시도합니다. 실패하면 설치 관리자는 모듈을 점점 더 일반적인 언어로 변환하려고 시도합니다. 어떤 변환도 성공하지 못하면 모듈이 열리지 않습니다. 이 경우 msmErrorLanguageUnsupported 형식의 오류 목록에 오류가 추가되고 함수는 ERROR_INSTALL_LANGUAGE_UNSUPPORTED HRESULT로 반환합니다.

모듈을 원하는 언어로 변환하는 동안 오류가 발생하면 msmErrorLanguageFailed 형식의 오류가 생성되고 함수는 ERROR_INSTALL_TRANSFORM_FAILURE HRESULT로 반환합니다.

자세한 내용은 Error 개체의 Type 속성을 참조하세요.

통합 모듈을 열면 아직 검색되지 않은 오류가 지워집니다.

요구 사항

   
지원되는 최소 클라이언트 Mergemod.dll 1.0 이상
대상 플랫폼 Windows
헤더 mergemod.h
DLL Mergemod.dll

참고 항목

통합 모듈 자동화