HELPLIB.HLB  —  DCE  DCE_SECURITY, API Routines, sec_attr_trig_update
 NAME
   sec_attr_trig_update - For attributes coded with an attribute trigger
                          type of update, passes attribute updates to an
                          update attribute trigger server for evaluation

 SYNOPSIS

 #include <dce/sec_attr_trig.h>

 void sec_attr_trig_update (
         handle_t h,
         sec_attr_component_name_t cell_name,
         sec_attr_component_name_t component_name,
         unsigned32 num_to_write,
         unsigned32 space_avail,
         sec_attr_t in_attrs[],
         unsigned32 *num_returned,
         sec_attr_t out_attrs[],
         unsigned32 *num_left,
         signed32 *failure_index,
         error_status_t *status);

 PARAMETERS

 Input

 h      A handle referring to the trigger server to be accessed. Use the
        trigger binding information specified in the attribute encoding
        to acquire a bound handle.

 cell_name
        A value of sec_attr_component_name_t that identifies the cell
        in which the object whose attribute is to be accessed resides.
        Supply a NULL cell_name to specify the local cell (/.:).

 component_name
        A value of sec_attr_component_name_t that identifies the name of
        the object whose attribute is to be accessed.  If cell_name
        specifies a foreign cell, component_name is interpreted as a
        UUID in string format since the caller of this interface knows
        only the UUID, not the name, of the foreign principal.

 num_to_write
        An unsigned 32-bit integer that specifies the number of elements
        in the in_attrs array.  This integer must be greater than 0.

 space_avail
        An unsigned 32-bit integer that specifies the size of the
        out_attrs array.

 in_attrs[]
        An array of values of type sec_attr_t that specifies the
        attribute instances to be written.  The size of in_attrs[]
        is determined by num_to_write.

 Output

 num_returned
        A pointer to an unsigned 32-bit integer that specifies the number
        of attribute instances returned in the out_attrs[] array.

 out_attrs[]
        An array of values of type sec_attr_t.  These values, supplied by
        the update attribute trigger server, are in a form suitable for
        storage in the registry database.

 num_left
        A pointer to an unsigned 32-bit integer that supplies the number
        of attributes that were found but not returned because of space
        constraints in the out_attrs[] buffer.

 failure_index
        In the event of an error, failure_index is a pointer to the
        element in the in_attrs[] array that caused the update to fail.
        If the failure cannot be attributed to a specific attribute, the
        value of failure_index is -1.

 status
        A pointer to the completion status.  On successful completion,
        the routine returns error_status_ok.  Otherwise, it returns an
        error.

 DESCRIPTION

 The sec_attr_trig_update() routine passes attributes coded with an
 attribute trigger type of update to a user-written update attribute
 trigger server for evaluation before the updates are made to the
 registry.

 Although generally this routine it is not called directly, this
 reference page is provided for users who are writing the attribute
 trigger servers that will receive sec_attr_trig_update() input and
 supply its output.

 The sec_attr_trig_update() routine is called by the DCE attribute update
 code for all schema entries that specify an update attribute trigger
 (sec_attr_trig_type_update specified with the sec_attr_trig_type_flags_t
 data type). The attribute update code passes the sec_attr_trig_update()
 input parameters to a user-written update attribute trigger server and
 receives the output parameters back from the server.  The attribute
 trigger server is responsible for evaluating the semantics of the entry
 in order to reject or accept it, and the attribute trigger server may
 even make changes in the output it sends back to the update code to
 ensure the entry adheres to the semantics.  The output received from
 the attribute trigger server is in a form to be stored in the registry.
 (Note that update attribute trigger servers do not store attribute
 values.  Attribute values are stored in the registry database.)

 This is an atomic operation:  if the update of any attribute in the
 array fails to pass the evaluation, all updates are aborted.  The
 attribute causing the update to fail is identified in failure_index.
 If the failure cannot be attributed to a given attribute, failure_index
 contains -1.

 For objects in the local cell, set the cell_name parameter to null, and
 the component_name parameter to specify the object's name.

 For objects in a foreign cell, set the cell_name parameter the the name
 of the foreign cells, and the component_name parameter to specify the
 UUID in string format that identifies the object in the foreign cell.

 FILES

   SYS$COMMON:[DCE$LIBRARY]SEC_ATTR_TRIG.IDL
              The idl file from which dce/sec_attr_trig.h was derived.

 ERRORS

 database read only

 server unavailable

 invalid/unsupported attribute type

 invalid encoding type

 value not unique

 site read only

 unauthorized

 error_status_ok

 RELATED INFORMATION

 Functions: sec_intro
            sec_attr_trig_query
Close Help