Windows 7驱动程序ioctl调用

我已经写了一些特定function的Windows驱动程序。 它没有任何问题。 但是,我通过ioctl接口调用它时遇到了问题。

在我的应用程序中,我调用CreateFile并尝试传递给我的驱动程序的名称。 但是,它给我一个错误,“无法打开设备”,错误代码是0x03。 我正在使用和我的司机完全一样的名字。

名称从cmd行应用程序打开驱动程序:\ DosDevice \ my_driver传递给CreateFile的名称也是相同的。 有什么方法可以find我的驱动程序在Windows命名空间的名称是什么?

赢32错误0x03是ERROR_PATH_NOT_FOUND。 尝试添加“\\。\”到您的设备名称的前面。 所以它变成了“\\。\ DosDevice \ my_driver”,或者它可以简单地是“\\。\ my_driver”,只是为了清楚这是2个斜线,一个点,然后是另一个斜线。 这应该把你放入设备名称空间,否则我相信CreateFile只是试图打开文件系统上的文件。

您可以使用WinObjEx实用程序来检查您的驱动程序是否创建设备以及其名称: http ://www.freewebs.com/four-f/