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 |
---|---|
|
Operasi berhasil. Buffer Data berisi data yang diambil. **Jenis* berisi jenis data yang diambil. |
|
Buffer Data terlalu kecil. **RequiredSize* berisi panjang buffer yang diperlukan. |
|
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk