admin 管理员组文章数量: 887609
windows10 驱动开发环境
1、下载SDK
https://developer.microsoft/zh-cn/windows/downloads/windows-10-sdk
通用驱动demo:
https://github/microsoft/Windows-driver-samples
2、下载VS2019
https://visualstudio.microsoft/zh-hans/vs/
安装 Visual Studio 时,选择“使用 C++ 的桌面开发” 工作负载
3、下载WDK
https://docs.microsoft/zh-cn/windows-hardware/drivers/download-the-wdk
安装 WDK 时将安装 WDK Visual Studio 扩展。 必须完成此操作,才能使 WDK VS 集成正常工作。
4、打开VS2019
参考:https://docs.microsoft/zh-cn/windows-hardware/drivers/gettingstarted/writing-a-very-small-kmdf--driver
新建KMDF项目:
编写第一个驱动程序代码
#include <ntddk.h>
#include <wdf.h>
DRIVER_INITIALIZE DriverEntry;
EVT_WDF_DRIVER_DEVICE_ADD KmdfHelloWorldEvtDeviceAdd;
NTSTATUS
DriverEntry(
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
)
{
// NTSTATUS variable to record success or failure
NTSTATUS status = STATUS_SUCCESS;
// Allocate the driver configuration object
WDF_DRIVER_CONFIG config;
// Print "Hello World" for DriverEntry
KdPrintEx(( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "KmdfHelloWorld: DriverEntry\n" ));
// Initialize the driver configuration object to register the
// entry point for the EvtDeviceAdd callback, KmdfHelloWorldEvtDeviceAdd
WDF_DRIVER_CONFIG_INIT(&config,
KmdfHelloWorldEvtDeviceAdd
);
// Finally, create the driver object
status = WdfDriverCreate(DriverObject,
RegistryPath,
WDF_NO_OBJECT_ATTRIBUTES,
&config,
WDF_NO_HANDLE
);
return status;
}
NTSTATUS
KmdfHelloWorldEvtDeviceAdd(
_In_ WDFDRIVER Driver,
_Inout_ PWDFDEVICE_INIT DeviceInit
)
{
// We're not using the driver object,
// so we need to mark it as unreferenced
UNREFERENCED_PARAMETER(Driver);
NTSTATUS status;
// Allocate the device object
WDFDEVICE hDevice;
// Print "Hello World"
KdPrintEx(( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "KmdfHelloWorld: KmdfHelloWorldEvtDeviceAdd\n" ));
// Create the device object
status = WdfDeviceCreate(&DeviceInit,
WDF_NO_OBJECT_ATTRIBUTES,
&hDevice
);
return status;
}
生成驱动程序
SDK 版本原因,编译未通过。
解决方法1:重定向解决方案目标,选择正确版本。
不能选择...
解决方法2:
找到“使用C++的桌面开发”,勾掉左上角的勾选,然后再重新勾选上
取消勾选再选上,之后更新一下,再重试选择“重定解决方案目标”来更改 SDK 版本
还是不能选择...
解决方法3:
重新下个新的SDK
error MSB8040: Spectre-mitigated libraries are required for this project.
增加组件:可能还需要其他依赖库,将相关库都选择上。
编译成功。
- KmdfHelloWorld.sys - 内核模式驱动程序文件
- KmdfHelloWorld.inf - 在安装驱动程序时 Windows 使用的信息文件
- KmdfHelloWorld.cat - 安装程序验证驱动程序的测试签名所使用的目录文件
本文标签: 环境
版权声明:本文标题:windows10 驱动开发环境 VS2019+WDK10 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726308072h933821.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论