我正在用 C 编写一个 Windows 内核驱动程序,我需要通过串行设备发送和接收数据,特别是 COM3。我被困在 CreateFile、ReadFile 和 WriteFile 函数上,因为这些似乎是在内核中不起作用的用户空间函数。我弄错了吗?或者如果不是,从 Windows 内核中打开和使用串行端口的最佳方法是什么?
非常感谢。
我正在用 C 编写一个 Windows 内核驱动程序,我需要通过串行设备发送和接收数据,特别是 COM3。我被困在 CreateFile、ReadFile 和 WriteFile 函数上,因为这些似乎是在内核中不起作用的用户空间函数。我弄错了吗?或者如果不是,从 Windows 内核中打开和使用串行端口的最佳方法是什么?
非常感谢。
您需要ZwCreateFile、ZwReadFile和ZwWriteFile函数才能在内核模式下工作。
您正在编写驱动程序,那么您必须为 windows 编写内核模块。
检查这个
http://www.codeproject.com/Articles/9504/Driver-Development-Part-1-Introduction-to-Drivers
完成驱动程序后还有一件事,您需要一个应用程序来测试它。
所以你需要一个用户空间应用程序来测试它。