Fungsi IoGetDevicePropertyData (wdm.h)

Rutinitas IoGetDevicePropertyData mengambil pengaturan saat ini untuk properti perangkat.

Sintaks

NTSTATUS IoGetDevicePropertyData(
  [in]  PDEVICE_OBJECT   Pdo,
  [in]  const DEVPROPKEY *PropertyKey,
  [in]  LCID             Lcid,
        ULONG            Flags,
  [in]  ULONG            Size,
  [out] PVOID            Data,
  [out] PULONG           RequiredSize,
  [out] PDEVPROPTYPE     Type
);

Parameter

[in] Pdo

Penunjuk ke objek perangkat fisik (PDO) untuk perangkat yang sedang dikueri.

[in] PropertyKey

Penunjuk ke struktur DEVPROPKEY yang menentukan kunci properti perangkat.

[in] Lcid

Pengidentifikasi lokal. Atur parameter ini ke nilai LCID khusus bahasa atau ke LOCALE_NEUTRAL. LOCALE_NEUTRAL LCID menentukan bahwa properti netral bahasa (yaitu, tidak khusus untuk bahasa apa pun). Jangan atur parameter ini ke LOCALE_SYSTEM_DEFAULT atau LOCALE_USER_DEFAULT. Untuk informasi selengkapnya tentang nilai LCID khusus bahasa, lihat Struktur LCID.

Flags

Dicadangkan untuk penggunaan sistem. Driver harus mengatur nilai ini ke 0.

[in] Size

Ukuran, dalam byte, dari buffer tempat Data menunjuk.

[out] Data

Penunjuk ke data properti perangkat.

[out] RequiredSize

Penunjuk ke ULONG untuk menerima ukuran informasi properti yang dikembalikan di Data. Jika IoGetDevicePropertyData mengembalikan STATUS_BUFFER_TOO_SMALL, pemanggil dapat menggunakan nilai ini untuk mengalokasikan buffer dengan ukuran yang benar.

[out] Type

Penunjuk ke nilai DEVPROPTYPE . Jika IoGetDevicePropertyData berhasil diselesaikan, rutinitas menggunakan Jenis untuk menyediakan jenis data yang dikembalikan dalam buffer Data .

Nilai kembali

IoGetDevicePropertyData mengembalikan nilai NTSTATUS. Rutinitas ini mungkin mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
STATUS_SUCCESS
Operasi berhasil. Buffer Data berisi data yang diambil. **Jenis* berisi jenis data yang diambil.
STATUS_BUFFER_TOO_SMALL
Buffer Data terlalu kecil. **RequiredSize* berisi panjang buffer yang diperlukan.
STATUS_OBJECT_NAME_NOT_FOUND
Properti perangkat yang ditentukan tidak ditemukan.

Keterangan

Driver mode kernel menggunakan rutinitas IoGetDevicePropertyData untuk mengambil properti perangkat yang didefinisikan sebagai bagian dari model properti perangkat terpadu.

Untuk melihat jenis properti yang tersedia untuk digunakan oleh rutinitas ini, lihat DEVPROP_TYPE_BYTE dan halaman yang berdekatan untuk DEVPROP_TYPE_*.

Driver dapat menggunakan rutinitas IoSetDevicePropertyData untuk memodifikasi properti perangkat.

Penelepon IoGetDevicePropertyData harus berjalan di IRQL <= APC_LEVEL dalam konteks utas sistem.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows Vista.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Lihat juga

DEVPROPKEY

DEVPROPTYPE

IoSetDevicePropertyData