警告 C6513

無効な注釈: ElementSizeConst には追加のサイズ プロパティが必要です

Note

この警告は、非推奨バージョンのソース コード注釈言語 (SAL) を使用しているコードでのみ発生します。 コードを移植して、最新バージョンの SAL を使用することをお勧めします。 詳細については、「SAL 注釈を使って C/C++ のコード障害を減らす方法」を参照してください。

解説

この警告は、注釈に含まれていない他のプロパティが必要であることを ElementSizeConst 示します。 単独で指定しても ElementSizeConst 、分析プロセスにメリットはありません。 指定ElementSizeに加えて、その他のプロパティ (指定WritableElementsConstする必要があるプロパティなどValidElementsConst) も指定する必要があります。

コード分析名: ELEMENT_SIZE_WITHOUT_BUFFER_SIZE

この警告が発生するコード例を次に示します。

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(ElementSizeConst=4)] void* pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(ElementSizeConst=4)] void* pc);

この警告を解決するには、次のコードを使用します。

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(ElementSizeConst=4, ValidElementsConst=2)] void* pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(ElementSizeConst=4, ValidElementsConst=2)] void* pc);

ElementSize プロパティを正しく使用しない場合でも、この警告が生成されます。

関連項目

SAL 注釈を使ってコード障害を減らす方法