Fungsi SetupDiGetClassPropertyExW (setupapi.h)
Fungsi SetupDiGetClassPropertyEx mengambil properti kelas untuk kelas penyiapan perangkat atau kelas antarmuka perangkat di komputer lokal atau jarak jauh.
Sintaks
WINSETUPAPI BOOL SetupDiGetClassPropertyExW(
[in] const GUID *ClassGuid,
[in] const DEVPROPKEY *PropertyKey,
[out] DEVPROPTYPE *PropertyType,
[out, optional] PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[out, optional] PDWORD RequiredSize,
[in] DWORD Flags,
[in, optional] PCWSTR MachineName,
PVOID Reserved
);
Parameter
[in] ClassGuid
Pointer ke GUID yang mengidentifikasi kelas penyiapan perangkat atau kelas antarmuka perangkat untuk mengambil properti perangkat 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, optional] PropertyBuffer
Penunjuk ke buffer yang menerima properti kelas perangkat yang diminta. SetupDiGetClassPropertyEx 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, SetupDiGetClassPropertyEx 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 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.
[in, optional] MachineName
Penunjuk ke string yang dihentikan NULL yang berisi nama UNC, termasuk awalan "\", dari komputer. Penunjuk dapat diatur ke NULL. Jika MachineNameadalah NULL, SetupDiGetClassPropertyEx mengambil properti kelas perangkat 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
SetupDiGetClassPropertyEx 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. |
|
Nama komputer yang ditentukan oleh MachineName tidak valid. |
|
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
SetupDiGetClassPropertyEx adalah bagian dari model properti perangkat terpadu.
SetupAPI hanya mendukung versi Unicode dari SetupDiGetClassPropertyEx.
Pemanggil SetupDiGetClassPropertyEx 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 jarak jauh, panggil SetupDiGetClassPropertyKeysEx.
Untuk mengambil properti kelas perangkat di komputer lokal, panggil SetupDiGetClassProperty.
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_ExW |
Header | setupapi.h (termasuk Setupapi.h) |
Pustaka | Setupapi.lib |