C28650
Aviso C28650: o tipo para o qual !0 está sendo usado não o trata como caso de falha.
Retornando um valor status como ! TRUE não é o mesmo que retornar um valor status que indica falha.
Determinados tipos de dados, como NTSTATUS e HRESULT , têm macros associadas que classificam valores desses tipos em SUCCESS ou FAILURE. Essas macros marcar o bit mais significativo do valor ou dos valores retornados para determinar isso. Portanto, 0 e 1 são classificados como valores SUCCESS.
A maneira adequada de corrigir esse aviso é retornar um código de erro adequado em vez de um valor genérico, como -1.