问题标签 [umdf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
13264 浏览

windows - What is the difference between a WDM driver, a KMDF driver and a UMDF driver?

When creating a Windows Driver project in Visual Studio 2012, you have many different options to choose from.

There's a page on MSDN that helps you with choosing the correct driver model for your device. It however doesn't clearly explain the exact differences between the WDM, KMDF and UMDF driver types, and when to choose which model.

I'm looking for an explanation on the differences between the WDM, KMDF and UMDF driver models, so it's easy for beginning Windows driver developers to choose the correct model.

0 投票
0 回答
769 浏览

windows - Windows 驱动程序在 INF 文件中加载依赖项

我的 UMDF 驱动程序 (myUMDF.dll) 依赖于一个通过单独的 INF 文件安装的 KMDF 驱动程序 (someKMDF.sys)。

在我的 INF 文件中,我想设置 myUMDF.dll 仅在安装了 someKMDF.sys 驱动程序后才会安装的依赖项。

在 myUMDF 驱动程序 INF 文件中,我提到了这种依赖关系


[myUMDF_Driver_Install]

UmdfLibraryVersion=1.11.0

ServiceBinary=%12%\UMDF\myUMDF.dll

依赖项=someKMDF.sys


但这并没有反映在所需的驱动程序加载顺序中。

谁能建议,如何在驱动程序的 INF 文件中提及对某些外部 sys 文件的依赖?

谢谢你。

0 投票
2 回答
1351 浏览

windows - 是否有必要在内核模式驱动程序中设置断点来调试其用户模式对应部分中的功能(使用 Windbg)?

我正在使用 Windbg 调试我的用户模式驱动程序(考虑 USB)。我的驱动程序包(调试版本,64 位)同时具有内核模式和用户模式代码。该包已成功安装在我的目标机器中,并且模块也已加载(我可以使用 windbg 命令验证:'lm ')。我在主机上以管理员模式运行 Windbg 并使用 1394 火线卡调试目标。

启动应用程序后,当我尝试在用户模式驱动程序中调试一个函数时,我观察到虽然断点已正确设置和启用,但预期的函数没有被命中。然后我在内核代码中设置了一个函数的断点(一个经常在启用时经常被命中的服务过程)。这次这个内核模式驱动程序函数闯入,并且在某些时候上面设置的用户模式驱动程序函数也闯入,我可以调试它并遵循代码路径。

同样,当我关闭并重新启动应用程序时,只有当内核模式驱动程序函数断点启用并命中时,用户模式驱动程序函数才会被命中。但是,如果它被禁用,则不会触发用户模式驱动程序功能。无论我们在内核模式或用户模式驱动程序上设置断点的功能如何,都会发生这种情况。

为什么会出现这种行为,尽管模块已正确加载?我是否需要配置或确保某些东西,以便在启动应用程序时不需要依赖内核模式部分?

0 投票
0 回答
625 浏览

windows - 创建文件失败:5

我是 Windows 驱动程序的新手。
我下载了这个样本,只修复了一个像这样的报告描述符。

结果:
1. 成功安装为 HID 鼠标。
2.运行testApp,CreateFile Failed like this。

....寻找我们的 HID 设备

错误:CreateFile 失败:5
失败:找不到我们的 HID 设备

请帮我。我不明白为什么会这样。

0 投票
1 回答
98 浏览

java-native-interface - JNI 在 UMDF 驱动程序中的使用

我有一个 umdf 驱动程序,我想调用 .jar 文件中的一些函数来建立我的驱动程序(PCSC Reader)和 Eclipse 插件(JCOP)之间的连接。

我使用 JNI 在 c++ main 中调用了一些 java 函数(来自 .jar),但是我们可以在 UMDF 驱动程序中编写 JNI 代码吗?如果是的话,我将不胜感激有关如何处理该主题的一些指导方针或观点...

当你用谷歌搜索这个主题时,没有太多关于这个主题的信息,所以任何信息都非常感谢!谢谢你。

0 投票
1 回答
209 浏览

linux-kernel - hid.dll 是 KMDF 还是 UMDF 的一部分?

我试图弄清楚 hid.dll 是 KMDF 或 UMDF 的一部分还是没有。我通常在我的 C# 程序中使用它,如下所示:

我想使用一个类似的Linux。我必须使用什么考虑因素。我使用它的应用程序用于与传感器设备进行交互。

0 投票
1 回答
1149 浏览

c++ - 设备无法启动。(代码 10) umdf 驱动程序开发中的错误

我正在尝试开发 Umdf 驱动程序,而我对驱动程序开发完全天真,我从以下 url 获取了 wdk 示例代码:-

https://code.msdn.microsoft.com/windowshardware/Windows-Biometric-Driver-7180​​05d7

我已经更改了 inx 文件中的硬件 ID 并重建了驱动程序项目并将生成的驱动程序安装在单独的 Windows 7 电脑上。驱动程序安装成功,但出现一个错误:-

设备无法启动。(代码 10)

任何人都可以建议我可能缺少什么吗?我只想测试成功加载的驱动程序。

0 投票
0 回答
238 浏览

windows - 两台机器调试UMDF驱动

是否可以在我正在开发它们的 Windows 机器上调试 UMDF 驱动程序?

0 投票
0 回答
313 浏览

code-signing - 签署 UMDF USB 驱动程序 dll 要求是否已更改?

我有一个与 WinUSB 配合使用的 UMDF USB 驱动程序,可以与我公司的 USB 照排机接口盒进行通信。此驱动程序已签名并在其当前版本中运行,但我们需要进行一些更改。

我们的原始签名证书已过期,我们获得了新的签名证书,但是当我尝试签署新的 DLL 时,我得到以下信息:

签名证书包含以下信息:

当它似乎适合签署我的自定义打印机端口监视器 DLL 时,任何人都可以提出为什么该证书不适合签署我的驱动程序 DLL 的原因吗?

谢谢,

彼得

0 投票
0 回答
268 浏览

visual-studio-2013 - 尝试从模板生成 UMDF 2.0 驱动程序时出错

我在干净的机器上安装了Windows 10 build 10163和Visual Studio 2013 Ultimate edition,然后根据指定的操作系统版本添加了Windows SDK、WDK和VSDEV12_WDK。

我第一次尝试使用 File -> New -> Project -> Template -> Visual C++ -> Windows Driver -> WDF -> User Mode V2 Empty 创建 UMDF 2.0 驱动程序,并收到以下错误。我将不胜感激任何帮助。

C:\Program Files (x86)\Windows Kits\10\build\WindowsDriver.Default.props(13,5): error MSB4186: Invalid static method invocation syntax: "[Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')". Method 'Microsoft.Build.Utilities.ToolLocationHelper.GetLatestSDKTargetPlatformVersion' not found. Static method invocation should be of the form: $([FullTypeName]::Method()), e.g. $([System.IO.Path]::Combine(`a`, `b`)). [D:\Workspace\ gcp\gnssAdaptation\winAdaptation\WinPhone\64-bit\gnssDriver\gnssDriver Package\gnssDriver Package.vcxproj] Done Building Project "D:\Workspace\gcp\gnssAdaptation\winAdaptation\WinPhone\64-bit\gnssDriver\gnssDriver Package\gnss Driver Package.vcxproj" (Clean target(s)) -- FAILED.