C28128

警告 C28128: フィールドへの直接アクセスが行われました。 それはルーチンで作られるべきです。

ドライバーは、特殊な関数を使用してのみアクセスする必要がある構造体メンバーに直接アクセスしました。

たとえば、IRP構造体のCancelRoutineメンバーを直接変更するのではなく、IoSetCancelRoutine を使用する必要があります。

次のコード例では、この警告が表示されます。

irp->CancelRoutine = myCancelRoutine;

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

oldCancel = IoSetCancelRoutine(irp, myCancelRoutine);