Panoramica dell'architettura WIA
WiA viene implementato come server out-of-process (COM) component object model (COM) per garantire il funzionamento affidabile delle applicazioni client.
Wia ha tre componenti principali: il servizio WIA, la libreria del servizio driver WIA e un driver in modalità utente fornitore.
Il servizio WIA enumera i dispositivi di creazione di immagini, recupera le proprietà del dispositivo, configura gli eventi per i dispositivi e crea oggetti dispositivo.
La libreria del servizio driver WIA implementa tutti i servizi indipendenti dal dispositivo.
Il driver in modalità utente fornitore esegue il mapping delle proprietà e dei comandi WIA al dispositivo specifico. Esistono due tipi di driver in modalità utente del fornitore WIA:
Minidriver: questo è il tipo più comune di driver fornitore. Si tratta di un oggetto COM che implementa le interfacce del minidriver WIA. Un fornitore può sfruttare tutte le funzionalità e le funzionalità wia con questo tipo di driver.
Microdriver: questo driver è molto più limitato di un minidriver e, pertanto, più semplice da sviluppare. Viene usato principalmente per i dispositivi scanner di base. Questo driver non è un oggetto COM; si tratta di una DLL che esporta alcune funzioni. I microdriver non possono essere usati per i dispositivi fotocamera.
Il diagramma seguente illustra l'architettura WIA.
Applicazioni di creazione di immagini
Le applicazioni di creazione dell'immagine non comunicano direttamente con il minidriver, ma comunicano con il servizio WIA tramite l'API (Application Programming Interface) wia per accedere alle immagini e acquisire i dati dai dispositivi WIA. Queste applicazioni possono usare un'interfaccia utente comune fornita dal sistema o un'interfaccia utente fornita dal fornitore. Per altre informazioni sull'API WIA per le applicazioni di creazione di immagini, vedere la documentazione di Microsoft Windows SDK.
Servizio WIA
Il servizio WIA è un componente fornito dal sistema che comunica con le applicazioni di creazione di immagini e i minidriver WIA. Il servizio WIA viene eseguito in un processo separato dalle applicazioni e nello stesso processo dei minidriver WIA. Le applicazioni indirizzano le richieste del dispositivo al servizio WIA, che a sua volta indirizzano le richieste al minidriver appropriato tramite l'interfaccia DDI (WIA Device Driver Interface).
Libreria servizi driver WIA
La libreria dei servizi driver WIA è un componente fornito dal sistema che fornisce funzioni helper per i minidriver WIA. Un minidriver può chiamare funzioni helper per eseguire attività come le seguenti:
Inizializzare l'albero degli elementi del driver WIA.
Leggere, scrivere e convalidare le proprietà del dispositivo.
Trasferire i dati.
In alternativa, un minidriver può eseguire tali attività. Sfruttando le funzioni helper, è possibile ridurre i tempi di sviluppo e le dimensioni di un minidriver WIA pur avendo la flessibilità di sviluppare singole soluzioni.
Wia User-Mode minidriver
I minidriver WIA sono componenti in modalità utente forniti dal fornitore che indirizzano le modifiche e i comandi delle proprietà WIA a un dispositivo di creazione dell'immagine. Un minidriver implementa wia DDI, che viene chiamato dal servizio WIA per comunicare con il minidriver.
Un minidriver WIA implementa le interfacce minidriver WIA standard. Il minidriver comunica con il dispositivo di creazione dell'immagine tramite un driver standard in modalità kernel di Microsoft Windows, ad esempio il driver USB. Il minidriver comunica con il driver in modalità kernel chiamando le funzioni CreateFile, ReadFile, WriteFile e DeviceIoControl Win32 (descritte nella documentazione di Microsoft Windows SDK).
Un'applicazione per la creazione di immagini non può effettuare chiamate dirette al minidriver WIA. Solo il servizio WIA è autorizzato a chiamare direttamente il driver.
Driver di I/O del kernel
I driver di immagine in modalità kernel sono componenti forniti dal sistema o forniti da IHV che recapitano dati da o verso il dispositivo ancora immagine. Un driver immagine in modalità kernel è ancora specifico del bus.
Microsoft fornisce driver immagine basati su WDM e in modalità kernel per i bus USB, SCSI e IEEE 1394. Per altre informazioni, vedere Accesso ai driver Kernel-Mode per i dispositivi ancora immagine .
Un fornitore deve fornire un driver di immagine in modalità kernel solo se il dispositivo di creazione dell'immagine non è compatibile con i driver I/O forniti da Microsoft in modalità kernel.