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


C28112

Предупреждение C28112: Обращение к переменной, доступ к которой возможен только через функцию с модификатором Interlocked, должно выполняться через такую функцию

См. строку number: Не всегда безопасно обращение к переменной, к которой можно получить доступ через семейство функций Interlocked* каким-либо другим способом.

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

Пример

Это предупреждение появляется в следующем примере кода:

inter_var --;
...
InterlockedIncrement(&inter_var);

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

InterlockedDecrement(&inter_var);
...
InterlockedIncrement(&inter_var);