atributo typedef
O typedef de IDL palavra-chave permite declarações typedef muito semelhantes às declarações typedef da linguagem 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 um ou mais atributos que se aplicam ao tipo . Os atributos de tipo válidos em um arquivo IDL incluem [handle], [switch_type], [transmit_as]; o atributo de ponteiro [ref], [unique]ou [ptr]; e os atributos de uso [context_handle], [cadeiade caracteres] e [ignorar]. Separe vários atributos com vírgulas.
-
type-specifier
-
Especifica um tipo base, struct, união, tipo de enumeração ou identificador de tipo. Uma especificação de armazenamento opcional pode preceder o especificador de tipo. A palavra-chave const pode preceder type-specifier.
-
declarator-list
-
Especifica declaradores MIDL padrão, como identificadores, declaradores de ponteiro e declaradores de matriz. Para obter mais informações, consulte Atributos de matriz e Sized-Pointer, matrizes e matrizes e ponteiros. A lista de declaradores consiste em um ou mais declaradores, separados por vírgulas.
-
acf-type-attribute-list
-
Especifica um ou mais atributos que se aplicam ao tipo . Os atributos de tipo válidos em um ACF incluem [allocate], [encode], e [decode].
-
typename
-
Especifica um tipo definido no arquivo IDL.
A declaração typedef de IDL é aumentada para permitir que você associe atributos de tipo aos tipos definidos. Os atributos de tipo válidos incluem [handle], [switch_type], [transmit_as]; o atributo de ponteiro [ref], [unique]ou [ptr]; e os atributos de uso [context_handle], [cadeiade caracteres] e [ignorar].
O typedef palavra-chave em um ACF aplica atributos a tipos definidos no arquivo IDL correspondente. Por exemplo, o atributo de tipo de alocação permite personalizar a alocação e a desalocação de memória pelo aplicativo e pelos stubs.
A instrução typedef ACF aparece como parte do corpo do ACF. Observe que a sintaxe typedef do ACF é diferente da sintaxe typedef de IDL e da sintaxe typedef da linguagem C. Nenhum novo tipo pode ser introduzido no ACF.