阅读:916回复:0
请问各位高手一个很奇怪的串口驱动开发的问题?
现在遇见一个很奇怪的问题,就是我安装驱动程序后都没有问题,可是重新启动后,就会蓝屏,我查到是在获取串口的设备堆栈指针的时候,返回值是个未知值,不是成功也不是报告错误,是这个命令所不包含的值。
需要指出的是我是在AddDevice中出错的。 命令是: RtlInitUnicodeString(&MYCOM1, L"\\Device\\Serial0"); status =IoGetDeviceObjectPointer(&MYCOM1,FILE_ALL_ACCESS,&MYFileObject,&PhysicalDeviceObject); 返回值不是STATUS_SUCCESS也不是STATUS_OBJECT_TYPE_MISMATCH,STATUS_INVALID_PARAMETER,STATUS_PRIVILEGE_NOT_HELD,STATUS_INSUFFICIENT_RESOURCES,STATUS_OBJECT_NAME_INVALID 不知道是个什么值。 有没有可能我的驱动早于串口驱动,所以我去获得串口的设备堆栈指针的时候,返回个错误。 那位做过串口驱动开发的高手给俺指条明路。 是否我应该在CREATE 里面设置设备堆栈,还是必须在AddDevice设置设备堆栈? |
|