DBAllocUngrouped(), DBFreeUngrouped(), DBLockUngrouped(), DBLockGetRefUngrouped(), DBReAllocUngrouped(), DBInsertAtUngrouped(), DBDeleteAtUngrouped(), DBSetMapUngrouped()
Special routines are provided for working with ungrouped items. These routines are very similar to their standard counterparts. The routine
DBAllocUngrouped()
allocates an ungrouped item. It takes two arguments, the file handle and the size of the item to allocate. The DB manager allocates the item in one of the "ungrouped" groups and returns a
DBGroupAndItem
value containing the group-handle and item-handle. You can break this value into its components by calling the macros described in Routines for Ungrouped Items, or you can pass this value directly to the other "ungrouped" routines.
The rest of the routines listed above are exactly the same as their counterparts with one exception: whereas their counterparts take, among their arguments, the item's group-handle and item-handle, the ungrouped routines take a
DBGroupAndItem
value. Each routine's other arguments are unchanged, as is the return value.
These routines are provided as a convenience. If you allocate an ungrouped item, you are perfectly free to break the
DBGroupAndItem
value into its component handles, and pass those handles to the standard DB routines. Conversely, if you allocate a normal "grouped" item, you are free to combine the two handles into a
DBGroupAndItem
token and pass that token to the "ungrouped" routines.