Teilen über


C28741

Warnung C28741: Nicht kommentierter Puffer in der Funktion

Diese Warnung gibt an, dass ein Puffer, der als Funktionsparameter übergeben oder von einer Funktion zurückgegeben wird, mit der Microsoft Source Code Annotation Language (SAL) versehen werden soll. Statische Analysetools können solche Anmerkungen verwenden, um Pufferüberläufe zu erkennen.

Derzeit werden nur nichtkonstante Zeichenfolgenpuffer mit dieser Warnung diagnostiziert. Im Idealfall sollten alle Puffer, die als Funktionsparameter übergeben oder von Funktionen zurückgegeben werden, mit Anmerkungen versehen werden. Arrays von wchar_t oder Zeichen sind Kandidaten für diese Warnung. Nicht signierte Zeichen sind derzeit nicht vorhanden.

Beispiel

Im folgenden Codebeispiel wird diese Warnung generiert.

  int foo( LPTSTR buffer, size_t cch );

Im folgenden Codebeispiel wird diese Warnung vermieden, indem die SAL-Anmerkung _Out_writes_ verwendet wird, um anzugeben, dass die aufgerufene Funktion in den Puffer schreibt und dass der Puffer nicht NULL sein kann. Die Anmerkung gibt an, dass der Puffer Cch--Elemente ist.

    int foo(_Out_writes_(cch) LPTSTR buffer, size_t cch );