Fungsi SetupDiCallClassInstaller (setupapi.h)

Fungsi SetupDiCallClassInstaller memanggil penginstal kelas yang sesuai, dan penginstal bersama terdaftar apa pun, dengan permintaan penginstalan yang ditentukan (kode DIF).

Sintaks

WINSETUPAPI BOOL SetupDiCallClassInstaller(
  [in]           DI_FUNCTION      InstallFunction,
  [in]           HDEVINFO         DeviceInfoSet,
  [in, optional] PSP_DEVINFO_DATA DeviceInfoData
);

Parameter

[in] InstallFunction

Permintaan penginstalan perangkat (permintaan DIF) untuk diteruskan ke penginstal bersama dan penginstal kelas. Kode DIF memiliki format DIF_XXX dan didefinisikan dalam Setupapi.h. Lihat Kode Fungsi Penginstalan Perangkat untuk informasi selengkapnya.

Catatan Untuk permintaan DIF tertentu, pemanggil harus menjadi anggota grup Administrator. Untuk permintaan DIF tersebut, persyaratan ini tercantum di halaman referensi untuk handler default terkait.
 

[in] DeviceInfoSet

Handel ke set informasi perangkat untuk komputer lokal. Set ini berisi elemen penginstalan perangkat yang mewakili perangkat untuk melakukan fungsi penginstalan yang ditentukan.

[in, optional] DeviceInfoData

Penunjuk ke struktur SP_DEVINFO_DATA yang menentukan elemen informasi perangkat di DeviceInfoSet yang mewakili perangkat untuk melakukan fungsi penginstalan yang ditentukan. Parameter ini bersifat opsional dan dapat diatur ke NULL. Jika parameter ini ditentukan, SetupDiCallClassInstaller melakukan fungsi yang ditentukan pada elemen DeviceInfoData . Jika DeviceInfoData adalah NULL, SetupDiCallClassInstaller memanggil penginstal untuk kelas penyiapan yang terkait dengan DeviceInfoSet.

Nilai kembali

Fungsi mengembalikan TRUE jika berhasil. Jika tidak, ia mengembalikan FALSE dan kesalahan yang dicatat dapat diambil dengan melakukan panggilan ke GetLastError.

Ketika GetLastError mengembalikan ERROR_IN_WOW64, ini berarti bahwa aplikasi panggilan adalah aplikasi 32-bit yang mencoba mengeksekusi di lingkungan 64-bit, yang tidak diizinkan.

Keterangan

SetupDiCallClassInstaller memanggil penginstal kelas dan rekan penginstal apa pun yang terdaftar untuk perangkat atau kelas penyiapan perangkat. Fungsi ini memuat alat penginstal jika belum dimuat. Fungsi ini juga memanggil handler default untuk permintaan DIF, jika ada handler default dan jika penginstal mengembalikan status yang menunjukkan bahwa handler default harus dipanggil.

Aplikasi penginstalan perangkat memanggil fungsi ini dengan berbagai kode fungsi penginstalan perangkat (kode DIF). Fungsi ini memastikan bahwa semua penginstal dan penangan default yang sesuai dipanggil, dalam urutan yang benar, untuk permintaan DIF tertentu. Untuk informasi selengkapnya, lihat Menangani Kode DIF.

Setelah SetupDiCallClassInstaller mengembalikan TRUE, aplikasi penginstalan perangkat harus memanggil SetupDiGetDeviceInstallParams untuk mendapatkan struktur SP_DEVINSTALL_PARAMS . Jika bendera DI_NEEDREBOOT atau DI_NEEDRESTART struktur diatur, pemanggil harus meminta pengguna untuk memulai ulang sistem. Misalnya, pemanggil dapat melakukan ini dengan memanggil SetupPromptReboot.

Namun, perlu diketahui bahwa aplikasi penginstalan perangkat harus meminta sistem memulai ulang satu kali paling banyak. Oleh karena itu, aplikasi penginstalan perangkat apa pun yang membuat beberapa panggilan ke SetupDiCallClassInstaller dan SetupDiGetDeviceInstallParams harus menyimpan bendera DI_NEEDREBOOT dan DI_NEEDRESTART setelah setiap panggilan. Namun, itu harus meminta pengguna hanya setelah panggilan terakhir kembali.

Menanggapi kode DIF yang disediakan oleh SetupDiCallClassInstaller, penginstal kelas dan penginstal bersama mungkin melakukan operasi yang mengharuskan sistem dimulai ulang. Dalam situasi seperti itu, alat penginstal atau rekan penginstal harus melakukan hal berikut:

  1. Panggil SetupDiGetDeviceInstallParams untuk mendapatkan struktur SP_DEVINSTALL_PARAMS .
  2. Atur bendera DI_NEEDREBOOT atau DI_NEEDRESTART di anggota Bendera struktur.
  3. Panggil SetupDiSetDeviceInstallParams, menyediakan struktur SP_DEVINSTALL_PARAMS yang diperbarui, untuk menyimpan anggota Bendera yang direvisi .
Setelah SetupDiCallClassInstaller kembali, aplikasi penginstalan perangkat yang memanggilnya harus memanggil SetupDiGetDeviceInstallParams, memeriksa bendera, dan meminta restart jika perlu.

Set informasi perangkat yang ditentukan oleh DeviceInfoSet hanya boleh berisi elemen untuk perangkat di komputer lokal.

Untuk informasi tentang desain dan pengoperasian rekan penginstal, lihat Menulis Co-installer.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Microsoft Windows 2000 dan versi Windows yang lebih baru.
Target Platform Desktop
Header setupapi.h (termasuk Setupapi.h)
Pustaka Setupapi.lib
DLL Setupapi.dll
Set API ext-ms-win-setupapi-classinstallers-l1-1-0 (diperkenalkan dalam Windows 8)

Lihat juga

SP_DEVINFO_DATA