C28135

avviso C28135: se il primo argomento di KeWaitForSingleObject è una variabile locale, il parametro Mode deve essere KernelMode

Il driver è in attesa in modalità utente. Di conseguenza, lo stack del kernel può essere scambiato durante l'attesa. Se il driver tenta di passare parametri nello stack, può verificarsi un arresto anomalo del sistema.

Esempio

Nell'esempio di codice seguente viene generato questo avviso.

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

Nell'esempio di codice seguente viene evitato questo avviso.

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