Atributo typedef
La palabra clave typedef de IDL permite declaraciones typedef que son muy similares a las declaraciones typedef del lenguaje C.
/* 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
-
Especifica uno o varios atributos que se aplican al tipo. Los atributos de tipo válidos de un archivo IDL incluyen [handle], [switch_type], [transmit_as]; el atributo de puntero [ref], [unique], o [ptr]; y los atributos de uso [context_handle], [string] y [ignore]. Separe varios atributos con comas.
-
type-specifier
-
Especifica un tipo base, una estructura, una unión, un tipo de enumeración o un identificador de tipo. Una especificación de almacenamiento opcional puede preceder al especificador de tipos. La palabra clave const puede preceder a type-specifier.
-
declarator-list
-
Especifica declaradores MIDL estándar, como identificadores, declaradores de puntero y declaradores de matriz. Para obtener más información, vea Array and Sized-Pointer Attributes, arrays, and Arrays and Pointers. La lista declarator consta de uno o varios declaradores, separados por comas.
-
acf-type-attribute-list
-
Especifica uno o varios atributos que se aplican al tipo. Los atributos de tipo válidos de un ACF incluyen [allocate], [encode] y [decode].
-
typename
-
Especifica un tipo definido en el archivo IDL.
La declaración de definición de tipo IDL se aumenta para permitirle asociar atributos de tipo a los tipos definidos. Los atributos de tipo válidos incluyen [handle], [switch_type], [transmit_as]; el atributo de puntero [ref], [unique], o [ptr]; y los atributos de uso [context_handle], [string] y [ignore].
La palabra clave typedef de un ACF aplica atributos a los tipos definidos en el archivo IDL correspondiente. Por ejemplo, el atributo de tipo de asignación permite personalizar la asignación y desasignación de memoria tanto por la aplicación como por los códigos auxiliares.
La instrucción typedef de ACF aparece como parte del cuerpo de ACF. Tenga en cuenta que la sintaxis de definición de tipo ACF es diferente de la sintaxis de definición de tipo IDL y la sintaxis typedef del lenguaje C. No se pueden introducir nuevos tipos en el ACF.