草庐IT

Linux驱动开发

全部标签

windows - 将过滤器驱动程序安装到现有设备

我正在学习如何编写过滤器驱动程序,并尝试在现有的HID驱动程序(鼠标或键盘)上安装一个以进行练习。据我了解,我至少应该向硬件注册表项添加一个UpperFilters项。还有什么我应该做的吗?当我使用regedit手动将UpperFilters键添加到我的目标USB鼠标设备时,regedit提示它无法创建该键。我怀疑regedit不允许修改Windows提供的设备驱动程序堆栈注册表。是否有任何其他方法可以将我的筛选器驱动程序安装到现有设备堆栈? 最佳答案 默认情况下,Windows7不允许在HKLM\SYSTEM\CurrentCon

c - 在驱动程序和 Windows 服务之间传递数据

将数据从设备驱动程序传递到Windows服务并返回的最干净的方法是什么? 最佳答案 这通常是使用DeviceInputandOutputControl(IOCTL)实现的.您可以定义自己的私有(private)控制码,然后双向发送信息。该函数是从用户模式调用的,即您的服务。 关于c-在驱动程序和Windows服务之间传递数据,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6152

windows - GetVolumeNameForVolumeMountPoint() 的用户/密码问题(Windows 远程驱动器挂载?)

在Vista工作站上,我连接了一台XPEmbedded计算机,我想在其上以编程方式在本地安装一个卷(例如,安装XPEmbedded\\MyXPEmbedded\C:\some\path\到Vista工作站(安装到C:\mounted_XPEmbedded\)。(这是一个在Vista工作站上运行的管理实用程序,用于维护XPEmbedded工作站上的文件,而XPEmbedded工作站是更大设备的一部分。)我可以从Vista工作站看到XPEmbedded计算机。例如,我可以通过::getnameinfo()从IP地址解析XPEmbedded计算机的名称。但是,所有对GetVolumeName

c++ - 如何强制 Windows FAT32 驱动程序重新加载 FAT 表?

我正在实现自定义Windows磁盘驱动程序,需要FAT32Windows驱动程序重新加载FAT表1和2,它们位于数据扇区下方。如何做到这一点?我需要更快的方法而不卸载驱动器。为什么我这样做是因为磁盘是内存虚拟磁盘,数据是在访问扇区的过程中从网络中获取的。我正在即时写入目录数据,它可以工作,但不适用于文件-因为驱动程序有时会获取FAT-集群是免费的,所以文件不起作用。我分解了fastfat.sys并发现了一些要点...至少我找到了可能会重新加载fat表的设备ioctl代码,如果我成功了我会在这里发布。 最佳答案 强制卸载卷并重新安装它

windows - 学习C++(Linux+QtCreator)应该升级到Windows+VisualC+VisualAssist吗?比较如何?

我是Linux的长期用户和“高级”Python程序员。我最近在周末有一些空闲时间,我开始学习C++。我正在使用QtCreator进行开发,因为它具有很好的功能,而且简单、快速,我还计划在未来编写Qt应用程序,所以如果我已经习惯了QtCreator这样的东西,它会很简单.我喜欢自动完成、体面的代码突出显示、视觉调试辅助等功能,以及这些现代功能,只要它们不妨碍我。但是,很多人告诉我,如果我真的喜欢这些功能,我应该使用VisualC++和VisualAssist(一种插件)。一个friend带着他的带有VisualStudio的笔记本来这里,我的第一印象是它太复杂了,屏幕上有成千上万的菜单和

c# - 如何从驱动器的全名中获取驱动器号

如何在Windows下使用C#从驱动器(例如WORKMEMORYSTICK)的已知全名(如果存在)中获取驱动器号(例如F:\)?即使反过来也是一个开始。 最佳答案 DriveInfo类公开了一种获取所有可用驱动器(GetDrives)的方法,您可以枚举这些驱动器以匹配您给定的字符串。像下面这样的东西应该可以帮助你到达那里:DirectoryInforoot;vardrives=DriveInfo.GetDrives();foreach(vardriveindrives){if(drive.VolumeLabel==label){ro

c++ - 在 Windows 7 中交叉编译 C 和 C++ 应用程序,在 linux 下使用 MinGW

我在Windows7上安装了MinGW编译器,GCC版本是4.6.1。我有HelloWorld应用程序:#includeintmain(intargc,char*argv[]){printf("HelloWorld!");return0;}我如何使用MinGW编译器在Windows7下编译这个应用程序,以便我可以在linux中运行这个应用程序,而无需重新编译。 最佳答案 您需要在这里区分两个系统:build系统,即您的编译器运行所在的系统,以及host系统,即您的可执行文件将运行的系统运行。MinGW是主机系统Windows的GCC

c++ - 是否可以使用 Cygwin 或 MinGW 将 Linux 守护程序移植到 Windows?

我有一个作为守护进程运行的LinuxC++应用程序。当用户执行这个应用程序时,它会在后台运行,监听一个端口,等待来自客户端的连接。是否可以使用Cygwin或MinGW将此类应用程序移植到Windows平台?谢谢。 最佳答案 Cygwin的目标是实现POSIX/Linux源代码级别的兼容性,因此您的应用程序应该可以在不进行修改或仅进行少量修改的情况下构建和工作。MinGW不会尝试提供这样的兼容层。它只是适用于Windows的GNU工具链,因此您需要用Windows等效项替换对POSIX/Linux特定API的任何使用。

windows - NDIS 5/6 中间过滤器驱动程序

背景:我需要创建一个NDIS过滤器中间驱动程序。该驱动程序将在收集元数据(主要是时间信息)的同时传递所有流量。驱动程序将通过插入自己的包含元数据的数据包并将它们向上传递到堆栈,将此信息导出到用户应用程序。我的问题是关于NDIS版本的。最终,我将不得不为WindowsXP和7编写一个驱动程序。但是目前,我只会将其中一个作为概念/原型(prototype)的证明来实现。我知道在NDIS6中,他们将过滤器功能从通用中间驱动程序中分离出来,成为一个单独的驱动程序类型(轻量级过滤器),以简化过滤器驱动程序的创建。Microsoft在DDK中为NDIS5和6提供了直通过滤器驱动程序的示例。我一直在

windows - Xbox 开发不在 Vista 或 7 上

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭8年前。Improvethisquestion我一直在研究针对Xbox和kinect的开发,但我一直在阅读您需要Windowsvista或7的信息。是否有解决方法或无论如何使用M