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.

Catatan Pada sistem operasi 64-bit, nilai 20 ditambahkan ke akar registri numerik dalam tabel ini untuk membedakannya dari jalur kunci registri pada sistem operasi 32-bit. Misalnya, jalur kunci registri HKEY_CURRENT_USER\SOFTWARE\Microsoft dikembalikan sebagai "21:\SOFTWARE\Microsoft\", jika jalur komponen adalah kunci registri pada sistem operasi 64-bit.
 
Root Makna
HKEY_CLASSES_ROOT
00
HKEY_CURRENT_USER
01
HKEY_LOCAL_MACHINE
02
HKEY_USERS
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
INSTALLSTATE_NOTUSED
Komponen yang diminta dinonaktifkan pada komputer.
INSTALLSTATE_ABSENT
Komponen tidak diinstal.
INSTALLSTATE_INVALIDARG
Salah satu parameter fungsi tidak valid.
INSTALLSTATE_LOCAL
Komponen diinstal secara lokal.
INSTALLSTATE_SOURCE
Komponen diinstal untuk dijalankan dari sumber.
INSTALLSTATE_SOURCEABSENT
Sumber komponen tidak dapat diakses.
INSTALLSTATE_UNKNOWN
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

Lihat juga

Fungsi Khusus Komponen