Fungsi MsiGetComponentPathA (msi.h)
Fungsi MsiGetComponentPath mengembalikan jalur lengkap ke komponen yang diinstal. Jika jalur kunci untuk komponen adalah kunci registri, maka kunci registri dikembalikan.
Sintaks
INSTALLSTATE MsiGetComponentPathA(
[in] LPCSTR szProduct,
[in] LPCSTR szComponent,
[out] LPSTR lpPathBuf,
[in, out] LPDWORD pcchBuf
);
Parameter
[in] szProduct
Menentukan kode produk untuk produk klien.
[in] szComponent
Menentukan ID komponen dari komponen yang akan ditemukan.
[out] lpPathBuf
Penunjuk ke variabel yang menerima jalur ke komponen. Parameter ini dapat berupa null. Jika komponen adalah kunci registri, akar registri diwakili secara numerik. Jika ini adalah jalur subkunci registri, ada garis miring terbelakang di akhir Jalur Kunci. Jika ini adalah jalur kunci nilai registri, tidak ada garis miring terbelakang di akhir. Misalnya, jalur registri pada sistem operasi 32-bit HKEY_CURRENT_USER\SOFTWARE\Microsoft dikembalikan sebagai "01:\SOFTWARE\Microsoft". Akar registri yang dikembalikan pada sistem operasi 32-bit didefinisikan seperti yang ditunjukkan dalam tabel berikut.
Root | Makna |
---|---|
|
00 |
|
01 |
|
02 |
|
03 |
[in, out] pcchBuf
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.
Menampilkan nilai
Fungsi MsiGetComponentPath mengembalikan nilai berikut.
Nilai | Makna |
---|---|
|
Komponen yang diminta dinonaktifkan pada komputer. |
|
Komponen tidak diinstal. |
|
Salah satu parameter fungsi tidak valid. |
|
Komponen diinstal secara lokal. |
|
Komponen diinstal untuk dijalankan dari sumber. |
|
Sumber komponen tidak dapat diakses. |
|
Kode produk atau ID komponen tidak diketahui. |
Keterangan
Setelah keberhasilan fungsi MsiGetComponentPath , parameter pcchBuf berisi panjang string di lpPathBuf.
Fungsi MsiGetComponentPath mungkin mengembalikan INSTALLSTATE_ABSENT atau INSTALL_STATE_UNKNOWN, karena alasan berikut:
- INSTALLSTATE_ABSENT
Aplikasi tidak memastikan bahwa fitur diinstal dengan memanggil MsiUseFeature dan, jika perlu, MsiConfigureFeature.
- INSTALLSTATE_UNKNOWN
Fitur ini tidak diterbitkan. Aplikasi seharusnya telah menentukan ini sebelumnya dengan memanggil MsiQueryFeatureState atau MsiEnumFeatures. Aplikasi melakukan panggilan ini saat menginisialisasi. Aplikasi hanya boleh menggunakan fitur yang diketahui diterbitkan. Karena INSTALLSTATE_UNKNOWN seharusnya juga dikembalikan oleh MsiUseFeature , MsiUseFeature tidak dipanggil, atau nilai pengembaliannya tidak diperiksa dengan benar.
Catatan
Header msi.h mendefinisikan MsiGetComponentPath 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
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 |