问题标签 [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 回答
1375 浏览

driver - 在开发过程中更新 UMDF 驱动程序

我在标准代码部署调试周期中使用“devcon”更新 UMDF 驱动程序时遇到了一些问题。问题是“devcon update”并没有真正更新任何东西,除非 DLL 文件和 INF 文件的版本号或日期与存储在系统驱动程序缓存文件夹中的内容不同。经过一系列令人抓狂的实验后,我发现强制使用最新文件的一种方法是执行以下操作:

  1. 通过使用“-v”选项显式设置版本来更改“makefile.inc”中传递给“stampinf.exe”的参数。
  2. 修改资源脚本文件(“DRIVER_NAME.rc”), VER_USE_OTHER_MAJOR_MINOR_VER 在包含“ ntverp.h”之前先定义,然后显式定义 VER_PRODUCTMAJORVERSIONand VER_PRODUCTMINORVERSION。您会注意到该系统不允许我们更改构建和修订号。在 Win7 上,这似乎在“ ntverp.h”中固定为 7600 和 16385。这是设计使然吗?

因此,我首先修改“makefile.inc”并将“-v”选项设置为“1.1.7600.16385”之类的东西,为每个构建手动增加次要版本,然后修改 RC 文件并VER_PRODUCTMINORVERSION使用相同的编号进行更新。

或者,如果我在 SYSTEM 帐户下运行命令提示符并在运行“devcon”之前删除“C:\windows\system32\DriverStore\FileRepository\DRIVER FOLDER”中的驱动程序缓存文件夹,那么这也可以。

现在,我想我在这里遗漏了一些相当基本的东西,因为这似乎是一种相当痛苦的方式。请帮忙!谢谢!

0 投票
1 回答
346 浏览

windows-7 - IWDFDevice::CreateWdfFile 返回 ERROR_INVALID_FUNCTION?

我正在为通过蓝牙连接到系统并可作为 HID 输入设备访问的设备编写 UMDF 传感器驱动程序。我看到了“传感器开发套件”示例驱动程序,并注意到它也可以通过 HID 与飞思卡尔硬件一起使用,尽管它通过 USB 连接到系统。如果 UMDF 驱动程序通过蓝牙连接到系统,它与设备通信的方式有什么不同吗?出于某种原因,我发现即使设备与系统配对,调用也会CreateWdfFile返回。ERROR_INVALID_FUNCTION我可以通过 HID 直接访问设备就好了。

在驱动程序的 INF 中,我已经指定了硬件 ID,如下所示 - HID\VID_1234&PID_5678(此处未使用实际 ID)。这是否足以让 UMDF 框架确定它应该在堆栈中进一步使用哪个驱动程序?或者还有其他需要做的事情吗?

0 投票
1 回答
315 浏览

wix - UMDF 驱动程序可以通过 WiX 打包/运送吗?

我使用 DIFx 扩展组合了一个 WiX 3.0 包,目的是安装 Windows 7 传感器(UMDF 驱动程序)。在安装过程中,DIFXAPP 记录了“在 INF 中找不到匹配的设备”并简单地将驱动程序放入存储中。我读到我要用适当的 DriverPackageType填充我的 INF ,但根据MSDN 的枚举列表,没有什么合适的。

UMDF 驱动程序安装是受支持的方案吗?如果没有,使用 WiX 安装此类驱动程序的最佳做法是什么?反汇编 DIfx 扩展显示支持 Co-installer 包的意图,我还没有尝试 3.5 beta。

0 投票
4 回答
748 浏览

.net - COM值得学习吗?

我正在考虑学习 COM。但我听说 Microsoft 推出了 .NET 作为 COM 的替代品。那么COM值得学习吗?实际上我开始学习 UMDF 设备驱动程序的 COM。除了 COM 之外,还有其他处理 UMDF 的方法吗?

0 投票
1 回答
206 浏览

driver - UMDF-应用层的锁设备

我正在使用UMDF over WinUsb 为我们的设备编写一个简单的 USB 驱动程序。该驱动程序可以被多个应用程序同时使用。我需要实现 WdfDeviceLevel\WdfObjectLevel 没有给我的自定义锁定系统:我想要一个原子读写功能:

  1. 获取设备上的锁
  2. 写一个值
  3. 读取一个值
  4. 释放锁

我怎样才能实现这样的功能?我找不到如何在界面功能之上公开自定义功能。除了这个特定的原子函数之外,如果我能让每个应用程序能够获得一个锁,该锁将阻止所有其他应用程序访问该设备,那就太好了。

0 投票
0 回答
793 浏览

c# - 用于环回操纵杆设备的 UMDF 驱动程序

我正在尝试为 Windows 中的回送(虚拟)操纵杆设备编写 UMDF 设备驱动程序,类似于uinputLinux 中的设备。

我熟悉 C++、C(在 Linux 上)和 C#,我正在为其编写的应用程序DroidPad是用 C# 编写的。我已经下载了 WDK 并查看了几个示例。

我决定尝试 UMDF 框架,因为我相信用户模式驱动程序不需要在 64 位 Windows 7 中签名;这是 DroidPad 当前使用的操纵杆驱动程序PPJoy的问题。

对于为虚拟输入设备开发 UMDF 驱动程序以及从 C# 应用程序向驱动程序发送数据的任何帮助,将不胜感激。有谁知道任何类似的 UMDF 驱动程序(类似于uinput)?我还在某处读到 UMDF 框架可以从 C# 中使用,这有多易于管理?

谢谢!

0 投票
1 回答
2822 浏览

windows-7 - Windows 7 32 位中的 WDF UMDF 驱动程序安装问题

我有一个简单的用户模式 ​​USB 驱动程序,它在 Windows XP 32 位和 Windows 7 64 位中安装和工作正常,但由于某种原因无法在 Windows 7 32 位中正确安装。XP 32bit 和 win7 32bit 我需要 2 个单独的驱动程序吗?我的印象是我没有。我使用的 inf 文件如下所示:

2011 年 6 月 10 日更新,我对 inf 文件进行了如下修改,现在似乎可以在 windows7 中使用,但是在 xp 上它问我 /x86 在哪里,当我给它一个路径时,它会在开头添加一个 \,然后我删除它,它工作正常。我使用以下方法向 Windows 注册 .inf 文件:

infFullPath 是我复制驱动程序包的程序文件下的位置。谁能明白为什么这不起作用我将文件存储如下:

AbcRadio.inf
\x86\AbcRadio.dll
\x86\WudfUpdate_01009.dll
\x86\WdfCoInstaller01009.dll
\x86\WinUsbCoinstaller2.dll
\x64\AbcRadio.dll
\x64\WudfUpdate_01009.dll
\x64\WdfCoInstaller01009.dll
\x64\WinUsbCoinstaller2. dll

0 投票
2 回答
578 浏览

installation - 如何编写自定义操作来安装 UMDF 驱动程序?

我想安装一个 UMDF 软件,我们 MSI 的唯一驱动程序,我知道要做到这一点,我需要创建一个根枚举设备,然后将驱动程序安装到驱动程序商店。我以前从未编写过自定义操作。

有没有人做过并且可以获得一些代码?

0 投票
2 回答
279 浏览

linux - UMDF 理解与 Linux 内核模块/驱动程序的比较

我从事 Linux 驱动程序和内核模块工作已经有一段时间了。现在我需要处理 Windows UMDF 驱动程序。有没有解释 UMDF 框架与 Linux 驱动程序模型比较的文档。

我是 Windows 驱动程序的新手。

提前致谢。

——贾穆拉。

0 投票
0 回答
1118 浏览

driver - 智能卡读卡器 UMDF 驱动程序。掉电问题

使用连接到基于软件的智能卡模拟器的 UMDF 读卡器驱动程序,从而允许任何符合 PC/SC 的应用程序与智能卡模拟器接口。

这里基于 Fabio Ottavi 的项目实现:http: //www.codeproject.com/KB/system/BixVReader.aspx

运行良好,除了 Windows SmartCard 服务在报告 IOCTL_SMARTCARD_IS_PRESENT 时将驱动程序置于断电模式 (IOCTL_SMARTCARD_POWER -> SCARD_POWER_DOWN)。当驱动程序当前未被另一个应用程序访问时,就会发生这种情况。断电通常在卡出现后 10 到 15 秒发生,我想防止它发生。

Fabio 提到了一个未记录的 Windows7 注册表项 (CardDisconnectPowerDownDelay),但是,这似乎不起作用,我也需要 XP 的解决方案。

谢谢...