typedef 属性
IDL typedef キーワード (keyword)では、C 言語の typedef 宣言とよく似た typedef 宣言を使用できます。
/* IDL file typedef syntax */
typedef [[ [ idl-type-attribute-list ] ]] type-specifier declarator-list;
/* ACF typedef syntax */
typedef [ acf-type-attribute-list ] typename;
パラメーター
-
idl-type-attribute-list
-
型に適用される 1 つ以上の属性を指定します。 IDL ファイル内の有効な型属性には、[handle]、[switch_type]、[transmit_as];ポインター属性 [ref]、[unique]、または [ptr];および usage 属性 [context_handle]、[string]、および [ignore]。 複数の属性をコンマで区切ります。
-
type-specifier
-
基本型、構造体、共用体、列挙型、または型識別子を指定します。 省略可能なストレージ仕様は 、型指定子の前に置くことができます。 const キーワード (keyword)は、型指定子の前に置くことができます。
-
declarator-list
-
識別子、ポインター宣言子、配列宣言子などの標準の MIDL 宣言子を指定します。 詳細については、「 配列とSized-Pointer属性、 配列、および 配列とポインター」を参照してください。 declarator-list は、コンマで区切られた 1 つ以上の宣言子で構成されます。
-
acf-type-attribute-list
-
型に適用される 1 つ以上の属性を指定します。 ACF の有効な型属性には 、[allocate]、 [encode]、および [decode]が含まれます。
-
typename
-
IDL ファイルで定義されている型を指定します。
解説
IDL typedef 宣言が拡張され、型属性を定義された型に関連付けることができます。 有効な型属性には、[handle]、[switch_type]、[transmit_as]が含まれます。ポインター属性 [ref]、[unique]、または [ptr];および usage 属性 [context_handle]、[string]、および [ignore]。
ACF の typedef キーワード (keyword)は、対応する IDL ファイルで定義されている型に属性を適用します。 たとえば、 allocate type 属性を使用すると、アプリケーションとスタブの両方によってメモリ割り当てと割り当て解除をカスタマイズできます。
ACF typedef ステートメントは、ACF 本文の一部として表示されます。 ACF typedef 構文は、IDL typedef 構文および C 言語の typedef 構文とは異なります。 ACF では新しい型を導入できません。
関連項目