Поделиться через


Создание приложений, поддерживающих Push-Model

Приложение, поддерживающее модель отправки, — это приложение, которое зарегистрировало себя в Microsoft STI, чтобы его можно было автоматически активировать при возникновении события устройства с изображением. Приложение может быть создано с поддержкой модели push-уведомлений с помощью любого из следующих двух методов:

  • Вызов IStillImage::RegisterLaunchApplication. Вызов может быть выполнен приложением или его программой установки.

  • Включение записи в файл сведений о настройке приложения (INF). На запись должна ссылаться директива INF AddReg в INF-файле. Синтаксис записи показан в следующем примере:

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

    Для устройств, поддерживающих приложения, поддерживающие модель push-уведомлений, требуются две записи INF-файла: DeviceData и Events. Дополнительные сведения см. в разделе INF-файлы для устройств с неподвижным изображением.

Любой из этих методов приводит к регистрации приложения с помощью монитора событий Still Image.

Если приложение зарегистрировано как приложение с поддержкой модели push-уведомлений, пользователь может назначить приложению события устройства с изображением с помощью панель управления сканеров и камер. Кроме того, поставщики могут предоставить приложениям начальное назначение событий устройства, включив имена приложений в INF-файл драйвера устройства. Пользователь может изменить это начальное назначение с помощью панель управления сканеров и камер.

После назначения приложению событий устройства монитор событий запустит приложение при обнаружении события назначенного устройства.

При активации приложения, поддерживающего модель отправки, оно должно вызвать IStillImage::GetSTILaunchInformation , чтобы определить событие и устройство, для которого оно было запущено. Затем он может вызвать IStillImage::GetDeviceInfo , чтобы получить дополнительные сведения об устройстве.

Приложение должно обработать событие или создать пользовательский дисплей, объясняющий, почему оно не может обработать событие. Предположительно, пользователь будет использовать панель управления, чтобы связать событие устройства с каким-то другим приложением.

Обработка события обычно означает чтение на изображении. Для этого приложение обычно вызывает API получения изображений, например TWAIN.

Если приложение запущено из-за события, но API получения изображения не открыл устройство в режиме данных (см. раздел Режимы передачи), монитор событий запустит другой экземпляр приложения при обнаружении другого события. Приложение должно быть реализовано таким образом, чтобы оно либо позволяло использовать несколько экземпляров, либо (желательно) распознает, когда оно не является первым экземпляром, отправляет сообщение первому экземпляру, идентифицирует событие, и завершает работу.