草庐IT

虚拟设备

全部标签

windows - FILE_FLAG_NO_BUFFERING 如何与向通信设备打开的句柄交互?

正如标题所说,我正在编写一个网络程序,我在其中使用CreateFile打开网络驱动程序的句柄,并且我一直在试验NO_BUFFERING标志。大多数文档甚至都不会提及将其与通信设备一起使用,而那些这样做的文档(又名MSDN引用等)只是简单地提到您可以。有谁知道这会如何影响与设备的通信? 最佳答案 这是一个设备驱动程序实现细节,您在CreateFile()调用中指定的选项在IRP_MJ_REQUESTrequest中传递.我链接的那个是用于文件系统的,非常漂亮。通过IrpSp->Parameters.Create.Options链接单击

windows - 设备不存在时是否可以完全安装驱动程序?

是否可以在插入物理设备之前在系统上完全安装(而不仅仅是预安装)设备驱动程序?特别是,我正在查看D2XXdriversbyFTDI.他们的驱动程序安装程序有效地运行dpinst.exe,如果您观察该程序的控制台输出,它是这样说的:Nomatchingdevicewasfoundfor'c:\drivers\ftdiport.inf'.Driverwillbeinstalledwhenpluggedin.问题是我还在使用他们的.NET库来访问设备,而且那个库很有趣。如果未安装驱动程序,它会在构造函数中弹出警报。当然,通常的解决办法是简单地插入设备并让驱动程序安装正常完成,但有时这一点会被忽

windows - Vulkan 在 Linux 上找不到物理设备

我一直想使用新的图形APIVulkan,并且已经在Windows7上顺利启动并运行它。但是我无法让Vulkan在Linux上工作。当我尝试运行任何LunarG示例,甚至是我自己的代码时,vkEnumeratePhysicalDevices总是说没有物理设备。这是我的设置:OS:Ubuntu16.04(LTS)[x64]GPU:NvidiaGeforceGT7302GBGDDR5Driver:NVIDIABinarydriver-version364.19fromnvidia-364(opensource)VulkanSDK:LunarGv1.0.17.0[latestversion]我

windows - Turbo Studio 虚拟化

我正在构建一个程序,该程序在主程序文件之外具有多个外部库和扩展。我的项目总大小为134.2MB。我想用TurboStudio制作它的便携版本,但我面临一个明显的问题;在捕获文件并构建项目后,我得到了一个138.9MB的可执行文件。该程序确实运行了,但我不希望它如此臃肿。我想将大部分数据打包为单独的.dat有效负载(或等效负载),但我似乎找不到任何方法用涡轮工作室。VMwareThinApp和Cameyo都会在项目超过一定规模后自动执行此操作,但TurboStudio似乎不会。非常感谢任何帮助。 最佳答案 我前段时间发现了一个hack

windows - 编写 UMDF 虚拟设备驱动程序(或软件设备),如 Virtual DVD

我有一个“现成的”商业软件,使用ANTUSB加密狗与自行车教练进行通信。我的培训师与软件不兼容,因为协议(protocol)略有不同(差别不大)。我的目标是编写一个协议(protocol)翻译器。我唯一能想到的是编写一个UMDF虚拟设备驱动程序(如MagicISOVirtualDVD),在设备管理器中看起来像一个ANTUSB设备(相同的PID\VID),同时将其自身连接到物理ANT设备。虚拟设备驱动程序将执行协议(protocol)转换。我在此处查看了Microsoft的几个示例https://github.com/Microsoft/Windows-driver-samples但我找

windows - 如何防止从快照恢复虚拟机时出现 "trust relationship between this machine and domain failed"错误?

当您从(足够旧的)快照恢复VM(属于Windows域)时,您将收到此错误:trustrelationshipbetweenthismachineanddomainfailed发生这种情况是因为域Controller定期更新计算机帐户密码(可能还有其他一些事情)。有什么方法可以配置域Controller(或其他任何东西)以防止这种情况发生?我不关心安全风险等——所有这些都在受控环境中。 最佳答案 两种解决方案:您可以尝试@Harry提到的禁用机器密码的策略:引用:Domainmember:Disablemachineaccountpa

windows - 如何为 NDIS 虚拟微型端口驱动程序设置和查询多播地址?

我想在虚拟微型端口驱动程序上添加多播支持。我有一个过滤驱动程序绑定(bind)到每个物理NIC上。根据微软文档https://msdn.microsoft.com/en-us/library/windows/hardware/ff569073(v=vs.85).aspx我开始添加支持多播地址:这些是我的步骤:在微型端口驱动程序中:在微型端口初始化期间,我在NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES中添加了MaxMulticastListSize=32。NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTESMiniportA

ruby-on-rails - 如何在 Windows 上更改 Ruby-on-Rails 虚拟机 'stack size'?

我遇到了使用Nokogiri的gem和解析复杂页面时堆栈内存不足的问题(SystemStackError:堆栈级别太深)。我在这里发现了几个线程,它们说我需要更改RubysVM的堆栈大小,但由于我在Windows10笔记本电脑上,我似乎无法让它工作。当我打开ruby​​控制台并请求我得到的变量值时:irb>ENV['RUBY_THREAD_VM_STACK_SIZE']=>nil输入时,我确实得到了堆栈大小的值(名称略有不同)irb>RubyVM::DEFAULT_PARAMS=>{:thread_vm_stack_size=>1048576,:thread_machine_stack

c# - 如何在 C# 中创建 COM(和其他设备)模拟器?

我们有几个与COM端口、USB等交互的遗留组件。我想创建一个.NET程序来模拟COM端口并记录流量,将其中继到某处的WCF服务端点或直接进入数据库。也许还可以像装饰器模式一样包装一个真正的COM端口。我环顾四周,找到了Sourceforge项目Com0Com,但它是相当古老的API和c++。我意识到我可以通过创建一个行式打印机驱动程序来解决这个特定问题,而不是真正与系统中注册的COM端口进行交互。一些链接也将受到高度赞赏。有人做过吗?如何在.NET中创建系统资源? 最佳答案 您必须编写驱动程序,这就是Com0Com的工作原理。如果这

c++ - 设备浏览问题

我正在编写文件浏览软件,我希望它能在所有可移植设备(例如相机、智能手机等)上正常工作。我的程序显示缩略图,所以我需要读取每个文件的内容。现在我面临一些问题:使用我的两台相机,我只能从设备打开一个ISteam。对于每个额外的流,我都会收到ERROR_BUSY错误。这很不方便,因为我在多个后台线程中获取缩略图。我可以从我的智能手机打开多个流,但我无法搜索该流!作为解决方法,我必须将整个流复制到临时文件系统位置并在那里进行处理。我想知道它取决于什么。设备文件系统?驱动实现?还是别的? 最佳答案 这些似乎是对内存非常有限的外围设备的文件访问