Bagikan melalui


Toolset Platform

Windows Driver Kit (WDK) memanfaatkan fitur toolset platform MSBuild untuk menyediakan alat dan pustaka yang khusus untuk pengembangan driver. Fitur toolset platform MSBuild dapat diperluas. Versi spesifik dari toolset platform yang ingin Anda gunakan dikontrol oleh properti MSBuild yang disebut PlatformToolset. Proyek dapat beralih antara alat dan pustaka dengan mengatur properti PlatformToolset dalam file proyek.

Windows Driver Kit (WDK) 8.1 menyediakan toolset platform berikut untuk pengembangan driver.

PlatformToolset (WDK 8.1) Penggunaan
WindowsKernelModeDriver8.1 Untuk driver dan komponen mode kernel.
WindowsUserModeDriver8.1 Untuk driver dan komponen mode pengguna.
WindowsApplicationForDrivers8.1 Untuk semua jenis aplikasi. Toolset platform ini memberikan kompatibilitas dengan opsi build yang digunakan dalam Windows Driver Kit (WDK) untuk Windows 7 (WDK 7.1), dan juga menggunakan pengaturan default yang umum untuk pengembangan aplikasi mode pengguna yang berinteraksi dengan driver. Anda mungkin menggunakan pengaturan ini jika Anda memigrasikan atau mengonversi proyek yang dibangun menggunakan WDK 7.
Visual Studio 2013 (v120) Gunakan untuk semua jenis aplikasi Windows (default).

Windows Driver Kit (WDK) 8 menyediakan toolset platform berikut untuk pengembangan driver. Informasi ini disediakan hanya untuk referensi.

PlatformToolset (WDK 8) Penggunaan
WindowsKernelModeDriver8.0 Untuk driver dan komponen mode kernel.
WindowsUserModeDriver8.0 Untuk driver dan komponen mode pengguna.
WindowsApplicationForDrivers8.0 Untuk semua jenis aplikasi. Toolset platform ini memberikan kompatibilitas dengan opsi build yang digunakan dalam WDK untuk Windows 7 (WDK 7.1). Anda mungkin menggunakan pengaturan ini jika Anda memigrasikan atau mengonversi proyek yang dibangun menggunakan WDK 7.
Visual Studio 2012 (v110) Gunakan untuk semua jenis aplikasi Windows (default).

Catatan Jika Anda membuat driver dari salah satu templat driver Windows yang tersedia di Visual Studio, properti PlatformToolset diatur untuk Anda. Anda juga dapat memilih PlatformToolset dengan menggunakan halaman properti proyek driver di Visual Studio. Mengatur Platform Toolset di Visual Studio

  1. Buka halaman properti untuk proyek driver Anda. Pilih dan tahan (atau klik kanan) proyek driver di Penjelajah Solusi dan pilih Properti.
  2. Di halaman properti untuk proyek driver, pilih Properti Konfigurasi lalu pilih Umum.
  3. Pilih properti Platform Toolset untuk proyek dari daftar drop-down.

Contoh - Mengatur properti PlatformToolset dalam file proyek Visual Studio (.vcxproj)

Contoh berikut menunjukkan bagaimana properti PlatformToolset diatur dalam file proyek.

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

Properti ConfigurationType mengontrol ekstensi target dan jenis output untuk biner yang sedang dibangun. Beberapa nilai yang mungkin untuk properti ini adalah Aplikasi, DynamicLibrary, StaticLibrary, dan Utilitas.

WDK memperkenalkan nilai baru untuk properti ini yang disebut Driver untuk membangun driver mode kernel. Jika Anda mengatur properti ini ke Driver, MSBuild akan menghasilkan file driver dengan .sys sebagai ekstensinya. Dalam contoh, properti PlatformToolset diatur ke WindowsKernelModeDriver8.1 untuk membangun driver mode kernel. WindowsKernelModeDriver8.1 adalah satu-satunya toolset platform WDK yang memerlukan DriverConfigurationType. Dalam contoh ini, DriverType diatur ke KMDF.

Tentang properti PlatformToolset untuk driver

PlatformToolset adalah sekumpulan lembar properti, target, alat, dan tugas yang bekerja sama untuk memperluas dan memodifikasi platform untuk membangun driver atau komponen mode kernel untuk platform tertentu. Untuk driver dan komponen dan aplikasi terkait, properti PlatformToolset harus diatur ke WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1, atau WindowsApplicationForDrivers8.1 dalam file proyek. Toolset platform ini dirancang untuk memperluas pengkompilasi rantai alat Visual Studio C\C++ yang ada dan linker dengan alat build khusus WDK lainnya dan menargetkan header dan pustaka WDK. Toolset WindowsApplicationForDrivers8.1 menyediakan kompatibilitas dengan pengaturan opsi build yang tersedia di WDK untuk Windows 7 (WDK 7.1), dan juga pengaturan default yang umum untuk pengembangan aplikasi mode pengguna yang berinteraksi dengan driver.

Platform Toolset memiliki pengaturan dan target tingkat platform default untuk membangun proyek driver apa pun. Anda menggunakan sakelar default untuk alat build seperti pengkompilasi atau pengtaut, informasi sistem seperti jalur INCLUDE atau LIBRARY untuk WDK, dan pengaturan fitur seperti berbagai properti untuk diatur saat menggunakan string Unicode atau ANSI untuk membangun proyek driver. Jika Anda mengembangkan aplikasi Windows untuk desktop, jangan gunakan toolset platform WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1, atau WindowsApplicationForDrivers8.1 . Sebagai gantinya, gunakan toolset platform Visual Studio 2013 (v120).

Secara default, properti PlatformToolset adalah Visual Studio 2013 (v120) untuk proyek dan proyek C++ mode pengguna Win32 yang baru dibuat yang dikonversi ke Visual Studio 2013. Dalam kedua kasus, properti PlatformToolset tidak ditulis ke file proyek.

Saat Anda memilih salah satu toolset platform untuk driver, properti berikut diatur.

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

Catatan Ketika UseEnv tidak diatur ke TRUE, PATH, LIB, INCLUDE, LIBPATH akan diatur dari nilai properti yang sesuai di toolset platform. Ketika UseEnv diatur ke TRUE, seperti dalam sistem build lama, nilai dari variabel lingkungan untuk PATH, INCLUDE, LIB, dan LIBPATH akan digunakan sebagai gantinya.

Di mana WDK menginstal file yang mengaktifkan toolset platform khusus driver

Tabel berikut ini meringkas tempat WDK menginstal file untuk mengaktifkan toolset platform untuk pengembangan driver.

Variabel jalur Deskripsi

$(VCTargetsPath)

Secara default, $(VCTargetsPath) didefinisikan dalam registri sebagai $(MSBuildExtensionsPath)<em><FOLDER<>MSBUILDSYNTAXVERSION)>

Nomor versi disertakan jika proses build baru digunakan untuk platform yang sama, yang memiliki sintaks baru dan memerlukan MSBuild nanti.

<FOLDER> adalah folder Microsoft.Cpp - $(MSBuildExtensionsPath)\Microsoft.Cpp\4.0\v120.

Ini disebut versi sintaks daripada versi alat. Ini adalah versi rakitan dari Microsoft.Build.Engine pertama yang mendukung semua sintaks yang diperlukan. Microsoft.Cpp menunjukkan satu-satunya folder tempat Visual Studio akan mencari platform.

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

Folder opsional yang biasanya tidak berisi file. Anda dapat menyesuaikan platform dengan menyimpan file format MSBuild di folder ini. Mereka akan diimpor di bagian bawah file pengaturan platform, seperti yang ditunjukkan oleh folder tempat mereka berada saat ini. Urutan di mana file diimpor dari lokasi ini tidak terdefinis. File yang dibuat MSBuild adalah $(VCTargetsPath)\Platforms$(Platform)\ImportAfter\Microsoft.Cpp. <Platform>. WindowsKernelModeDriver8.1.props dan Microsoft.Cpp. <Platform>. WindowsUserModeDriver8.1.props, yang mengimpor beberapa file props khusus WDK.

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

Untuk WDK:

$(PlatformToolset) harus diatur ke WindowsKernelModeDriver8.1 untuk membangun driver mode kernel, diatur ke WindowsUserModeDriver8.1 untuk membangun driver mode pengguna, dan diatur ke WindowsApplicationForDrivers8.1 untuk kompatibilitas dengan opsi build yang digunakan di Windows 7 WDK (WDK 7).

Direktori PlatformToolset

Misalnya, C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\v120\Platforms\Win32\PlatformToolsets\WindowsKernelModeDriver8.1.

Direktori PlatformToolsets memungkinkan Anda untuk menambahkan jenis file lain nanti - di subfolder mereka sendiri.

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

File Platform Toolset Props

Mengimpor file props untuk membangun driver. Juga mengimpor file props v120.

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

File Target Toolset Platform

Mengimpor file target untuk membangun pengandar. File-file ini berisi <tag UsingTask> untuk menarik tugas WDK. Fitur ini juga mengimpor target v120.

$(WDKContentRoot)\build.props

Semua file props khusus driver. File-file ini berisi pengaturan default untuk membangun pengandar.

$(WDKContentRoot)\build*.targets

Semua file target spesifik driver. File ini mengidentifikasi target untuk membangun driver.