#### The sec_attr_binding_t Data Type

To describe the binding handle, the sec_attr_binding_t type uses a sec_attr_bind_type_t data type that specifies the format to the data used to generate the binding handle and a tagged union that contains the binding handle. The binding handle can be generated from any of the following:

· A server directory entry name (used with rpc_ns_binding_import_*( ) calls)

If the binding information is a server name, call rpc_ns_binding_import_begin( ) to establish a context for importing RPC binding handles from the name service database. For the rpc_ns_binding_import_begin( ) call, specify the CDS server directory entry name, an entry name syntax value of rpc_c_ns_syntax_dce, and sec_attr_trig as the interface handle of the interface to import.

· A string binding (used with rpc_binding_from_string_binding( ) calls)

If the binding information is a string binding, call rpc_binding_from_string_binding( ) to generate an RPC binding handle.

· An RPC protocol tower set (used with rpc_tower_to_binding( ) calls)

If the binding information is a protocol tower, two additional data types are used to pass in an unallocated array of towers, which the server must then allocate. These data types are sec_attr_twr_ref_t to point to the tower and sec_attr_twr_set_t to define the array of towers.

Architectural components of DCE can take advantage of the internal rpc_tower_to_binding operation in rpcpvt.idl to generate a binding handle from the canonical representation of a protocol tower.

Although the server directory entry name, with the actual server address stored in CDS, is the recommended way to specify an attribute trigger binding handle, prototype applications may want to specify a string binding or protocol tower for convenience.

####