Fungsi MsiProvideQualifiedComponentExA (msi.h)

Fungsi MsiProvideQualifiedComponentEx mengembalikan jalur komponen lengkap untuk komponen yang memenuhi syarat yang diterbitkan oleh produk dan melakukan penginstalan yang diperlukan. Fungsi ini meminta sumber jika perlu dan menaikkan jumlah penggunaan untuk fitur tersebut.

Sintaks

UINT MsiProvideQualifiedComponentExA(
  [in]      LPCSTR  szCategory,
  [in]      LPCSTR  szQualifier,
  [in]      DWORD   dwInstallMode,
  [in]      LPCSTR  szProduct,
  [in]      DWORD   dwUnused1,
  [in]      DWORD   dwUnused2,
  [out]     LPSTR   lpPathBuf,
  [in, out] LPDWORD pcchPathBuf
);

Parameter

[in] szCategory

Menentukan ID komponen yang untuk komponen yang diminta. Ini mungkin bukan GUID untuk komponen itu sendiri melainkan server yang menyediakan fungsionalitas yang benar, seperti di kolom ComponentId dari tabel PublishComponent.

[in] szQualifier

Menentukan kualifikasi ke dalam daftar komponen iklan (dari Tabel PublishComponent).

[in] dwInstallMode

Menentukan mode penginstalan. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
INSTALLMODE_DEFAULT
Berikan komponen dan lakukan penginstalan apa pun yang diperlukan untuk menyediakan komponen. Jika file kunci komponen dalam fitur yang diminta, atau induk fitur, hilang, instal ulang fitur menggunakan MsiReinstallFeature dengan kumpulan bit bendera berikut: REINSTALLMODE_FILEMISSING, REINSTALLMODE_FILEOLDERVERSION, REINSTALLMODE_FILEVERIFY, REINSTALLMODE_MACHINEDATA, REINSTALLMODE_USERDATA dan REINSTALLMODE_SHORTCUT.
INSTALLMODE_EXISTING
Berikan komponen hanya jika fitur ada. Jika tidak, kembalikan ERROR_FILE_NOT_FOUND.

Mode ini memverifikasi bahwa file kunci komponen ada.

INSTALLMODE_NODETECTION
Berikan komponen hanya jika fitur ada. Jika tidak, kembalikan ERROR_FILE_NOT_FOUND.

Mode ini hanya memeriksa bahwa komponen terdaftar dan tidak memverifikasi bahwa file kunci komponen ada.

INSTALLMODE_EXISTING
Berikan komponen hanya jika fitur ada, jika tidak kembali ERROR_FILE_NOT_FOUND.
kombinasi bendera REINSTALLMODE
Panggil MsiReinstallFeature untuk menginstal ulang fitur menggunakan parameter ini untuk parameter dwReinstallMode , lalu berikan komponen.
INSTALLMODE_NOSOURCERESOLUTION
Berikan komponen hanya jika status penginstalan fitur INSTALLSTATE_LOCAL. Jika status penginstalan fitur INSTALLSTATE_SOURCE, kembalikan ERROR_INSTALL_SOURCE_ABSENT. Jika tidak, kembalikan ERROR_FILE_NOT_FOUND. Mode ini hanya memeriksa bahwa komponen terdaftar dan tidak memverifikasi bahwa file kunci ada.

[in] szProduct

Menentukan produk yang cocok dengan yang telah menerbitkan komponen yang memenuhi syarat. Jika ini null, MAKA API ini berfungsi sama dengan MsiProvideQualifiedComponent.

[in] dwUnused1

Dicadangkan. Harus nol.

[in] dwUnused2

Dicadangkan. Harus nol.

[out] lpPathBuf

Penunjuk ke variabel yang menerima jalur ke komponen. Parameter ini dapat berupa null.

[in, out] pcchPathBuf

Penunjuk ke variabel yang menentukan ukuran, dalam karakter, dari buffer yang diacu oleh parameter lpPathBuf . Pada input, ini adalah ukuran penuh buffer, termasuk spasi untuk karakter null yang mengakhiri. Jika buffer yang diteruskan terlalu kecil, jumlah yang dikembalikan tidak menyertakan karakter null yang mengakhiri.

Jika lpPathBuf null, pcchBuf bisa null.

Nilai kembali

Nilai Makna
ERROR_INDEX_ABSENT
Kualifikasi komponen tidak valid atau tidak ada.
ERROR_SUCCESS
Fungsi berhasil diselesaikan.
ERROR_FILE_NOT_FOUND
Fitur ini tidak ada atau rusak. kesalahan ini dikembalikan untuk dwInstallMode = INSTALLMODE_EXISTING.
ERROR_UNKNOWN_COMPONENT
Komponen yang ditentukan tidak diketahui.
Kesalahan yang berkaitan dengan tindakan
Lihat Kode Kesalahan.
Kesalahan Inisialisasi
Terjadi kesalahan terkait inisialisasi.

Keterangan

Setelah keberhasilan fungsi MsiProvideQualifiedComponentEx , parameter pcchPathBuf berisi panjang string di lpPathBuf.

Fitur dengan komponen yang berisi file yang rusak atau versi file yang salah harus diinstal ulang secara eksplisit oleh pengguna atau dengan meminta aplikasi memanggil MsiReinstallFeature.

Catatan

Header msi.h mendefinisikan MsiProvideQualifiedComponentEx 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. Lihat Persyaratan Run-Time Penginstal Windows untuk informasi tentang paket layanan Windows minimum yang diperlukan oleh versi Pemasang Windows.
Target Platform Windows
Header msi.h
Pustaka Msi.lib
DLL Msi.dll

Lihat juga

Fungsi Khusus Komponen

Pesan Kesalahan yang Ditampilkan

Kode Kesalahan

Kesalahan Inisialisasi

Penginstalan Multi-Paket