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 |
---|---|
|
Aggiunta di una riga già esistente. |
|
Eliminazione di una riga che non esiste. |
|
Aggiunta di una tabella già esistente. |
|
Eliminazione di una tabella che non esiste. |
|
Aggiornamento di una riga che non esiste. |
|
Le pagine codici di trasformazione e database non corrispondono e non hanno una tabella codici neutrale. |
|
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 |