|
|
Library Description Errors | Parameters Return Value See Also |
API:CSSM_RETURN CSSMAPI CSSM_DL_DataGetNext(CSSM_DL_DB_HANDLE DLDBHandle,CSSM_HANDLE ResultsHandle,CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes,CSSM_DATA_PTR Data,CSSM_DB_UNIQUE_RECORD_PTR *UniqueId)SPI:CSSM_RETURN CSSMDLI DL_DataGetNext(CSSM_DL_DB_HANDLE DLDBHandle,CSSM_HANDLE ResultsHandle,CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes,CSSM_DATA_PTR Data,CSSM_DB_UNIQUE_RECORD_PTR *UniqueId)
cdsa$incssm300_shr.exe
)DLDBHandle (input) | ||
The handle pair that describes the add-in data storagelibrary module to be used to perform this function, and the opendata store from which records were selected by the initiating query. | ||
ResultsHandle (input) | ||
The handle identifying a set of records retrievedby a query executed by the CSSM_DL_DataGetFirst() function. | ||
Attributes (optional-input/output) | ||
If the Attributes structure pointeris NULL, no values are returned.Otherwise, the DataRecordType , NumberOfAttributes and AttributeData fieldsare read. AttributeData must be an array of NumberOfAttributes CSSM_DB_RECORD_ATTRIBUTEelements. Only the Info field of each elementis used on input. The AttributeFormat field ofthe Info field is ignored on input.On output, a CSSM_DB_RECORD_ATTRIBUTE structure containinga list of all or the requested attribute values (subset) from theretrieved record. The SemanticInformation fieldis set. For each CSSM_DB_ATTRIBUTE_DATA contained in the AttributeData array,the NumberOfValues field is set to reflect thesize of the Value array which is allocated bythe DL using the application specified allocators. Each CSSM_DATAin the Value array will have it's Data fieldas a pointer to data allocated using the application specified allocatorscontaining the attributes value, and have it's Length setto the length of the value.All values for an attribute are returned (this could be 0).All fields in the Info field of the CSSM_DB_ATTRIBUTE_DATAare left unchanged except for the AttributeFormat field, whichis set to reflect the schema. | ||
Data (optional-input/output) | ||
Data values contained in the referenced memory areignored during processing and are overwritten with the retrievedopaque object. On output, a CSSM_DATA structure containing the opaqueobject stored in the retrieved record. If the pointer is data structure pointeris NULL, the opaque object is not returned. | ||
UniqueId (output) | ||
If successful and (at least) a record satisfyingthe query has been found, then this parameter returns a pointerto a CSSM_UNIQUE_RECORD_PTR structure containing a unique identifierassociated with the retrieved record. This unique identifier structurecan be used in future references to this record using this DLDBHandle pairing.It may not be valid for other DLHandles targetedto this DL module or to other DBHandles targetedto this data store. If there are no more records satisfying thequery, then this pointer is NULL and CSSM_DL_DataGetNext() must return CSSM_DL_ENDOFDATA; in this case a normal terminationcondition has occurred. The CSSM_DL_FreeUniqueRecord() must be used to deallocate this structure. |
ResultsHandle
.The ResultsHandle
references a set of recordsselected by an invocation of the DataGetFirst
function.The Attributes parameter can specify a subset of the attributesto be returned. If Attributes
specifies an attributethat is not defined in the database's meta-information, an errorcondition is returned. The record values are returned in the Attributes
and Data
parameters.The output buffers for the retrieved record are allocated by thisfunction using the memory management functions provided during themodule attach operation. The function also returns a unique recordidentifier for the return record.The data storage module supports one of two retrieval models:transactional or file system scan. The transactional model freezesthe set of records to be retrieved at query initiation. The filesystem scan model selects from a potentially changing set of recordsduring the retrieval process. The EndOfDataStore()
function indicates when all matching records have beenretrieved. The caller can determine which retrieval model is supportedby examining the encapsulated product description for this datastorage module. Once a user has finished using a certain query,it must call CSSM_DataAbortQuery()
for releasing resources that CSSM uses. If all recordssatisfying the query have been retrieved, then query is automaticallyterminated.
CSSMERR_DL_ENDOFDATACSSMERR_DL_FIELD_SPECIFIED_MULTIPLECSSMERR_DL_INCOMPATIBLE_FIELD_FORMATCSSMERR_DL_INVALID_DB_HANDLECSSMERR_DL_INVALID_FIELD_NAMECSSMERR_DL_INVALID_RECORDTYPECSSMERR_DL_INVALID_RECORD_UIDCSSMERR_DL_INVALID_RESULTS_HANDLE
Intel CDSA Application Developer's Guide
Functions for the CSSM API:
CSSM_DL_DataGetFirst, CSSM_DL_DataAbortQuery
Functions for the DL SPI:
DL_DataGetFirst, DL_DataAbortQuery
|
|