Compartilhar via


C28135

aviso C28135: se o primeiro argumento para KeWaitForSingleObject for uma variável local, o parâmetro Mode deverá ser KernelMode

O driver está aguardando no modo de usuário. Dessa forma, a pilha de kernel pode ser trocada durante a espera. Se o driver tentar passar parâmetros na pilha, uma falha do sistema poderá resultar.

Exemplo

O exemplo de código a seguir gera esse aviso.

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

O exemplo de código a seguir evita esse aviso.

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