VMS Help  —  DCE  DCE_SECURITY, API Routines, sec_rgy_attr_delete
 NAME
   sec_rgy_attr_delete - Deletes specified attributes for a specified
                         object

 SYNOPSIS

 #include <dce/sec_rgy_attr.h>

 void sec_rgy_attr_delete (
         sec_rgy_handle_t context,
         sec_rgy_domain_t name_domain,
         sec_rgy_name_t name,
         unsigned32 num_to_delete,
         sec_attr_t attrs[],
         signed32 *failure_index,
         error_status_t *status);

 PARAMETERS

 Input

 context
        An opaque handle bound to a registry server.  Use
        sec_rgy_site_open() to acquire a bound handle.

 name_domain
        A value of type sec_rgy_domain_t that identifies the registry
        domain in which the object identified by name resides. The valid
        values are as follows:

        sec_rgy_domain_person
                    The name identifies a principal.

        sec_rgy_domain_group
                    The name identifies a group.

        sec_rgy_domain_org
                    The name identifies an organization.

 This parameter is ignored if name is policy or replist.

 name   A character string of type sec_rgy_name_t specifying the name
        of the person, group, or organization to which the attributes
        are attached.

 num_to_delete
        A 32-bit integer that specifies the number of elements in the
        attrs[] array.  This integer must be greater than 0.

 attrs[]
        An array of values of type sec_attr_t that specifies the
        attribute instances to be deleted.  The size of the array is
        determined by num_to_delete.

 Output

 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_rgy_attr_delete() routine deletes attributes. This is an atomic
 operation:  if the deletion of any attribute in the attrs[] array fails,
 all deletions are aborted.  The attribute causing the delete to fail is
 identified in failure_index. If the failure cannot be attributed to a
 given attribute, failure_index contains -1.

 The attrs array, which specifies the attributes to be deleted, contains
 values of type sec_attr_t These values consist of:

  +  attr_id, a UUID that identifies the attribute type

  +  attr_value, values of sec_attr_value_t that specify the
     attribute's encoding type and values.

 To delete attributes that are not multi-valued and to delete all
 instances of a multi-valued attribute, an attribute UUID is all that
 is required.  For these attribute instances, supply the attribute
 UUID in the input array and set the attribute encoding (in
 sec_attr_encoding_t) to sec_attr_enc_void.

 To delete a specific instance of a multi-valued attribute, supply the
 UUID and value that uniquely identify the multi-valued attribute
 instance in the input array.

 Note that if the deletion of any attribute instance in the array fails,
 all fail.  However, to help pinpoint the cause of the failure, the call
 identifies the first attribute whose deletion failed in a failure index
 by array element number.

 Permissions Required

 The sec_rgy_attr_delete() routine requires the delete permission set
 for each attribute type identified in the attrs[] array.  These
 permissions are defined as part of the ACL manager set in the schema
 entry for the attribute type.

 FILES

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

 ERRORS

 unauthorized

 database read only

 server unavailable

 invalid/unsupported attribute type

 site read only

 error_status_ok

 RELATED INFORMATION

 Functions: sec_intro
            sec_rgy_attr_update
Close Help