Fungsi SetupDiSetClassPropertyExW (setupapi.h)
Fungsi SetupDiSetClassPropertyEx mengatur properti perangkat untuk kelas penyiapan perangkat atau kelas antarmuka perangkat di komputer lokal atau jarak jauh.
Sintaks
WINSETUPAPI BOOL SetupDiSetClassPropertyExW(
[in] const GUID *ClassGuid,
[in] const DEVPROPKEY *PropertyKey,
[in] DEVPROPTYPE PropertyType,
[in, optional] const PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[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 mengatur properti perangkat. Untuk informasi tentang cara menentukan jenis kelas, lihat parameter Bendera .
[in] PropertyKey
Penunjuk ke struktur DEVPROPKEY yang mewakili kunci properti perangkat dari properti kelas perangkat yang akan diatur.
[in] PropertyType
Nilai berjenis DEVPROPTYPE yang mewakili pengidentifikasi tipe data properti untuk properti kelas. Untuk informasi selengkapnya tentang pengidentifikasi tipe data properti, lihat bagian Keterangan nanti dalam topik ini.
[in, optional] PropertyBuffer
Penunjuk ke buffer yang berisi nilai properti kelas. Jika properti atau nilai properti sedang dihapus, penunjuk ini harus diatur ke NULL, dan PropertyBufferSize harus diatur ke nol. Untuk informasi selengkapnya tentang persyaratan nilai properti, lihat bagian Keterangan nanti dalam topik ini.
[in] PropertyBufferSize
Ukuran, dalam byte, dari buffer PropertyBuffer . Ukuran buffer properti harus konsisten dengan pengidentifikasi tipe data properti yang disediakan oleh PropertyType. Jika PropertyBuffer diatur ke NULL, PropertyBufferSize harus diatur ke nol.
[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 Unicode yang dihentikan NULL yang berisi nama UNC, termasuk awalan "\", komputer. Penunjuk ini dapat diatur ke NULL. Jika pointer adalah NULL, SetupDiSetClassPropertyEx mengatur properti kelas untuk kelas yang diinstal di 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
SetupDiSetClassPropertyEx 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. |
|
Kelas penyiapan perangkat yang ditentukan oleh ClassGuid tidak valid. Kesalahan ini hanya dapat terjadi jika bendera DICLASSPROP_INSTALLER ditentukan. |
|
String referensi antarmuka perangkat tidak valid. Kesalahan ini hanya dapat terjadi jika bendera DICLASSPROP_INTERFACE ditentukan. |
|
Kunci properti yang disediakan oleh PropertyKey tidak valid. |
|
Nilai data internal yang tidak ditentukan tidak valid. Kesalahan ini dapat dicatat jika nilai ClassGuid bukan GUID yang valid atau nilai properti tidak cocok dengan jenis properti yang ditentukan oleh PropertyType. |
|
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. |
|
Item yang tidak ditentukan tidak ditemukan. Salah satu kemungkinan adalah bahwa properti yang akan dihapus tidak ada. |
|
Pemanggil tidak memiliki hak istimewa Administrator. |
Keterangan
SetupDiSetClassPropertyEx adalah bagian dari model properti perangkat terpadu.
SetupAPI hanya mendukung versi Unicode setupDiSetClassPropertyEx.
Pemanggil SetupDiSetClassPropertyEx harus menjadi anggota grup Administrator untuk mengatur properti antarmuka perangkat.
SetupDiSetClassPropertyEx memberlakukan persyaratan pada pengidentifikasi jenis data properti dan nilai properti.
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, dan untuk mengambil properti kelas perangkat di komputer jarak jauh, panggil SetupDiGetClassPropertyEx.
Untuk mengatur properti kelas perangkat di komputer lokal, panggil SetupDiSetClassProperty.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows Vista dan versi Windows yang lebih baru. |
Target Platform | Desktop |
Header | setupapi.h (termasuk Setupapi.h) |
Pustaka | Setupapi.lib |