Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi SetupDiGetClassDevsEx
Sintaksis
WINSETUPAPI HDEVINFO SetupDiGetClassDevsExW(
[in, optional] const GUID *ClassGuid,
[in, optional] PCWSTR Enumerator,
[in, optional] HWND hwndParent,
[in] DWORD Flags,
[in, optional] HDEVINFO DeviceInfoSet,
[in, optional] PCWSTR MachineName,
PVOID Reserved
);
Parameter
[in, optional] ClassGuid
Penunjuk ke GUID untuk kelas penyiapan perangkat atau kelas antarmuka perangkat . Penunjuk ini bersifat opsional dan dapat NULL. Jika nilai GUID tidak digunakan untuk memilih perangkat, atur ClassGuid ke NULL. Untuk informasi selengkapnya tentang cara menggunakan
[in, optional] Enumerator
Penunjuk ke string yang dihentikan NULL yang menentukan:
- Pengidentifikasi (ID) enumerator Plug and Play (PnP). ID ini dapat menjadi pengidentifikasi unik global (GUID) enumerator atau nama simbolis. Misalnya, "PCI" dapat digunakan untuk menentukan enumerator PnP PCI. Contoh lain dari nama simbolis untuk enumerator PnP termasuk "USB", "PCMCIA", dan "SCSI".
- ID instans perangkat PnP. Saat menentukan ID instans perangkat PnP, DIGCF_DEVICEINTERFACE harus diatur dalam parameter Bendera.
Untuk informasi selengkapnya tentang cara mengatur nilai Enumerator
[in, optional] hwndParent
Handel ke jendela tingkat atas yang akan digunakan untuk antarmuka pengguna yang terkait dengan penginstalan instans perangkat dalam set informasi perangkat. Handel ini bersifat opsional dan dapat NULL.
[in] Flags
Variabel jenis DWORD yang menentukan opsi kontrol yang memfilter elemen informasi perangkat yang ditambahkan ke kumpulan informasi perangkat. Parameter ini bisa berupa bitwise ATAU dari satu atau beberapa bendera berikut. Untuk informasi selengkapnya tentang menggabungkan opsi kontrol ini, lihat bagian Keterangan
DIGCF_ALLCLASSES
Mengembalikan daftar perangkat yang diinstal untuk kelas penyiapan perangkat atau kelas antarmuka perangkat yang ditentukan.
DIGCF_DEVICEINTERFACE
Mengembalikan perangkat yang mendukung antarmuka perangkat untuk kelas antarmuka perangkat yang ditentukan. Bendera ini harus diatur dalam parameter Bendera
DIGCF_DEFAULT
Kembalikan hanya perangkat yang terkait dengan antarmuka perangkat default sistem, jika perangkat diatur, untuk kelas antarmuka perangkat yang ditentukan.
DIGCF_PRESENT
Mengembalikan hanya perangkat yang saat ini ada.
DIGCF_PROFILE
Mengembalikan hanya perangkat yang merupakan bagian dari profil perangkat keras saat ini.
[in, optional] DeviceInfoSet
Handel ke set informasi perangkat yang ada yang SetupDiGetClassDevsEx menambahkan elemen informasi perangkat yang diminta. Parameter ini bersifat opsional dan dapat diatur ke NULL. Untuk informasi selengkapnya tentang menggunakan parameter ini, lihat bagian Keterangan
[in, optional] MachineName
Penunjuk ke string konstanta yang berisi nama komputer jarak jauh tempat perangkat berada. Nilai NULL untuk MachineName menentukan bahwa perangkat diinstal di komputer lokal. Komputer jarak jauh tidak didukung dimulai dengan Windows 8 dan Windows Server 2012.
Hati
Menggunakan fungsi ini untuk mengakses komputer jarak jauh tidak didukung dimulai dengan Windows 8 dan Windows Server 2012, karena fungsionalitas ini telah dihapus.
Reserved
Dicadangkan untuk penggunaan internal. Parameter ini harus diatur ke NULL.
Mengembalikan nilai
Jika operasi berhasil, SetupDiGetClassDevsEx mengembalikan handel ke kumpulan informasi perangkat yang berisi semua perangkat terinstal yang cocok dengan parameter yang disediakan. Jika operasi gagal, fungsi mengembalikan INVALID_HANDLE_VALUE. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Komentar
Pemanggil SetupDiGetClassDevsEx harus menghapus informasi perangkat yang dikembalikan yang ditetapkan ketika tidak lagi diperlukan dengan memanggil SetupDiDestroyDeviceInfoList.
Jika DeviceInfoSetNULL, SetupDiGetClassDevsEx membuat set informasi perangkat baru yang berisi elemen informasi perangkat yang diambil dan mengembalikan handel ke kumpulan informasi perangkat baru. Jika pemanggil meminta agar fungsi mengambil perangkat untuk kelas penyiapan perangkat yang disediakan oleh parameter
Jika
Opsi Kontrol Kelas Penyetelan Perangkat
Gunakan opsi pemfilteran berikut untuk mengontrol apakah SetupDiGetClassDevsEx mengembalikan perangkat untuk semua kelas penyiapan perangkat atau hanya untuk kelas penyiapan perangkat tertentu:-
Untuk mengembalikan perangkat untuk semua kelas penyiapan perangkat, atur bendera DIGCF_ALLCLASSES dan atur parameter
ClassGuid ke NULL . - Untuk mengembalikan perangkat hanya untuk kelas penyiapan perangkat tertentu, jangan atur DIGCF_ALLCLASSES dan gunakan ClassGuid untuk menyediakan GUID kelas penyiapan perangkat.
- Untuk mengembalikan hanya perangkat yang ada dalam sistem, atur bendera DIGCF_PRESENT.
- Untuk mengembalikan hanya perangkat yang merupakan bagian dari profil perangkat keras saat ini, atur bendera DIGCF_PROFILE.
-
Untuk mengembalikan perangkat untuk enumerator
PnP tertentu saja, gunakan parameter Enumerator untuk menyediakan GUID atau nama simbolis enumerator . Jika EnumeratorNULL ,SetupDiGetClassDevsEx mengembalikan perangkat untuk semua enumerator PnP.
Opsi Kontrol Kelas Antarmuka Perangkat
Gunakan opsi pemfilteran berikut untuk mengontrol apakah SetupDiGetClassDevsEx mengembalikan perangkat yang mendukung kelas antarmuka perangkat atau hanya perangkat yang mendukung kelas antarmuka perangkat tertentu:-
Untuk mengembalikan perangkat yang mendukung antarmuka perangkat dari kelas apa pun, atur bendera DIGCF_DEVICEINTERFACE, atur bendera DIGCF_ALLCLASSES, dan atur
ClassGuid ke null . Fungsi ini menambahkan ke informasi perangkat yang mengatur elemen informasi perangkat yang mewakili perangkat tersebut, lalu menambahkan ke elemen informasi perangkat daftar antarmuka perangkat yang berisi semua antarmuka perangkat yang didukung perangkat. -
Untuk mengembalikan hanya perangkat yang mendukung antarmuka perangkat kelas tertentu, atur bendera DIGCF_DEVICEINTERFACE dan gunakan parameter
ClassGuid untuk menyediakan GUID kelas dari kelas antarmuka perangkat. Fungsi ini menambahkan ke informasi perangkat yang mengatur elemen informasi perangkat yang mewakili perangkat tersebut, lalu menambahkan antarmuka perangkat dari kelas yang ditentukan ke daftar antarmuka perangkat untuk elemen informasi perangkat tersebut.
- Untuk mengembalikan hanya perangkat yang mendukung antarmuka default sistem, jika satu diatur, untuk kelas antarmuka perangkat tertentu, atur bendera DIGCF_DEVICEINTERFACE, atur bendera DIGCF_DEFAULT, dan gunakan ClassGuid untuk menyediakan GUID kelas kelas antarmuka perangkat. Fungsi ini menambahkan ke informasi perangkat yang mengatur elemen informasi perangkat yang mewakili perangkat tersebut, lalu menambahkan antarmuka default sistem ke daftar antarmuka perangkat untuk elemen informasi perangkat tersebut.
- Untuk mengembalikan perangkat yang mendukung antarmuka default sistem untuk kelas antarmuka perangkat yang tidak ditentukan, atur bendera DIGCF_DEVICEINTERFACE, atur bendera DIGCF_ALLCLASSES, atur bendera DIGCF_DEFAULT, dan atur ClassGuid ke NULL. Fungsi ini menambahkan ke informasi perangkat yang mengatur elemen informasi perangkat yang mewakili perangkat tersebut, lalu menambahkan antarmuka default sistem ke daftar antarmuka perangkat untuk elemen informasi perangkat tersebut.
- Untuk mengembalikan hanya perangkat yang ada dalam sistem, atur bendera DIGCF_PRESENT.
- Untuk mengembalikan hanya perangkat yang merupakan bagian dari profil perangkat keras saat ini, atur bendera DIGCF_PROFILE.
-
Untuk mengembalikan hanya perangkat tertentu, atur bendera DIGCF_DEVICEINTERFACE dan gunakan parameter Enumerator
untuk menyediakan ID instans perangkat perangkat . Untuk menyertakan semua perangkat yang mungkin, atur Enumeratorke NULL .
Mengambil Perangkat di Kelas Penyiapan Perangkat yang Mendukung Kelas Antarmuka Perangkat
Alat penginstal dapat menggunakan SetupDiGetClassDevsEx untuk mengambil daftar perangkat kelas penyiapan perangkat tertentu yang mendukung antarmuka perangkat dari kelas antarmuka perangkat tertentu. Misalnya, untuk mengambil daftar semua perangkat di komputer lokal yang mendukung antarmuka perangkat di kelas antarmuka "perangkat yang dipasang" dan yang merupakan anggota kelas penyiapan perangkat "Volume", alat penginstal harus melakukan operasi berikut:-
Panggil SetupDiCreateDeviceInfoList untuk membuat informasi perangkat kosong yang ditetapkan untuk kelas penyiapan perangkat "Volume". Atur
ClassGuid ke pointer ke GUID kelas untuk kelas penyiapan perangkat "Volume" dan atur hwndParent yang sesuai. Sebagai respons terhadap panggilan seperti itu, fungsi akan mengembalikan handel untuk mengetik HDEVINFO ke set informasi perangkat. - Panggil SetupDiGetClassDevsEx dengan pengaturan berikut:
- Atur ClassGuid ke pointer ke GUID kelas kelas antarmuka perangkat "perangkat yang dipasang".
- Atur Bendera
ke DIGCF_DEVICEINTERFACE. - Atur DeviceInfoSet ke handel HDEVINFO yang diperoleh pada langkah (1).
- Atur hwndParent yang sesuai dan parameter yang tersisa untuk null.
Nota
Header setupapi.h mendefinisikan SetupDiGetClassDevsEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosektor 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 | Tersedia di Microsoft Windows 2000 dan versi Windows yang lebih baru. |
| Platform Target |
Desktop |
| Header |
setupapi.h (termasuk Setupapi.h) |
| Pustaka |
Setupapi.lib |
Lihat juga
ID Instans Perangkat