MsiOpenDatabaseA-Funktion (msiquery.h)
Die MsiOpenDatabase-Funktion öffnet eine Datenbankdatei für den Datenzugriff. Diese Funktion gibt ein Handle zurück, das mit MsiCloseHandle geschlossen werden soll.
Syntax
UINT MsiOpenDatabaseA(
[in] LPCSTR szDatabasePath,
[in] LPCSTR szPersist,
[out] MSIHANDLE *phDatabase
);
Parameter
[in] szDatabasePath
Gibt den vollständigen Oder relativen Pfad zur Datenbankdatei an.
[in] szPersist
Empfängt den vollständigen Pfad zur Datei oder zum Persistenzmodus. Sie können den szPersist-Parameter verwenden, um die persistente Ausgabe an eine neue Datei zu leiten oder einen der folgenden vordefinierten Persistenzmodi anzugeben.
[out] phDatabase
Zeiger auf den Speicherort des zurückgegebenen Datenbankhandles.
Rückgabewert
Die MsiOpenDatabase-Funktion gibt die folgenden Werte zurück:
Hinweise
Um Änderungen an einer Datenbank vorzunehmen und zu speichern, öffnen Sie zuerst die Datenbank im Transaktionsmodus (MSIDBOPEN_TRANSACT), erstellen (MSIDBOPEN_CREATE oder MSIDBOPEN_CREATEDIRECT) oder im direkten Modus (MSIDBOPEN_DIRECT). Nachdem Sie die Änderungen vorgenommen haben, rufen Sie immer MsiDatabaseCommit auf, bevor Sie das Datenbankhandle schließen. MsiDatabaseCommit löscht alle Puffer.
Rufen Sie immer MsiDatabaseCommit für eine Datenbank auf, die im direkten Modus (MSIDBOPEN_DIRECT oder MSIDBOPEN_CREATEDIRECT) geöffnet wurde, bevor Sie das Handle der Datenbank schließen. Andernfalls kann die Datenbank beschädigt werden.
Da MsiOpenDatabase den Datenbankzugriff initiiert, kann er nicht mit einer ausgeführten Installation verwendet werden.
Beachten Sie, dass es empfohlen wird, Variablen des Typs PMSIHANDLE zu verwenden, da das Installationsprogramm PMSIHANDLE-Objekte schließt, wenn sie aus dem Bereich gehen, während Sie MSIHANDLE-Objekte schließen müssen, indem Sie MsiCloseHandle aufrufen. Weitere Informationen finden Sie im Abschnitt Verwenden von PMSIHANDLE anstelle von HANDLE im Abschnitt Bewährte Methoden für Windows Installer.
Hinweis
Der msiquery.h-Header definiert MsiOpenDatabase als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer unter Windows Server 2003 oder Windows XP |
Zielplattform | Windows |
Kopfzeile | msiquery.h |
Bibliothek | Msi.lib |
DLL | Msi.dll |