Condividi tramite


Componenti WIA

WIA è costituito da diversi livelli che intercede tra l'utente e l'hardware. L'utente interagisce con l'applicazione WIA, che può avere interfacce utente facoltative. Questa applicazione comunica con il servizio WIA, che invia le richieste dell'utente al minidriver. Il minidriver comunica con il driver del bus in modalità kernel pertinente. Infine, il driver del bus comunica con l'hardware. Il diagramma seguente illustra i componenti software che costituiscono l'interfaccia WIA.

diagramma che illustra i componenti software che costituiscono l'interfaccia wia.

Applicazioni di creazione di immagini

Le applicazioni di creazione di immagini non comunicano direttamente con il minidriver, ma comunicano con il servizio WIA tramite l'api di programmazione dell'applicazione WIA (WIA) per accedere alle immagini e acquisire dati dai dispositivi WIA. Queste applicazioni possono usare l'interfaccia utente fornita dal sistema o uno fornito dal produttore del dispositivo. L'interfaccia utente viene usata per selezionare gli elementi per il trasferimento e per impostare le proprietà pertinenti. Si noti che è l'applicazione, non il driver, che trasferisce gli elementi selezionati dopo che l'interfaccia utente viene ignorata. Per altre informazioni sull'API WIA per le applicazioni di imaging, vedere la documentazione di Microsoft Windows SDK.

Servizio WIA

Il servizio WIA è un componente fornito dal sistema che comunica con applicazioni di imaging e minidriver WIA. Il servizio WIA è una raccolta di interfacce COM elencate nella tabella seguente, tutte descritte nella documentazione di Microsoft Windows SDK. Il servizio WIA viene eseguito in un processo separato dalle applicazioni, ma nello stesso processo dei minidriver WIA. Le applicazioni indirizzano le richieste di dispositivo al servizio WIA. Il servizio WIA indirizza quindi queste richieste al minidriver appropriato, tramite un'interfaccia del driver di dispositivo WIA (WIA DDI). Nella tabella seguente sono elencate le API che un'applicazione WIA può implementare.

WIA API Descrizione
IEnumWIA_DEV_CAPS Enumera le funzionalità del dispositivo hardware WIA. Le funzionalità del dispositivo includono comandi ed eventi supportati dal dispositivo.
IEnumWIA_DEV_INFO Enumera i dispositivi hardware WIA e le relative proprietà. Le proprietà delle informazioni sul dispositivo descrivono l'installazione e la configurazione dei dispositivi hardware WIA.
IEnumWIA_FORMAT_INFO Enumera le informazioni sul formato e sul tipo di supporto per un dispositivo.
IEnumWiaItem Enumera gli oggetti IWiaItem nella cartella corrente di un albero. Il sistema di runtime WIA rappresenta ogni dispositivo hardware WIA a un'applicazione come albero gerarchico di oggetti IWiaItem .
IWiaDataCallback Fornisce un meccanismo di callback dell'applicazione durante i trasferimenti di dati dai dispositivi hardware WIA alle applicazioni.
IWiaDataTransfer Supporta una finestra di memoria condivisa per trasferire i dati dall'oggetto dispositivo all'applicazione ed elimina copie di dati non necessarie durante il marshalling.
IWiaDevMgr Usato dalle applicazioni per creare e gestire i dispositivi di acquisizione delle immagini. Lo usano anche per registrare per ricevere gli eventi del dispositivo.
IWiaEventCallback Usato dalle applicazioni per ricevere una notifica degli eventi del dispositivo hardware WIA.
IWiaItem Consente alle applicazioni di eseguire query sui dispositivi per le relative funzionalità. IWiaItem fornisce anche l'accesso alle interfacce di trasferimento dei dati e alle proprietà dell'elemento. Questa interfaccia fornisce inoltre metodi per consentire alle applicazioni di controllare il dispositivo.
IWiaPropertyStorage Fornisce l'accesso alle informazioni sulle proprietà di un oggetto IWiaItem .

Libreria dei 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à, ad esempio quanto segue:

In alternativa, un minidriver può eseguire tali attività. Usando le funzioni helper, è possibile ridurre il tempo di sviluppo e le dimensioni di un minidriver WIA e avere comunque la flessibilità di sviluppare singole soluzioni.

Libreria di utilità WIA

La libreria di utilità WIA include una raccolta di funzioni di debug (wiauDbg Xxx), una raccolta di funzioni helper di utilità generali e tre classi: la classe CWiauDbgFn, la classe CWiauFormatConverter e la classe CWiauPropertyList.

Minidriver WIA

I minidriver WIA sono componenti forniti dal fornitore, in modalità utente, che indirizzano le modifiche e i comandi delle proprietà WIA a un dispositivo di immagine. Un minidriver implementa il servizio WIA DDI, che il servizio WIA chiama per comunicare con il minidriver.

Un minidriver WIA fornisce un'interfaccia in modalità utente specifica del dispositivo a un driver di immagine in modalità kernel, che guida il dispositivo di immagine tramite un driver, ad esempio un driver USB. Un minidriver comunica con i driver in modalità kernel chiamando le funzioni CreateFile, ReadFile, WriteFile e DeviceIoControl Microsoft Win32 (descritte nella documentazione di Microsoft Windows SDK).

Un'applicazione di imaging non può chiamare direttamente il minidriver WIA. Solo il servizio WIA può chiamare direttamente il driver.

Driver di I/O del kernel

I driver di immagine in modalità kernel sono componenti forniti dal sistema o forniti dall'IHV che forniscono dati per il recapito a dispositivi ancora immagine e per il trasferimento da dispositivi ancora immagine. Un driver di immagine in modalità kernel è specifico del bus.

Microsoft fornisce il modello di driver Microsoft Windows (WDM) basato su kernel ancora driver immagine per gli autobus USB, SCSI, seriale e IEEE 1394. Per altre informazioni su questi driver, vedere Accesso ai driver in modalità kernel per dispositivi ancora immagine.

Un fornitore deve fornire un driver di immagine in modalità kernel solo se il dispositivo di immagine non è compatibile con i driver di I/O in modalità kernel forniti da Microsoft.

È possibile recuperare le informazioni sulla versione dal driver. La proprietà WIA_DIP_WIA_VERSION contiene la versione WIA e la proprietà WIA_DIP_DRIVER_VERSION contiene la versione della DLL del driver. Il servizio WIA crea e gestisce queste proprietà; vengono aggiunti automaticamente dal servizio WIA quando il driver viene caricato. Windows Me non include queste proprietà.