Quantcast
Channel: 看雪安全论坛
Viewing all articles
Browse latest Browse all 9556

系统底层 为什么CreateFile打开驱动第一次成功第二次失败?

$
0
0
在ring3,利用CreateFile打开驱动
m_hDevice = CreateFile (_T("\\\\.\\UHFControl"), 0, 0, NULL, OPEN_ALWAYS, FILE_FLAG_OVERLAPPED, NULL);
在ring0,创建设备
status = IoCreateDevice (DriverObject,
sizeof (CControlDeviceExtension*),
&m_NameString, // No Name
m_DriverType,
FILE_DEVICE_SECURE_OPEN,
FALSE,
&m_Self);
这是一个usb hub过滤驱动,进行USB设备的重定向,结果对第一个设备进行重定向可以成功,第二个就偶尔会失败。通过GetLastError获得的错误代码是2,系统找不到指定的文件。
求指点,这是什么原因呢?

Viewing all articles
Browse latest Browse all 9556

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>