Fungsi MsiOpenDatabaseA (msiquery.h)
Fungsi MsiOpenDatabase membuka file database untuk akses data. Fungsi ini mengembalikan handel yang harus ditutup menggunakan MsiCloseHandle.
Sintaks
UINT MsiOpenDatabaseA(
[in] LPCSTR szDatabasePath,
[in] LPCSTR szPersist,
[out] MSIHANDLE *phDatabase
);
Parameter
[in] szDatabasePath
Menentukan jalur lengkap atau jalur relatif ke file database.
[in] szPersist
Menerima jalur lengkap ke file atau mode persistensi. Anda dapat menggunakan parameter szPersist untuk mengarahkan output persisten ke file baru atau untuk menentukan salah satu mode persistensi yang telah ditentukan sebelumnya berikut.
[out] phDatabase
Penunjuk ke lokasi handel database yang dikembalikan.
Mengembalikan nilai
Fungsi MsiOpenDatabase mengembalikan nilai berikut:
Keterangan
Untuk membuat dan menyimpan perubahan ke database, pertama-tama buka database dalam mode transaksi (MSIDBOPEN_TRANSACT), buat (MSIDBOPEN_CREATE atau MSIDBOPEN_CREATEDIRECT), atau langsung (MSIDBOPEN_DIRECT). Setelah membuat perubahan, selalu panggil MsiDatabaseCommit sebelum menutup handel database. MsiDatabaseCommit membersihkan semua buffer.
Selalu panggil MsiDatabaseCommit pada database yang telah dibuka dalam mode langsung (MSIDBOPEN_DIRECT atau MSIDBOPEN_CREATEDIRECT) sebelum menutup handel database. Kegagalan untuk melakukan ini mungkin merusak database.
Karena MsiOpenDatabase memulai akses database, MsiOpenDatabase tidak dapat digunakan dengan penginstalan yang sedang berjalan.
Perhatikan bahwa disarankan untuk menggunakan variabel jenis PMSIHANDLE karena alat penginstal menutup objek PMSIHANDLE saat keluar dari cakupan, sedangkan Anda harus menutup objek MSIHANDLE dengan memanggil MsiCloseHandle. Untuk informasi selengkapnya lihat Menggunakan PMSIHANDLE alih-alih bagian HANDLE di Praktik Terbaik Penginstal Windows.
Catatan
Header msiquery.h mendefinisikan MsiOpenDatabase sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Installer 5.0 di Windows Server 2012, Windows 8, Windows Server 2008 R2 atau Windows 7. Windows Installer 4.0 atau Windows Installer 4.5 di Windows Server 2008 atau Windows Vista. Pemasang Windows pada Windows Server 2003 atau Windows XP |
Target Platform | Windows |
Header | msiquery.h |
Pustaka | Msi.lib |
DLL | Msi.dll |