RpcObjectSetType
The RpcObjectSetType
function assigns the type of an object.
This function
is supported by both 32-bit platforms Windows NT and Windows 95.
#include <rpc.h>
RPC_STATUS RPC_ENTRY RpcObjectSetType(
UUID *
ObjUuid, |
|
UUID *
TypeUuid |
|
); |
|
Parameters
ObjUuid
Points to an
object UUID to associate with the type UUID in the TypeUuid argument.
TypeUuid
Points to the
type UUID of the ObjUuid argument.
Specify an
argument value of NULL or a nil UUID to reset the object type to the default
association of object UUID/nil type UUID.
Remarks
A server
application calls the RpcObjectSetType routine to assign a type UUID to
an object UUID.
By default,
the RPC run-time library automatically assigns all object UUIDs with the nil
type UUID. A server application that contains one implementation of an
interface (one manager entry-point vector [EPV]) does not need to call RpcObjectSetType
provided the server registered the interface with the nil type UUID (see RpcServerRegisterIf
A server
application that contains multiple implementations of an interface (multiple
manager EPVs that is,
multiple type UUIDs) calls RpcObjectSetType once for each different
object UUID/non-nil type UUID association the server supports. Associating each
object with a type UUID tells the RPC run-time library which manager EPV
(interface implementation) to use when the server receives a remote procecure
call for a non-nil object UUID.
The RPC run-time
library allows an application to set the type for an unlimited number of
objects.
To remove the
association between an object UUID and its type UUID (established by calling RpcObjectSetType),
a server calls RpcObjectSetType again specifying a null value or a nil
UUID for the TypeUuid argument. This resets the object UUID/type UUID
association to the default association of object UUID/nil type UUID.
A server
cannot assign a type to the nil object UUID. The RPC run-time library
automatically assigns the nil object UUID a nil type UUID.
Return Values
Value |
Meaning |
RPC_S_OK |
Success |
RPC_S_INVALID_OBJECT |
Invalid
object |
RPC_S_ALREADY_REGISTERED |
Object
already registered |
See Also