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.
[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:
- Panggil SetupDiGetDeviceInstallParams untuk mendapatkan struktur SP_DEVINSTALL_PARAMS .
- Atur bendera DI_NEEDREBOOT atau DI_NEEDRESTART di anggota Bendera struktur.
- Panggil SetupDiSetDeviceInstallParams, menyediakan struktur SP_DEVINSTALL_PARAMS yang diperbarui, untuk menyimpan anggota Bendera yang direvisi .
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) |