IOCTL_HID_GET_FEATURE IOCTL (hidclass.h)
Permintaan IOCTL_HID_GET_FEATURE mengembalikan laporan fitur yang terkait dengan koleksi tingkat atas.
Untuk informasi umum tentang perangkat HIDClass, lihat Koleksi HID.
Kode utama
Buffer input
Anggota Parameters.DeviceIoControl.OutputBufferLength
menentukan ukuran, dalam byte, dari buffer output yang dialokasikan pemohon. Driver kelas HID menggunakan buffer ini untuk mengembalikan laporan fitur.
Jika koleksi menyertakan ID laporan, pemohon harus mengatur byte pertama dari buffer output ke ID laporan bukan nol. Jika tidak, pemohon harus mengatur byte pertama dari buffer output ke nol.
Penanganandriver mini
Irp->UserBuffer
menunjuk ke struktur HID_XFER_PACKET yang digunakan driver kelas HID untuk memasukkan anggota berikut:
Panjang buffer input
Ukuran buffer dalam byte. Buffer harus cukup besar untuk menyimpan laporan fitur ditambah satu byte tambahan yang menentukan ID laporan bukan nol. Jika ID laporan tidak digunakan, nilai ID adalah nol.
Penanganandriver mini
Ukuran struktur HID_XFER_PACKET .
Buffer output
Anggota Irp->MdlAddress
menunjuk ke buffer output yang dialokasikan pemohon yang digunakan driver kelas HID untuk mengembalikan laporan fitur. Byte pertama buffer, yang digunakan pemohon untuk memasukkan ID laporan atau nol, tidak berubah. Laporan fitur, tidak termasuk ID laporannya, jika ID laporan digunakan, dikembalikan di ((PUCHAR)Irp->MdlAddress + 1)
.
Penanganandriver mini
((PHID_XFER_PACKET)(Irp->UserBuffer))->reportBuffer
menunjuk ke buffer output yang dialokasikan pemohon yang digunakan minidriver HID untuk mengembalikan laporan fitur.
Panjang buffer output
Panjang buffer yang berisi laporan.
Penanganandriver mini
Ukuran struktur HID_XFER_PACKET .
Blok status
Driver kelas HID mengatur bidang berikut dari Irp->IoStatus
:
- Informasi diatur ke jumlah byte yang ditransfer dari perangkat.
- Status diatur ke STATUS_SUCCESS jika transfer selesai tanpa kesalahan. Jika tidak, ini diatur ke kode kesalahan NTSTATUS yang sesuai.
Penanganandriver mini
Minidriver HID yang melakukan I/O ke perangkat mengatur bidang berikut dari Irp->IoStatus
:
- Informasi diatur ke jumlah byte yang ditransfer dari perangkat.
- Status diatur ke STATUS_SUCCESS jika transfer selesai tanpa kesalahan. Jika tidak, ini diatur ke kode kesalahan NTSTATUS yang sesuai.
Minidriver HID yang memanggil driver lain dengan IOCTL ini untuk melakukan I/O ke perangkat mereka, harus memastikan bahwa bidang Informasi blok status sudah benar dan tidak mengubah konten bidang Status .
Persyaratan
Persyaratan | Nilai |
---|---|
Header | hidclass.h (termasuk Hidclass.h) |
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