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 interoperatori 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 dispositivo supportata da Microsoft, Windows carica uno dei driver USB forniti da Microsoft (driver di classe 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 è 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 Framework (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 dei driver di dispositivo (DDI) che il driver client deve chiamare per creare tali richieste.

Sviluppatori

Un driver client per un dispositivo USB è un driver WDF o WDM che comunica con il dispositivo tramite DDI esposti 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 con i driver di Windows. Per i driver WDF, il driver client può usare Kernel-Mode Driver Framework (KMDF) o interfacce UMDF ( User-Mode Driver Framework ) progettate appositamente per funzionare con destinazioni USB. Per altre informazioni sulle interfacce specifiche di USB, vedere Informazioni di riferimento su USB WDF e interfacce di destinazione I/O USB 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, supporta routine, strutture e 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.

È possibile scaricare le specifiche USB ufficiali dal sito Web della raccolta documenti universali del bus di serie . Questo sito Web contiene collegamenti a varie revisioni delle specifiche universali del bus seriale.

Sezioni della documentazione

  • Introduzione allo sviluppo di driver client USB
    Presenta 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 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 di 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 di 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 URI 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) con un set completo e complesso di funzionalità di risparmio energia.