Use the following rules when developing code in IDL:
· Do not use the full pointer attribute on the following:
- The parameter in the first parameter position, when that parameter is of type handle_t or is of a type with the handle attribute.
- Context handle parameters.
- A parameter that has the output attribute (out) only.
· The element type of a pipe must not be a pointer or a structure containing a pointer.
· A member of a union or a structure contained in a union cannot contain a reference pointer.
· A reference pointer must point to valid storage at the time the call is made.
· A parameter containing a varying array of reference pointers must have all array elements initialized to point to valid storage even if only a portion of the array is input, since the manager code (the application code supporting an interface on a server) may use the remaining array elements. (Recall that a varying array is one to which any of the array attributes first_is, last_is, length_is is applied).
· The type name in a declaration that defines a pointer type must have no more than 28 characters.