Panoramica dello sviluppo di driver Windows per i controller di funzione USB

Questo articolo descrive il supporto nel sistema operativo Windows per lo sviluppo di un driver del controller di funzione usb (Universal Serial Bus) che comunica con l'estensione del controller di funzione USB (UFX) fornita da Microsoft.

Strumenti di sviluppo e file binari forniti da Microsoft

Windows Driver Kit (WDK) contiene risorse necessarie per lo sviluppo di driver, ad esempio intestazioni, librerie, strumenti e esempi.

Scaricare kit e strumenti per Windows

Windows fornisce driver del controller di funzione USB in arrivo, ad esempio UfxSynopsys.sys per l'hardware controller di Synopsys IP. In genere richiedono modifiche e convalida a livello di piattaforma che vengono in genere eseguite dai partner hardware o dagli OEMS durante l'attivazione di una piattaforma. Questo processo di inserimento può includere l'integrazione con ACPI per notificare i driver di sistema di eventi di collegamento/scollegamento USB ed eseguire una convalida aggiuntiva usando i test HLK forniti da Microsoft. Per scrivere un driver controller personalizzato, è necessario:

  • UFX (Ufx01000.sys) caricato come oggetto FDO. Questo driver è incluso in Windows.
  • Collegamento alla libreria stub (Ufx01000.lib). La libreria stub si trova nel WDK. La libreria traduce le chiamate effettuate dal driver del controller di funzione e passarle a UFX.
  • Includere Ufxclient.h fornito in WDK.

Per inviare richieste dalla modalità utente, è necessario:

  • GenericUSBFn.sys caricato come driver della classe di funzione USB. Questo driver è incluso in Windows.
  • Includere Genericusbfnioctl.h fornito in WDK.

Per inviare richieste dal driver di classe USB, è necessario:

  • UFX (Ufx01000.sys) caricato come oggetto FDO. Questo driver è incluso in Windows.
  • Includere Usbfnioctl.h fornito in WDK.

Per scrivere un driver di filtro che gestisce la ricarica tramite caricatori proprietari, è necessario:

  • UfxChipidea.sys o Ufxsynopsys.sys caricati come driver client in UFX.
  • Includere Ufxproprietarycharger.h fornito in WDK.

Architettura di UFX

Acquisire familiarità con lo stack di driver USB fornito da Microsoft:

Driver lato dispositivo USB in Windows

Acquisire familiarità con oggetti UFX e handle

UFX estende la funzionalità dell'oggetto WDF per definire i propri oggetti UCX specifici di USB. Per altre informazioni sugli oggetti WDF, vedere Introduzione agli oggetti Framework.

Per le richieste di accodamento, UFX usa oggetti specifici di USB. Per altre informazioni, gli oggetti UFX e gli handle usati da un driver client di funzioni USB.

Scrittura di un driver client del controller di funzione

Comprendere il comportamento di UFX, come interagisce con il driver client e le funzionalità che il driver client dovrebbe implementare.

Attività per un driver client del controller di funzione

Sezioni di riferimento per la programmazione

Driver della classe di funzione USB per riferimento alla programmazione UFX

Informazioni di riferimento sulla programmazione del driver client del controller di funzione USB

Driver di filtro USB per supportare i caricatori proprietari