C28129

предупреждение C28129: назначение было сделано операндам, которое следует изменять только с помощью битовых наборов и очистки

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

Пример

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

fdo->Flags = DO_BUFFERED_IO;

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

fdo->Flags |= DO_BUFFERED_IO;