C28742

警告 C28742: 関数の注釈なしバッファー

この警告は、関数パラメーターとして渡されるバッファーまたは関数から返されるバッファーに、Microsoft ソース コード注釈言語 (SAL) を使用して注釈を付ける必要があることを示します。 スタティック分析ツールでは、このような注釈を使用してバッファー オーバーランを検出できます。

現時点では、非定数バッファーのみがこの警告と診断されます。

次のコード例では、この警告が生成されます。

       int foo( LPTSTR buffer, size_t cch );

次のコード例では、SAL 注釈 _Out_writes_ を使用して、呼び出された関数がバッファーに書き込むことと、バッファーを NULL にできないことを指定することで、この警告を回避します。 注釈は、バッファーが cch 要素であることを示します。

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