jackiefzj
驱动牛犊
驱动牛犊
  • 注册日期2004-10-28
  • 最后登录2024-03-01
  • 粉丝0
  • 关注0
  • 积分495分
  • 威望135点
  • 贡献值0点
  • 好评度58点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1206回复:1

一些函数不能在 大于PASSIVE_LEVEL的Irql上执行,怎么解决?

楼主#
更多 发布于:2007-05-23 20:06
最近在用TDI做网站访问控制
有些网站是UTF-8编码的,所以我在驱动内自己解码,写了一个UTF-8到Gb2312的解码函数,但是里面用到RtlAnsiStringToUnicodeString。
但这时就有个问题,
“Callers of RtlAnsiStringToUnicodeString must be running at IRQL = PASSIVE_LEVEL.”,
有时候在完成函数里接收时,Irql就高于PASSIVE_LEVEL,结果就蓝了

有没有办法解决这一问题?

还有,许多网站都是用gzip压缩的,我在驱动内直接解压,会不会非常影响系统性能?

做过这类东西的朋友给点意见,谢谢~
ProPlayboy
驱动大牛
驱动大牛
  • 注册日期2005-07-07
  • 最后登录2022-02-15
  • 粉丝0
  • 关注0
  • 积分1016分
  • 威望811点
  • 贡献值0点
  • 好评度719点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2007-05-25 18:40
如果高于PASSIVE_LEVEL的话,放入自己创建的线程中,或者WorkItem去做
人不靓仔心灵美,版头不正红花仔!
游客

返回顶部