Condividi tramite


Uso di Visual Studio o MSBuild per compilare un driver

Questo argomento fornisce istruzioni su come compilare un driver usando l'ambiente di sviluppo di Visual Studio o dalla riga di comando usando la finestra del prompt dei comandi di Visual Studio e Microsoft Build Engine (MSBuild).

Per sviluppare driver per Windows, è necessario installare SDK e WDK in Visual Studio e configurare le impostazioni del driver. Assicura che le versioni SDK e WDK sul computer corrispondano.

Creare un driver con Visual Studio

Si compila un driver allo stesso modo in cui si compila un progetto o una soluzione in Visual Studio. Quando si crea un nuovo progetto driver usando un modello di driver, il modello definisce una configurazione di progetto predefinita (attiva) e una configurazione di compilazione predefinita (attiva).

Per informazioni sulla gestione e la modifica delle configurazioni di compilazione, vedere Compilazione in Visual Studio.

Impostazioni del driver KMDF

Per configurare le impostazioni del driver in VS 2022, fare clic con il pulsante destro del mouse sul progetto driver, selezionare Proprietà e passare a Proprietà di configurazione ->Impostazioni driver.

Impostazioni del driver KMDF di Visual Studio.

Versione del sistema operativo di destinazione

La versione del sistema operativo di destinazione fa riferimento alla versione di Windows per cui viene sviluppato il driver. Impostare la versione del sistema operativo di destinazione sulla versione più bassa supportata dal driver. Ad esempio, un driver per Windows 10 deve supportare Windows 10 e tutte le versioni successive.

Seguire le indicazioni riportate in questi argomenti per assicurarsi che il pacchetto driver sia scritto correttamente per supportare più versioni di Windows.

Piattaforma di destinazione

Sono disponibili 3 classificazioni per la piattaforma di destinazione Windows, i driver universali, i driver desktop e i driverdi Windows.

  1. I driver universali devono:

  2. I driver desktop devono:

    I driver che soddisfano i criteri del driver desktop sono Certificati logo Windows e possono essere aggiunti al programma Windows Update.

  3. I driver di Windows devono:

    • È necessario soddisfare tutti i requisiti dei driver per desktop.
    • Sii pienamente conforme ai requisiti di isolamento dei pacchetti driver.
    • Passare InfVerif /w
    • I driver di Windows sono la selezione della piattaforma di destinazione più restrittiva e soddisfano tutti i requisiti di affidabilità e di gestibilità.

La tabella seguente riepiloga le classificazioni dei driver.

Caratteristica / Funzionalità Driver universali Driver desktop Driver di Windows
Interruttore Infverif InfVerif /u InfVerif /h InfVerif /w
Requisito WHCP attuale NO NO
Supporta tutte le varianti del sistema operativo Windows NO NO
Supporto X64/ARM64
Conformità APIVALIDATOR obbligatoria NO NO
Supporto del sistema operativo desktop (versione del sistema operativo di destinazione)
Supporto per gli esempi di driver su GitHub NO

Configurazione del driver

Quando si compilano driver, assicurarsi che l'architettura della piattaforma e NT_TARGET_VERSION siano impostate correttamente in Visual Studio con WDK o EWDK. La configurazione predefinita della build della soluzione per lo sviluppo è Debug e Win64.

  1. Selezionare e tenere premuto (o fare clic con il pulsante destro del mouse) sulla soluzione in Esplora soluzioni e selezionare Configuration Manager.
  2. Da Configuration Manager selezionare la configurazione della soluzione attiva (ad esempio Debug o Versione) e la piattaforma della soluzione Attiva (ad esempio Win64) che corrispondono al tipo di compilazione a cui si è interessati.
  3. Selezionare e tenere premuto (o fare clic con il pulsante destro del mouse) sul progetto e scegliere Proprietà. Passare a Impostazioni driver ->Generale e impostare Versione del sistema operativo di destinazione e Piattaforma di destinazione.
  4. Configura le proprietà del progetto per il driver o per il pacchetto driver. È possibile impostare le proprietà per la distribuzione, la firma dei driver e/o altre attività. Per ulteriori informazioni, vedere Configurazione delle proprietà del progetto per il driver e il pacchetto driver.

Per compilare un driver

  1. Aprire il progetto o la soluzione driver in Visual Studio.
  2. Scegliere Compila soluzione dal menu Compila (CTRL+MAIUSC+B).
  3. Visualizza eventuali errori durante la compilazione nella finestra di output della build.

Compilazione di un driver tramite la riga di comando (MSBuild)

È possibile compilare un driver dalla riga di comando usando la finestra del prompt dei comandi di Visual Studio e il motore di compilazione Microsoft (MSBuild)

Per compilare un driver usando la finestra del prompt dei comandi di Visual Studio

  1. Aprire una finestra del prompt dei comandi per gli sviluppatori per VS2022 .

    Da questa finestra è possibile usare MSBuild.exe per compilare qualsiasi progetto di Visual Studio specificando il file di progetto (.vcxproj) o soluzioni (.sln).

  2. Passare alla directory del progetto e immettere il comando MSBuild per la destinazione.

    Ad esempio, per eseguire una compilazione pulita di un progetto driver di Visual Studio denominato MyDriver.vcxproj usando la piattaforma e la configurazione predefinita, passare alla directory del progetto e immettere il comando MSBuild seguente:

    msbuild /t:clean /t:build .\MyDriver.vcxproj
    

    Per specificare una configurazione e una piattaforma specifiche, usare:

    msbuild /t:clean /t:build ProjectFile /p:Configuration=<Debug|Release> /p:Platform=architecture /p:TargetPlatformVersion=a.b.c.d /p:TargetVersion=OS    
    

    Il comando seguente compila un driver per la configurazione "Debug", la piattaforma "Win32" e per Windows 10.

    msbuild /t:clean /t:build .\MyDriver.vcxproj /p:Configuration="Debug" /p:Platform=Win32 /p:TargetVersion="Windows10" /p:TargetPlatformVersion="10.0.10010.0"
    

    L'impostazione TargetPlatformVersion è facoltativa e specifica la versione del kit con cui eseguire la compilazione. Il valore predefinito è la versione più recente del kit.

Configurazione delle proprietà del progetto per il driver e il pacchetto driver

Usare le pagine delle proprietà per configurare e impostare le opzioni per il driver e il pacchetto driver. È possibile scegliere di configurare il driver in modo che venga firmato automaticamente durante la compilazione della soluzione o distribuito automaticamente in un computer di test remoto.

È possibile impostare le proprietà per un singolo driver o per un intero pacchetto driver. La sezione seguente illustra alcune delle proprietà disponibili che è possibile configurare in modo specifico per i driver e pacchetti driver.

Proprietà del progetto driver

Proprietà del pacchetto driver

Integrazione del progetto dello strumento da riga di comando WDK

Il WDK fornisce numerosi strumenti da riga di comando, come Stampinf e WPP Preprocessor (WPP Tracing), comunemente inclusi nel processo di compilazione. Questi strumenti non vengono distribuiti con Visual Studio. Per combinare questi strumenti con l'ambiente di compilazione di Visual Studio, vengono racchiusi come attività WDK per MSBuild. Se si usa uno dei modelli di driver o si dispone di un driver esistente convertito, queste pagine delle proprietà potrebbero esistere già per il progetto. In caso contrario, le pagine delle proprietà vengono aggiunte automaticamente al progetto man mano che si aggiungono i tipi di file correlati al progetto o alla soluzione , ad esempio i file con estensione mc o man per il compilatore di messaggi. Per altre informazioni, vedere WDK e l'ambiente di compilazione di Visual Studio.

Suggerimento per la risoluzione dei problemi nello sviluppo di un driver

Per risolvere i problemi di compilazione, è possibile aumentare il livello di dettaglio dell'output di compilazione in Visual Studio:

  1. Selezionare Strumenti ->Opzioni.
  2. Selezionare la cartella Project and Solutions (Progetto e soluzioni ) e selezionare Build and Run (Compila ed esegui).
  3. Modificare le opzioni per la verbosità dell'output di compilazione del progetto MSBuild e la verbosità del file di log della compilazione del progetto MSBuild. Per impostazione predefinita, questi valori sono impostati su Minimo.

Aggiornamento dei driver di Windows 8

È possibile convertire progetti e soluzioni creati con WDK 8 o Windows Driver Kit (WDK) 8.1 per lavorare con Windows Driver Kit (WDK) 10 e Visual Studio. Prima di aprire i progetti o le soluzioni, eseguire ProjectUpgradeTool. ProjectUpgradeTool converte i progetti e le soluzioni in modo che possano essere compilati usando WDK 10.

A partire da Windows Driver Kit (WDK) 8, MSBuild ha sostituito l'utilità di compilazione di Windows (Build.exe). WdK usa gli stessi strumenti di compilazione e compilatori usati per compilare progetti di Visual Studio. I progetti driver compilati con le versioni precedenti di WDK devono essere convertiti per funzionare nell'ambiente di Visual Studio. È possibile eseguire un'utilità di conversione dalla riga di comando oppure convertire un driver esistente creando un nuovo progetto di Visual Studio da origini esistenti. Per altre informazioni, vedere Creazione di un driver da file di origine esistenti e WDK e ambiente di compilazione di Visual Studio.