Creazione di un nuovo driver di funzione del dispositivo

In questo articolo viene illustrato come usare Visual Studio per iniziare a scrivere un nuovo driver di funzione del dispositivo. I driver delle funzioni del dispositivo sono diversi da driver di filtro, driver software e driver di file system, che vengono illustrati in altri articoli. Per informazioni sui driver delle funzioni del dispositivo e su come differiscono da altri tipi di driver, vedere Che cos'è un driver?, scelta di un modello di driver e nodi del dispositivo e stack di dispositivi.

Per iniziare, determinare dove il dispositivo si adatta all'elenco delle tecnologie descritte in Tecnologie device e driver. Per informazioni sui modelli di driver disponibili per il dispositivo, vedere la documentazione per tale particolare tecnologia. Il modello di driver consigliato varia da una tecnologia alla successiva. Per alcune tecnologie, la documentazione consiglia di usare User Mode Driver Framework (UMDF) o kernel Mode Driver Framework (KMDF). Per altre tecnologie, la documentazione illustra come creare un minidriver che fa parte di una coppia di driver. I minidriver passano da vari nomi, tra cui miniport e miniclasse.

Determinare quali dei casi seguenti descrivono la raccomandazione del modello di driver e seguire questa procedura:

Caso 1: la documentazione per la tecnologia consiglia UMDF

  1. Avviare Visual Studio.
  2. Scegliere Crea un nuovo progetto nella finestra di dialogo di avvio o selezionare Nuovo | Progetto dal menu File di Visual Studio.
  3. Nel riquadro destro della finestra di dialogo Crea un nuovo progetto individuare e selezionare Driver modalità utente (UMDF V2).
  4. Selezionare Avanti.
  5. Compilare le caselle Nome progetto, Posizione e Nome soluzione e selezionare Crea. Per altre informazioni, vedere Scrittura di un driver UMDF basato su un modello.

    Nota

    Quando si crea un nuovo driver UMDF, è necessario selezionare un nome del driver con 32 caratteri o meno. Questo limite di lunghezza è definito in wdfglobals.h.

  6. A questo punto, è disponibile un progetto driver che implementa il codice generale richiesto dalla maggior parte dei driver UMDF. Ora è possibile specificare il codice specifico del dispositivo. Per informazioni sulle interfacce da implementare, vedere la documentazione relativa alla tecnologia.

Caso 2: la documentazione per la tecnologia consiglia kmDF

  1. Avviare Visual Studio.
  2. Scegliere Crea un nuovo progetto nella finestra di dialogo di avvio o selezionare Nuovo | Progetto dal menu File di Visual Studio.
  3. Nel riquadro destro della finestra di dialogo Crea un nuovo progetto individuare e selezionare Driver in modalità kernel (KMDF).
  4. Selezionare Avanti.
  5. Compilare le caselle Nome progetto, Posizione e Nome soluzione e selezionare Crea. Per altre informazioni, vedere Scrittura di un driver KMDF basato su un modello.

    Nota

    Quando si crea un nuovo driver KMDF, è necessario selezionare un nome del driver con 32 caratteri o meno. Questo limite di lunghezza è definito in wdfglobals.h.

  6. A questo punto, è disponibile un progetto driver che implementa il codice generale richiesto dalla maggior parte dei driver KMDF. Ora è possibile specificare il codice specifico del dispositivo. Per informazioni sui metodi che è necessario implementare, vedere la documentazione relativa alla tecnologia.

Case 3: la documentazione per la tecnologia descrive un modello di minidriver

Se la tecnologia del dispositivo ha un miniport, miniclasse o un altro modello di minidriver, verificare se Visual Studio ha un modello specifico per il modello.

  1. Avviare Visual Studio.
  2. Scegliere Crea un nuovo progetto nella finestra di dialogo di avvio o selezionare Nuovo | Progetto dal menu File di Visual Studio.
  3. Nel riquadro destro della finestra di dialogo Crea un nuovo progetto esplorare l'elenco dei modelli installati per trovare un modello per il tipo di driver da scrivere.
  4. Se si trova un modello per il tipo di driver, selezionarlo.
  5. Selezionare Avanti.
  6. Compilare le caselle Nome progetto, Posizione e Nome soluzione e selezionare Crea.
  7. Se viene presentata una procedura guidata driver, eseguire la procedura guidata per creare il progetto driver.
  8. A questo punto, è disponibile un progetto driver che implementa il codice generale richiesto dal driver. Ora è possibile specificare il codice specifico del dispositivo. Per informazioni sulle funzioni che è necessario implementare, vedere la documentazione relativa alla tecnologia.

Se la tecnologia del dispositivo ha un modello di minidriver e non è possibile trovare un modello specifico per il tipo di minidriver, il modello wdM (Windows Driver Model) è probabilmente il punto di partenza. Per indicazioni, vedere la documentazione specifica della tecnologia. In rari casi, è possibile usare KMDF per scrivere un minidriver, ma in genere il punto di partenza è WDM.

  1. Avviare Visual Studio.
  2. Scegliere Crea un nuovo progetto nella finestra di dialogo di avvio o selezionare Nuovo | Progetto dal menu File di Visual Studio.
  3. Nel riquadro destro della finestra di dialogo Crea un nuovo progetto individuare e selezionare Driver WDM vuoto.
  4. Selezionare Avanti.
  5. Compilare le caselle Nome progetto, Posizione e Nome soluzione e selezionare Crea.
  6. A questo punto, si dispone di un progetto di driver WDM vuoto. Nella finestra Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto driver e scegliere Aggiungi | Nuovo elemento.
  7. Nella finestra di dialogo Aggiungi nuovo elemento immettere un nome per il file .cpp e selezionare Aggiungi.

    Nota

    Se si vuole creare un file con estensione c anziché un file .cpp, immettere un nome con estensione c.

  8. Per informazioni sulle funzioni che è necessario implementare, vedere la documentazione relativa alla tecnologia. Quando si implementano e organizzano le funzioni, è possibile decidere di aggiungere altri file .cpp o c.