-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Add driver-install packaging metadata + support for INF only drivers #246
base: main
Are you sure you want to change the base?
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if wdk_build_package_matches.len() != 1 { |
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
PACKAGE
for INF only drivers to the WDK metadata i.e.wdk.driver-model.driver-type
wdk.driver-install.package-files
to enable copying addition files to the driver package folder.wdk-build
to support the additions to the WDK metadata.copy-package-files-to-package
task torust-driver-makefile.toml
file. The copies the files listed thewdk.driver-install.package-files
metadata to the driver package folder.rust-driver-makefile.toml
that are required for driver binaries are skipped forPACKAGE
driver type.cargo_make.rs
to support the changes inrust-driver-makefile.toml
.