Condividi tramite


Trasferisci contesti

Un contesto di trasferimento è una raccolta di informazioni che descrivono un trasferimento di dati dal minidriver a un'applicazione. Le informazioni sul trasferimento vengono archiviate in una struttura di MINIDRV_TRANSFER_CONTEXT . Un contesto di trasferimento include membri che contengono informazioni sull'immagine da trasferire: dimensioni, risoluzione, profondità del colore (numero di byte per pixel), tipo di compressione e formato immagine. Il servizio WIA ottiene questi valori dalle proprietà dell'elemento WIA pertinenti prima di chiamare il metodo IWiaMiniDrv::d rvAcquireItemData . I valori vengono quindi archiviati in una struttura MINIDRV_TRANSFER_CONTEXT e vengono passati al driver per un accesso pratico. Questo processo elimina la necessità che il driver usi le routine della libreria di servizi WIA per leggere questi valori dal contesto dell'elemento dell'applicazione, ovvero il contesto del servizio WIA.

Un contesto di trasferimento include anche informazioni sul tipo di trasferimento: si tratta di un trasferimento di dati di file o di un trasferimento di callback di memoria. Per i trasferimenti di dati dei file, un membro contiene un handle per il file che verrà scritto. È consigliabile che i minidriver non toccano questo handle. Il servizio WIA apre l'handle prima che il trasferimento si verifichi e lo chiude al termine del trasferimento. Per i trasferimenti di dati di callback della memoria (e per i trasferimenti di dati dei file in cui l'applicazione deve ricevere gli aggiornamenti dal minidriver), un membro contiene l'indirizzo della routine di callback del minidriver.

Altri membri contengono informazioni quali la dimensione totale di tutti i buffer usati nel trasferimento e se il minidriver o il servizio WIA li allocato. Per un elenco completo dei membri per questa struttura, vedere MINIDRV_TRANSFER_CONTEXT .

Il minidriver, insieme alla funzione wiasGetImageInformation , imposta molti degli elementi del contesto di trasferimento che descrivono l'immagine stessa, ad esempio la larghezza in pixel e il numero di righe. Il servizio WIA imposta molti degli elementi del contesto di trasferimento interessati al trasferimento dei dati, ad esempio l'handle di file (se applicabile), il tipo di trasferimento.