This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for

This function retrieves the next database in an enumeration context.

This method has been deprecated. Use CeFindNextDatabaseExinstead.


CEOID CeFindNextDatabase(



[in] Handle to an enumeration context; this handle is returned from CeFindFirstDatabase.

Return Value

The object identifier of the next database to be enumerated indicates success. Zero indicates that there are no more databases left to enumerate, or that an error occurred. To get extended error information, call CeGetLastErrorand CeRapiGetError. Possible values for CeGetLastErrorinclude the following:


The object store contains no more databases to enumerate.


The hEnumparameter specified an invalid handle.


To loop over all databases in the enumeration, call CeFindNextDatabaseuntil 0 is returned. If a database is deleted during enumeration, CeFindNextDatabasefails and returns ERROR_KEY_DELETED. If this error occurs, you must restart the enumeration with a call to CeFindFirstDatabase. When enumeration is complete, the hEnumhandle must be closed by calling the CeCloseHandlefunction.

Earlier versions of Windows Embedded CE assigned object identifiers to objects in other file systems, such as the file allocation table (FAT) file system. These object identifiers were guaranteed to be unique within a volume, but not across multiple volumes. Effective with version 3.0, only objects in the object store have valid, unique object identifiers and the object store is the only volume that can return an object identifier.


Header rapi.h
Library rapi.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Pocket PC 2000 and later, Smartphone 2002 and later

See Also