PreviousNext

endpoint create

Creates new endpoints in the local endpoint map database. The syntax is:

endpoint create -interface interface_id -binding protocol_sequence_list
[-object object_uuid_list] [-annotation annotation] [-noreplace]

Options

-interface interface_id
This required option declares the interface identifier of an RPC interface.

See Data Structures for the format of the interface identifier.

-binding protocol_sequence_list
This required option declares a list of one or more protocol sequences (RPC string bindings) for the endpoint create operation.

See Data Structures for the format of a protocol sequence.

-object object_uuid_list
Declares the UUID of an object. Each endpoint create operation accepts a list of up to 32 object UUIDs. The UUID is a hexadecimal string. See Data Structures for the format of the object UUID.

-annotation annotation
Defines an annotation string for the endpoint. The annotation string enables you to identify the purpose of the endpoint. The annotation can be any textual information, for example, an interface name associated with the interface identifier or a description of a service or resource associated with a group.

Use quotation marks around the annotation field of endpoints to include internal spaces in an annotation.

-noreplace
Use the -noreplace option when you want a host to run multiple instances of a server. Normally, when you add an interface-binding combination (a mapping) that already exists in an endpoint map, dcecp replaces the existing mapping with the new one. This behavior limits the number of server instances to one. Bypass this limitation by using the -noreplace option. Using this option can cause obsolete endpoints to accumulate in the endpoint map. Remove obsolete endpoints using the endpoint delete command.

Description
The endpoint create operation creates new endpoints in the endpoint map database on the local host. This command takes no arguments. Requires the -interface and -binding options. Also accepts the -object and -annotation options. The value of the -binding and -object options can be a list, but the others must be a single value. If the mapping already exists it is replaced unless the -noreplace option is included.

This command creates a cross product from the -interface, -binding and -object options and adds each element in the cross product as a separate registration in the local endpoint map. If you supply no object UUIDs, the corresponding elements in the cross product contain a nil object UUID. For example, suppose that you have an interface if1, three bindings, b1, b2, and b3, and four object UUIDs, o1, o2, o3 and o4. The resulting 12 elements in the cross product are as follows:

{if1,b1,o1} {if1,b1,o2} {if1,b1,o3} {if1,b1,o4}
{if1,b2,o1} {if1,b2,o2} {if1,b2,o3} {if1,b2,o4}
{if1,b3,o1} {if1,b3,o2} {if1,b3,o3} {if1,b3,o4}

An annotation string is part of each of these 12 elements, but is not shown for clarity.

This command returns an empty string on success.

Examples
The following command adds an endpoint to the local host's endpoint map. This example uses the backslash (\) twice to escape the brackets. Without the two backslashes, dcecp interprets the brackets as enclosing another command.

dcecp> endpoint create -interface 458ffcbe-98c1-11cd-bd93-0000c08adf56 \
> -binding ncacn_ip_tcp:130.105.1.227\[1067\]
dcecp>

The following example uses the dcecp string syntax to create an endpoint in the local host's endpoint map.

dcecp> endpoint create -interface {458ffcbe-98c1-11cd-bd93-0000c08adf56,1.0} \
>
-binding {ncacn_ip_tcp 130.105.1.227 1072} \
> -object {76030c42-98d5-11cd-88bc-0000c08adf56} \
> -annotation {Bulletin Board Server, Version 1.3a}
dcecp>