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
-
指定应用于类型的一个或多个属性。 IDL 文件中的有效类型属性包括 [handle]、 [switch_type]、 [transmit_as];指针属性 [ref]、 [unique]或 [ptr];和用法属性 [context_handle]、 [string]和 [ignore]。 用逗号分隔多个属性。
-
type-specifier
-
指定 基类型、 结构、 联合、 枚举 类型或类型标识符。 可选的存储规范可以位于 类型说明符之前。 const 关键字 (keyword) 可以位于类型说明符之前。
-
declarator-list
-
指定标准 MIDL 声明符,例如标识符、指针声明符和数组声明符。 有关详细信息,请参阅 数组和Sized-Pointer属性、 数组和 数组和指针。 declarator-list 由一个或多个声明符组成,用逗号分隔。
-
acf-type-attribute-list
-
指定应用于类型的一个或多个属性。 ACF 中的有效类型属性包括 [allocate]、 [encode] 和 [decode]。
-
typename
-
指定 IDL 文件中定义的类型。
IDL typedef 声明已扩充,使你能够将类型属性与定义的类型相关联。 有效的类型属性包括 [handle]、 [switch_type]、 [transmit_as];指针属性 [ref]、 [unique]或 [ptr];和用法属性 [context_handle]、 [string]和 [ignore]。
ACF 中的 typedef 关键字 (keyword) 将属性应用于相应 IDL 文件中定义的类型。 例如, 分配 类型属性允许通过应用程序和存根自定义内存分配和解除分配。
ACF typedef 语句显示为 ACF 正文的一部分。 请注意,ACF typedef 语法不同于 IDL typedef 语法和 C 语言 typedef 语法。 ACF 中不能引入任何新类型。