Partilhar via


Verificação básica para scanners flatbed

Um aplicativo WIA enumera o item raiz e o item filho de nível superior na árvore de itens do scanner para determinar os recursos com suporte do scanner. Em seguida, o aplicativo usa esse item filho como a origem da verificação. Por exemplo, itens de scanner de flatbed são usados para verificação do flatbed, enquanto os itens do alimentador são usados para verificação do alimentador de documentos e assim por diante.

O comportamento de programação e verificação do item de flatbed no Windows Vista é idêntico ao sistema de sobrecarga usado pelo Windows XP e pelo Windows Me. Esse sistema de sobrecarga programa o primeiro item filho na árvore de itens colocando todos os sinalizadores de atributo WIA nele.

Um aplicativo normalmente executará as seguintes operações ao programar o flatbed do scanner, mas não necessariamente nesta ordem:

  • Enumerar itens WIA de nível superior e procurar itens marcados com o sinalizador de item WiaItemTypeProgrammableDataSource e com a propriedade WIA_IPA_ITEM_CATEGORY definida como WIA_CATEGORY_FLATBED.

  • Leia os valores válidos para as propriedades WIA_IPA_TYMED e WIA_IPA_FORMAT .

  • Escolha um tipo de transferência de memória ou transferência de arquivo definindo a propriedade WIA_IPA_TYMED. Para obter mais informações sobre os tipos de transferências disponíveis, consulte Transferências de dados. Para transferências baseadas em IStream, WIA_IPA_TYMED é definido por padrão como TYMED_FILE e não deve ser alterado.

  • Escolha o formato final dos dados definindo a propriedade WIA_IPA_FORMAT.

  • Escolha as configurações de imagem, como WIA_IPA_DEPTH e WIA_IPA_DATATYPE.

  • Transfira os dados usando este item WIA.

O driver normalmente executará as seguintes operações quando usar o flatbed do scanner para verificar:

  1. Chame IWiaMiniDrv::d rvValidateItemProperties e IWiaMiniDrv::d rvReadItemProperties. O driver WIA deve validar as configurações de propriedade durante a fase de configuração de propriedade do aplicativo.

  2. Chame IWiaMiniDrv::d rvWriteItemProperties. O contexto do item WIA passado pertence ao item de scanner de flatbed para que o driver saiba que o aplicativo pretende usar o flatbed do scanner para verificar.

  3. Chame IWiaMiniDrv::d rvAcquireItemData. O contexto do item WIA passado pertence ao item de scanner de flatbed, para que o driver possa determinar facilmente que o aplicativo pretende verificar usando o flatbed platen.

  4. Programe o dispositivo e verifique a partir do flatbed, usando as propriedades atuais do item de flatbed. Se o driver WIA não estiver no modo de verificação simples, ele deverá tentar alternar para esse modo para a verificação. Não há nenhuma configuração especial para o aplicativo alternar para usar o flatbed. Usar o item de flatbed para verificar é um contrato entre o aplicativo e o driver; eles concordam que o flatbed deve ser usado para a transferência de dados.

O driver deve usar as propriedades wia no item de scanner de flatbed como configurações a serem aplicadas à parte de flatbed do scanner antes da verificação. O aplicativo WIA é necessário para sempre confiar nos cabeçalhos dos dados retornados pelo driver WIA. Por exemplo, se um verificador determinar que não pode digitalizar uma imagem de uma largura especificada e, como resultado, arredondar o valor para uma largura que possa verificar, o driver deverá atualizar os cabeçalhos de imagem com as informações de largura modificadas. Essa atualização garante que as informações corretas estão disponíveis para o aplicativo. O driver WIA deve tentar atualizar as propriedades wia com as informações reais retornadas do dispositivo.

Verificação avançada para scanners flatbed

A verificação de várias regiões do flatbed é possível por meio da configuração manual ou usando automaticamente o Filtro de Segmentação WIA. Observe que o filtro de segmentação não é diferente de um aplicativo no que ele pode ou não fazer. Os mesmos procedimentos descritos para o filtro de segmentação podem ser executados diretamente pelo aplicativo para criar itens filho para novas regiões de verificação.