Fungsi SetupDiGetClassPropertyKeysExW (setupapi.h)
Fungsi SetupDiGetClassPropertyKeysEx mengambil array kunci properti perangkat yang mewakili properti perangkat yang diatur untuk kelas penyiapan perangkat atau kelas antarmuka perangkat di komputer lokal atau jarak jauh.
Sintaks
WINSETUPAPI BOOL SetupDiGetClassPropertyKeysExW(
[in] const GUID *ClassGuid,
[out, optional] DEVPROPKEY *PropertyKeyArray,
[in] DWORD PropertyKeyCount,
[out, optional] PDWORD RequiredPropertyKeyCount,
[in] DWORD Flags,
[in, optional] PCWSTR MachineName,
PVOID Reserved
);
Parameter
[in] ClassGuid
Pointer ke GUID yang mewakili kelas penyiapan perangkat atau kelas antarmuka perangkat. SetupDiGetClassPropertyKeysEx 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 penyiapan perangkat. Penunjuk bersifat opsional dan dapat berupa NULL. Untuk informasi selengkapnya, lihat bagian Keterangan nanti dalam topik ini.
[in] PropertyKeyCount
Ukuran, dalam nilai jenis 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. Penunjuk bersifat opsional dan dapat diatur ke NULL.
[in] Flags
Salah satu nilai berikut, yang menentukan apakah akan mengambil kunci properti kelas 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.
[in, optional] MachineName
Penunjuk ke string yang dihentikan NULL yang berisi nama UNC, termasuk awalan "\", dari komputer. Penunjuk bisa NULL. Jika pointer adalah NULL, SetupDiGetClassPropertyKeysEx mengambil informasi yang diminta dari komputer lokal.
Perhatian
Menggunakan fungsi ini untuk mengakses komputer jarak jauh tidak didukung dimulai dengan Windows 8 dan Windows Server 2012, karena fungsi ini telah dihapus.
Reserved
Parameter ini harus diatur ke NULL.
Nilai kembali
SetupDiGetClassPropertyKeysEx mengembalikan TRUE jika berhasil. Jika tidak, ia 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 mungkin dikembalikan ketika 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 kemungkinan adalah bahwa PropertyKeyArray adalah NULL, dan PropertKeyCount bukan nol. |
|
Nama komputer yang ditentukan oleh MachineName tidak valid. |
|
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
SetupDiGetClassPropertyKeysEx adalah bagian dari model properti perangkat terpadu.
Pemanggil SetupDiGetClassPropertyKeysEx harus menjadi anggota grup Administrator untuk mengambil kunci properti perangkat untuk kelas perangkat.
Jika buffer PropertyKeyArray tidak cukup besar untuk menyimpan semua kunci properti yang diminta, SetupDiGetClassPropertyKeysEx tidak mengambil kunci properti apa pun dan mengembalikan ERROR_INSUFFICIENT_BUFFER. Jika penelepon menyediakan pointer RequiredPropertyKeyCount, SetupDiGetClassPropertyKeysEx menetapkan nilai *RequiredPropertyKeyCount ke ukuran yang diperlukan, dalam nilai yang diketik DEVPROPKEY, dari buffer PropertyKeyArray.
Untuk mengambil properti kelas perangkat di komputer jarak jauh, panggil SetupDiGetClassPropertyEx, dan untuk mengatur properti kelas perangkat di komputer jarak jauh, panggil SetupDiSetClassPropertyEx.
Untuk mengambil kunci properti untuk kelas penyiapan perangkat atau kelas antarmuka perangkat di komputer lokal, panggil SetupDiGetClassPropertyKeys.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows Vista dan versi Windows yang lebih baru. |
Target Platform | DesktopUntuk universal, panggil CM_Get_Class_Property_Keys_Ex |
Header | setupapi.h (termasuk Setupapi.h) |
Pustaka | Setupapi.lib |