Bagikan melalui


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
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_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
Properti perangkat yang diminta tidak ada.
ERROR_ACCESS_DENIED
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

Lihat juga

SetupDiGetClassProperty

SetupDiGetClassPropertyKeysEx

SetupDiSetClassProperty

SetupDiSetClassPropertyEx