草庐IT

GPT驱动

全部标签

windows - 文件系统筛选器驱动程序 - 拒绝创建文件

我创建了一个文件系统过滤驱动程序。我的驱动程序过滤IRP_MJ_CREATE并打印文件名。NTSTATUSDispatchCreate(__inPDEVICE_OBJECTDeviceObject,__inPIRPIrp){PFILE_OBJECTFileObject=IoGetCurrentIrpStackLocation(Irp)->FileObject;DbgPrint("DispatchCreate():%wZ\n",&FileObject->FileName;)returnDispatchPassThrough(DeviceObject,Irp);}这很好用。现在我想在每次创

windows - 在 Windows 上调试 ODBC 驱动程序的最佳方法

在Windows上调试自定义ODBC驱动程序的最佳方法是什么?我们团队的一名前成员编写了驱动程序,因此我们可以获得源代码。如何将调试器附加到驱动程序?还是仅向驱动程序添加“跟踪打印”以查看发生了什么更容易? 最佳答案 到目前为止,我找到的最佳解决方案是将跟踪打印和断点(int3)编译到驱动程序中的组合。一般调试信息的跟踪打印和我需要更彻底调查驱动程序内部状态的代码片段的断点。 关于windows-在Windows上调试ODBC驱动程序的最佳方法,我们在StackOverflow上找到一个

windows - 从映射的网络驱动器快速复制文件

谁能告诉我如何从映射的网络驱动器快速复制文件?WindowsCopyPaste运行速度非常慢,影响了系统的性能。我使用了XCOPYsourcedestination/i/s/z/q这已经够快了,复制了几个文件,然后抛出了一个错误“指定的网络名称不可用”我记得有人使用变通方法从映射的网络驱动器快速复制文件。有人可以建议我一种方法吗?我使用WindowsXP,所以请不要向我推荐RoboCopy。 最佳答案 RoboCopy在WinXP上运行良好。包含RoboCopy的WindowsServer2003资源工具包可以在XP上正常安装。ht

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代码,如果我成功了我会在这里发布。 最佳答案 强制卸载卷并重新安装它

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

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

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

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

windows - 'dpinst/silent' 在带有签名(但不是 WHQL)驱动程序的 Windows XP 上失败

DriverPackageInstaller(DPInst)与"/s"(silent)标志无法在WindowsXP上安装已签名的驱动程序。证书是有效的(Authenticode证书)但不是WHQL一。我该如何解决这个问题? 最佳答案 DPInst有两个“静音”标志——/q(安静)和/sw(抑制向导)。/q暗示安静但也可能(我没有测试!)在发出DIF_REMOVE请求时设置DI_QUIETINSTALL。显然,这使得(WindowsXP的)SetupAPI库“他们正试图偷偷摸摸地对付我!”如果证书不是珍贵的WHQL[*]证书,则拒绝安