IDL Attributes

Attributes are keywords that specify characteristics of the data in the remote procedure calls and characteristics of the interface. Most attributes appear within square brackets in the IDL and ACF files. The following table briefly describes categories of MIDL attributes that can appear in the IDL file:

Attribute category Attributes Description
Array attributes max_is, size_is, first_is, last_is, length_is Apply to the first dimension of an array.
Directional attributes in, out Describe the direction in which the parameter is transmitted on the network; either or both in and out can be applied.
Field attributes switch_is,
array attributes, pointer attributes, string, ignore
Apply to struct or union members.
Function attributes callback, call_as, idempotent, local, maybe, optimize,
pointer attributes, usage attributes
Apply to the return type and characteristics of the function.
Interface attributes uuid, object, local, version, pointer_default, endpoint Apply to the interface as a whole.
Parameter attributes Directional attributes, array attributes, pointer attributes, switch_is, string, context_handle Describe the network-transmission characteristics of function parameters.
Pointer attributes ref, unique, iid_is, ptr Describe characteristics of the pointer and its data.
Type attributes handle, ms_union, v1_enum, transmit_as, switch_type, represent_as
pointer attributes, field attributes
Apply to a type definition.
Usage attributes string, ignore, context_handle Describe how the data object is used.