Creación de aplicaciones compatibles con Push-Model
Una aplicación compatible con el modelo de inserción es una que se ha registrado con Microsoft STI para que se pueda activar automáticamente cuando se ha producido un evento de dispositivo de imagen todavía. Una aplicación se puede hacer compatible con el modelo de inserción mediante cualquiera de los dos métodos siguientes:
Llamar a IStillImage::RegisterLaunchApplication. La llamada se puede realizar mediante la aplicación o por su programa de instalación.
Incluir una entrada en el archivo de información de configuración (INF) de la aplicación. Se debe hacer referencia a la entrada mediante una directiva AddReg inf en el archivo INF. La sintaxis de la entrada se muestra en el ejemplo siguiente:
; Register Application "Imaging" as a push-model aware application for use with the still image event monitor HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\StillImage\Registered Applications",Imaging,,"%25%\KodakImg.Exe /StiDevice:%%1 /StiEvent:%%2"
Se requieren dos entradas de archivo INF para dispositivos que admiten aplicaciones compatibles con el modelo de inserción: DeviceData y Events. Para obtener más información, vea Archivos INF para dispositivos de imagen fija.
Cualquiera de estos métodos hace que la aplicación se registre con el Monitor de eventos Still Image.
Si una aplicación está registrada como compatible con el modelo de inserción, un usuario puede asignar eventos de dispositivo still image a la aplicación con los escáneres y cámaras Panel de control. Además, los proveedores pueden proporcionar una asignación inicial de eventos de dispositivo a las aplicaciones mediante la inclusión de nombres de aplicación dentro del archivo INF de un controlador de dispositivo. Un usuario puede cambiar esta asignación inicial con los escáneres y cámaras Panel de control.
Una vez que se hayan asignado eventos de dispositivo a una aplicación, el monitor de eventos iniciará la aplicación cuando detecte una aparición de un evento de dispositivo asignado.
Cuando se activa una aplicación compatible con el modelo de inserción, debe llamar a IStillImage::GetSTILaunchInformation para determinar el evento y el dispositivo para el que se inició. A continuación, puede llamar a IStillImage::GetDeviceInfo para obtener más información sobre el dispositivo.
La aplicación debe controlar el evento o debe crear un usuario que explique por qué no puede controlar el evento. Presumiblemente, el usuario usará Panel de control para asociar el evento del dispositivo con alguna otra aplicación.
Controlar el evento normalmente significa leer en una imagen. Para ello, la aplicación normalmente llama a una API de adquisición de imágenes, como TWAIN.
Si se ha iniciado una aplicación porque se ha producido un evento, pero una API de adquisición de imágenes no ha abierto el dispositivo en modo de datos (consulte Modos de transferencia), el monitor de eventos iniciará otra instancia de la aplicación si se detecta otro evento. La aplicación debe implementarse para que permita varias instancias o (preferiblemente) reconozca cuando no sea la primera instancia, envíe un mensaje a la primera instancia que identifique el evento y salga.