Articles of 驱动程序

如何注册acpi事件通知?(AcpiInterfaces.RegisterForDeviceNotifications)

现在我想添加我的acpi驱动程序中的function。 function是:获取BIOS通知。 我search一些文档,并编写代码 NTSTATUS XxxAddDevice( __in struct _DRIVER_OBJECT *DriverObject, __in struct _DEVICE_OBJECT *PhysicalDeviceObject ) { . . . status = STATUS_SUCCESS; DebugPrint(("AddDevice: %p to %p->%p \n",fdo,fdoData->NextLowerDO,PhysicalDeviceObject)); DebugPrint(("DeviceObject Flag = 0x%08x\n",fdo->Flags)); DebugPrint(("DevicePnPState = %d\n", fdoData->DevicePnPState)); { //PACPI_INTERFACE_STANDARD2 pInterface = // ExAllocatePool(PagedPool, sizeof(ACPI_INTERFACE_STANDARD2)); ACPI_INTERFACE_STANDARD Interfaces = {0}; if (&Interfaces == NULL) { goto FuncEnd; } //RtlFillMemory(pInterface, sizeof(ACPI_INTERFACE_STANDARD2), […]

build.exe和清理?

我正在开发一些驱动程序,并使用微软的WDK 6001(Vista)的build.exe工具。 我希望能够清理所有在每次迭代时发出的对象和中间文件。 到目前为止,我发现“build.exe -0 -c”工作得相当好,只需删除所有的.obj文件,但没有它创build的.sbr文件或目录。 我真的想避免编写一个makefile,因为另一个makefile很难集成到构build系统中。 我怎样才能做到这一点?

通过networking创build一个COM端口redirect器

我试图创build一个Windows驱动程序,允许像COM端口一样使用标准的TCP / IP套接字。 我知道一些现有的产品可以做到这一点,但没有find任何参考材料,它是如何做到的! 我理解Windows驱动程序(总线/函数/filter驱动程序,驱动程序堆栈等)的一些概念,并试图读一本关于WDF的书,但如果没有实际的操作,我仍然不能100%支持硬件。 如果任何人有任何链接/指针,将有所帮助,这将不胜感激。 Kazar

我怎样才能在内核模式(Windows)的IOCTL调用

在用户模式下,可以通过DeviceIoControlfunction进行IOCTL调用。 我可以在内核模式下使用什么来发出IOCTL呼叫? 我必须在文件系统微型filter驱动程序中使用它。 背景 我正在编写一个文件系统微filter驱动程序 ,我必须发出IOCTL调用存储设备,以找出他们的序列号和function(可移动或不可移动)。

如何编写一个可以控制设备驱动程序的程序?

我有一个激光仿形系统。 包含的软件有一些错误和缺less的function,我想更正。 我有这个软件的源代码编译,但随后不会运行。 硬件的设备驱动程序已经安装(Windows 7是平台,尽pipeXP也是一个可能的目标); 我想写我自己的程序加载设备驱动程序,并能够控制它们。 这可能吗? 有什么资源可以帮助这个过程? 这是一个我不应该参与的马蜂窝吗? 注意:我不需要写一个驱动程序,因为它已经被写入并正确安装(这是谷歌为我的业余search返回90%的时间)。

查询连接到USB的设备 – Windows

那么,我已经看遍了整个互联网,而且看起来,如果不写自己的驱动程序,我想要做的几乎是不可能的。 我有一个连接到USB端口的设备,不幸的是,在这种情况下,它使用USB到UART驱动程序来模拟串行端口,该设备输出stream。 然而,为了validation软件的许可证,我想确保我知道哪个设备连接到USB端口 – 不仅仅是品牌和型号,而是(希望)实际的序列号。 如果不是序列号,至less有一些唯一的标识符。 但我不知道在哪里或如何得到这一点。 UART桥有一个PNPDeviceID,但似乎没有改变,无论哪个设备插入端口。 我正在使用C#,从我读过的内容来看,这也是一个限制。 所以我的问题是:在C#中使用UART桥接驱动程序时,如何从USB连接的设备获得唯一标识符? 提前致谢。

是否可以将软件注册为游戏控制器设备?

我见过这个问题,像这个stackoverflow问题。 然而,在这个和其他许多讨论中,最终的结果往往是垃圾邮件键盘事件,而不是操作,被公认为游戏控制器。 我很确定驱动程序将有必要创build附加function。 考虑到这一点,软件应用程序是否有可能伪装成input设备,如模拟游戏控制器? 我对开发驱动程序很陌生,这超出了我的研究范围。

libusb-win32:自动安装驱动程序filter

我遇到了一个问题,让我的基于libusb-w32的程序来检测设备。 该程序必须检测数码相机,我需要自动安装驱动程序filter,以检测任何新的相机,而无需任何手动工作。 我已经使用安装filteri –class = {6BDD1FC6-810F-11D0-BEC7-08002BE2092F},即安装MTP设备的filter,它似乎工作。 但今天我在一台干净的机器上试了一下,发现它实际上只是这样。 试过不同的参数安装filter – 没有运气。 我能够检测设备的唯一方法就是使用inf-wizard.exe。 它安装了驱动程序,使我的程序能够检测到设备,同时也破坏了数码相机的原始Windowsfunction。 然后,我卸载了libusb驱动程序,安装了原始的windows驱动程序,执行install-filter i –class = {6BDD1FC6-810F-11D0-BEC7-08002BE2092F} – 程序仍然能够检测到设备。 问题是:如何自动化过程,以便在没有任何用户的工作要求的情况下检测到新相机? 更新:我会缩短这个问题。 看来,当我安装一个驱动程序与inf-wizard.exe,它除了安装驱动程序本身之外的东西。 我需要知道什么,确切地说。 提前致谢。

在Windows上使用usbser.sys驱动程序使用虚拟COM端口时,是否需要自己的VID / PID USB标识符?

在Windows上使用usbser.sys驱动程序使用虚拟COM端口时,是否需要购买VID / PID USB标识符,还是设备绑定到唯一的COM端口足够了?

如何区分电脑中的两只老鼠?

那么,我想与许多用户共享一个桌面环境,所以它似乎需要input隔离。 首先,如何在电脑中区分两只老鼠? 然后,我可以绘制光标,分别处理它们的事件。 非常感谢。