Funzione MsiOpenDatabaseA (msiquery.h)
La funzione msiOpenDatabase
Sintassi
UINT MsiOpenDatabaseA(
[in] LPCSTR szDatabasePath,
[in] LPCSTR szPersist,
[out] MSIHANDLE *phDatabase
);
Parametri
[in] szDatabasePath
Specifica il percorso completo o il percorso relativo del file di database.
[in] szPersist
Riceve il percorso completo del file o la modalità di persistenza. È possibile usare il parametro szPersist
[out] phDatabase
Puntatore al percorso dell'handle di database restituito.
Valore restituito
La funzione MsiOpenDatabase restituisce i valori seguenti:
Osservazioni
Per apportare e salvare le modifiche apportate a un database, aprire prima il database nella modalità di transazione (MSIDBOPEN_TRANSACT), crea (MSIDBOPEN_CREATE o MSIDBOPEN_CREATEDIRECT) o diretta (MSIDBOPEN_DIRECT). Dopo aver apportato le modifiche, chiamare sempre MsiDatabaseCommit prima di chiudere l'handle di database. MsiDatabaseCommit scarica tutti i buffer.
Chiamare sempre MsiDatabaseCommit in un database aperto in modalità diretta (MSIDBOPEN_DIRECT o MSIDBOPEN_CREATEDIRECT) prima di chiudere l'handle del database. In caso contrario, il database potrebbe danneggiare il database.
Poiché MsiOpenDatabase avvia l'accesso al database, non può essere usato con un'installazione in esecuzione.
Si noti che è consigliabile usare variabili di tipo PMSIHANDLE perché il programma di installazione chiude gli oggetti PMSIHANDLE quando escono dall'ambito, mentre è necessario chiudere gli oggetti MSIHANDLE chiamando MsiCloseHandle. Per altre informazioni, vedere usare PMSIHANDLE anziché la sezione HANDLE nella Procedure consigliate di Windows Installer.
Nota
L'intestazione msiquery.h definisce MsiOpenDatabase come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
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 | Finestre |
intestazione |
msiquery.h |
libreria |
Msi.lib |
dll | Msi.dll |