Each UUID contains information, including a timestamp and a host identifier. Applications use UUIDs to identify many kinds of entities. DCE RPC identifies several uses of UUIDs, according to the kind of entities each identifies:
· Interface UUID
A UUID that identifies a specific RPC interface. An interface UUID is declared in an RPC interface definition (an IDL file) and is a required element of the interface. For example:
uuid(2fac8900-31f8-11ca-b331-08002b13d56d),
· Object UUID
A UUID that identifies an entity for an application; for example, a resource, a service, or a particular instance of a server. An application defines an RPC object by associating the object with its own UUID known as an object UUID. The object UUID exists independently of the object, unlike an interface UUID. A server usually generates UUIDs for its objects as part of initialization. A given object UUID is meaningful only while a server is offering the corresponding RPC object to clients.
To distinguish a specific use of an object UUID, a UUID is sometimes labeled for the entity it identifies. For example, an object UUID that is used to identify a particular instance of a server is known as an instance UUID.
· Type UUID
A UUID that identifies a set of RPC objects and an associated manager (the set of remote procedures that implements an RPC interface for objects of that type). This is often called a manager type UUID.
Servers can create object and type UUIDs by calling the uuid_create( ) routine.