C28113
C28113 de aviso: Acessando um variável local através de uma função com barreira
O driver estiver usando uma rotina executiva com barreira de suporte, como InterlockedDecrement, para acessar uma variável local.
Embora os drivers são permitidos para passar o endereço de uma variável local para outra função, e então usa uma função com barreira para operar nessa variável, é importante verifique que a pilha não ser trocada fora o disco inesperada e que a variável tem a hora correta de vida em todos os segmentos que podem usar o.
Exemplo
Normalmente, o valor de retorno de uma rotina executiva com barreira de suporte é usado em cálculos subsequentes, em vez dos argumentos de entrada.Além disso, rotinas com barreira protegem somente o primeiro argumento (mais à esquerda).Usar uma rotina com barreira da seguinte forma não protege o valor de global e geralmente não tem finalidade.
InterlockedExchange(&local, global)
O exemplo a seguir formulário tem o mesmo efeito nos dados e acessa com segurança a variável global.
local = InterllockedExchange(&global, global)