Fungsi SetupDiBuildDriverInfoList (setupapi.h)

Fungsi SetupDiBuildDriverInfoList menyusun daftar driver yang terkait dengan perangkat tertentu atau dengan daftar driver kelas global untuk kumpulan informasi perangkat.

Sintaks

WINSETUPAPI BOOL SetupDiBuildDriverInfoList(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData,
  [in]      DWORD            DriverType
);

Parameter

[in] DeviceInfoSet

Handel ke informasi perangkat yang diatur untuk berisi daftar driver, baik secara global untuk semua elemen informasi perangkat atau khusus untuk satu elemen informasi perangkat. Set informasi perangkat tidak boleh berisi elemen informasi perangkat jarak jauh.

[in, out] DeviceInfoData

Penunjuk ke struktur SP_DEVINFO_DATA untuk elemen informasi perangkat di DeviceInfoSet yang mewakili perangkat untuk membuat daftar driver. Parameter ini bersifat opsional dan dapat berupa NULL. Jika parameter ini ditentukan, daftar dikaitkan dengan perangkat yang ditentukan. Jika parameter ini NULL, daftar dikaitkan dengan daftar driver kelas global untuk DeviceInfoSet.

Jika kelas perangkat ini diperbarui karena membangun daftar driver yang kompatibel, DeviceInfoData.ClassGuid diperbarui saat dikembalikan.

[in] DriverType

Jenis daftar driver yang akan dibuat. Harus salah satu nilai berikut:

Nilai Makna
SPDIT_CLASSDRIVER
Buat daftar driver kelas. Jika DeviceInfoData adalah NULL, tipe daftar driver ini harus ditentukan.
SPDIT_COMPATDRIVER
Buat daftar driver yang kompatibel. DeviceInfoData tidak boleh NULL jika tipe daftar driver ini ditentukan.

Nilai kembali

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

Keterangan

Kumpulan informasi perangkat harus untuk komputer lokal karena SetupDiBuildDriverInfoList hanya mencari driver di komputer lokal. Jika set informasi perangkat adalah untuk komputer jarak jauh, fungsi mengembalikan TRUE tetapi tidak benar-benar memperbarui daftar driver yang ada untuk set informasi perangkat atau, jika disediakan, daftar driver untuk elemen informasi perangkat.

Pemanggil dapat mengatur Bendera di SP_DEVINSTALL_PARAMS yang terkait dengan set informasi perangkat atau dengan perangkat tertentu (DeviceInfoData) untuk mengontrol bagaimana daftar dibuat. Misalnya, pemanggil dapat mengatur bendera DI_FLAGSEX_ALLOWEXCLUDEDDRVS untuk menyertakan driver yang ditandai Kecualikan Dari Pilih.

Driver adalah "Kecualikan Dari Pilih" jika ditandai ExcludeFromSelect dalam file INF atau itu adalah driver untuk perangkat yang seluruh kelas pengaturannya ditandai NoInstallClass atau NoUseClass dalam file INF penginstal kelas. Driver untuk perangkat PnP biasanya "Kecualikan Dari Pilih"; Perangkat PnP tidak boleh diinstal secara manual. Untuk membuat daftar file driver untuk perangkat PnP, pemanggil SetupDiBuildDriverInfoList harus mengatur bendera ini.

DriverPath dalam SP_DEVINSTALL_PARAMS berisi jalur direktori yang berisi file INF atau jalur file INF tertentu. Jika DI_ENUMSINGLEINF diatur, DriverPath berisi jalur dari satu file INF. Jika DriverPathNULL, fungsi ini membangun daftar driver dari lokasi file INF default, %SystemRoot%\inf.

Setelah fungsi ini membuat daftar driver yang ditentukan, pemanggil dapat menghitung elemen daftar dengan memanggil SetupDiEnumDriverInfo.

Jika daftar driver dikaitkan dengan instans perangkat (yaitu, DeviceInfoData ditentukan), daftar yang dihasilkan terdiri dari driver yang memiliki kelas yang sama dengan instans perangkat yang terkait dengannya. Jika ini adalah daftar driver kelas global (yaitu, DriverTypeSPDIT_CLASSDRIVER dan DeviceInfoData tidak ditentukan), kelas yang digunakan saat membuat daftar adalah kelas yang terkait dengan kumpulan informasi perangkat. Jika kumpulan informasi perangkat tidak memiliki kelas terkait, driver dari semua kelas digunakan saat membuat daftar.

Utas lain dapat menghentikan pembuatan daftar driver dengan panggilan ke SetupDiCancelDriverInfoSearch.

DeviceInfoSet hanya boleh berisi elemen pada komputer lokal. Fungsi ini hanya mencari driver lokal.

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-1 (diperkenalkan dalam Windows 8.1)

Lihat juga

SetupDiCancelDriverInfoSearch

SetupDiDestroyDriverInfoList

SetupDiEnumDriverInfo