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


Создание приложений с поддержкой Push-Model

Приложение, поддерживающее push-модель, — это приложение, которое зарегистрировалось в системе 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 Files для устройств для неподвижных изображений.

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

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

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

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

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

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

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