Compartir a través de


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 bits siguientes.

Condición de error Significado
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x0001
Agregar una fila que ya existe.
MSITRANSFORM_ERROR_DELMISSINGROW
0x0002
Eliminar una fila que no existe.
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x0004
Agregar una tabla que ya existe.
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x0008
Eliminar una tabla que no existe.
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x0010
Actualizar una fila que no existe.
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x0020
Las páginas de códigos de transformación y base de datos no coinciden y tampoco tienen 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:

Observaciones

El msiDatabaseApplyTransform función 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido 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
de la plataforma de destino de Windows
encabezado de msiquery.h
biblioteca de Msi.lib
DLL de Msi.dll

Consulte también

funciones de administración de bases de datos de

de transformaciones de base de datos