共用方式為


C28741

警告 C28741:函式中的未批注緩衝區

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

目前,只會使用這個警告來診斷非常數位符串緩衝區。 在理想情況下,所有傳遞為函式參數或由函式傳回的緩衝區都應該加上批注。 wchar_tchar 的陣列是這個警告的候選專案。 目前不帶正負號的字元。

例子

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

  int foo( LPTSTR buffer, size_t cch );

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

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