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
ERROR_INVALID_FLAGS
Nilai Bendera tidak valid.
ERROR_INVALID_CLASS
Kelas penyiapan perangkat yang ditentukan oleh ClassGuid tidak valid. Kesalahan ini hanya dapat terjadi jika bendera DICLASSPROP_INSTALLER ditentukan.
ERROR_INVALID_REFERENCE_STRING
String referensi antarmuka perangkat tidak valid. Kesalahan ini hanya dapat terjadi jika bendera DICLASSPROP_INTERFACE ditentukan.
ERROR_INVALID_REG_PROPERTY
Kunci properti yang disediakan oleh PropertyKey tidak valid.
ERROR_INVALID_DATA
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.
ERROR_INVALID_USER_BUFFER
Buffer pengguna tidak valid. Salah satu kemungkinan adalah bahwa PropertyBuffer adalah NULL, dan PropertyBufferSize bukan nol.
ERROR_INVALID_MACHINENAME
Nama komputer yang ditentukan oleh MachineName tidak valid.
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
Item yang tidak ditentukan tidak ditemukan. Salah satu kemungkinan adalah bahwa properti yang akan dihapus tidak ada.
ERROR_ACCESS_DENIED
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

Lihat juga

SetupDiGetClassProperty

SetupDiGetClassPropertyEx

SetupDiGetClassPropertyKeysEx

SetupDiSetClassProperty