Fungsi MsiEnumComponentQualifiersA (msi.h)

Fungsi MsiEnumComponentQualifiers menghitung kualifikasi yang diiklankan untuk komponen yang diberikan. Fungsi ini mengambil satu kualifikasi setiap kali dipanggil.

Sintaks

UINT MsiEnumComponentQualifiersA(
  [in]      LPCSTR  szComponent,
  [in]      DWORD   iIndex,
  [out]     LPSTR   lpQualifierBuf,
  [in, out] LPDWORD pcchQualifierBuf,
  [out]     LPSTR   lpApplicationDataBuf,
  [in, out] LPDWORD pcchApplicationDataBuf
);

Parameter

[in] szComponent

Menentukan komponen yang kualifikasinya akan dijumlahkan.

[in] iIndex

Menentukan indeks kualifikasi yang akan diambil. Parameter ini harus nol untuk panggilan pertama ke fungsi MsiEnumComponentQualifiers lalu dinaikkan untuk panggilan berikutnya. Karena kualifikasi tidak diurutkan, kualifikasi baru apa pun memiliki indeks arbitrer. Ini berarti bahwa fungsi dapat mengembalikan kualifikasi dalam urutan apa pun.

[out] lpQualifierBuf

Penunjuk ke buffer yang menerima kode kualifikasi.

[in, out] pcchQualifierBuf

Penunjuk ke variabel yang menentukan ukuran, dalam karakter, dari buffer yang diacu oleh parameter lpQualifierBuf . Pada input, ukuran ini harus menyertakan karakter null yang mengakhiri. Saat dikembalikan, nilai tidak menyertakan karakter null.

[out] lpApplicationDataBuf

Penunjuk ke buffer yang menerima data terdaftar aplikasi untuk kualifikasi. Parameter ini dapat berupa null.

[in, out] pcchApplicationDataBuf

Penunjuk ke variabel yang menentukan ukuran, dalam karakter, dari buffer yang ditujukkan oleh parameter lpApplicationDataBuf . Pada input, ukuran ini harus menyertakan karakter null yang mengakhiri. Saat dikembalikan, nilai tidak menyertakan karakter null. Parameter ini dapat null hanya jika parameter lpApplicationDataBuf null.

Nilai kembali

Nilai Makna
ERROR_BAD_CONFIGURATION
Data konfigurasi rusak.
ERROR_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi.
ERROR_MORE_DATA
Buffer terlalu kecil untuk menyimpan data yang diminta.
ERROR_NO_MORE_ITEMS
Tidak ada kualifikasi untuk kembali.
ERROR_NOT_ENOUGH_MEMORY
Sistem tidak memiliki cukup memori untuk menyelesaikan operasi. Tersedia dengan Windows Server 2003.
ERROR_SUCCESS
Nilai dijumlahkan.
ERROR_UNKNOWN_COMPONENT
Komponen yang ditentukan tidak diketahui.

Keterangan

Untuk menghitung kualifikasi, aplikasi awalnya harus memanggil fungsi MsiEnumComponentQualifiers dengan parameter iIndex diatur ke nol. Aplikasi kemudian harus menaikkan parameter iIndex dan memanggil MsiEnumComponentQualifiers sampai tidak ada lagi kualifikasi (yaitu, sampai fungsi kembali ERROR_NO_MORE_ITEMS).

Saat MsiEnumComponentQualifiers kembali, parameter pcchQualifierBuf berisi panjang string kualifikasi yang disimpan dalam buffer. Jumlah yang dikembalikan tidak termasuk karakter null yang mengakhiri. Jika buffer tidak cukup besar, MsiEnumComponentQualifiers mengembalikan ERROR_MORE_DATA, dan parameter ini berisi ukuran string, dalam karakter, tanpa menghitung karakter null. Mekanisme yang sama berlaku untuk pcchDescriptionBuf.

Saat melakukan beberapa panggilan ke MsiEnumComponentQualifiers untuk menghitung semua kualifikasi yang diiklankan komponen, setiap panggilan harus dilakukan dari utas yang sama.

Catatan

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