日期:2014-05-17 浏览次数:20810 次
在VMWARE调试驱动,有时会蓝屏。使用WINDBG查看崩溃日志CASH文件
发现错误是在
if (wcsstr(nameInfo->Name.Buffer, L"XXX.EXE") > 0) {
这行,原来wcsstr是根据最后一个字符是否为NULL判断字符串是否完成的,而nameInfo->Name.Buffer是UNICODE_STRING,并不是应用层开发意义上的字符串,也不是以NULL结束。
所以改成用RtlStringCbCopyNW把nameInfo->Name.Buffer复制到一个wchar_t数组中,然后再用wcsstr就没问题。