Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La solicitud de IOCTL_HID_SET_OUTPUT_REPORT envía un informe de salida a un colección de nivel superior.
Para obtener información general sobre los dispositivos HIDClass, consulte colecciones HID.
Código principal
Búfer de entrada
El miembro Parameters.DeviceIoControl.InputBufferLength se establece en el tamaño, en bytes, de un búfer de entrada asignado por el solicitante que contiene un informe de salida de clase HID.
Tamaño del búfer de entrada en bytes. El búfer debe ser lo suficientemente grande como para contener el informe de salida más un byte adicional que especifique un identificador de informe distinto de cero. Si no se usa el identificador de informe, el valor del identificador es cero.
El miembro Irp->AssociatedIrp.SystemBuffer apunta al búfer de entrada que contiene un informe de salida. Si la colección incluye identificadores de informe, el solicitante debe establecer el primer byte del búfer en un identificador de informe distinto de cero. De lo contrario, el solicitante debe establecer el primer byte en cero. El informe de salida se encuentra en ((PUCHAR)ReportBuffer + 1).
control de minidriver
Irp->UserBuffer apunta a una estructura de HID_XFER_PACKET que usa el controlador de clase HID para introducir los miembros siguientes:
Longitud del búfer de entrada
Tamaño del búfer de entrada en bytes. El búfer debe ser lo suficientemente grande como para contener el informe de salida más un byte adicional que especifique un identificador de informe distinto de cero. Si no se usa el identificador de informe, el valor del identificador es cero.
control de minidriver
Tamaño de una estructura de HID_XFER_PACKET.
Búfer de salida
Ninguno.
Longitud del búfer de salida
Ninguno.
Bloque de estado
El controlador de clase HID establece los siguientes campos de Irp->IoStatus:
- de información se establece en cero.
- Estado se establece en STATUS_SUCCESS si la transferencia se completó sin error. De lo contrario, se establece en un código de error NTSTATUS adecuado.
control de minidriver
Minidrives HID que llevan a cabo la E/S en el dispositivo establecen los siguientes campos de Irp->IoStatus:
- information se establece en el número de bytes transferidos al dispositivo.
- Estado se establece en STATUS_SUCCESS si la transferencia se completó sin error. De lo contrario, se establece en un código de error NTSTATUS adecuado.
Los minidriveres HID que llaman a otros controladores con este IOCTL para llevar a cabo la E/S deben asegurarse de que el campo Información del bloque de estado sea correcto y no cambie el contenido del campo Estado.
Requisitos
| Requisito | Valor |
|---|---|
| encabezado de | hidclass.h (include Hidclass.h) |