Bagikan melalui


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
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_REG_PROPERTY
Kunci properti yang disediakan oleh PropertyKey tidak valid.
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 PropertBufferSize bukan nol.
ERROR_NO_SUCH_DEVINST
Instans perangkat yang ditentukan oleh DevInfoData tidak ada.
ERROR_INSUFFICIENT_BUFFER
Buffer PropertyBuffer terlalu kecil untuk menahan nilai properti yang diminta, atau 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

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)

Lihat juga

SetupDiGetDevicePropertyKeys

SetupDiSetDeviceProperty