Comandi eventi
I comandi di questa sezione vengono usati dal microdriver per il supporto degli eventi del dispositivo.
CMD_GET_INTERRUPT_EVENT
Chiamato dal driver WIA Flatbed in un thread separato per monitorare lo stato degli eventi del pulsante che usano interruzioni dal dispositivo , ovvero per i dispositivi USB che segnalano eventi tramite la pipe di interruzione. Se il dispositivo supporta solo il polling, questo comando non deve essere implementato e E_NOTIMPL deve essere restituito.
Due handle di eventi vengono passati al microdriver. Il membro lVal della struttura VAL contiene un handle di eventi che deve essere segnalato dal microdriver usando la funzione SetEvent quando si verifica un evento button. Il membro handle della struttura VAL contiene un handle di eventi che verrà segnalato dal driver flat WIA quando il driver viene scaricato o arrestato.
Il membro pGuid della struttura VAL deve essere impostato per puntare al GUID del pulsante premuto. Se non è stato premuto alcun pulsante, deve essere impostato su GUID_NULL.
CMD_STI_GETSTATUS
Chiamato da WIA Flatbed Driver per ottenere lo stato online del dispositivo e se il dispositivo ha pulsanti push, per ottenere lo stato del pulsante.
Impostare il membro lVal della struttura VAL passata su 1 se il dispositivo è online e funziona correttamente. Se lVal è impostato su qualsiasi valore diverso da 1, il dispositivo viene considerato offline e avrà esito negativo nel test del dispositivo in Pannello di controllo.
Se il dispositivo supporta i pulsanti che non usano interruzioni dal dispositivo e viene premuto un pulsante, il membro pGuid della struttura VAL passata deve essere impostato sul GUID dell'evento pulsante. Se non sono stati premuti pulsanti, puntare pGuid al valore GUID_NULL. Questo segnale indica che non sono presenti eventi in sospeso.
Questo comando è necessario se il dispositivo supporta gli eventi di polling o si vuole che il dispositivo visualizzi lo stato della riga.