[ [ field-attribute-list ] ] type-specifier declarator-list;
Field attributes are used in structure, union, array, and function-parameter declarators to define transmission characteristics of the declarator during a remote procedure call.
Field-attribute keywords include size_is, max_is, length_is, first_is, and last_is; the usage attributes string, ignore, and context_handle; the union switch switch_is;and the pointer attributes ref, unique, and ptr.
The field attributes size_is, max_is, length_is, first_is, and last_is specify the size or range of valid data for the declarator. These field attributes associate another parameter, structure member, union member, or constant expression with the declarator.
Field attributes that are parameters must associate with declarators that are parameters, while field attributes that are members of structures or unions must associate with declarators that are members of the same structure or union.
For information about the context in which field attributes appear, see arrays, struct, and union.
arrays, first_is, IDL, last_is, length_is, max_is, size_is