Funzione MsiDatabaseApplyTransformA (msiquery.h)

La funzione MsiDatabaseApplyTransform applica una trasformazione a un database.

Sintassi

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

Parametri

[in] hDatabase

Gestire il database ottenuto da MsiOpenDatabase alla trasformazione.

[in] szTransformFile

Specifica il nome del file di trasformazione da applicare.

[in] iErrorConditions

Condizioni di errore che devono essere eliminate. Questo parametro è un campo bit che può contenere i bit seguenti.

Condizione di errore Significato
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x0001
Aggiunta di una riga già esistente.
MSITRANSFORM_ERROR_DELMISSINGROW
0x0002
Eliminazione di una riga che non esiste.
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x0004
Aggiunta di una tabella già esistente.
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x0008
Eliminazione di una tabella che non esiste.
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x0010
Aggiornamento di una riga che non esiste.
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x0020
Le pagine codici di trasformazione e database non corrispondono e non hanno una tabella codici neutrale.
MSITRANSFORM_ERROR_VIEWTRANSFORM
0x0100
Creare la tabella di _TransformView temporanea.

Valore restituito

La funzione MsiDatabaseApplyTransform restituisce uno dei valori seguenti:

Commenti

La funzione MsiDatabaseApplyTransform ritarda la trasformazione delle tabelle fino a quando non è necessaria. Tutte le tabelle da aggiungere o eliminare vengono elaborate immediatamente. Tuttavia, le modifiche apportate alla tabella esistente vengono ritardate fino al caricamento della tabella o al commit del database.

Si verifica un errore se MsiDatabaseApplyTransform viene chiamato quando le tabelle sono già state caricate e salvate nell'archiviazione.

Poiché il delimitatore elenco per le trasformazioni, le origini e le patch è un punto e virgola, questo carattere non deve essere usato per i nomi file o i percorsi.

Questa funzione non può essere chiamata da azioni personalizzate. Una chiamata a questa funzione da un'azione personalizzata causa l'esito negativo della funzione.

Se la funzione ha esito negativo, è possibile ottenere informazioni di errore estese usando MsiGetLastErrorRecord.

Nota

L'intestazione msiquery.h definisce MsiDatabaseApplyTransform come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows Installer 5.0 in Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 in Windows Server 2008 o Windows Vista. Windows Installer in Windows Server 2003 o Windows XP
Piattaforma di destinazione Windows
Intestazione msiquery.h
Libreria Msi.lib
DLL Msi.dll

Vedi anche

Funzioni di gestione del database

Trasformazioni del database