CSSM_DB_HANDLE CSSMAPI CSSM_DL_DbCreate (CSSM_DL_HANDLE DLHandle, const char *DbName, const CSSM_NET_ADDRESS_PTR DbLocation, const CSSM_DBINFO_PTR DBInfo, const CSSM_DB_ACCESS_TYPE_PTR AccessRequest, const CSSM_USER_AUTHENTICATION_PTR UserAuthentication, const void *OpenParameters)
This function creates and opens a new data store. The name of the new data store is specified by the input parameter DbName. The record schema for the data store is specified in the DBINFO structure. The newly-created data store is opened under the specified access mode. If user authentication credentials are required, they must be provided. Also, additional open parameters may be required and are supplied in the OpenParameters.
- DLHandle (input)
The handle that describes the add-in data storage library module used to perform this function.
- DbName (input)
The logical name for the new data store.
- DbLocation (input/optional)
A pointer to a network address directly or indirectly identifying the location of the storage service process. If the input is NULL, the module can determine a storage service process and its location based on the DbName (for existing data stores) or can assume a default storage service process location. If the DbName does not distinguish the storage service process and a default cannot be assumed, the service cannot be performed and the operation fails.
- DBInfo (input)
A pointer to a structure describing the format/schema of each record type that will be stored in the new data store. If the schema definition does not specify the CSSM pre-defined attribute name "PrintName" and "Alias", these attributes are added by the DL module with the minimum associated storage size.
- AccessRequest (input)
An indicator of the requested access mode for the data store, such as read-only or read-write.
- UserAuthentication (input/optional)
The caller's credential as required for obtaining access to the data store. If no credentials are required for the specified data store, then user authentication must be NULL.
- OpenParameters (input/optional)
A pointer to a module-specific set of parameters required to open the data store.
The handle to the newly created and open data store. When NULL is returned, an error has occurred. Use CSSM_GetError to obtain the error code.
Invalid DL handle.
Caller is not authorized for the operation.
Invalid meta information for the schema.
Create caused an exception.
Unable to add-update registry entry.
Invalid default CSP handle (integrity signing).
Error in allocating memory.
CSSM_DL_DbOpen, CSSM_DL_DbClose, CSSM_DL_DbDelete