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 |
---|---|
|
Nilai Bendera bukan nol. |
|
Kumpulan informasi perangkat yang ditentukan oleh DevInfoSet tidak valid. |
|
Parameter yang disediakan tidak valid. Salah satu kemungkinannya adalah bahwa elemen informasi perangkat tidak valid. |
|
Nilai data internal tidak valid. |
|
Buffer pengguna tidak valid. Salah satu kemungkinannya adalah PropertyKeyArray adalah NULL dan PropertKeyCount bukan nol. |
|
Instans perangkat yang ditentukan oleh DevInfoData tidak ada. |
|
Buffer PropertyKeyArray terlalu kecil untuk menyimpan semua kunci properti yang diminta. |
|
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 |