Arrays of Errors
A number of methods operate on multiple items or arrays of items. For example, IRowsetLocate::GetRowsByBookmark accepts an array of bookmarks and retrieves the rows associated with those bookmarks. When methods that operate on multiple items encounter an item-level error, such as when the row associated with a bookmark has been deleted, they flag that error and continue processing.
If the consumer requests it, these methods also return an array of status values, which detail the specific errors and warnings that occurred. The array is returned if the method returns a success code (such as S_OK), a warning code (such as DB_S_ERRORSOCCURRED), or the error code DB_E_ERRORSOCCURRED; it is not returned if the method returns any other error (E_ or DB_E_) code. DB_S_ERRORSOCCURRED is returned only if an error occurred. If only successes or warnings occurred, the method returns a success code or a warning code other than DB_S_ERRORSOCCURRED.