Compartir a través de


Advertencia C28159

Considere la posibilidad de usar function_name_1 en lugar de function_name_2. Motivo: motivo

Esta advertencia se produce cuando se usa una función que es semánticamente equivalente a una llamada de función alternativa preferida.

Comentarios

C28159 es un mensaje de advertencia general; la anotación __drv_preferredFunction se usó (posiblemente con una anotación condicional __drv_when() para marcar una práctica de codificación incorrecta.

Nombre de análisis de código: USE_OTHER_FUNCTION

Ejemplo

El ejemplo de código siguiente genera esta advertencia. Este problema se debe al uso de OemToChar, que no valida el tamaño del búfer:

char buff[MAX_PATH];
OemToChar(buff, input);  // If strlen(input) > MAX_PATH, this call leads to buffer overrun

En el ejemplo de código siguiente se evita esta advertencia mediante la alternativa OemToCharBuffrecomendada , que toma el tamaño del búfer de destino y limita la copia de forma adecuada:

char buff[MAX_PATH];
OemToCharBuff(buff, input, MAX_PATH);