次の方法で共有


C28135

警告 C28135: KeWaitForSingleObject の最初の引数がローカル変数の場合、Mode パラメーターは KernelMode である必要があります

ドライバーはユーザー モードで待機しています。 そのため、待機中にカーネル スタックをスワップアウトできます。 ドライバーがスタックにパラメーターを渡そうとすると、システムクラッシュが発生する可能性があります。

の例

次のコード例では、この警告を引き出します。

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

次のコード例では、この警告を回避します。

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