Fungsi IoGetDeviceInterfacePropertyData (wdm.h)
Rutinitas IoGetDeviceInterfacePropertyData mengambil nilai properti antarmuka perangkat saat ini.
Sintaks
NTSTATUS IoGetDeviceInterfacePropertyData(
[in] PUNICODE_STRING SymbolicLinkName,
[in] const DEVPROPKEY *PropertyKey,
[in] LCID Lcid,
ULONG Flags,
[in] ULONG Size,
[out] PVOID Data,
[out] PULONG RequiredSize,
[out] PDEVPROPTYPE Type
);
Parameter
[in] SymbolicLinkName
Penunjuk ke string yang mengidentifikasi instans antarmuka perangkat. String ini diperoleh dari panggilan sebelumnya ke rutinitas IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias, atau IoRegisterDeviceInterface .
[in] PropertyKey
Penunjuk ke struktur DEVPROPKEY yang berisi kunci properti antarmuka perangkat.
[in] Lcid
Menentukan pengidentifikasi lokal. Atur parameter ini ke nilai LCID khusus bahasa atau ke LOCALE_NEUTRAL. LCID LOCALE_NEUTRAL menentukan bahwa properti netral bahasa (yaitu, tidak spesifik 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 nol.
[in] Size
Menentukan ukuran, dalam byte, dari buffer yang dituju oleh Data .
[out] Data
Penunjuk ke buffer yang dialokasikan pemanggil tempat rutin menulis data properti antarmuka perangkat.
[out] RequiredSize
Penunjuk ke variabel ULONG tempat IoGetDeviceInterfacePropertyData menulis ukuran data properti yang diperlukan. Jika rutinitas berhasil, nilai ukuran yang diperlukan adalah jumlah byte yang ditulis rutin ke buffer output yang ditunjuk oleh Data . Jika rutinitas mengembalikan STATUS_BUFFER_TOO_SMALL, nilai ukuran yang diperlukan adalah ukuran buffer yang harus dialokasikan pemanggil untuk nilai properti ini.
[out] Type
Penunjuk ke variabel DEVPROPTYPE . Jika IoGetDeviceInterfacePropertyData berhasil mengambil data properti, rutin menulis nilai jenis properti ke variabel ini. Nilai ini menunjukkan jenis data properti yang ada di buffer Data .
Nilai kembali
IoGetDeviceInterfacePropertyData mengembalikan STATUS_SUCCESS jika berhasil. Kemungkinan nilai pengembalian kesalahan menyertakan kode status berikut.
Menampilkan kode | Deskripsi |
---|---|
STATUS_BUFFER_TOO_SMALL | Buffer yang dituju data terlalu kecil untuk berisi data properti. *RequiredSize berisi panjang buffer yang diperlukan. |
STATUS_UNSUCCESSFUL | Nilai LCID yang ditentukan tidak valid. |
STATUS_NOT_IMPLEMENTED | Properti yang ditentukan tidak didukung. |
Keterangan
Driver mode kernel menggunakan rutinitas IoGetDeviceInterfacePropertyData untuk mengambil properti antarmuka perangkat yang didefinisikan sebagai bagian dari model properti perangkat terpadu. Untuk informasi selengkapnya tentang properti antarmuka perangkat, lihat Properti Perangkat.
Driver dapat menggunakan rutinitas IoSetDeviceInterfacePropertyData untuk memodifikasi properti antarmuka perangkat.
Penelepon IoGetDeviceInterfacePropertyData harus berjalan di IRQL = PASSIVE_LEVEL dalam konteks utas sistem.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows versi Windows 8 dan yang lebih baru. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
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