The memory-management routines MDS uses to allocatequery results on behalf of the caller.
pDlFunctions (output)
The function table containing MDS programming interfacesfor database access.
hMds (output)
A new handle that can be used to interact with theMDS. The value will be set to CSSM_INVALID_HANDLE if the functionfails.
DESCRIPTIONThis function initiates a service context with MDS and returnsan opaque handle corresponding to that context. The caller providesmemory functions that MDS can use to manage memory in the caller'sspace on behalf of the caller. The caller also provides input/outputtable pDlFunctions to get access to MDS databases.
If the caller is a CDSA service provider that will requirewrite-access to an MDS database, (such as a module that supportsdynamic insertion and removal events), then the caller can providethe caller's GUID as input parameter pCallerGuid.When provided as input, the GUID is associated with the MDS handleand is used during DbOpen processing. If write-accessis requested during DbOpen, MDS uses the associatedGUID to locate the service provider's signed manifest credentialsin the DS Common relation. The service provider moduleand its credentials are verified to ensure that write-access ispermitted on this database by this module.
The installers will have to provide the pCallerManifest insteadof pCallerGuid, as GUID cannot be used to locatean application unless it is installed. Only one of the two parameters pCallerGuid and pCallerManifest shouldbe non NULL in an MDS_Initialize() call, otherwise an error will be returned.
RETURN VALUEA CSSM_RETURN value indicating success or specifying a particularerror condition. The value CSSM_OK indicates success. All othervalues represent an error condition. ERRORSErrors are described in the CDSA Technical Standard.