Поделиться через


C28128

предупреждение C28128: доступ к полю был сделан напрямую. Это должно быть сделано рутиной.

Драйвер напрямую обращается к члену структуры, доступ к которому должен осуществляться только с помощью специализированных функций.

Например, вместо непосредственного изменения элемента CancelRoutine структуры IRP следует использовать IoSetCancelRoutine.

Пример

В следующем примере кода показано это предупреждение.

irp->CancelRoutine = myCancelRoutine;

Следующий пример кода позволяет избежать этого предупреждения.

oldCancel = IoSetCancelRoutine(irp, myCancelRoutine);