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
ERROR_INVALID_FLAGS
Nilai Bendera tidak valid.
ERROR_INVALID_CLASS
Jika bendera DICLASSPROP_INSTALLER ditentukan, kode kesalahan ini menunjukkan bahwa kelas penyiapan perangkat yang ditentukan oleh ClassGuid tidak ada.
ERROR_INVALID_REFERENCE_STRING
String referensi untuk antarmuka perangkat yang ditentukan oleh ClassGuild tidak valid. Kesalahan ini dapat dikembalikan jika bendera DICLASSPROP_INTERFACE ditentukan.
ERROR_INVALID_DATA
Nilai data yang tidak ditentukan tidak valid. Salah satu kemungkinannya adalah bahwa nilai ClassGuid tidak valid.
ERROR_INVALID_PARAMETER
Parameter yang tidak ditentukan tidak valid.
ERROR_INVALID_USER_BUFFER
Buffer pengguna tidak valid. Salah satu kemungkinannya adalah PropertyKeyArray adalah NULL, dan PropertKeyCount bukan nol.
ERROR_NO_SUCH_INTERFACE_CLASS
Jika bendera DICLASSPROP_INTERFACE ditentukan, kode kesalahan ini menunjukkan bahwa kelas antarmuka perangkat yang ditentukan oleh ClassGuid tidak ada.
ERROR_INSUFFICENT_BUFFER
Buffer PropertyKeyArray tidak cukup besar untuk menahan semua kunci properti, atau buffer data internal yang diteruskan ke panggilan sistem terlalu kecil.
ERROR_NOT_ENOUGH_MEMORY
Tidak tersedia cukup memori sistem untuk menyelesaikan operasi.
ERROR_ACCESS_DENIED
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

Lihat juga

SetupDiGetClassProperty

SetupDiGetClassPropertyKeysEx

SetupDiSetClassProperty