annotatione 属性
[annotate] 属性を使用すると、指定したメソッド、パラメーター、または構造体フィールドに SAL 注釈文字列を指定できます。
[ annotation(“stringâ€0, [, function-attribute-list] ] function-declarator ;
[ [function-attribute-list] ] type-specifier [pointer-declarator] function-name(
[ annotation(“stringâ€) [ , parameter-attribute-list ] ] type-specifier [declarator]
, ...);
-
string
-
指定された SAL 注釈文字列。
-
function-attribute-list
-
関数に適用される 0 個以上の属性を指定します。 有効な関数属性には [callback]が含まれます。ポインター属性 [ref]、 [unique]、または [ptr];と usage 属性 [string]、 [ignore]、および [context_handle]。 複数の属性はコンマで区切る必要があります。
-
function-declarator
-
関数の型指定子、関数名、およびパラメーター リストを指定します。
-
type-specifier
-
base_type、[構造体]、共用体、または [enum] 型または型識別子を指定します。 省略可能なストレージ仕様は 、型指定子の前に置くことができます。
-
pointer-declarator
-
0 個以上のポインター宣言子を指定します。 ポインター宣言子は、C で使用されるポインター宣言子と同じです。これは、 * 指定子、 far などの修飾子、および修飾子 [const] から構築されます。
-
function-name
-
リモート プロシージャの名前を指定します。
-
parameter-attribute-list
-
パラメーター型に適した 0 個以上の属性を指定します。 [in] 属性を持つパラメーター属性は、方向属性 [out] を取得することもできます。フィールド属性 [first_is]、[last_is]、[length_is]、[max_is]、[size_is]、[switch_type];ポインター属性 [ref]、[unique]、または [ptr];と 使用法属性 [context_handle] と [string]。 usage 属性 [ignore] は パラメーター属性として使用できません。 複数の属性はコンマで区切る必要があります。
-
declarator
-
識別子、ポインター宣言子、配列宣言子など、標準の C 宣言子を指定します。 詳細については、「 配列とSized-Pointer属性」、「 配列」、および 「配列とポインター」を参照してください。 関数宣言子のパラメーター宣言子 (パラメーター名など) は省略可能です。
[annotate] 属性を使用すると、MIDL で生成された SAL 注釈をオーバーライドしたり、MIDL で注釈が明示的に生成されない場所に追加したりできます。 コマンド ラインで /sal が指定されていない場合、この属性は無視されます。