Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
advertencia C28715: Conversión entre tipos enteros semánticamente diferentes
Esta advertencia indica que se está conversión de un valor booleano a NTSTATUS. Esto es probable que proporcione resultados no deseados. Por ejemplo, el valor de error típico de las funciones que devuelven un valor booleano (FALSE) es un estado correcto cuando se prueba como un NTSTATUS.
Normalmente, una función que devuelve booleano devuelve 1 (para TRUE) o 0 (para FALSE). Ambos valores se tratan como códigos de éxito mediante la macro NT_SUCCESS. Por lo tanto, nunca se detectará el caso de error.
Ejemplos de
PREfast informa de la advertencia para el ejemplo siguiente.
extern BOOL SomeFunction(void);
if (NT_SUCCESS(SomeFunction())) {
return 0;
} else {
return -1;
}
En el ejemplo siguiente se evita el error.
extern BOOL SomeFunction(void);
if (SomeFunction() == TRUE) {
return 0;
} else {
return -1;
}