共用方式為


C28722

警告 C28722:函數宣告中未標註的緩衝區

這個警告表示傳遞為函式參數或函式所傳回的緩衝區,應該以 Microsoft 原始程式碼註釋語言標註 (SAL) 。 靜態分析工具可以使用這類批注來偵測編譯時期的緩衝區溢出。

目前,只會使用這個警告來診斷非常數緩衝區。

例子

下列程式代碼範例會產生這個警告。

int foo( LPTSTR buffer, size_t cch );  

下列程式代碼範例會使用 SAL 批注 _Out_writes_ 來指定呼叫的函式寫入緩衝區,而且緩衝區不能是 NULL,以避免這個警告。 批注表示緩衝區是 cch 元素。

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