Funcionalidades de minicontrolador WIA
Todos los minidrives WIA deben definir la capacidad del dispositivo para controlar los comandos y eventos de notificación. En esta sección se describen estas funcionalidades de minicontrolador.
El minidriver WIA es responsable de crear una tabla que muestre todos los eventos y comandos que admite. En el diagrama siguiente se ilustra la tabla de funcionalidades que compila el minidriver WIA.
La tabla capabilities se define como una matriz de estructuras WIA_DEV_CAP_DRV . El minidriver debe construir esta matriz y devolverla al servicio WIA cuando el servicio WIA llama al método IWiaMiniDrv::d rvGetCapabilities .
Definición de eventos y comandos admitidos
Los minidrivers wia deben describir los eventos y comandos que el dispositivo admite en el servicio WIA.
Eventos
Un evento es una acción en el nivel de dispositivo que se debe notificar al controlador. Por ejemplo, un escáner podría tener un botón del panel frontal con la etiqueta "Examinar". Cuando los usuarios presionan este botón, esperan que el escáner comience a examinar, o al menos, que una aplicación comenzará a iniciar el examen.
WIA admite dos tipos de eventos:
Evento de acción: Un evento de acción inicia la aplicación registrada para controlar este evento. Por ejemplo, el Asistente para escáneres y cámaras de Microsoft es un controlador registrado para el evento Scan (otras aplicaciones también se pueden registrar para este evento). Cuando un controlador envía el evento Scan, el servicio WIA inicia el Analizador y el Asistente para cámara para controlar este evento. Este tipo de evento se conoce con frecuencia como un evento persistente.
Evento de notificación: Un evento de notificación solo se envía a las aplicaciones que ya están en ejecución y han indicado al servicio WIA que deben recibir este evento. Si la aplicación no se está ejecutando, no se inicia para controlar este evento.
Un evento puede ser un evento de acción y un evento de notificación.
Comandos
Un comando de dispositivo WIA es una solicitud que el servicio WIA envía (en nombre de la aplicación de creación de imágenes) al minidriver WIA que indica al minidriver que realice alguna acción. Por ejemplo, un minidriver de cámara WIA podría controlar el comando Tomar imagen . Este comando indica al minidriver que ordene que el dispositivo de cámara digital tome una nueva imagen.
Nota
El Asistente para escáneres y cámaras responde inmediatamente al usuario, incluso si todavía tiene una limpieza en segundo plano. Por ejemplo, la ventana Escáner y Asistente para cámara se cierra inmediatamente cuando el usuario solicita cancelar una acción; Sin embargo, el Asistente para escáneres y cámaras tiene un subproceso de adquisición independiente que continúa ejecutándose después de cerrar la ventana. Este subproceso independiente permite una respuesta inmediata a la solicitud del usuario, pero permite que las tareas y tareas necesarias que no se puedan interrumpir se completen sin afectar a la experiencia del usuario.