【问题标题】:Any Equivalent of strstr in Windows Kernel Mode?Windows内核模式下strstr的任何等效项?
【发布时间】:2012-01-12 05:08:15
【问题描述】:

我正在编写一个 Windows 内核模式驱动程序,我必须在其中操作大量字符串。到处都建议使用“安全字符串”函数而不是普通的 C 函数。但是,许多字符串函数尚未实现,例如strchr, strstr.

我的问题是是否有任何函数可以用来在内核模式下搜索字符串中的字符串?

【问题讨论】:

    标签: c visual-c++ driver kernel wdk


    【解决方案1】:

    您可以在驱动程序中使用常规的 C 运行时函数,例如 strstr()。避免专注于寻找该功能的安全版本,不存在。没有 strchr() 或 strstr() 会无意中损坏内存的情况。他们只会读,不会写。如果输入字符串没有正确以零结尾,它们肯定会导致蓝屏,从而产生访问冲突。但这是其他地方的错误。

    【讨论】:

    • 它不会导致 MS 的某种认证拒绝 (WHQL) 吗?这是规则之一 - 仅使用内核 API
    • 实际上是Safe Versions Do Exist,但如果可能的话,我还是建议使用UNICODE_STRING 版本。
    猜你喜欢
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 2019-09-03
    • 2020-05-09
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多