PreviousNext

Specifying Interface Attributes

Interface attributes are defined within [ ] (brackets) in the header of the interface definition. The definition for any remote interface needs to specify the uuid and version interface attributes, so these are included in the skeletal definition that uuidgen produces.

If an interface is exported by servers on well-known endpoints, these endpoints must be specified via the endpoint attribute. Interfaces that use dynamic endpoints do not have this attribute. (A well-known endpoint is a stable address on the host, while a dynamic endpoint is an address that the RPC runtime requests when the server is started.)

The interface definition language can be used to specify procedure prototypes for any application, even if the procedures are never used remotely. If all of the procedures of an interface are called only locally and never remotely, the interface can be given the local attribute. Since local calls do not have any network overhead, the local attribute causes the compiler to generate only a header file, not stubs, for the interface.