Panoramica dello sviluppo di driver client Windows per dispositivi USB
Questo articolo descrive il supporto usb (Universal Serial Bus) nel sistema operativo Windows, in modo da poter sviluppare driver di dispositivo USB interoperabili con Windows.
I dispositivi USB sono periferiche, ad esempio dispositivi mouse e tastiere, connessi a un computer tramite una singola porta. Un driver client USB è il software installato nel computer che comunica con l'hardware per rendere la funzione del dispositivo. Se il dispositivo appartiene a una classe di dispositivi supportata da Microsoft, Windows carica uno dei driver USB forniti da Microsoft (driver in-box) per il dispositivo. In caso contrario, un driver client personalizzato deve essere fornito dal produttore dell'hardware o da un fornitore di terze parti. L'utente installa il driver client per il dispositivo quando il dispositivo viene rilevato per la prima volta da Windows. Dopo l'installazione, Windows carica il driver client ogni volta che il dispositivo viene collegato e scarica il driver quando il dispositivo viene scollegato dal computer host.
È possibile sviluppare un driver client personalizzato per un dispositivo USB usando Windows Driver Frameworks (WDF) o Windows Driver Model (WDM). Invece di comunicare direttamente con l'hardware, la maggior parte dei driver client invia le richieste allo stack di driver USB fornito da Microsoft che effettua chiamate di funzione HAL (Hardware Abstraction Layer) per inviare la richiesta del driver client all'hardware. Negli argomenti di questa sezione vengono descritte le richieste tipiche che un driver client può inviare e le interfacce del driver di dispositivo (DDI) che il driver client deve chiamare per creare tali richieste.
Destinatari per sviluppatori
Un driver client per un dispositivo USB è un driver WDF o WDM che comunica con il dispositivo tramite DDI esposto dallo stack di driver USB. Questa sezione è destinata all'uso da parte dei programmatori C/C++ che hanno familiarità con WDM. Prima di usare questa sezione, è necessario comprendere lo sviluppo di driver di base. Per altre informazioni, vedere Introduzione ai driver in Windows. Per i driver WDF, il driver client può usare le interfacce Kernel-Mode Driver Framework (KMDF) o User-Mode Driver Framework (UMDF) progettate specificamente per funzionare con le destinazioni USB. Per altre informazioni sulle interfacce specifiche dell'USB, vedere Informazioni di riferimento su USB WDF e interfacce di destinazione di I/O USB di UMDF.
Strumenti di sviluppo
Windows Driver Kit (WDK) contiene risorse necessarie per lo sviluppo di driver, ad esempio intestazioni, librerie, strumenti ed esempi.
Informazioni di riferimento sulla programmazione USB
Fornisce specifiche per le richieste di I/O, le routine di supporto, le strutture e le interfacce usate dai driver client USB. Tali routine e strutture di dati correlate sono definite nelle intestazioni WDK.
Esempi di driver USB
Usare questi esempi per iniziare a usare la programmazione dei driver client USB.
- Driver USB generico Usbsamp
- Driver di funzione KMDF di esempio per OSR USB-FX2
- Driver di funzione UMDF di esempio per OSR USB-FX2 (UMDF versione 1)
- Driver di funzione di esempio per OSR USB-FX2 (UMDF versione 2)
Standard e specifiche correlati
È possibile scaricare le specifiche USB ufficiali dal sito Web della raccolta documenti del bus seriale universale. Questo sito Web contiene collegamenti a varie revisioni delle specifiche del bus seriale universale.
Sezioni della documentazione
Introduzione allo sviluppo di driver client USB
Introduce lo sviluppo di driver USB. Fornisce informazioni sulla scelta del modello più appropriato per fornire un driver USB per il dispositivo. Scrivere, compilare e installare i primi driver USB in modalità utente e in modalità kernel usando i modelli USB inclusi in Microsoft Visual Studio.Driver lato host USB in Windows
Fornisce una panoramica dell'architettura dello stack di driver USB.Informazioni sulle richieste di blocco USB (URB)
Informazioni su come un driver client compila una struttura di dati a lunghezza variabile denominata BLOCCO richieste USB per inviare richieste allo stack di driver USB.Descrittori USB
Informazioni su come un driver client compila una struttura di dati a lunghezza variabile denominata BLOCCO richieste USB per inviare richieste allo stack di driver USB.Selezione di una configurazione USB nei driver USB
La configurazione del dispositivo fa riferimento alle attività eseguite dal driver client per selezionare una configurazione USB e un'interfaccia alternativa in ogni interfaccia. La sezione mostra le chiamate al metodo necessarie per selezionare una configurazione USB.Invio di trasferimenti di dati USB nei driver client USB
Descrive le pipe USB, gli URL per le richieste di I/O e il modo in cui un driver client può usare le interfacce del driver di dispositivo (DDI) per trasferire i dati da e verso un dispositivo USB.Implementazione del risparmio energia nei driver client USB
Usare le capacità di risparmio energia dei dispositivi USB conformi alla specifica USB (Universal Serial Bus) hanno un set avanzato e complesso di funzionalità di risparmio energia.