C28113

警告的 C28113:访问局部变量传递一个互锁的功能

该驱动程序使用一个互锁的 exec 支持实例,例如 InterlockedDecrement,访问局部变量。

虽然驱动程序通过局部变量的地址赋给另一个函数,然后使用一个互锁的函数对该变量,验证是重要的堆栈不会意外交换到磁盘,而变量存在可能使用它的任何线程之间的正确的实时时间。

示例

通常,一个互锁的可执行的返回值支持实例中随后的计算,而不是输入参数。 此外,互锁的实例仅保护的第一个 (最左侧) 的参数。 使用互锁的实例不采用以下方式保护值的全局和通常不匹配目的。

InterlockedExchange(&local, global)

以下形式对数据和安全访问的同一角色全局变量。

local = InterllockedExchange(&global, global)