Compartir a través de


Comandos de eventos

El microdriver usa los comandos de esta sección para la compatibilidad con eventos de dispositivo.

CMD_GET_INTERRUPT_EVENT

Lo llama el controlador wia plano en un subproceso independiente para supervisar el estado de los eventos de botón que usan interrupciones del dispositivo (es decir, para los dispositivos USB que notifican eventos a través de la canalización de interrupción). Si el dispositivo solo admite sondeos, no es necesario implementar este comando y se debe devolver E_NOTIMPL.

Se pasan dos identificadores de eventos al microdriver. El miembro lVal de la estructura VAL contiene un identificador de eventos que el microdriver debe indicar mediante la función SetEvent cuando se produce un evento de botón. El miembro de controlador de la estructura VAL contiene un controlador de eventos que el controlador WIA flatbed señalará cuando se descargue o apague el controlador.

El miembro pGuid de la estructura VAL debe establecerse para que apunte al GUID del botón que se insertó. Si no se ha presionado ningún botón, se debe establecer en GUID_NULL.

CMD_STI_GETSTATUS

Lo llama el controlador wia plano para obtener el estado en línea del dispositivo y si el dispositivo tiene botones de inserción, para obtener el estado del botón.

Establezca el miembro lVal de la estructura VAL pasada en 1 si el dispositivo está en línea y funciona correctamente. Si lVal se establece en cualquier valor distinto de 1, el dispositivo se considera sin conexión y se producirá un error en la prueba del dispositivo en Panel de control.

Si el dispositivo admite botones que no usan interrupciones del dispositivo y se ha presionado un botón, el miembro pGuid de la estructura VAL pasada debe establecerse en el GUID del evento de botón. Si no se presiona ningún botón, apunte pGuid al valor GUID_NULL. Esto indica que no hay ningún evento pendiente.

Este comando es necesario si el dispositivo admite eventos sondados o quiere que el dispositivo muestre el estado en línea.