Bagikan melalui


Fungsi MsiLocateComponentA (msi.h)

Fungsi MsiLocateComponent mengembalikan jalur lengkap ke komponen yang diinstal tanpa kode produk. Fungsi ini mencoba menentukan produk menggunakan MsiGetProductCode, tetapi tidak dijamin untuk menemukan produk yang benar untuk pemanggil. MsiGetComponentPath harus selalu dipanggil jika memungkinkan.

Sintaksis

INSTALLSTATE MsiLocateComponentA(
  [in]      LPCSTR  szComponent,
  [out]     LPSTR   lpPathBuf,
  [in, out] LPDWORD pcchBuf
);

Parameter

[in] szComponent

Menentukan ID komponen komponen yang akan ditemukan.

[out] lpPathBuf

Penunjuk ke variabel yang menerima jalur ke komponen. Variabel mencakup karakter null yang mengakhiri.

[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. Setelah berhasil fungsi MsiLocateComponent, variabel yang ditunjukkan oleh pcchBuf berisi jumlah karakter yang tidak termasuk karakter null yang mengakhiri. Jika ukuran buffer yang diteruskan terlalu kecil, fungsi akan mengembalikan INSTALLSTATE_MOREDATA.

Jika lpPathBuf null, pcchBuf dapat null.

Mengembalikan nilai

Nilai Arti
INSTALLSTATE_NOTUSED
Komponen yang diminta dinonaktifkan pada komputer.
INSTALLSTATE_ABSENT
Komponen tidak diinstal. Lihat Komentar.
INSTALLSTATE_INVALIDARG
Salah satu parameter fungsi tidak valid.
INSTALLSTATE_LOCAL
Komponen diinstal secara lokal.
INSTALLSTATE_MOREDATA
Buffer yang disediakan terlalu kecil.
INSTALLSTATE_SOURCE
Komponen diinstal untuk dijalankan dari sumber.
INSTALLSTATE_SOURCEABSENT
Sumber komponen tidak dapat diakses.
INSTALLSTATE_UNKNOWN
Kode produk atau ID komponen tidak diketahui. Lihat Komentar.

Komentar

Fungsi MsiLocateComponent 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 MsiLocateComponent 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