Fungsi SetupDiGetClassPropertyW (setupapi.h)
Fungsi SetupDiGetClassProperty mengambil properti perangkat yang diatur untuk kelas penyiapan perangkat atau kelas antarmuka perangkat.
Sintaks
WINSETUPAPI BOOL SetupDiGetClassPropertyW(
[in] const GUID *ClassGuid,
[in] const DEVPROPKEY *PropertyKey,
[out] DEVPROPTYPE *PropertyType,
[out] PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[out, optional] PDWORD RequiredSize,
[in] DWORD Flags
);
Parameter
[in] ClassGuid
Pointer ke GUID yang mengidentifikasi kelas penyiapan perangkat atau kelas antarmuka perangkat untuk mengambil properti perangkat yang diatur untuk kelas perangkat. Untuk informasi tentang menentukan jenis kelas, lihat parameter Bendera .
[in] PropertyKey
Penunjuk ke struktur DEVPROPKEY yang mewakili kunci properti perangkat dari properti kelas perangkat yang diminta.
[out] PropertyType
Penunjuk ke variabel berjenis DEVPROPTYPE yang menerima pengidentifikasi tipe data properti dari properti kelas perangkat yang diminta, di mana pengidentifikasi tipe data properti adalah bitwise OR antara pengidentifikasi tipe data dasar dan, jika jenis data dasar dimodifikasi, pengubah tipe data properti.
[out] PropertyBuffer
Penunjuk ke buffer yang menerima properti kelas perangkat yang diminta. SetupDiGetClassProperty mengambil nilai properti yang diminta hanya jika buffer cukup besar untuk menyimpan semua data nilai properti. Penunjuk bisa NULL. Jika pointer diatur ke NULL dan RequiredSize disediakan, SetupDiGetClassProperty mengembalikan ukuran properti kelas perangkat, dalam byte, di *RequiredSize.
[in] PropertyBufferSize
Ukuran, dalam byte, dari buffer PropertyBuffer . Jika PropertyBuffer diatur ke NULL, PropertyBufferSize harus diatur ke nol.
[out, optional] RequiredSize
Penunjuk ke variabel berjenis DWORD yang menerima ukuran, dalam byte, dari properti kelas perangkat jika properti kelas perangkat diambil atau ukuran buffer yang diperlukan jika buffer tidak cukup besar. Penunjuk ini dapat diatur ke NULL.
[in] Flags
Salah satu nilai berikut, yang menentukan apakah kelas tersebut adalah kelas penyiapan perangkat atau 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.
Nilai kembali
SetupDiGetClassProperty 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 bukan nol. |
|
Kelas penyiapan perangkat yang ditentukan oleh ClassGuid tidak valid. Kesalahan ini hanya dapat terjadi jika bendera DICLASSPROP_INSTALLER ditentukan. |
|
Parameter yang tidak ditentukan tidak valid. |
|
Kunci properti yang disediakan oleh PropertyKey tidak valid. |
|
String referensi antarmuka perangkat tidak valid. Kesalahan ini dapat dikembalikan jika bendera DICLASSPROP_INTERFACE ditentukan. |
|
Nilai data internal yang tidak ditentukan tidak valid. |
|
Buffer pengguna tidak valid. Salah satu kemungkinan adalah bahwa PropertyBuffer adalah NULL, dan PropertyBufferSize bukan nol. |
|
Kelas antarmuka perangkat yang ditentukan oleh ClassGuid tidak ada. Kesalahan ini hanya dapat terjadi jika bendera DICLASSPROP_INTERFACE ditentukan. |
|
Buffer data internal yang diteruskan ke panggilan sistem terlalu kecil. |
|
Tidak tersedia cukup memori sistem untuk menyelesaikan operasi. |
|
Properti perangkat yang diminta tidak ada. |
|
Pemanggil tidak memiliki hak istimewa Administrator. |
Keterangan
SetupDiGetClassProperty adalah bagian dari model properti perangkat terpadu.
SetupAPI hanya mendukung versi Unicode dari SetupDiGetClassProperty.
Pemanggil SetupDiGetClassProperty harus menjadi anggota grup Administrator untuk mengatur properti antarmuka perangkat.
Untuk mendapatkan kunci properti perangkat yang mewakili properti perangkat yang diatur untuk kelas perangkat di komputer lokal, panggil SetupDiGetClassPropertyKeys.
Untuk mengambil properti kelas perangkat di komputer jarak jauh, panggil SetupDiGetClassPropertyEx.
Untuk mengatur properti kelas perangkat di komputer lokal, panggil SetupDiSetClassProperty, dan untuk mengatur properti kelas perangkat di komputer jarak jauh, panggil SetupDiSetClassPropertyEx.
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 |
Header | setupapi.h (termasuk Setupapi.h) |
Pustaka | Setupapi.lib |