草庐IT

网卡驱动OpenStack

全部标签

c++ - 打印机驱动程序开发 - 从 32 位到 64 位

我开发了一个为32位系统编译的驱动程序。该驱动程序基于unidriver。有谁知道要使驱动程序与64位兼容需要什么?如果有的话,我需要对代码做哪些更改?还是只需要用64位版本的DDK编译它?提前致谢。努诺 最佳答案 第一步是使用VisualStudio打开项目并添加x64配置。然后,测试并查看它是否构建(可能不会)。最常见的错误(我遇到过)是这些:DWORD->DWORD_PTR+所有相关的具有长版本的Win32api函数指针截断:将在msvc上发出警告,在gcc上发出错误:在适用的情况下将long/int替换为(u)intptr_

windows - 打开闪存驱动器的句柄给我一个 "Access Denied"错误代码

我想知道为什么当我尝试创建USB闪存驱动器的句柄时,我收到找不到路径的错误消息。HANDLEaFile=CreateFile(_T("\\\\.\\F:\\"),GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);if(aFile==INVALID_HANDLE_VALUE){printf("\n");printf("Badhandlevalue.Error%d\n",GetLastError());}我想从那里读取一个512字节的流(引导扇区)到一个.bin文件,但我似乎无法先通过句柄创建。Windows是否阻止

windows - 如何使用 Delphi 在 Windows 中从 USB 驱动器挂载分区?

我想在Windows(XP)中挂载USB驱动器的所有分区。我的意思是我想为他们每个人分配驱动器号(当他们没有时)。操作系统会自动执行此操作,但在某些情况下此类程序很有用。我知道如何查找驱动器是否在USB上。到目前为止我的代码是:typeSTORAGE_QUERY_TYPE=(PropertyStandardQuery=0,PropertyExistsQuery,PropertyMaskQuery,PropertyQueryMaxDefined);TStorageQueryType=STORAGE_QUERY_TYPE;STORAGE_PROPERTY_ID=(StorageDevice

windows - 如何检测 Windows 完成添加/删除存储设备(不是驱动器号,仅作为设备)

我有一些带有简化Windows的计算机,其中添加/删除的存储设备不会自动获得驱动器号。所以我必须找到一种方法来检测添加/删除的内容。一种方法(我知道)是使用WM_DEVICECHANGE消息。在这些计算机上,消息仅通过WParam7和LParam0发送到窗口。因此,当我的应用程序收到此消息时,我可以运行我的检测代码。问题是需要一些时间才能完全识别设备;与此同时,我的应用程序被WM_DEVICECHANGE消息的“齐发”“轰炸”,检测代码甚至启动了6..7次。为了解决这个问题,我可以添加一个由新消息重新初始化的计时器;如果一段时间后(1..2秒)应用程序没有收到消息,则启动检测代码。但我

windows - 使用 VS 编译器和链接器构建 Windows 驱动程序

每当我重新审视使​​用VisualStudio的编译器和链接器构建Windows驱动程序的主题时,我都会想到两件事:官方不支持。事实上,整个互联网上的共识是构建Windows驱动程序的正确方法是使用Windows中包含的编译器、链接器和BUILD工具驱动程序套件。但是,VisualStudio2008包含/DRIVER链接器选项,其描述如下:使用/DRIVER链接器选项构建WindowsNT内核模式驱动程序。它的作用是什么?如果不推荐使用它来构建驱动程序,为什么将它包含在VisualStudio中?有效。我几乎不敢大声说出来,以免招致正义的内核开发人员的愤怒,但事实是,使用Visual

windows - 如何区分Windows驱动程序和dll

我需要区分两个二进制文件-一个驱动程序和一个通用dll。据我所知,我需要查看此文件的部分(例如通过DumpBin)并查看是否有INIT部分。这个标准是否完整? 最佳答案 您需要解析二进制文件并查看IMAGE_OPTIONAL_HEADER的子系统字段,如果它是NATIVE,则它是一个驱动程序。查看以下链接了解详细信息:http://msdn.microsoft.com/en-us/library/ms809762.aspx 关于windows-如何区分Windows驱动程序和dll,我们

windows - 用于保护驱动程序的注册表访问 Hook

我正在为WindowsNT编写驱动程序,为用户空间应用程序提供Ring-0访问。我想制作一个具有专有权的实用程序来执行任何用户的命令,这些命令将受到保护免受任何外部有害影响。上网发现需要hook一些native内核函数,比如NtOpenProcess、NtTerminateProcess、NtDublicateObject等,我已经制作了一个保护应用程序的工作驱动程序,但后来我意识到最好也防止它从外部尝试删除驱动程序或在操作系统启动期间禁止其加载,如防火墙。我将任务分为两部分:防止从\system32\drivers\中物理删除驱动程序,并防止更改/删除负责加载驱动程序的注册表项(HK

windows - 如何让 USB 设备加载我的功能驱动程序?

我写了一个usb功能驱动。如果我想让插入我计算机的任何USB设备加载此驱动程序而不是其真正的驱动程序,我应该怎么做?我只知道如果在总线驱动程序创建pdo时更改vid/pid,我可以做到。但我不知道是否有简单的方法可以做到这一点。如何改变总线的行为?过滤器驱动程序可以做到吗?平台是Windows。 最佳答案 最好的办法是实现一个HID(HumanInterfaceDevice)司机。通过遵循HID准则,您需要的大部分功能都已得到支持,而无需编写自定义设备驱动程序。这里有一些帮助您入门的链接:使用HID类简化了编写USB设备驱动程序的工

windows - 在 Mac 10.6/7/8/Windows XP/Vista/7 上自动打开 USB 驱动器

我正在创建一个FAT32格式的USB内存棒/驱动器来运送产品。我们希望它的表现更像我们制作的混合CD/DVD:在Mac10.6或更高版本上插入磁盘,驱动器将打开并显示一个窗口,其中包含应用程序。我们可以通过DMG或CD完成此操作,但USB驱动器似乎不想遵守bless命令。在Windows上,我们设置了一个autorun.inf。在XP上,它不显示图标、标签或打开指定的文件。我知道您不能让WindowsVista和Windows7在默认情况下自动打开某些内容或将条目添加到自动播放列表,但它仍应显示音量标签和图标。这是我的autorun.inf:[AutoRun]Action="Insta

c# - 如何使用C#设置指定网卡的linkspeed和duplex模式

就像屏幕截图一样,我想使用C#为网络适配器设置链接速度和双工模式。例如,将设置从自动协商更改为10Mbps半双工。你能告诉我如何开始吗?谢谢成功 最佳答案 windows网络配置dll的文档很少(在最好的情况下)。在网络中配置值的最简单方法是使用netshBestwaytoprogrammaticallyconfigurenetworkadaptersin.NETnetsh调用奇怪的未记录的Windowsdll。如果你需要直接调用dll而不是执行命令,你可以开始调试netsh。 关于c#