草庐IT

CAN驱动

全部标签

windows - 为什么 Windows 驱动程序的条目名称应该是 "DriverEntry"? (或者也有 WinMain/DllMain)

为什么Windows驱动程序的条目名称应该是“DriverEntry”?Windows不能使用PEheader找到驱动程序的入口点,或者说只能调用main()函数来初始化驱动程序吗?还有在WinMain的情况下也是如此。我认为main()或MainCRTSetup()应该是main()或MainCRTSetup()除非我们更改编译器设置,让编译器知道这是我们程序的入口。但是那是针对编译器的,不是吗?为什么Windows要求驱动的入口函数名是DriverEntry? 最佳答案 Microsoft的人员决定.sys文件的入口点将是Dri

c# - SaveFileDialog 阻止可移动驱动器

我正在使用SaveFileDialog让用户在可移动驱动器上选择目录和文件名。之后我创建该文件,写入它,然后再次关闭它。此时文件本身未被锁定(可编辑、可删除),但我无法弹出驱动器,因为Windows声称它仍在使用中。我必须在弹出之前退出应用程序。顺便说一句,即使我只使用SaveFileDialog选择文件,驱动器也会被锁定。在对话框中点击“取消”不会导致问题SaveFileDialogdlg=newSaveFileDialog();dlg.DefaultExt=".csv";dlg.InitialDirectory=mySettings.defaultPath;dlg.Filter="

windows - 多线程:事件驱动与消息驱动

用win32事件对象(CreateEvent)或线程窗口消息队列开发多线程时,性能有差异吗?两者都应该使用某种WaitFor...调用。我自己的代码几乎完全基于事件,但如果不使用消息,我可能会丢失一些东西。 最佳答案 如果您担心线程消息和内核事件之间的性能差异,那么您可能不应该使用线程消息。Win32线程消息队列是一种最初为Windows16开发的机制——当时还没有线程。它们已经发展到可以处理Win32的线程模型,但在幕后它们是相当复杂的野兽。这有利也有弊。缺点是,很简单,它们比其他形式的线程间同步和通信更慢,并且有更多限制。对于初

windows - Powershell 脚本 : Can't read return value of executed program

我正在使用PowerShell运行一个脚本,该脚本执行wget以获取网页(一个简单的数据库导入脚本)并分析其输出(错误消息或“OK”)。我正在使用thispreviousquestion的答案中的代码我的。$a=c:\path_to_wget\wget.exe--quiet-O-"http://www.example.com/import_db"$rc=$a.CompareTo("OK")exit$rc当wget操作的结果是404-并且wget可能返回错误级别1或127-我从PowerShell收到以下错误消息:Youcannotcallamethodonanull-valuedexp

windows - 设备驱动程序 IRQL 和线程/上下文切换

我是Windows设备驱动程序编程的新手。我知道某些操作只能在IRQLPASSIVE_LEVEL执行。例如,Microsoft有关于如何从内核驱动程序写入文件的示例代码:if(KeGetCurrentIrql()!=PASSIVE_LEVEL)returnSTATUS_INVALID_DEVICE_STATE;Status=ZwCreateFile(...);我的问题是:是什么阻止了在上面的KeGetCurrentIrql()检查之后引发IRQL?假设发生上下文或线程切换,当它返回到我的驱动程序时,IRQL会不会突然变为DISPATCH_LEVEL,然后导致系统崩溃?如果这不可能,那么

c++ - 你能推荐一个有趣的适合新手的驱动程序吗?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6个月前。Improvethisquestion我是驱动程序开发的新手,开始寻找有趣的驱动程序相关任务。

windows - 学习 Windows 驱动程序开发的最佳资源是什么?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestionlinux驱动开发可以引用windows驱动开发呢?更新有这方面的好书吗?

windows - 32 位用户模式驱动程序可以在 64 位操作系统上运行吗?

我一直在查看一些关于64位驱动程序开发的信息;我发现必须重写驱动程序才能与64位操作系统兼容。但是,我想知道这是否也适用于用户模式驱动程序。我问这个的原因是因为我的理解是用户模式驱动程序通过Win32API,所以理论上它们应该能够在WOW32之上运行。这是真的吗?谢谢,海梅 最佳答案 用户模式驱动程序可以是32位或64位,但请注意以下几点:用于打印、扫描和相机的用户模式驱动程序必须是64位。不允许使用旧版API(特定于WindowsNT®4.0)。http://www.microsoft.com/whdc/driver/kernel

windows - 2个windows内核模式驱动程序之间的通信

之前从未开发过任何驱动程序。无论如何,我现在正在编写2个简单的Windows内核模式驱动程序,这2个驱动程序将安装到2个不同的设备上,这些设备连接到2个不同的总线(ISA总线/PCI总线),并且这2个驱动程序需要以某种方式与还期望彼此和数据交换,有什么有效的方法可以实现吗?内核事件可能可以启用同步,但数据交换如何?在用户模式下,管道/套接字可能是一个选项,但在内核模式下,是否有命名管道或其他东西的对应物?谷歌表示没有用于内核模式管道使用的记录API...我对Windows驱动程序框架不是很熟悉,希望我说得有道理..谢谢! 最佳答案

Windows 8.1 无法从 cmd 或 powershell 提示符启动 Powershell - "This app can' t run on your PC"

Powershell突然停止从cmd和powershell提示符打开。在它正常工作和停止工作之间我没有安装任何新东西。当我尝试使用以下命令从cmd窗口(提升和未提升)启动powershell.exe时C:\Users\myuser>powershell.exe我收到操作系统的弹出式错误消息:Thisappcan'trunonyourPC一旦我关闭那个弹出窗口,cmd提示我就从那里开始调用,然后打印:Accessisdenied到屏幕(是的,即使我在提升的cmd提示符下执行此操作)当我尝试使用以下命令在powershell中执行此操作时:PSC:\Users\myuser>powersh