Fungsi SetupDiGetClassPropertyKeys (setupapi.h)
Fungsi SetupDiGetClassPropertyKeys mengambil array kunci properti perangkat yang mewakili properti perangkat yang diatur untuk kelas penyiapan perangkat atau kelas antarmuka perangkat.
Sintaks
WINSETUPAPI BOOL SetupDiGetClassPropertyKeys(
[in] const GUID *ClassGuid,
[out, optional] DEVPROPKEY *PropertyKeyArray,
[in] DWORD PropertyKeyCount,
[out, optional] PDWORD RequiredPropertyKeyCount,
[in] DWORD Flags
);
Parameter
[in] ClassGuid
Pointer ke GUID yang mewakili kelas penyiapan perangkat atau kelas antarmuka perangkat. SetupDiGetClassPropertyKeys mengambil array kunci properti perangkat yang mewakili properti perangkat yang diatur untuk kelas yang ditentukan. Untuk informasi tentang menentukan jenis kelas, lihat parameter Bendera .
[out, optional] PropertyKeyArray
Penunjuk ke buffer yang menerima array nilai yang diketik DEVPROPKEY, di mana setiap nilai adalah kunci properti perangkat yang mewakili properti perangkat yang diatur untuk kelas perangkat. Penunjuk bersifat opsional dan dapat berupa NULL. Untuk informasi selengkapnya, lihat bagian Keterangan nanti dalam topik ini.
[in] PropertyKeyCount
Ukuran, dalam nilai yang diketik DEVPROPKEY, dari buffer PropertyKeyArray . Jika PropertyKeyArray diatur ke NULL, PropertyKeyCount harus diatur ke nol.
[out, optional] RequiredPropertyKeyCount
Penunjuk ke variabel berjenis DWORD yang menerima jumlah kunci properti yang diminta. Parameter bersifat opsional dan dapat diatur ke NULL.
[in] Flags
Salah satu nilai berikut, yang menentukan apakah akan mengambil kunci properti untuk kelas penyiapan perangkat atau untuk kelas antarmuka perangkat:
DICLASSPROP_INSTALLER
ClassGuid menentukan kelas penyiapan perangkat. Bendera ini tidak dapat digunakan dengan DICLASSPROP_INTERFACE.
DICLASSPROP_INTERFACE
ClassGuid menentukan kelas antarmuka perangkat. Bendera ini tidak dapat digunakan dengan DICLASSPROP_INSTALLER.
Mengembalikan nilai
SetupDiGetClassPropertyKeys mengembalikan TRUE jika berhasil. Jika tidak, kesalahan mengembalikan FALSE, dan kesalahan yang dicatat dapat diambil dengan memanggil GetLastError.
Tabel berikut ini menyertakan beberapa kode kesalahan yang lebih umum yang mungkin dicatat fungsi ini.
Menampilkan kode | Deskripsi |
---|---|
|
Nilai Bendera tidak valid. |
|
Jika bendera DICLASSPROP_INSTALLER ditentukan, kode kesalahan ini menunjukkan bahwa kelas penyiapan perangkat yang ditentukan oleh ClassGuid tidak ada. |
|
String referensi untuk antarmuka perangkat yang ditentukan oleh ClassGuild tidak valid. Kesalahan ini dapat dikembalikan jika bendera DICLASSPROP_INTERFACE ditentukan. |
|
Nilai data yang tidak ditentukan tidak valid. Salah satu kemungkinannya adalah bahwa nilai ClassGuid tidak valid. |
|
Parameter yang tidak ditentukan tidak valid. |
|
Buffer pengguna tidak valid. Salah satu kemungkinannya adalah PropertyKeyArray adalah NULL, dan PropertKeyCount bukan nol. |
|
Jika bendera DICLASSPROP_INTERFACE ditentukan, kode kesalahan ini menunjukkan bahwa kelas antarmuka perangkat yang ditentukan oleh ClassGuid tidak ada. |
|
Buffer PropertyKeyArray tidak cukup besar untuk menahan semua kunci properti, atau buffer data internal yang diteruskan ke panggilan sistem terlalu kecil. |
|
Tidak tersedia cukup memori sistem untuk menyelesaikan operasi. |
|
Pemanggil tidak memiliki hak istimewa Administrator. |
Keterangan
SetupDiGetClassPropertyKeys adalah bagian dari model properti perangkat terpadu.
Penelepon SetupDiGetClassPropertyKeys harus menjadi anggota grup Administrator untuk mengambil kunci properti perangkat untuk kelas perangkat.
Jika buffer PropertyKeyArray tidak cukup besar untuk menahan semua kunci properti yang diminta, SetupDiGetClassPropertyKeys tidak mengambil kunci properti apa pun dan mengembalikan ERROR_INSUFFICIENT_BUFFER. Jika penelepon menyediakan penunjuk RequiredPropertyKeyCount, SetupDiGetClassPropertyKeys menetapkan nilai *RequiredPropertyKeyCount ke ukuran yang diperlukan, dalam nilai yang diketik DEVPROPKEY, dari buffer PropertyKeyArray.
Untuk mengambil properti kelas perangkat di komputer lokal, panggil SetupDiGetClassProperty. Untuk mengatur properti kelas perangkat di komputer lokal, panggil SetupDiSetClassProperty.
Untuk mengambil kunci properti untuk kelas penyiapan perangkat atau kelas antarmuka perangkat di komputer jarak jauh, panggil SetupDiGetClassPropertyKeysEx.
Persyaratan
Klien minimum yang didukung | Tersedia di Windows Vista dan versi Windows yang lebih baru. |
Target Platform | DesktopUntuk universal, panggil CM_Get_Class_Property_Keys |
Header | setupapi.h (termasuk Setupapi.h) |
Pustaka | Setupapi.lib |
DLL | Setupapi.dll |