skip book previous and next navigation links
go up to top of book: HP Open Source Security for OpenVMS Volume 1:... HP Open Source Security for OpenVMS Volume 1:...
go to beginning of reference: API FunctionsAPI Functions
go to previous page: DL_DataGetFromUniqueRecordIdDL_DataGetFromUniqueRecordId
go to next page: DL_DataInsertDL_DataInsert
end of book navigation links


DL_DataGetNext
Library
Description
Errors
 Parameters
Return Value
See Also

NAME

DL_DataGetNext: CSSM_DL_DataGetNext - Get next data record (CDSA)

SYNOPSIS  

# include <cssm.h>

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)


return to top LIBRARY  

Common Security Services Manager library (cdsa$incssm300_shr.exe)


return to top PARAMETERS  

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.


return to top DESCRIPTION  

This function returns the next data record referenced by the 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.


return to top RETURN VALUE  

A CSSM_RETURN value indicating success or specifying a particularerror condition. The value CSSM_OK indicates success. All othervalues represent an error condition.


return to top ERRORS  

Errors are described in the CDSA Technical Standard.
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


return to top SEE ALSO  

Books

Intel CDSA Application Developer's Guide

Online Help

Functions for the CSSM API:

CSSM_DL_DataGetFirst, CSSM_DL_DataAbortQuery

Functions for the DL SPI:

DL_DataGetFirst, DL_DataAbortQuery


go to previous page: DL_DataGetFromUniqueRecordIdDL_DataGetFromUniqueRecordId
go to next page: DL_DataInsertDL_DataInsert