过滤驱动直接AttachVolume提示FltStartFiltering has not been called

Dickson 2017-12-21 04:11:27
求教下, 我学习miniFilter中,在FltStartFiltering下面增加了一段代码,想驱动服务一运行自动Attach到C 盘的Volume上:

status = FltStartFiltering(MiniSpyData.Filter);

if (!NT_SUCCESS(status)) {

FltUnregisterFilter(MiniSpyData.Filter);
}
else {
RtlInitUnicodeString(&uniString, L"\\Device\\HarddiskVolume1");
PFLT_VOLUME vol;
FltGetVolumeFromName(&MiniSpyData.Filter, &uniString, &vol);
status = FltAttachVolume(&MiniSpyData.Filter, vol, NULL, NULL);
}


但是一加载驱动就得到这个提示"The filter is not ready for attachment to volumes because it has not finished initialize (FltStartFiltering has not been called)." 然后就蓝屏。。。 我已经FltStartFiltering()过了啊,这是什么原因呢?多谢指教
...全文
371 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dickson 2017-12-21
  • 打赏
  • 举报
回复
找到答案了。。。 FltGetVolumeFromName(&MiniSpyData.Filter, &uniString, &vol); status = FltAttachVolume(&MiniSpyData.Filter, vol, NULL, NULL); 应该改成 FltGetVolumeFromName(MiniSpyData.Filter, &uniString, &vol); status = FltAttachVolume(MiniSpyData.Filter, vol, NULL, NULL);

21,595

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧