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

DEVPROPKEY

DEVPROPTYPE

IoSetDeviceInterfacePropertyData