Partager via


Création d’applications compatibles Push-Model

Une application prenant en compte le modèle push est une application qui s’est inscrite auprès de Microsoft STI afin qu’elle puisse être activée automatiquement lorsqu’un événement d’appareil d’image fixe s’est produit. Une application peut être prise en compte par push-model à l’aide de l’une des deux méthodes suivantes :

  • Appel de IStillImage::RegisterLaunchApplication. L’appel peut être effectué par l’application ou par son programme d’installation.

  • Inclusion d’une entrée dans le fichier d’informations d’installation (INF) de l’application. L’entrée doit être référencée par une directive INF AddReg dans le fichier INF. La syntaxe de l’entrée est illustrée dans l’exemple suivant :

    ; 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"
    

    Deux entrées de fichier INF sont requises pour les appareils qui prennent en charge les applications prenant en charge les modèles Push : DeviceData et Events. Pour plus d’informations, consultez Fichiers INF pour les appareils à image fixe.

L’une de ces méthodes entraîne l’inscription de l’application auprès du moniteur d’événements d’image fixe.

Si une application est inscrite comme prenant en compte le modèle push, un utilisateur peut affecter des événements d’appareil image fixe à l’application avec les scanneurs et les caméras Panneau de configuration. En outre, les fournisseurs peuvent fournir une affectation initiale des événements d’appareil aux applications en incluant des noms d’application dans le fichier INF d’un pilote de périphérique. Un utilisateur peut modifier cette affectation initiale avec les Panneau de configuration Scanners et Caméras.

Une fois que les événements d’appareil ont été affectés à une application, le moniteur d’événements démarre l’application lorsqu’il détecte une occurrence d’un événement d’appareil affecté.

Lorsqu’une application prenant en charge le modèle push est activée, elle doit appeler IStillImage::GetSTILaunchInformation pour déterminer l’événement et l’appareil pour lequel il a été démarré. Il peut ensuite appeler IStillImage::GetDeviceInfo pour obtenir plus d’informations sur l’appareil.

L’application doit gérer l’événement ou créer un affichage utilisateur expliquant pourquoi elle ne peut pas gérer l’événement. L’utilisateur utilisera alors Panneau de configuration pour associer l’événement d’appareil à une autre application.

La gestion de l’événement implique généralement la lecture dans une image. Pour ce faire, l’application appelle généralement une API d’acquisition d’images, telle que TWAIN.

Si une application a été démarrée parce qu’un événement s’est produit, mais qu’une API d’acquisition d’image n’a pas ouvert l’appareil en mode de données (voir Modes de transfert), le moniteur d’événements démarre une autre instance de l’application si un autre événement est détecté. L’application doit être implémentée afin d’autoriser plusieurs instances ou (de préférence) de reconnaître quand elle n’est pas la première instance, d’envoyer un message à la première instance d’identifier l’événement et de se quitter.