Partager via


Avertissement C28285

Pour la fonction 'function-name', erreur de syntaxe dans 'annotation'

Notes

L’outil Analyse du code signale cet avertissement pour les erreurs de syntaxe dans l’annotation SAL. L’analyseur SAL récupère en dés carte l’annotation incorrecte. Double case activée la documentation relative aux annotations SAL utilisées et essayez de simplifier l’annotation. Vous ne devez pas utiliser d’annotations de couche d’implémentation telles que __declspec("SAL_begin") directement. Si vous utilisez cette couche, remplacez-les par des couches supérieures telles que _In__Ret_/_Out_/. Pour plus d’informations, consultez Annoter les paramètres de fonction et les valeurs de retour.

Exemple

Le code suivant génère cet avertissement. L’argument (2,n) est mal formé et provoque un avertissement C28285 une fois la _Out_writes_z_ macro développée.

void example_func(_Out_writes_z_((2,n)) char* buffer, int n)
{
    buffer[n] = '\0';
}

Le code suivant corrige cet avertissement en corrigeant l’annotation incorrecte

void example_func(_Out_writes_z_(n) char* buffer, int n)
{
    buffer[n] = '\0';
}