C28650
advertencia C28650: el tipo para el que se usa !0 no lo trata como caso de error.
Devolver un valor de estado como ! TRUE no es lo mismo que devolver un valor de estado que indica un error.
Ciertos tipos de datos, como NTSTATUS y HRESULT , tienen macros asociadas que clasifican los valores de estos tipos en SUCCESS o FAILURE. Estas macros comprueban el bit más significativo del valor devuelto o los valores para determinar esto. Por lo tanto, 0 y 1 se clasifican como valores SUCCESS.
La manera adecuada de corregir esta advertencia es devolver un código de error adecuado en lugar de un valor genérico como -1.