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 );