Função MsiDatabaseApplyTransformA (msiquery.h)

A função MsiDatabaseApplyTransform aplica uma transformação a um banco de dados.

Sintaxe

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

Parâmetros

[in] hDatabase

Manipule para o banco de dados obtido de MsiOpenDatabase para a transformação.

[in] szTransformFile

Especifica o nome do arquivo de transformação a ser aplicado.

[in] iErrorConditions

Condições de erro que devem ser suprimidas. Esse parâmetro é um campo de bits que pode conter os bits a seguir.

Condição de erro Significado
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x0001
Adição de uma linha que já existe.
MSITRANSFORM_ERROR_DELMISSINGROW
0x0002
Exclusão de uma linha que não existe.
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x0004
Adição de uma tabela que já existe.
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x0008
Exclusão de uma tabela que não existe.
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x0010
Atualização de uma linha que não existe.
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x0020
As páginas de código de transformação e de banco de dados não são correspondentes, e nenhuma delas tem uma página de código neutro.
MSITRANSFORM_ERROR_VIEWTRANSFORM
0x0100
Crie a tabela de _TransformView temporária.

Retornar valor

A função MsiDatabaseApplyTransform retorna um dos seguintes valores:

Comentários

A função MsiDatabaseApplyTransform atrasa a transformação de tabelas até que seja necessário. Todas as tabelas a serem adicionadas ou descartadas são processadas imediatamente. No entanto, as alterações na tabela existente são atrasadas até que a tabela seja carregada ou o banco de dados seja confirmado.

Ocorrerá um erro se MsiDatabaseApplyTransform for chamado quando as tabelas já tiverem sido carregadas e salvas no armazenamento.

Como o delimitador de lista para transformações, fontes e patches é um ponto e vírgula, esse caractere não deve ser usado para nomes de arquivo ou caminhos.

Essa função não pode ser chamada de ações personalizadas. Uma chamada para essa função de uma ação personalizada faz com que a função falhe.

Se a função falhar, você poderá obter informações de erro estendidas usando MsiGetLastErrorRecord.

Observação

O cabeçalho msiquery.h define MsiDatabaseApplyTransform como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Installer 5.0 no Windows Server 2012, no Windows 8, no Windows Server 2008 R2 ou no Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou no Windows Vista. Windows Installer no Windows Server 2003 ou no Windows XP
Plataforma de Destino Windows
Cabeçalho msiquery.h
Biblioteca Msi.lib
DLL Msi.dll

Confira também

Funções de gerenciamento de banco de dados

Transformações de banco de dados