Condividi tramite


Comportamento del driver durante i trasferimenti a più pagine

I driver non devono supportare direttamente l'acquisizione di cartelle. Se i driver non lo supportano, il servizio WIA passerà in modo ricorsivo all'albero degli elementi e chiamerà IWiaMiniDrv::d rvAcquireItemData su tutti gli elementi con il bit WiaItemTypeTransfer impostato nella proprietà WIA_IPA_ITEM_FLAGS .

I driver che supportano l'acquisizione di cartelle devono esporre direttamente la proprietà WIA_IPS_TRANSFER_CAPABILITIES nell'elemento della cartella. Questa proprietà è una proprietà flag e deve avere il WIA_TRANSFER_ACQUIRE_CHILDREN_CAPABLE bit impostato per indicare che supporta direttamente la funzionalità di acquisizione cartelle. Questo supporto significa che il driver stesso cammina l'albero per trasferire gli elementi pertinenti e il servizio WIA chiamerà semplicemente IWiaMiniDrv::d rvAcquireItemData nella cartella. Il driver può distinguere tra una normale richiesta di trasferimento e una richiesta di acquisizione di cartelle testando il parametro lFlags per il bit di WIA_TRANSFER_ACQUIRE_CHILDREN.

Uno dei motivi principali per cui un driver supporta direttamente l'acquisizione di cartelle è l'efficienza. Un driver può trasferire più elementi in modo molto più efficiente rispetto alla chiamata del servizio WIA a ogni elemento.

Un buon esempio di questa situazione è durante un'analisi multiregion. Quando vengono rilevate più aree (ad esempio immagini separate) sul letto piatto di uno scanner, potrebbero essere rappresentate come figli dall'elemento "Flatbed". Un esempio di questa situazione è rappresentato nella figura seguente.

diagramma che illustra un albero degli elementi per l'analisi multiregion.

Se un trasferimento separato è stato chiamato su ognuno degli elementi figlio di "Flatbed", il driver eseguirà tre analisi separate, che potrebbero richiedere tempo. Tuttavia, se è stata richiesta un'acquisizione di cartelle su "Flatbed", il driver eseguirà un'analisi, decomponerla e tornare indietro tre aree separate (che spesso è più veloce).

Nota È consigliabile che solo i driver più sofisticati supportino direttamente l'acquisizione delle cartelle, perché il driver è responsabile della passeggiata dell'albero degli elementi e dell'azione appropriata.