Scrittura di driver WDM

In questa sezione viene illustrata l'architettura wdM (Microsoft Windows Driver Model). Questa architettura è stata avviata in Windows 2000 come miglioramento dei driver di dispositivo Windows NT precedenti.

Nota I driver per le versioni dei sistemi operativi basati su Windows NT prima che Windows 2000 non siano supportati ed è necessario aggiornare questi driver. L'architettura WDM non supporta i driver per i sistemi operativi non basati su Windows NT (ad esempio Windows 98) ed è necessario riscrivere tali driver.

Questa sezione è suddivisa in tre parti:

  • Windows Driver Model descrive il modello di driver Windows (WDM), inclusi i tipi di driver WDM, la configurazione del dispositivo e il controllo delle versioni WDM.

  • Oggetti dispositivo e Stack di dispositivi descrivono gli oggetti dispositivo e gli stack di dispositivi. La sezione include informazioni sugli oggetti dispositivo fisico (PDO), sugli oggetti dispositivo funzionale (FDO) e sugli oggetti dispositivo di filtro (DO di filtro). I driver vengono spesso creati da un set di oggetti dispositivo che interagiscono tra loro. Questo set di oggetti dispositivo è denominato stack. Gli stack consentono di comprendere il flusso di informazioni da e verso un driver e come le diverse parti del driver comunicano internamente.

  • I componenti driver in modalità kernel descrivono quali routine è necessario implementare per avere un driver funzionale e quali routine sono facoltative.

    Un driver di dispositivo è un set di codice software che deve essere integrato nel sistema operativo. Per completare questa integrazione, è necessario scrivere un set di routine del gestore nel driver che elabora le chiamate dal sistema operativo. Queste routine possono essere semplici chiamate di funzione, ma molte di esse implementano l'elaborazione dei pacchetti di richiesta di I/O (IRP), che facilitano la comunicazione tra driver e il sistema operativo.

Nota I driver WDM possono anche usare la libreria WDF (Windows Driver Frameworks) per semplificare la scrittura di alcune parti di un driver di dispositivo. In particolare, i driver in modalità kernel possono usare Kernel-Mode Driver Framework (KMDF), che fa parte di WDF. Per altre informazioni su KMDF per i driver in modalità kernel, vedere Kernel-Mode Driver Framework Overview (Panoramica del framework driver in modalità kernel). Si noti che KMDF non sostituisce WDM. È comunque necessario comprendere molte parti di WDM per scrivere un driver KMDF.