Bagikan melalui


Fungsi WdfDeviceQueryInterfaceProperty (wdfdevice.h)

[Hanya berlaku untuk UMDF]

Metode WdfDeviceQueryInterfaceProperty mengambil properti antarmuka perangkat tertentu.

Sintaks

NTSTATUS WdfDeviceQueryInterfaceProperty(
  [in]  WDFDEVICE                           Device,
  [in]  PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
  [in]  ULONG                               BufferLength,
  [out] PVOID                               PropertyBuffer,
  [out] PULONG                              ResultLength,
  [out] PDEVPROPTYPE                        Type
);

Parameter

[in] Device

Handel ke objek perangkat kerangka kerja.

[in] PropertyData

Penunjuk ke struktur WDF_DEVICE_INTERFACE_PROPERTY_DATA yang mengidentifikasi properti antarmuka perangkat yang akan diambil.

[in] BufferLength

Ukuran, dalam byte, dari buffer yang diacu oleh PropertyBuffer.

[out] PropertyBuffer

Penunjuk ke buffer yang dialokasikan penelepon yang menerima properti antarmuka perangkat yang diminta. Penunjuk dapat berupa NULL jika parameter BufferLength adalah nol.

[out] ResultLength

Lokasi yang disediakan penelepon yang, saat dikembalikan, berisi ukuran, dalam byte, dari informasi yang disimpan WdfDeviceQueryInterfaceProperty di PropertyBuffer. Jika nilai pengembalian fungsi STATUS_BUFFER_TOO_SMALL, lokasi ini menerima ukuran buffer yang diperlukan.

[out] Type

Penunjuk ke variabel yang diketik DEVPROPTYPE yang mengidentifikasi jenis data properti yang dirujuk WdfDeviceQueryInterfaceProperty dalam buffer yang dirujuk PropertyBuffer .

Nilai kembali

Jika metode WdfDeviceQueryInterfaceProperty tidak mengalami kesalahan, metode mengembalikan STATUS_SUCCESS. Nilai pengembalian tambahan meliputi:

Menampilkan kode Deskripsi
STATUS_BUFFER_TOO_SMALL
Buffer input terlalu kecil untuk menerima informasi.
STATUS_INVALID_PARAMETER_2
Nilai parameter yang ditentukan tidak valid.
 

Metode ini mungkin mengembalikan nilai NTSTATUS lainnya.

Keterangan

Sebelum menerima data properti perangkat, driver biasanya memanggil metode WdfDeviceQueryInterfaceProperty hanya untuk mendapatkan ukuran buffer yang diperlukan. Untuk beberapa properti, ukuran data dapat berubah antara ketika ukuran yang diperlukan dikembalikan dan ketika driver memanggil WdfDeviceQueryInterfaceProperty lagi. Oleh karena itu, driver harus memanggil WdfDeviceQueryInterfaceProperty di dalam perulangan yang dijalankan sampai status pengembalian tidak STATUS_BUFFER_TOO_SMALL.

Yang terbaik adalah menggunakan WdfDeviceQueryInterfaceProperty hanya jika ukuran buffer yang diperlukan diketahui dan tidak berubah, karena dalam hal ini driver harus memanggil WdfDeviceQueryInterfaceProperty hanya sekali. Jika ukuran buffer yang diperlukan tidak diketahui atau bervariasi, driver harus memanggil WdfDeviceAllocAndQueryInterfaceProperty.

Untuk informasi tentang metode terkait, lihat Mengakses Model Properti Perangkat Terpadu.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8.1
Target Platform Universal
Versi UMDF minimum 2.0
Header wdfdevice.h (termasuk Wdf.h)
Pustaka WUDFx02000.lib
DLL WUDFx02000.dll
IRQL PASSIVE_LEVEL

Lihat juga

WDF_DEVICE_INTERFACE_PROPERTY_DATA

WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceAssignInterfaceProperty