Fungsi SetupDiGetDevicePropertyKeys (setupapi.h)

Fungsi SetupDiGetDevicePropertyKeys mengambil array kunci properti perangkat yang mewakili properti perangkat yang diatur untuk instans perangkat.

Sintaks

WINSETUPAPI BOOL SetupDiGetDevicePropertyKeys(
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PSP_DEVINFO_DATA DeviceInfoData,
  [out, optional] DEVPROPKEY       *PropertyKeyArray,
  [in]            DWORD            PropertyKeyCount,
  [out, optional] PDWORD           RequiredPropertyKeyCount,
  [in]            DWORD            Flags
);

Parameter

[in] DeviceInfoSet

Handel ke kumpulan informasi perangkat. Kumpulan informasi perangkat ini berisi instans perangkat yang fungsi ini mengambil array kunci properti perangkat. Kunci properti mewakili properti perangkat yang diatur untuk instans perangkat.

[in] DeviceInfoData

Penunjuk ke struktur SP_DEVINFO_DATA yang mewakili instans perangkat untuk mengambil array kunci properti perangkat yang diminta.

[out, optional] PropertyKeyArray

Penunjuk ke buffer yang menerima array nilai yang diketik DEVPROPKEY, di mana setiap nilai adalah kunci properti perangkat yang mewakili properti perangkat yang diatur untuk instans perangkat. Penunjuk bersifat opsional dan dapat berupa NULL. Untuk informasi selengkapnya, lihat bagian Keterangan nanti dalam topik ini.

[in] PropertyKeyCount

Ukuran, dalam nilai yang diketik DEVPROPKEY, dari buffer PropertyKeyArray. Jika PropertyKeyArray diatur ke NULL, PropertyKeyCount harus diatur ke nol.

[out, optional] RequiredPropertyKeyCount

Penunjuk ke variabel berjenis DWORD yang menerima jumlah kunci properti perangkat yang diminta. Penunjuk bersifat opsional dan dapat diatur ke NULL.

[in] Flags

Parameter ini harus diatur ke nol.

Menampilkan nilai

SetupDiGetDevicePropertyKeys 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_HANDLE
Kumpulan informasi perangkat yang ditentukan oleh DevInfoSet tidak valid.
ERROR_INVALID_PARAMETER
Parameter yang disediakan tidak valid. Salah satu kemungkinannya adalah bahwa elemen informasi perangkat tidak valid.
ERROR_INVALID_DATA
Nilai data internal tidak valid.
ERROR_INVALID_USER_BUFFER
Buffer pengguna tidak valid. Salah satu kemungkinannya adalah PropertyKeyArray adalah NULL dan PropertKeyCount bukan nol.
ERROR_NO_SUCH_DEVINST
Instans perangkat yang ditentukan oleh DevInfoData tidak ada.
ERROR_INSUFFICIENT_BUFFER
Buffer PropertyKeyArray terlalu kecil untuk menyimpan semua kunci properti yang diminta.
ERROR_NOT_ENOUGH_MEMORY
Tidak tersedia cukup memori sistem untuk menyelesaikan operasi.

Keterangan

SetupDiGetDevicePropertyKeys adalah bagian dari model properti perangkat terpadu.

Jika buffer ProperKeyArray tidak cukup besar untuk menyimpan semua kunci properti yang diminta, SetupDiGetDevicePropertyKeys tidak mengambil kunci properti apa pun dan mengembalikan ERROR_INSUFFICIENT_BUFFER. Jika pemanggil menyediakan penunjuk RequiredPropertyKeyCount, SetupDiGetDevicePropertyKeys menetapkan nilai *RequiredPropertyKeyCount ke ukuran yang diperlukan, dalam nilai yang diketik DEVPROPKEY, dari buffer PropertyKeyArray.

Untuk mengambil properti instans perangkat, panggil SetupDiGetDeviceProperty, dan untuk mengatur properti instans perangkat, panggil SetupDiSetDeviceProperty.

Persyaratan

   
Klien minimum yang didukung Tersedia di Windows Vista dan versi Windows yang lebih baru.
Target Platform DesktopUntuk universal, panggil CM_Get_DevNode_Property_Keys
Header setupapi.h (termasuk Setupapi.h)
Pustaka Setupapi.lib
DLL Setupapi.dll

Lihat juga

SetupDiGetDeviceProperty

SetupDiSetDeviceProperty