Bagikan melalui


IOCTL_HID_SET_FEATURE IOCTL (hidclass.h)

Permintaan IOCTL_HID_SET_FEATURE mengirimkan laporan fitur ke koleksi tingkat atas.

Untuk informasi umum tentang perangkat HIDClass, lihat Koleksi HID.

Kode utama

IRP_MJ_DEVICE_CONTROL

Buffer input

Anggota Parameters.DeviceIoControl.InputBufferLength diatur ke ukuran, dalam byte, dari buffer input yang dialokasikan pemohon yang berisi laporan fitur kelas HID.

Ukuran buffer input 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.

Anggota Irp->AssociatedIrp.SystemBuffer menunjuk ke buffer input yang berisi laporan fitur. Jika koleksi menyertakan ID laporan, pemohon harus mengatur byte pertama buffer ke ID laporan bukan nol; jika tidak, pemohon harus mengatur byte pertama ke nol. Laporan fitur terletak di ((PUCHAR)ReportBuffer + 1).

Penanganandriver mini

Irp->UserBuffer menunjuk ke struktur HID_XFER_PACKET yang digunakan driver kelas HID untuk memasukkan anggota berikut:

Panjang buffer input

Ukuran buffer input dalam byte. Buffer harus cukup besar untuk menyimpan laporan output 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

Tidak ada.

Panjang buffer output

Tidak ada.

Blok status

Driver kelas HID mengatur bidang berikut dari Irp->IoStatus:

  • Informasi diatur ke nol.
  • Status diatur ke STATUS_SUCCESS jika transfer selesai tanpa kesalahan. Jika tidak, kode 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 ke 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, 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