다음을 통해 공유


MsiDatabaseApplyTransformA 함수(msiquery.h)

MsiDatabaseApplyTransform 함수는 데이터베이스에 변환을 적용합니다.

구문

UINT MsiDatabaseApplyTransformA(
  [in] MSIHANDLE hDatabase,
  [in] LPCSTR    szTransformFile,
  [in] int       iErrorConditions
);

매개 변수

[in] hDatabase

MsiOpenDatabase에서 가져온 데이터베이스를 변환으로 처리합니다.

[in] szTransformFile

적용할 변환 파일의 이름을 지정합니다.

[in] iErrorConditions

표시하지 않아야 하는 오류 조건입니다. 이 매개 변수는 다음 비트를 포함할 수 있는 비트 필드입니다.

오류 조건 의미
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x0001
이미 존재하는 행을 추가합니다.
MSITRANSFORM_ERROR_DELMISSINGROW
0x0002
존재하지 않는 행을 삭제합니다.
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x0004
이미 존재하는 테이블을 추가합니다.
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x0008
존재하지 않는 테이블을 삭제합니다.
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x0010
존재하지 않는 행을 업데이트합니다.
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x0020
변환 및 데이터베이스 코드 페이지가 일치하지 않으며 중립 코드 페이지도 아닙니다.
MSITRANSFORM_ERROR_VIEWTRANSFORM
0x0100
임시 _TransformView 테이블을 만듭니다.

반환 값

MsiDatabaseApplyTransform 함수는 다음 값 중 하나를 반환합니다.

설명

MsiDatabaseApplyTransform 함수는 필요할 때까지 테이블 변환을 지연시킵니다. 추가하거나 삭제할 모든 테이블은 즉시 처리됩니다. 그러나 기존 테이블의 변경 내용은 테이블이 로드되거나 데이터베이스가 커밋될 때까지 지연됩니다.

테이블이 이미 로드되어 스토리지에 저장되었을 때 MsiDatabaseApplyTransform 이 호출되면 오류가 발생합니다.

변환, 원본 및 패치에 대한 목록 구분 기호는 세미콜론이므로 이 문자는 파일 이름 또는 경로에 사용하면 안 됩니다.

이 함수는 사용자 지정 작업에서 호출할 수 없습니다. 사용자 지정 작업에서 이 함수를 호출하면 함수가 실패합니다.

함수가 실패하면 MsiGetLastErrorRecord를 사용하여 확장된 오류 정보를 얻을 수 있습니다.

참고

msiquery.h 헤더는 MSiDatabaseApplyTransform을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Server 2012, Windows 8, Windows Server 2008 R2 또는 Windows 7의 Windows Installer 5.0. Windows Server 2008 또는 Windows Vista의 Windows Installer 4.0 또는 Windows Installer 4.5. Windows Server 2003 또는 Windows XP의 Windows Installer
대상 플랫폼 Windows
헤더 msiquery.h
라이브러리 Msi.lib
DLL Msi.dll

추가 정보

데이터베이스 관리 함수

데이터베이스 변환