Función MsiDatabaseApplyTransformA (msiquery.h)

La función MsiDatabaseApplyTransform aplica una transformación a una base de datos.

Sintaxis

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

Parámetros

[in] hDatabase

Identificador de la base de datos obtenida de MsiOpenDatabase a la transformación.

[in] szTransformFile

Especifica el nombre del archivo de transformación que se va a aplicar.

[in] iErrorConditions

Condiciones de error que se deben suprimir. Este parámetro es un campo de bits que puede contener los siguientes bits.

Condición de error Significado
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x0001
Se agrega una fila que ya existe.
MSITRANSFORM_ERROR_DELMISSINGROW
0x0002
Se elimina una fila que no existe.
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x0004
Se agrega una tabla que ya existe.
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x0008
Se elimina una tabla que no existe.
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x0010
Se actualiza una fila que no existe.
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x0020
Las páginas de códigos de la base de datos y de transformación no coinciden y ninguna tiene una página de códigos neutral.
MSITRANSFORM_ERROR_VIEWTRANSFORM
0x0100
Cree la tabla de _TransformView temporal.

Valor devuelto

La función MsiDatabaseApplyTransform devuelve uno de los siguientes valores:

Comentarios

La función MsiDatabaseApplyTransform retrasa la transformación de tablas hasta que sea necesario. Las tablas que se van a agregar o quitar se procesan inmediatamente. Sin embargo, los cambios en la tabla existente se retrasan hasta que se carga la tabla o se confirma la base de datos.

Se produce un error si se llama a MsiDatabaseApplyTransform cuando ya se han cargado y guardado tablas en el almacenamiento.

Dado que el delimitador de lista para transformaciones, orígenes y revisiones es un punto y coma, este carácter no debe usarse para nombres de archivo o rutas de acceso.

No se puede llamar a esta función desde acciones personalizadas. Una llamada a esta función desde una acción personalizada hace que se produzca un error en la función.

Si se produce un error en la función, puede obtener información de error extendida mediante MsiGetLastErrorRecord.

Nota

El encabezado msiquery.h define MsiDatabaseApplyTransform como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Installer 5.0 en Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 en Windows Server 2008 o Windows Vista. Windows Installer en Windows Server 2003 o Windows XP
Plataforma de destino Windows
Encabezado msiquery.h
Library Msi.lib
Archivo DLL Msi.dll

Consulte también

Funciones de administración de base de datos

Transformaciones de base de datos