Condividi tramite


Set di strumenti della piattaforma

Windows Driver Kit (WDK) sfrutta la funzionalità del set di strumenti della piattaforma MSBuild per fornire strumenti e librerie specifici per lo sviluppo di driver. La funzionalità del set di strumenti della piattaforma MSBuild è estendibile. La versione specifica del set di strumenti della piattaforma che si vuole usare è controllata da una proprietà MSBuild denominata PlatformToolset. I progetti possono passare da strumenti a librerie impostando la proprietà PlatformToolset nel file di progetto.

Windows Driver Kit (WDK) 8.1 fornisce i set di strumenti della piattaforma seguenti per lo sviluppo di driver.

PlatformToolset (WDK 8.1) Uso
WindowsKernelModeDriver8.1 Per driver e componenti in modalità kernel.
WindowsUserModeDriver8.1 Per i driver e i componenti in modalità utente.
WindowsApplicationForDrivers8.1 Per qualsiasi tipo di applicazione. Questo set di strumenti della piattaforma offre compatibilità con le opzioni di compilazione usate in Windows Driver Kit (WDK) per Windows 7 (WDK 7.1) e usa anche le impostazioni predefinite comuni per lo sviluppo di applicazioni in modalità utente che interagiscono con i driver. È possibile usare questa impostazione se si esegue la migrazione o si converte un progetto compilato con WDK 7.
Visual Studio 2013 (v120) Usare per qualsiasi tipo di applicazione Windows (impostazione predefinita).

Windows Driver Kit (WDK) 8 fornisce i set di strumenti della piattaforma seguenti per lo sviluppo di driver. Queste informazioni vengono fornite solo per riferimento.

PlatformToolset (WDK 8) Uso
WindowsKernelModeDriver8.0 Per driver e componenti in modalità kernel.
WindowsUserModeDriver8.0 Per i driver e i componenti in modalità utente.
WindowsApplicationForDrivers8.0 Per qualsiasi tipo di applicazione. Questo set di strumenti della piattaforma garantisce la compatibilità con le opzioni di compilazione usate in WDK per Windows 7 (WDK 7.1). È possibile usare questa impostazione se si esegue la migrazione o si converte un progetto compilato con WDK 7.
Visual Studio 2012 (v110) Usare per qualsiasi tipo di applicazione Windows (impostazione predefinita).

Nota Se si crea un driver da uno dei modelli di driver di Windows disponibili in Visual Studio, la proprietà PlatformToolset viene impostata automaticamente. È anche possibile selezionare PlatformToolset usando la pagina delle proprietà del progetto driver in Visual Studio. Impostazione del set di strumenti della piattaforma in Visual Studio

  1. Aprire le pagine delle proprietà per il progetto driver. Selezionare e tenere premuto (o fare clic con il pulsante destro del mouse) sul progetto driver in Esplora soluzioni e scegliere Proprietà.
  2. Nelle pagine delle proprietà per il progetto driver selezionare Proprietà di configurazione e quindi Selezionare Generale.
  3. Selezionare la proprietà Platform Toolset per il progetto dall'elenco a discesa.

Esempio: impostazione della proprietà PlatformToolset in un file di progetto di Visual Studio (con estensione vcxproj)

Nell'esempio seguente viene illustrato come viene impostata la proprietà PlatformToolset nel file di progetto.

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
      Label="Configuration">
  <ConfigurationType>Driver</ConfigurationType>
  <DriverType>KMDF</DriverType>
  <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
</PropertyGroup>

La proprietà ConfigurationType controlla l'estensione di destinazione e il tipo di output per il file binario in fase di compilazione. Alcuni dei valori possibili per questa proprietà sono Application, DynamicLibrary, StaticLibrary e Utility.

WdK introduce un nuovo valore per questa proprietà denominata Driver per compilare un driver in modalità kernel. Se si imposta questa proprietà su Driver, MSBuild genererà un file di driver con .sys come estensione. Nell'esempio la proprietà PlatformToolset è impostata su WindowsKernelModeDriver8.1 per compilare un driver in modalità kernel. WindowsKernelModeDriver8.1 è l'unico set di strumenti della piattaforma WDK che richiede DriverConfigurationType. In questo esempio DriverType è impostato su KMDF.

Informazioni sulla proprietà PlatformToolset per i driver

PlatformToolset è un set di finestre delle proprietà, destinazioni, strumenti e attività che interagiscono per estendere e modificare una piattaforma per creare driver o componenti in modalità kernel per tale piattaforma specifica. Per i driver e le applicazioni correlate, la proprietà PlatformToolset deve essere impostata su WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1 o WindowsApplicationForDrivers8.1 nel file di progetto. Questi set di strumenti della piattaforma sono progettati per estendere il compilatore e il linker della catena di strumenti di Visual Studio C\C++ esistenti con altri strumenti di compilazione specifici di WDK e specificano come destinazione le intestazioni e le librerie WDK. Il set di strumenti WindowsApplicationForDrivers8.1 offre compatibilità con le impostazioni delle opzioni di compilazione disponibili in WDK per Windows 7 (WDK 7.1) e anche le impostazioni predefinite comuni per lo sviluppo di applicazioni in modalità utente che interagiscono con i driver.

Il set di strumenti della piattaforma include le impostazioni predefinite a livello di piattaforma e le destinazioni per compilare qualsiasi progetto driver. Si usano opzioni predefinite per gli strumenti di compilazione, ad esempio il compilatore o il linker, le informazioni di sistema, ad esempio i percorsi INCLUDE o LIBRARY per WDK e le impostazioni delle funzionalità, ad esempio varie proprietà da impostare quando si usano stringhe Unicode o ANSI per compilare un progetto driver. Se si sviluppa un'applicazione Windows per il desktop, non usare il set di strumenti della piattaforma WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1 o WindowsApplicationForDrivers8.1 . Usare invece il set di strumenti della piattaforma Visual Studio 2013 (v120).

Per impostazione predefinita, la proprietà PlatformToolset è Visual Studio 2013 (v120) sia per i progetti C++ in modalità utente Win32 appena creati che per i progetti convertiti in Visual Studio 2013. In entrambi i casi, la proprietà PlatformToolset non viene scritta nel file di progetto.

Quando si seleziona uno dei set di strumenti della piattaforma per i driver, vengono impostate le proprietà seguenti.

  • ExecutablePath e NativeExecutablePath (PATH)
  • IncludePath (INCLUDE)
  • ReferencePath (LIBPATH)
  • LibraryPath (LIB)
  • SourcePath
  • ExcludedPath

Nota Quando UseEnv non è impostato su TRUE, PATH, LIB, INCLUDE, LIBPATH verrà impostato dai valori delle proprietà corrispondenti nel set di strumenti della piattaforma. Quando UseEnv è impostato su TRUE, come nel sistema di compilazione precedente, verranno invece usati i valori delle variabili di ambiente per PATH, INCLUDE, LIB e LIBPATH.

Dove wdk installa i file che abilitano i set di strumenti della piattaforma specifici del driver

La tabella seguente riepiloga le posizioni in cui wdk installa i file per abilitare i set di strumenti della piattaforma per lo sviluppo di driver.

Variabile path Descrizione

$(VCTargetsPath)

Per impostazione predefinita, $(VCTargetsPath) è definito nel Registro di sistema come $(MSBuildExtensionsPath)<em><FOLDER<>MSBUILDSYNTAXVERSION)>

Il numero di versione viene incluso nel caso in cui venga usato un nuovo processo di compilazione per la stessa piattaforma, che ha una nuova sintassi e richiede un msbuild successivo.

>Folder< è la cartella Microsoft.Cpp - $(MSBuildExtensionsPath)\Microsoft.Cpp\4.0\v120.

Questa è detta versione della sintassi anziché versione degli strumenti. È la versione dell'assembly del primo Microsoft.Build.Engine che supporta tutta la sintassi necessaria. Microsoft.Cpp indica l'unica cartella in cui Visual Studio cercherà le piattaforme.

$(VCTargetsPath)\Platforms$(Platform)\ImportAfter.props

Cartella facoltativa che normalmente non contiene file. È possibile personalizzare la piattaforma salvando i file di formato MSBuild in questa cartella. Verranno importati nella parte inferiore del file di impostazioni della piattaforma, come indicato dalla cartella in cui si trovano attualmente. L'ordine in cui i file vengono importati da questo percorso non è definito. I file creati da MSBuild sono $(VCTargetsPath)\Platforms$(Platform)\ImportAfter\Microsoft.Cpp. <Piattaforma>. WindowsKernelModeDriver8.1.props e Microsoft.Cpp. <Piattaforma>. WindowsUserModeDriver8.1.props, che importa diversi file di props specifici di WDK.

$(VCTargetsPath)\Platforms$(Platform)\PlatformToolsets$(PlatformToolset)</p>

Per WDK:

$(PlatformToolset) deve essere impostato su WindowsKernelModeDriver8.1 per la compilazione di driver in modalità kernel, impostato su WindowsUserModeDriver8.1 per la compilazione dei driver in modalità utente e impostato su WindowsApplicationForDrivers8.1 per la compatibilità con le opzioni di compilazione usate in Windows 7 WDK (WDK 7).

PlatformToolset Directory

Ad esempio, C:\Programmi\MSBuild\Microsoft.Cpp\v4.0\v120\Platforms\Win32\PlatformToolsets\WindowsKernelModeDriver8.1.

La directory PlatformToolsets consente di aggiungere altri tipi di file in un secondo momento, nella propria sottocartella.

Microsoft.Cpp.$(Platform).$(PlatformToolset).props

File Props del set di strumenti della piattaforma

Importa i file props per compilare un driver. Importa anche il file props v120.

Microsoft.Cpp.$(Platform).$(PlatformToolset).targets

File di destinazioni set di strumenti della piattaforma

Importa i file di destinazione per compilare un driver. Questi file contengono <tag UsingTask> per eseguire il pull nelle attività WDK. Questa funzionalità importa anche destinazioni v120.

$(WDKContentRoot)\build.props

Tutti i file di props specifici del driver. Questi file contengono impostazioni predefinite per compilare un driver.

$(WDKContentRoot)\build*.targets

Tutti i file di destinazione specifici del driver. Questo file identifica le destinazioni per compilare un driver.