Compartilhar via


Comportamento do driver durante transferências de várias páginas

Os drivers não precisam dar suporte diretamente à aquisição de pastas. Se os drivers não derem suporte, o serviço WIA percorrerá recursivamente a árvore de itens e chamará IWiaMiniDrv::drvAcquireItemData em todos os itens que têm o bit WiaItemTypeTransfer definido na propriedade WIA_IPA_ITEM_FLAGS.

Os drivers que suportam diretamente a aquisição de pasta devem expor a propriedade WIA_IPS_TRANSFER_CAPABILITIES no item da pasta. Essa propriedade é um sinalizador e deve ter o bit WIA_TRANSFER_ACQUIRE_CHILDREN_CAPABLE definido para indicar suporte direto à funcionalidade de aquisição de pastas. Esse suporte significa que o próprio driver percorrerá a árvore para transferir os itens relevantes, e o serviço WIA simplesmente chamará IWiaMiniDrv::drvAcquireItemData na pasta. O driver pode diferenciar entre uma solicitação de transferência normal e uma solicitação de aquisição de pasta testando o parâmetro lFlags para o bit WIA_TRANSFER_ACQUIRE_CHILDREN.

Um dos principais motivos pelos quais um driver suporta diretamente a aquisição de pastas é a eficiência. Um driver pode transferir vários itens com muito mais eficiência do que fazer com que o serviço WIA chame uma transferência em cada um dos itens.

Um bom exemplo dessa situação é durante um escaneamento multirregional. Quando várias regiões (como imagens separadas) são detectadas no flatbed de um scanner, elas podem ser representadas como crianças fora do item "Flatbed". Um exemplo dessa situação é representado na figura a seguir.

diagrama ilustrando uma árvore de itens para verificação de várias regiões.

Se uma digitalização separada fosse realizada em cada um dos itens filho de "Flatbed", o driver executaria três digitalizações distintas, o que poderia ser demorado. No entanto, se uma aquisição de pasta fosse solicitada no "Flatbed", o driver realizaria uma digitalização, desmembraria o resultado e devolveria três regiões distintas (o que geralmente é mais rápido).

Nota Recomendamos que apenas drivers mais sofisticados ofereçam suporte diretamente à aquisição de pastas, pois o driver é responsável por percorrer a árvore de itens e tomar as medidas apropriadas.