Fungsi SetupDiGetDevicePropertyW (setupapi.h)
Fungsi SetupDiGetDeviceProperty mengambil properti instans perangkat.
Sintaks
WINSETUPAPI BOOL SetupDiGetDevicePropertyW(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[in] const DEVPROPKEY *PropertyKey,
[out] DEVPROPTYPE *PropertyType,
[out, optional] PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[out, optional] PDWORD RequiredSize,
[in] DWORD Flags
);
Parameter
[in] DeviceInfoSet
Handel ke kumpulan informasi perangkat yang berisi instans perangkat untuk mengambil properti instans perangkat.
[in] DeviceInfoData
Penunjuk ke struktur SP_DEVINFO_DATA yang mewakili instans perangkat untuk mengambil properti instans perangkat.
[in] PropertyKey
Penunjuk ke struktur DEVPROPKEY yang mewakili kunci properti perangkat dari properti instans perangkat yang diminta.
[out] PropertyType
Penunjuk ke variabel berjenis DEVPROPTYPE yang menerima pengidentifikasi tipe data properti dari properti instans perangkat yang diminta, di mana pengidentifikasi tipe data properti adalah bitwise OR antara pengidentifikasi tipe data dasar dan, jika jenis data dasar dimodifikasi, pengubah jenis data properti.
[out, optional] PropertyBuffer
Penunjuk ke buffer yang menerima properti instans perangkat yang diminta. SetupDiGetDeviceProperty mengambil 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, SetupDiGetDeviceProperty mengembalikan ukuran properti, 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 instans perangkat jika properti diambil atau ukuran buffer yang diperlukan jika buffer tidak cukup besar. Penunjuk ini dapat diatur ke NULL.
[in] Flags
Parameter ini harus diatur ke nol.
Nilai kembali
SetupDiGetDeviceProperty 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. |
|
Kunci properti yang disediakan oleh PropertyKey tidak valid. |
|
Nilai data internal yang tidak ditentukan tidak valid. |
|
Buffer pengguna tidak valid. Salah satu kemungkinan adalah bahwa PropertyBuffer adalah NULL dan PropertBufferSize bukan nol. |
|
Instans perangkat yang ditentukan oleh DevInfoData tidak ada. |
|
Buffer PropertyBuffer terlalu kecil untuk menahan nilai properti yang diminta, atau buffer data internal yang diteruskan ke panggilan sistem terlalu kecil. |
|
Tidak tersedia cukup memori sistem untuk menyelesaikan operasi. |
|
Properti perangkat yang diminta tidak ada. |
|
Pemanggil tidak memiliki hak istimewa Administrator. |
Keterangan
SetupDiGetDeviceProperty adalah bagian dari model properti perangkat terpadu.
SetupAPI hanya mendukung versi Unicode SetupDiGetDeviceProperty.
Untuk mendapatkan kunci properti perangkat yang mewakili properti perangkat yang diatur untuk instans perangkat, panggil SetupDiGetDevicePropertyKeys.
Untuk mengatur properti instans perangkat, panggil SetupDiSetDeviceProperty.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows Vista dan versi Windows yang lebih baru. |
Target Platform | DesktopUntuk universal, panggil CM_Get_DevNode_Property |
Header | setupapi.h (termasuk SetupAPI.h) |
Pustaka | SetupAPI.lib |
DLL | SetupAPI.dll |
Set API | ext-ms-win-setupapi-classinstallers-l1-1-0 (diperkenalkan dalam Windows 8) |