feat: Add driver-install packaging metadata + support for INF only drivers#246
feat: Add driver-install packaging metadata + support for INF only drivers#246ayodejiige wants to merge 14 commits intomicrosoft:mainfrom
Conversation
| /// User Mode Driver Framework | ||
| Umdf(UmdfConfig), | ||
| /// INF only drivers e.g. null drivers and extension INFs | ||
| Package |
There was a problem hiding this comment.
Circling back on our earlier conversations, the WDK does use Package as a "driver type": https://github.com/microsoft/Windows-driver-samples/blob/ea026ed7e82fe5b45f0d978661e68c7f3249f3fc/general/toaster/umdf2/Package/package.VcxProj#L32C6-L32C16
… and adjust README instructions for null driver installation
64935b5 to
70c641d
Compare
… in SerializerSeq implementation
| @@ -303,6 +303,24 @@ args = [ | |||
| private = true | |||
There was a problem hiding this comment.
Previously, there was an assumption that there must be wdk-build in the workspace. This is no longer true now there can be a null driver in the workspace without any actual driver code being built (so no wdk-build in the graph).
In the wdk-build only case, we should also see if putting a workspace dep on wdk-build yields anything in the cargo metadata output.
maybe also worth putting a specific message for the case of no-wdk in workspace since that would typically be a null-driver-only workspace scenario
This PR introduces support for building INF-only Windows drivers, which are drivers without a driver binary. INF-only drivers are typically used for:
Note: This PR include support for a new WDK metadata to enable copying additional files to the driver package folder. This particular feature is not exclusive to INF drivers only.
Summary of Changes
PACKAGEfor INF only drivers to the WDK metadata i.e.wdk.driver-model.driver-typewdk.driver-install.package-filesto enable copying addition files to the driver package folder.wdk-buildto support the additions to the WDK metadata.copy-package-files-to-packagetask torust-driver-makefile.tomlfile. The copies the files listed thewdk.driver-install.package-filesmetadata to the driver package folder.rust-driver-makefile.tomlthat are required for driver binaries are skipped forPACKAGEdriver type.cargo_make.rsto support the changes inrust-driver-makefile.toml.