Partilhar via


Criando aplicações conscientes de Push-Model

Um aplicativo com reconhecimento de modelo push é aquele que se registrou no Microsoft STI para que possa ser ativado automaticamente quando ocorrer um evento de dispositivo de imagem estática. Uma aplicação pode ser tornada compatível com o modelo push por um dos dois métodos a seguir:

  • Chamando IStillImage::RegisterLaunchApplication. A chamada pode ser feita pelo aplicativo ou pelo seu programa de instalação.

  • Incluindo uma entrada no arquivo de informações de instalação (INF) do aplicativo. A entrada deve ser referenciada por uma Diretiva INF AddReg no arquivo INF. A sintaxe da entrada é ilustrada no exemplo a seguir:

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

    Duas entradas de arquivo INF são necessárias para dispositivos que suportam aplicativos com reconhecimento de modelo push: DeviceData e Events. Para obter mais informações, consulte Arquivos INF para dispositivos de imagem estática.

Qualquer um desses métodos faz com que o aplicativo seja registrado com o Monitor de eventos de imagem estática.

Se uma aplicação estiver registada como compatível com o modelo push, um utilizador poderá atribuir Eventos de Dispositivo de Imagem Estática à aplicação através do Painel de Controlo de Scanners e Câmaras. Além disso, os fornecedores podem fornecer uma atribuição inicial de eventos de dispositivo para aplicativos incluindo nomes de aplicativos no arquivo INF de um driver de dispositivo. Um usuário pode alterar essa atribuição inicial com o Painel de Controle de Scanners e Câmeras.

Depois que os eventos do dispositivo tiverem sido atribuídos a um aplicativo, o monitor de eventos iniciará o aplicativo quando detetar uma ocorrência de um evento de dispositivo atribuído.

Quando um aplicativo com reconhecimento de modelo push é ativado, ele deve chamar IStillImage::GetSTILaunchInformation para determinar o evento e o dispositivo para o qual ele foi iniciado. Em seguida, ele pode chamar IStillImage::GetDeviceInfo para obter mais informações sobre o dispositivo.

O aplicativo deve manipular o evento ou deve criar uma exibição de usuário explicando por que ele não pode manipular o evento. Presumivelmente, o usuário usará o Painel de Controle para associar o evento do dispositivo a algum outro aplicativo.

Gerir o evento geralmente significa ler uma imagem. Para fazer isso, o aplicativo normalmente chama uma API de aquisição de imagem, como TWAIN.

Se um aplicativo tiver sido iniciado porque ocorreu um evento, mas uma API de aquisição de imagem não tiver aberto o dispositivo no modo de dados (consulte Modos de transferência), o monitor de eventos iniciará outra instância do aplicativo se outro evento for detetado. O aplicativo deve ser implementado para que ele permita várias instâncias ou (de preferência) reconheça quando não é a primeira instância, envie uma mensagem para a primeira instância identificando o evento e saia.