Bagikan melalui


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.

Sintaksis

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 komponen yang akan ditemukan.

[out] lpPathBuf

Penunjuk ke variabel yang menerima jalur ke komponen. Parameter ini bisa 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.
 
Akar Arti
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 ditujukkan 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 dapat null.

Mengembalikan nilai

Fungsi MsiGetComponentPath mengembalikan nilai berikut.

Nilai Arti
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.

Komentar

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 benar dengan memanggil MsiUseFeature dan, jika perlu, MsiConfigureFeature.

  • INSTALLSTATE_UNKNOWN

    Fitur ini tidak diterbitkan. Aplikasi harus 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 dikembalikan oleh MsiUseFeature juga, MsiUseFeature tidak dipanggil, atau nilai pengembaliannya tidak diperiksa dengan benar.

Nota

Header msi.h mendefinisikan MsiGetComponentPath sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem 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

Syarat 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 pada Windows Server 2008 atau Windows Vista. Windows Installer pada Windows Server 2003 atau Windows XP. Lihat Persyaratan Run-Time Penginstal Windows untuk informasi tentang paket layanan Windows minimum yang diperlukan oleh versi Penginstal Windows.
Platform Target Windows
Header msi.h
Pustaka Msi.lib
DLL Msi.dll

Lihat juga

Component-Specific Functions