Share via


C28135

advertencia C28135: si el primer argumento de KeWaitForSingleObject es una variable local, el parámetro Mode debe ser KernelMode.

El controlador está esperando en modo de usuario. Por lo tanto, la pila del kernel se puede intercambiar durante la espera. Si el controlador intenta pasar parámetros en la pila, puede producirse un bloqueo del sistema.

Ejemplo

En el ejemplo de código siguiente se produce esta advertencia.

KeWaitForSingleObject(&MyMutex, UserRequest, UserMode, false, NULL);

En el ejemplo de código siguiente se evita esta advertencia.

KeWaitForSingleObject(&MyMutex, UserRequest, KernelMode, false, NULL);