attributo typedef
La parola chiave typedef IDL consente dichiarazioni typedef molto simili alle dichiarazioni typedef del linguaggio 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
-
Specifica uno o più attributi che si applicano al tipo. Gli attributi di tipo validi in un file IDL includono [handle], [switch_type], [transmit_as]; attributo puntatore [ref], [unique]o [ptr]; e gli attributi di utilizzo [context_handle], [string]e [ignora]. Separare più attributi con virgole.
-
identificatore di tipo
-
Specifica un tipo di base, uno struct, un'unione, un tipo di enumerazione o un identificatore di tipo. Una specifica di archiviazione facoltativa può precedere l'identificatore di tipo. La parola chiave const può precedere l'identificatore di tipo.
-
declarator-list
-
Specifica i dichiaratori MIDL standard, ad esempio identificatori, dichiaratori puntatori e dichiaratori di matrice. Per altre informazioni, vedere Matrice e Sized-Pointer attributi, matrici e matrici e puntatori. L'elenco dichiaratore è costituito da uno o più dichiaratori, separati da virgole.
-
acf-type-attribute-list
-
Specifica uno o più attributi che si applicano al tipo. Gli attributi di tipo validi in un ACF includono [allocato], [codifica]e [decodifica].
-
Typename
-
Specifica un tipo definito nel file IDL.
La dichiarazione typedef IDL è aumentata per consentire di associare attributi di tipo ai tipi definiti. Gli attributi di tipo validi includono [handle], [switch_type], [transmit_as]; attributo puntatore [ref], [unique]o [ptr]; e gli attributi di utilizzo [context_handle], [string]e [ignora].
La parola chiave typedef in un ACF applica attributi ai tipi definiti nel file IDL corrispondente. Ad esempio, l'attributo di tipo allocato consente di personalizzare l'allocazione della memoria e la deallocazione sia dall'applicazione che dagli stub.
L'istruzione typedef ACF viene visualizzata come parte del corpo ACF. Si noti che la sintassi typedef di ACF è diversa dalla sintassi typedef IDL e dalla sintassi typedef del linguaggio C. Nessun nuovo tipo può essere introdotto nell'ACF.