Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
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.
I driver universali devono:
- Non usare coinstallatori.
- Essere conforme ai principi di progettazione DCH. Vedere Principi e procedure consigliate per la progettazione DCH.
- Passare
InfVerif /u
I driver desktop devono:
- Soddisfa tutti i requisiti dei driver universali.
- Essere conforme ai requisiti di Windows Hardware Compatibility Program (WHCP).
- Passare
InfVerif /h. Per altre info, vedi InfVerif /h.
I driver che soddisfano i criteri del driver desktop sono Certificati logo Windows e possono essere aggiunti al programma Windows Update.
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 | Sì | NO |
| Supporta tutte le varianti del sistema operativo Windows | NO | NO | Sì |
| Supporto X64/ARM64 | Sì | Sì | Sì |
| Conformità APIVALIDATOR obbligatoria | NO | NO | Sì |
| Supporto del sistema operativo desktop (versione del sistema operativo di destinazione) | Sì | Sì | Sì |
| Supporto per gli esempi di driver su GitHub | Sì | Sì | 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.
- Selezionare e tenere premuto (o fare clic con il pulsante destro del mouse) sulla soluzione in Esplora soluzioni e selezionare Configuration Manager.
- 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.
- 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.
- 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
- Aprire il progetto o la soluzione driver in Visual Studio.
- Scegliere Compila soluzione dal menu Compila (CTRL+MAIUSC+B).
- 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
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).
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.vcxprojPer 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=OSIl 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à di firma per i singoli file del driver - Firma di un driver
Proprietà del preprocessore del manifesto dei contatori per i progetti driver
Proprietà del pacchetto driver
Proprietà di distribuzione per i progetti del pacchetto driver
Proprietà di firma per i pacchetti driver - Firma di un driver
Proprietà del driver Verifier per i progetti del pacchetto driver
Proprietà del verificatore KMDF per i progetti del pacchetto driver
Proprietà del verificatore di UMDF per i progetti del pacchetto driver
Proprietà Inf2Cat per progetti di pacchetti driver e Inf2Cat
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:
- Selezionare Strumenti ->Opzioni.
- Selezionare la cartella Project and Solutions (Progetto e soluzioni ) e selezionare Build and Run (Compila ed esegui).
- 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.
Argomenti correlati
- Compilazione in Visual Studio
- Compilazione di driver per versioni diverse di Windows
- Uso di Microsoft C Runtime con driver User-Mode e app desktop
- ProjectUpgradeTool
- msbuild
- Creazione di un driver da file di origine esistenti
- WDK e l'ambiente di compilazione di Visual Studio
- Firma di un driver
- La distribuzione di un driver in un computer di test
- InfVerif /h