VMS Help  —  DCE  DCE_INTRO, dce_db_intro, dce_db_store_by_name
 NAME
   dce_db_store_by_name - Stores data into a string-indexed backing
                          store

 SYNOPSIS

   #include <dce/dce.h>
   #include <dce/dbif.h>

   void dce_db_store_by_name( dce_db_handle_t handle,
                              char *key,
                              void *data,
                              error_status_t *status );

 PARAMETERS

   Input

   handle    A handle, returned from dce_db_open(), that identifies
             the backing store being used.

   key       A null-terminated string that is the backing store key.

   data      A pointer to the data structure to be stored.

   Output

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

 DESCRIPTION

   The dce_db_store_by_name() routine stores the data structure pointed
   to by data into the backing store.  The conversion function that was
   specified in the call to dce_db_open() serializes the structure so
   that it can be written to disk.

   This routine is specialized for storage into backing stores that
   are indexed by string, as selected by the db_c_index_by_name bit
   in the flags parameter to dce_db_open() when the backing store was
   created.

   If the key value is the same as a key already stored, the new data
   replaces the previously stored data associated with that key.

 NOTES

   Because the dce_db_store_by_name() routine uses the encoding
   services, and they in turn use rpc_sm_allocate(), all programs
   that call dce_db_store_by_name() outside of a server operation
   (for instance, if a server does some backing store initialization,
   or in a standalone program) must call rpc_sm_enable_allocate()
   first.  Indeed, every thread that calls dce_db_store_by_name() must
   do rpc_sm_enable_allocate(), but in the server side of an RPC, this
   is already done.

 ERRORS

   db_s_bad_index_type
             The backing store is not indexed by name.

   db_s_readonly
             The backing store was opened with the db_c_readonly flag,
             and cannot be written to.

   db_s_store_failed
             The data could not be stored into the backing store for
             some reason.  The global variable errno may contain more
             information about the error.

   db_s_iter_not_allowed
             The function was called while an iteration, begun by
             dce_db_iter_start(), was in progress.  Storing is not
             allowed during iteration.

   error_status_ok
             The call was successful.

 RELATED INFORMATION

   Functions: dce_db_open
              dce_db_store
              dce_db_store_by_uuid
Close Help