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
ERROR_INVALID_FLAGS
Nilai Bendera bukan nol.
ERROR_INVALID_CLASS
Kelas penyiapan perangkat yang ditentukan oleh ClassGuid tidak valid. Kesalahan ini hanya dapat terjadi jika bendera DICLASSPROP_INSTALLER ditentukan.
ERROR_INVALID_PARAMETER
Parameter yang tidak ditentukan tidak valid.
ERROR_INVALID_REG_PROPERTY
Kunci properti yang disediakan oleh PropertyKey tidak valid.
ERROR_INVALID_REFERENCE_STRING
String referensi antarmuka perangkat tidak valid. Kesalahan ini dapat dikembalikan jika bendera DICLASSPROP_INTERFACE ditentukan.
ERROR_INVALID_DATA
Nilai data internal yang tidak ditentukan tidak valid.
ERROR_INVALID_USER_BUFFER
Buffer pengguna tidak valid. Salah satu kemungkinan adalah bahwa PropertyBuffer adalah NULL, dan PropertyBufferSize bukan nol.
ERROR_NO_SUCH_INTERFACE_CLASS
Kelas antarmuka perangkat yang ditentukan oleh ClassGuid tidak ada. Kesalahan ini hanya dapat terjadi jika bendera DICLASSPROP_INTERFACE ditentukan.
ERROR_INSUFFICIENT_BUFFER
Buffer data internal yang diteruskan ke panggilan sistem terlalu kecil.
ERROR_NOT_ENOUGH_MEMORY
Tidak tersedia cukup memori sistem untuk menyelesaikan operasi.
ERROR_NOT_FOUND
Properti perangkat yang diminta tidak ada.
ERROR_ACCESS_DENIED
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

Lihat juga

SetupDiGetClassPropertyEx

SetupDiGetClassPropertyKeys

SetupDiSetClassProperty

SetupDiSetClassPropertyEx