Condividi tramite


Creazione di componenti Device-Specific per le API di acquisizione di immagini

Le API di acquisizione delle immagini, ad esempio TWAIN, richiedono in genere componenti specifici del dispositivo, ad esempio origini dati TWAIN. Questi componenti specifici del dispositivo devono usare l'interfaccia COM IStillImage e l'interfaccia COM IStiDevice per comunicare con i driver di dispositivo di immagine in modalità utente e il monitoraggio eventi.

Le API di acquisizione di immagini possono chiamare IStillImage::GetDeviceValue e IStillImage::SetDeviceValue per leggere e scrivere voci del Registro di sistema per i dispositivi ancora immagine. Ad esempio, il nome di ogni origine dati TWAIN di ogni dispositivo immagine viene archiviato nel Registro di sistema.

Poiché l'API TWAIN non consente a un'applicazione di specificare il dispositivo attivo quando chiama un'origine dati, l'origine dati in genere chiamerà IStillImage::GetDeviceList per ottenere un elenco di tutti i dispositivi ancora immagine e quindi eseguirà una ricerca nell'elenco per trovare il dispositivo corretto, in genere in base ai nomi del produttore e del modello. I nomi di testo del produttore e del modello vengono ottenuti dal file di informazioni di installazione (INF). Poiché TWAIN ha un limite di 32 caratteri per i nomi delle origini dati e poiché WIA aggiunge "WIA-" alle stringhe per costruire i nomi compatibili, il testo nel file INF non deve superare i 28 caratteri. In caso contrario, le applicazioni compatibili con TWAIN che eseguono un confronto sull'intera stringa e non solo sui primi 32 caratteri potrebbero non essere in grado di trovare automaticamente il dispositivo che ha causato l'avvio dell'applicazione.

Per accedere a un dispositivo, il software di acquisizione di immagini chiama IStillImage::CreateDevice per creare un'istanza dell'oggetto COM che definisce l'interfaccia IStiDevice . L'interfaccia IStiDevice offre diversi metodi per l'esecuzione di operazioni di I/O del dispositivo. Quando si crea l'istanza dell'oggetto, il software di acquisizione di immagini deve specificare le modalità di trasferimento "dati".

Il software di acquisizione di immagini può chiamare IStiDevice::Subscribe per richiedere al monitoraggio eventi di recapitare la notifica degli eventi del dispositivo ancora immagine. Una volta ricevuta la notifica, è possibile chiamare IStiDevice::GetLastNotificationData per determinare il tipo di evento. IStiDevice::UnSubscribe deve essere chiamato quando le notifiche non sono più necessarie.

Al termine dell'uso dell'interfaccia IStiDevice , il software di acquisizione delle immagini deve chiamare IStiDevice::Release.