PreviousNext

Universal Unique Identifiers

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.