C28135
警告 C28135:如果 KeWaitForSingleObject 的第一个参数是局部变量,则 Mode 参数必须为 KernelMode
驱动程序正在用户模式下等待。 因此,可以在等待期间交换内核堆栈。 如果驱动程序尝试在堆栈上传递参数,可能会导致系统崩溃。
示例
下面的代码示例引发此警告。
KeWaitForSingleObject(&MyMutex, UserRequest, UserMode, false, NULL);
下面的代码示例避免了此警告。
KeWaitForSingleObject(&MyMutex, UserRequest, KernelMode, false, NULL);