WinUSB
WinUSB (winusb.sys) è un driver USB proprietario fornito da Microsoft come parte dei loro sistemi operativi Windows a partire da Windows XP . Consente agli sviluppatori di dispositivi USB compatibili con Windows di semplificare lo sviluppo eliminando la necessità di creare, certificare e distribuire i propri driver di dispositivo.
Progettato per dispositivi accessibili da una sola applicazione software alla volta (che è adatta alla maggior parte dei dispositivi) e consente all'applicazione di accedere direttamente al dispositivo tramite una semplice DLL software (winusb.dll). La libreria fornisce la configurazione dell'interfaccia USB del dispositivo e lo scambio di dati con essa a livello di endpoint.
Realizzazione tecnica
Quando un dispositivo USB è collegato, comunica i suoi descrittori all'host. Affinché un dispositivo possa essere identificato come compatibile con WinUSB, deve avere un descrittore di stringa all'indice 0xEE contenente la stringa "MSFT100". WinUSB richiede quindi i suoi descrittori del fornitore.
Vantaggi e svantaggi
Vantaggi
- Non c'è bisogno di sapere come scrivere i driver
- Semplifica e accelera lo sviluppo
Svantaggi
- Solo un'applicazione ha accesso al dispositivo alla volta
- Il supporto per i trasferimenti isocroni esiste da Windows 8.1.
- Alcune limitazioni nella configurazione dell'interfaccia USB del dispositivo
Altre soluzioni
Una soluzione consiste nell'utilizzare classi di dispositivi USB standardizzate . I sistemi operativi contengono driver integrati per alcuni di essi. Ad esempio, classe HID o classe CDC . Un dispositivo CDC può fungere da porta seriale virtuale per utilizzare un nuovo dispositivo con applicazioni legacy o per creare facilmente nuove applicazioni e dispositivi per chi non ha familiarità con l'USB a livello di programmazione.
Se la soluzione precedente non funziona, tutti possono provare a scrivere un driver personalizzato. Per le versioni più recenti di Microsoft Windows, questo può essere fatto utilizzando Windows Driver Foundation .
Invece di WinUSB, puoi usare la libreria open source libusb-win32. Questa libreria, come WinUSB, semplifica il lavoro con i dispositivi USB e può essere utilizzata nei sistemi operativi Linux, Windows e Mac OS.
Collegamenti
- Come utilizzare WinUSB per comunicare con un dispositivo USB . Microsoft (5 dicembre 2007). Estratto il 9 luglio 2008. Archiviato dall'originale l'8 aprile 2012.
- winUSB . Rete di sviluppatori Microsoft . Estratto il 9 luglio 2008 . Archiviato dall'originale il 12 giugno 2013.
- Specifica USB 2.0 (collegamenti inaccessibili - cronologia ) . Forum degli implementatori USB, Inc. (15 marzo 2007). Estratto il 27 marzo 2007. (specifiche aggiornate sono disponibili suUSB.org