Universal Driver Creation

This document will walk you through the creation of Universal Drivers for your IoT Core device.

Universal Drivers enable you to create a single driver package that runs across several device types running UWP-based editions of Windows 10, including IoT Core.

This driver package contains a Universal INF file and several binaries. The requirements for each are as follows:

  • Universal INF files can only use the subset of INF syntax supported on UWP-based editions of Windows. While writing your INF file, use the InfVerif tool to verify that the file adheres to that syntax.

  • binaries can only use device driver interfaces supported on UWP-based editions of Windows 10 (marked as Universal on the documentation reference pages): KMDF, UMDF 2, or the Windows Driver Model (WDM). They can also only call APIs included in the OneCore Subset. Use the ApiValidator tool to verify that the APIs your binaries call are valid.

To learn how to create a driver package in Visual Studio, please visit Creating a Driver Package

If you would like a sample to help you create a Universal Driver on IoT Core, please visit our Universal Driver sample

Additional Universal Driver Resources

  1. For additional details on design principles and best practices when developing a Universal Driver package, please visit Getting Started with Universal Drivers

  2. For help debugging your Universal Driver, please visit Debugging a Universal Windows driver.