PreviousNext

rpc_object_inq_type(3rpc)

Returns the type of an object

Used by server applications.

Synopsis

#include <dce/rpc.h>

void rpc_object_inq_type(

uuid_t *obj_uuid,

uuid_t *type_uuid,

unsigned32 *status);

Parameters

Input

obj_uuid
Specifies the object UUID whose associated type UUID is returned. Supply NULL to specify a nil UUID for this parameter.

Output

type_uuid
Returns the type UUID corresponding to the object UUID supplied in the obj_uuid parameter.

Specifying NULL here prevents the return of a type UUID. An application, by specifying NULL here, can determine from the value returned in status whether obj_uuid is registered. This determination occurs without the application specifying an output type UUID variable.

status
Returns the status code from this routine. This status code indicates whether the routine completed successfully or, if not, why not.

Description
A server application calls the rpc_object_inq_type( ) routine to obtain the type UUID of an object.

If the object is registered with the RPC runtime using the rpc_object_set_type( ) routine, the registered type is returned.

Optionally, an application can maintain an object/type registration privately. In this case, if the application provides an object inquiry function (see rpc_object_set_inq_fn(3rpc) ), the RPC runtime uses that function to determine an object's type.

The following table shows how rpc_object_inq_type( ) obtains the returned type UUID.

Rules for Returning an Object's Type
Was object UUID registered (using rpc_object_set_type)? Was an object inquiry function registered (using rpc_object_set_inq_fn)? Return Value
Yes Ignored Returns the object's registered type UUID.
No Yes Returns the type UUID returned from calling the inquiry function.
No No Returns the nil UUID.
Return Values
No value is returned.

Errors

The following describes a partial list of errors that might be returned. Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.

rpc_s_ok
Success.

rpc_s_object_not_found
Object not found.

uuid_s_bad_version
Bad UUID version.

Related Information
Functions: rpc_object_set_inq_fn(3rpc)

rpc_object_set_type(3rpc)