ANSI_STRING和UNICODE_STRING的成员变量Length很重要

来源:互联网 发布:u盘osx系统与windows 编辑:程序博客网 时间:2024/05/19 06:17

这几天灾在将前面写的那个简单串口过滤驱动进行小小的改动,原来程序只能在加载时挂接一个固定的串口,这就导致过滤驱动不能在实际当中使用。因此,决定将要挂接的串口的驱动名称通过应用程序调用DeviceIoControl传进来,但发现IoAttachDevice和IoAttachDeviceToDeviceStack始终返回STATUS_OBJECT_NAME_NOT_FOUND,为了这个折腾了好几天才解决。最后发现我没有正确设置ANSI_STRING的成员变量Length,导致其对应的UNICODE_STRING也就不正确,最终导致上述两个函数始终返回STATUS_OBJECT_NAME_NOT_FOUND,所以一定不能忽视ANSI_STRING和UNICODE_STRING的成员变量Length!

原创粉丝点击